Repository: jclouds Updated Branches: refs/heads/master 92076d6b7 -> 982c6bea0
JCLOUDS-1387: Add support for c5 instance types in AWS ec2 Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/982c6bea Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/982c6bea Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/982c6bea Branch: refs/heads/master Commit: 982c6bea0252689c23628079ab66998ac2a36aa9 Parents: 92076d6 Author: Vikas Rangarajan <[email protected]> Authored: Mon Jul 30 15:41:02 2018 -0500 Committer: Dani Estevez <[email protected]> Committed: Wed Aug 1 16:53:06 2018 -0400 ---------------------------------------------------------------------- .../ec2/compute/domain/EC2HardwareBuilder.java | 65 +++++++++++++++++++ .../org/jclouds/ec2/domain/InstanceType.java | 66 ++++++++++++++++++++ .../suppliers/AWSEC2HardwareSupplier.java | 14 ++++- 3 files changed, 144 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/982c6bea/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 b9ca769..fbb730e 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 @@ -249,6 +249,11 @@ public class EC2HardwareBuilder extends HardwareBuilder { return this; } + private EC2HardwareBuilder c5() { + virtualizationTypes(VirtualizationType.HVM, VirtualizationType.PARAVIRTUAL); + return this; + } + // TODO include D2 (dense) types? private EC2HardwareBuilder d2() { virtualizationTypes(VirtualizationType.HVM); @@ -731,6 +736,66 @@ public class EC2HardwareBuilder extends HardwareBuilder { } /** + * @see InstanceType#C5_LARGE + */ + public static EC2HardwareBuilder c5_large() { + return new EC2HardwareBuilder(InstanceType.C5_LARGE).c5() + .ram(4096) + .processors(ImmutableList.of(new Processor(2.0, 3.0))) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#C5_XLARGE + */ + public static EC2HardwareBuilder c5_xlarge() { + return new EC2HardwareBuilder(InstanceType.C5_XLARGE).c5() + .ram(8192) + .processors(ImmutableList.of(new Processor(4.0, 3.0))) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#C5_2XLARGE + */ + public static EC2HardwareBuilder c5_2xlarge() { + return new EC2HardwareBuilder(InstanceType.C5_2XLARGE).c5() + .ram(16384) + .processors(ImmutableList.of(new Processor(8.0, 3.0))) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#C5_4XLARGE + */ + public static EC2HardwareBuilder c5_4xlarge() { + return new EC2HardwareBuilder(InstanceType.C5_4XLARGE).c5() + .ram(32768) + .processors(ImmutableList.of(new Processor(16.0, 3.0))) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#C5_9XLARGE + */ + public static EC2HardwareBuilder c5_9xlarge() { + return new EC2HardwareBuilder(InstanceType.C5_9XLARGE).c5() + .ram(73728) + .processors(ImmutableList.of(new Processor(36.0, 3.0))) + .rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#C5_18XLARGE + */ + public static EC2HardwareBuilder c5_18xlarge() { + return new EC2HardwareBuilder(InstanceType.C5_18XLARGE).c5() + .ram(147456) + .processors(ImmutableList.of(new Processor(72.0, 3.0))) + .rootDeviceType(RootDeviceType.EBS); + } + + /** * @see InstanceType#D2_XLARGE */ public static EC2HardwareBuilder d2_xlarge() { http://git-wip-us.apache.org/repos/asf/jclouds/blob/982c6bea/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 53b3566..f7033e4 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 @@ -488,6 +488,72 @@ public class InstanceType { public static final String C4_LARGE = "c4.large"; /** + * C5 Compute-optimized Large + * <ul> + * <li>4 GiB of memory</li> + * <li>2 vCPU</li> + * <li>No instance storage (EBS storage only)</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5_LARGE = "c5.large"; + + /** + * C5 Compute-optimized X Large + * <ul> + * <li>8 GiB of memory</li> + * <li>4 vCPU</li> + * <li>No instance storage (EBS storage only)</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5_XLARGE = "c5.xlarge"; + + /** + * C5 Compute-optimized 2x Large + * <ul> + * <li>16 GiB of memory</li> + * <li>8 vCPU</li> + * <li>No instance storage (EBS storage only)</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5_2XLARGE = "c5.2xlarge"; + + /** + * C5 Compute-optimized 4x Large + * <ul> + * <li>32 GiB of memory</li> + * <li>16 vCPU</li> + * <li>No instance storage (EBS storage only)</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5_4XLARGE = "c5.4xlarge"; + + /** + * C5 Compute-optimized 9x Large + * <ul> + * <li>72 GiB of memory</li> + * <li>36 vCPU</li> + * <li>No instance storage (EBS storage only)</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5_9XLARGE = "c5.9xlarge"; + + /** + * C5 Compute-optimized 18x Large + * <ul> + * <li>144 GiB of memory</li> + * <li>72 vCPU</li> + * <li>No instance storage (EBS storage only)</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5_18XLARGE = "c5.18xlarge"; + + /** * D2 Dense Storage Extra Large * <ul> * <li>30.5 GiB of memory</li> http://git-wip-us.apache.org/repos/asf/jclouds/blob/982c6bea/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 0409fbf..c943ff5 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 @@ -23,11 +23,17 @@ import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c3_4xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c3_8xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c3_large; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c3_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_large; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_2xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_4xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_8xlarge; -import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_large; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_large; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_2xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_4xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_9xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_18xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cc1_4xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cc2_8xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cg1_4xlarge; @@ -124,6 +130,12 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier { sizes.add(c4_2xlarge().build()); sizes.add(c4_4xlarge().build()); sizes.add(c4_8xlarge().build()); + sizes.add(c5_large().build()); + sizes.add(c5_xlarge().build()); + sizes.add(c5_2xlarge().build()); + sizes.add(c5_4xlarge().build()); + sizes.add(c5_9xlarge().build()); + sizes.add(c5_18xlarge().build()); sizes.add(i2_xlarge().build()); sizes.add(i2_2xlarge().build()); sizes.add(i2_4xlarge().build());
