From 7b944186efa91206d8ee2647529e7c5cf33e726c Mon Sep 17 00:00:00 2001 From: Andrew Bayer Date: Fri, 20 Dec 2013 10:05:33 -0500 Subject: [PATCH] JCLOUDS-412. Add the new i2.* instance sizes --- .../compute/domain/EC2HardwareBuilder.java | 59 +++++++++++++++++++ .../org/jclouds/ec2/domain/InstanceType.java | 48 +++++++++++++++ 2 files changed, 107 insertions(+) diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java b/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java index f954a650be..a022e57ab8 100644 --- a/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java +++ b/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java @@ -451,6 +451,65 @@ public class EC2HardwareBuilder extends HardwareBuilder { .virtualizationType(VirtualizationType.HVM); } + /** + * @see InstanceType#I2_XLARGE + */ + public static EC2HardwareBuilder i2_xlarge() { + return new EC2HardwareBuilder(InstanceType.I2_XLARGE) + .ram(30 * 1024 + 512) + .processors(ImmutableList.of(new Processor(4.0, 3.5))) + .volumes(ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(800.0f, "/dev/sdb", false, false))) + .virtualizationType(VirtualizationType.HVM); + } + + /** + * @see InstanceType#I2_2XLARGE + */ + public static EC2HardwareBuilder i2_2xlarge() { + return new EC2HardwareBuilder(InstanceType.I2_2XLARGE) + .ram(61 * 1024) + .processors(ImmutableList.of(new Processor(8.0, 3.375))) + .volumes(ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(800.0f, "/dev/sdb", false, false), + new VolumeImpl(800.0f, "/dev/sdc", false, false))) + .virtualizationType(VirtualizationType.HVM); + } + + /** + * @see InstanceType#I2_4XLARGE + */ + public static EC2HardwareBuilder i2_4xlarge() { + return new EC2HardwareBuilder(InstanceType.I2_4XLARGE) + .ram(122 * 1024) + .processors(ImmutableList.of(new Processor(16.0, 3.3125))) + .volumes(ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(800.0f, "/dev/sdb", false, false), + new VolumeImpl(800.0f, "/dev/sdc", false, false), + new VolumeImpl(800.0f, "/dev/sdd", false, false), + new VolumeImpl(800.0f, "/dev/sde", false, false))) + .virtualizationType(VirtualizationType.HVM); + } + + /** + * @see InstanceType#I2_8XLARGE + */ + public static EC2HardwareBuilder i2_8xlarge() { + return new EC2HardwareBuilder(InstanceType.I2_8XLARGE) + .ram(244 * 1024) + .processors(ImmutableList.of(new Processor(32.0, 3.25))) + .volumes(ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(800.0f, "/dev/sdb", false, false), + new VolumeImpl(800.0f, "/dev/sdc", false, false), + new VolumeImpl(800.0f, "/dev/sdd", false, false), + new VolumeImpl(800.0f, "/dev/sde", false, false), + new VolumeImpl(800.0f, "/dev/sdf", false, false), + new VolumeImpl(800.0f, "/dev/sdg", false, false), + new VolumeImpl(800.0f, "/dev/sdh", false, false), + new VolumeImpl(800.0f, "/dev/sdi", false, false))) + .virtualizationType(VirtualizationType.HVM); + } + public static EC2HardwareBuilder hi1_4xlarge() { return new EC2HardwareBuilder(InstanceType.HI1_4XLARGE) .ram(60 * 1024 + 512) diff --git a/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java b/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java index 4cecec230a..7249b7f15d 100644 --- a/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java +++ b/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java @@ -301,4 +301,52 @@ public class InstanceType { * */ public static final String C3_8XLARGE = "c3.8xlarge"; + + /** + * I2 Extra Large + *
    + *
  • 30.5 GiB of memory
  • + *
  • 14 EC2 Compute Units (4 virtual cores)
  • + *
  • 1 SSD-based volume with 800 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: High
  • + *
+ */ + public static final String I2_XLARGE = "i2.xlarge"; + + /** + * I2 Double Extra Large + *
    + *
  • 61 GiB of memory
  • + *
  • 27 EC2 Compute Units (8 virtual cores)
  • + *
  • 2 SSD-based volumes each with 800 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: High
  • + *
+ */ + public static final String I2_2XLARGE = "i2.2xlarge"; + + /** + * I2 Quadruple Extra Large + *
    + *
  • 122 GiB of memory
  • + *
  • 53 EC2 Compute Units (16 virtual cores)
  • + *
  • 4 SSD-based volumes each with 800 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: High
  • + *
+ */ + public static final String I2_4XLARGE = "i2.4xlarge"; + + /** + * I2 Octuple Extra Large + *
    + *
  • 244 GiB of memory
  • + *
  • 104 EC2 Compute Units (32 virtual cores)
  • + *
  • 8 SSD-based volumes each with 800 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: High
  • + *
+ */ + public static final String I2_8XLARGE = "i2.8xlarge"; }