From 112aa5acf90a0276e243b7e857d83e3ed6cb5af3 Mon Sep 17 00:00:00 2001 From: Andrew Bayer Date: Fri, 15 Nov 2013 10:13:25 -0800 Subject: [PATCH] JCLOUDS-383. Adding c3 instance sizes. --- .../compute/domain/EC2HardwareBuilder.java | 70 +++++++++++++++++++ .../org/jclouds/ec2/domain/InstanceType.java | 59 ++++++++++++++++ 2 files changed, 129 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 f0ef03532d..f954a650be 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 @@ -337,6 +337,76 @@ public class EC2HardwareBuilder extends HardwareBuilder { .is64Bit(true); } + /** + * @see InstanceType#C3_LARGE + */ + public static EC2HardwareBuilder c3_large() { + return new EC2HardwareBuilder(InstanceType.C3_LARGE) + .ram(3750) + .processors(ImmutableList.of(new Processor(2.0, 3.5))) + .volumes( + ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(16.0f, "/dev/sdb", false, false), + new VolumeImpl(16.0f, "/dev/sdc", false, false))) + .is64Bit(true); + } + + /** + * @see InstanceType#C3_XLARGE + */ + public static EC2HardwareBuilder c3_xlarge() { + return new EC2HardwareBuilder(InstanceType.C3_XLARGE) + .ram(7168) + .processors(ImmutableList.of(new Processor(4.0, 3.5))) + .volumes( + ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(40.0f, "/dev/sdb", false, false), + new VolumeImpl(40.0f, "/dev/sdc", false, false))) + .is64Bit(true); + } + + /** + * @see InstanceType#C3_2XLARGE + */ + public static EC2HardwareBuilder c3_2xlarge() { + return new EC2HardwareBuilder(InstanceType.C3_2XLARGE) + .ram(15360) + .processors(ImmutableList.of(new Processor(8.0, 3.5))) + .volumes( + ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(80.0f, "/dev/sdb", false, false), + new VolumeImpl(80.0f, "/dev/sdc", false, false))) + .is64Bit(true); + } + + /** + * @see InstanceType#C3_4XLARGE + */ + public static EC2HardwareBuilder c3_4xlarge() { + return new EC2HardwareBuilder(InstanceType.C3_4XLARGE) + .ram(30720) + .processors(ImmutableList.of(new Processor(16.0, 3.4375))) + .volumes( + ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(160.0f, "/dev/sdb", false, false), + new VolumeImpl(160.0f, "/dev/sdc", false, false))) + .is64Bit(true); + } + + /** + * @see InstanceType#C3_8XLARGE + */ + public static EC2HardwareBuilder c3_8xlarge() { + return new EC2HardwareBuilder(InstanceType.C3_8XLARGE) + .ram(61440) + .processors(ImmutableList.of(new Processor(32.0, 3.375))) + .volumes( + ImmutableList. of(new VolumeImpl(10.0f, "/dev/sda1", true, false), + new VolumeImpl(320.0f, "/dev/sdb", false, false), + new VolumeImpl(320.0f, "/dev/sdc", false, false))) + .is64Bit(true); + } + public static EC2HardwareBuilder cg1_4xlarge() { return new EC2HardwareBuilder(InstanceType.CG1_4XLARGE) .ram(22 * 1024) 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 4fb9392068..4cecec230a 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 @@ -242,4 +242,63 @@ public class InstanceType { */ public static final String G2_2XLARGE = "g2.2xlarge"; + /** + * C3 High-CPU Large + *
    + *
  • 3.75 GiB of memory
  • + *
  • 7 EC2 Compute Units (2 virtual cores)
  • + *
  • 2 SSD-based volumes each with 16 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: Moderate
  • + *
+ */ + public static final String C3_LARGE = "c3.large"; + + /** + * C3 High-CPU Extra Large + *
    + *
  • 7 GiB of memory
  • + *
  • 14 EC2 Compute Units (4 virtual cores)
  • + *
  • 2 SSD-based volumes each with 40 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: High
  • + *
+ */ + public static final String C3_XLARGE = "c3.xlarge"; + + /** + * C3 High-CPU Double Extra Large + *
    + *
  • 15 GiB of memory
  • + *
  • 28 EC2 Compute Units (8 virtual cores)
  • + *
  • 2 SSD-based volumes each with 80 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: High
  • + *
+ */ + public static final String C3_2XLARGE = "c3.2xlarge"; + + /** + * C3 High-CPU Quadruple Extra Large + *
    + *
  • 30 GiB of memory
  • + *
  • 55 EC2 Compute Units (16 virtual cores)
  • + *
  • 2 SSD-based volumes each with 160 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: High
  • + *
+ */ + public static final String C3_4XLARGE = "c3.4xlarge"; + + /** + * C3 High-CPU Octuple Extra Large + *
    + *
  • 60 GiB of memory
  • + *
  • 108 EC2 Compute Units (32 virtual cores)
  • + *
  • 2 SSD-based volumes each with 320 GiB of instance storage
  • + *
  • 64-bit platform
  • + *
  • I/O Performance: High
  • + *
+ */ + public static final String C3_8XLARGE = "c3.8xlarge"; }