Repository: jclouds Updated Branches: refs/heads/2.1.x 0ee68a5f8 -> e54312aae
JCLOUDS-1436: Add support for aws ec2 m5 instance types fix: remove duplicate imports Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/e54312aa Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/e54312aa Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/e54312aa Branch: refs/heads/2.1.x Commit: e54312aaeb0f0947b7f941a9564555e6e7d5cc91 Parents: 0ee68a5 Author: Vikas Rangarajan <[email protected]> Authored: Mon Jul 30 18:25:30 2018 -0500 Committer: Dani Estevez <[email protected]> Committed: Wed Aug 1 17:19:02 2018 -0400 ---------------------------------------------------------------------- .../ec2/compute/domain/EC2HardwareBuilder.java | 72 ++++++++++++++++++++ .../org/jclouds/ec2/domain/InstanceType.java | 72 ++++++++++++++++++++ .../suppliers/AWSEC2HardwareSupplier.java | 16 ++++- 3 files changed, 158 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/e54312aa/apis/ec2/src/main/java/org/jclouds/ec2/compute/domain/EC2HardwareBuilder.java ---------------------------------------------------------------------- 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 fbb730e..7d1a56c 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 @@ -239,6 +239,11 @@ public class EC2HardwareBuilder extends HardwareBuilder { return this; } + private EC2HardwareBuilder m5() { + virtualizationTypes(VirtualizationType.HVM); + return this; + } + private EC2HardwareBuilder c3() { virtualizationTypes(VirtualizationType.HVM, VirtualizationType.PARAVIRTUAL); return this; @@ -588,6 +593,73 @@ public class EC2HardwareBuilder extends HardwareBuilder { } /** + * @see InstanceType#M5_LARGE + */ + public static EC2HardwareBuilder m5_large() { + return new EC2HardwareBuilder(InstanceType.M5_LARGE).m5() + .ram(8192) + .processors(ImmutableList.of(new Processor(2, 2.5))) + .is64Bit(true) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#M5_XLARGE + */ + public static EC2HardwareBuilder m5_xlarge() { + return new EC2HardwareBuilder(InstanceType.M5_XLARGE).m5() + .ram(16384) + .processors(ImmutableList.of(new Processor(4, 2.5))) + .is64Bit(true) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#M5_2XLARGE + */ + public static EC2HardwareBuilder m5_2xlarge() { + return new EC2HardwareBuilder(InstanceType.M5_2XLARGE).m5() + .ram(32768) + .processors(ImmutableList.of(new Processor(8, 2.5))) + .is64Bit(true) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#M5_4XLARGE + */ + public static EC2HardwareBuilder m5_4xlarge() { + return new EC2HardwareBuilder(InstanceType.M5_4XLARGE).m5() + .ram(65536) + .processors(ImmutableList.of(new Processor(16, 2.5))) + .is64Bit(true) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#M5_12XLARGE + */ + public static EC2HardwareBuilder m5_12xlarge() { + return new EC2HardwareBuilder(InstanceType.M5_12XLARGE).m5() + .ram(196608) + .processors(ImmutableList.of(new Processor(48.0, 2.5))) + .is64Bit(true) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#M5_24XLARGE + */ + public static EC2HardwareBuilder m5_24xlarge() { + return new EC2HardwareBuilder(InstanceType.M5_24XLARGE).m5() + .ram(393216) + .processors(ImmutableList.of(new Processor(96.0, 2.5))) + .is64Bit(true) + .rootDeviceType(RootDeviceType.EBS); + } + + + /** * @see InstanceType#C1_MEDIUM */ public static EC2HardwareBuilder c1_medium() { http://git-wip-us.apache.org/repos/asf/jclouds/blob/e54312aa/apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java ---------------------------------------------------------------------- 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 f7033e4..617cc39 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 @@ -269,6 +269,78 @@ public class InstanceType { public static final String M4_10XLARGE = "m4.10xlarge"; /** + * M5 Large Instance + * <ul> + * <li>8 GiB memory</li> + * <li>5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each)</li> + * <li>EBS storage only</li> + * <li>64-bit platform</li> + * <li>I/O Performance: Moderate</li> + * </ul> + */ + public static final String M5_LARGE = "m5.large"; + + /** + * M5 Extra Large Instance + * <ul> + * <li>16 GiB memory</li> + * <li>10 EC2 Compute Units (4 virtual cores with 2.5 EC2 Compute Units each)</li> + * <li>EBS storage only</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5_XLARGE = "m5.xlarge"; + + /** + * M5 Double Extra Large Instance + * <ul> + * <li>32 GiB memory</li> + * <li>26 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each)</li> + * <li>EBS storage only</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5_2XLARGE = "m5.2xlarge"; + + /** + * M5 Quadruple Extra Large Instance + * <ul> + * <li>64 GiB memory</li> + * <li>40 EC2 Compute Units (16 virtual cores with 2.5 EC2 Compute Units each)</li> + * <li>EBS storage only</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5_4XLARGE = "m5.4xlarge"; + + /** + * M5 12x Extra Large Instance + * <ul> + * <li>192 GiB memory</li> + * <li>144 EC2 Compute Units (48 virtual cores with 2.5 EC2 Compute Units each)</li> + * <li>EBS storage only</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5_12XLARGE = "m5.12xlarge"; + + /** + * M5 24x Extra Large Instance + * <ul> + * <li>384 GiB memory</li> + * <li>288 EC2 Compute Units (96 virtual cores with 2.5 EC2 Compute Units each)</li> + * <li>EBS storage only</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5_24XLARGE = "m5.24xlarge"; + + /** * High-CPU Medium Instance * <ul> * <li>1.7 GB of memory</li> http://git-wip-us.apache.org/repos/asf/jclouds/blob/e54312aa/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java ---------------------------------------------------------------------- diff --git a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java index c943ff5..c3074cd 100644 --- a/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java +++ b/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/suppliers/AWSEC2HardwareSupplier.java @@ -64,11 +64,17 @@ import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m4_2xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m4_4xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m4_large; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m4_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5_large; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5_2xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5_4xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5_12xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5_24xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r3_large; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r3_xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r3_2xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r3_4xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r3_8xlarge; -import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r3_large; -import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r3_xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r4_16xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r4_2xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r4_4xlarge; @@ -156,6 +162,12 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier { sizes.add(m4_2xlarge().build()); sizes.add(m4_4xlarge().build()); sizes.add(m4_10xlarge().build()); + sizes.add(m5_large().build()); + sizes.add(m5_xlarge().build()); + sizes.add(m5_2xlarge().build()); + sizes.add(m5_4xlarge().build()); + sizes.add(m5_12xlarge().build()); + sizes.add(m5_24xlarge().build()); sizes.add(r3_large().build()); sizes.add(r3_xlarge().build()); sizes.add(r3_2xlarge().build());
