Repository: jclouds Updated Branches: refs/heads/2.1.x 38e3535dc -> 8dcfd8625
JCLOUDS-1467 Added support for c5d & m5d AWS nodes. JCLOUDS-1467 Updated the SSD drive information. Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/8dcfd862 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/8dcfd862 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/8dcfd862 Branch: refs/heads/2.1.x Commit: 8dcfd8625ff4738ea961923505b7cb8790fb34ab Parents: 38e3535 Author: kraza <[email protected]> Authored: Wed Nov 28 21:31:36 2018 -0500 Committer: Dani Estevez <[email protected]> Committed: Mon Dec 3 17:22:31 2018 -0500 ---------------------------------------------------------------------- .../ec2/compute/domain/EC2HardwareBuilder.java | 161 +++++++++++++++++++ .../org/jclouds/ec2/domain/InstanceType.java | 139 ++++++++++++++++ .../suppliers/AWSEC2HardwareSupplier.java | 24 +++ 3 files changed, 324 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/8dcfd862/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 a8f4c55..e31dd33 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 @@ -780,8 +780,90 @@ public class EC2HardwareBuilder extends HardwareBuilder { .rootDeviceType(RootDeviceType.EBS); } + /** + * @see InstanceType#M5D_LARGE + */ + public static EC2HardwareBuilder m5d_large() { + return new EC2HardwareBuilder(InstanceType.M5D_LARGE).m5() + .ram(8192) + .processors(ImmutableList.of(new Processor(2, 2.5))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(75.0f).device("/dev/sdb").bootDevice(false).durable(false).build())) + .is64Bit(true); + } /** + * @see InstanceType#M5D_XLARGE + */ + public static EC2HardwareBuilder m5d_xlarge() { + return new EC2HardwareBuilder(InstanceType.M5D_XLARGE).m5() + .ram(16384) + .processors(ImmutableList.of(new Processor(4, 2.5))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(150.0f).device("/dev/sdb").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#M5D_2XLARGE + */ + public static EC2HardwareBuilder m5d_2xlarge() { + return new EC2HardwareBuilder(InstanceType.M5D_2XLARGE).m5() + .ram(32768) + .processors(ImmutableList.of(new Processor(8, 2.5))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(300.0f).device("/dev/sdb").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#M5D_4XLARGE + */ + public static EC2HardwareBuilder m5d_4xlarge() { + return new EC2HardwareBuilder(InstanceType.M5D_4XLARGE).m5() + .ram(65536) + .processors(ImmutableList.of(new Processor(16, 2.5))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(300.0f).device("/dev/sdb").bootDevice(false).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(300.0f).device("/dev/sdc").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#M5D_12XLARGE + */ + public static EC2HardwareBuilder m5d_12xlarge() { + return new EC2HardwareBuilder(InstanceType.M5D_12XLARGE).m5() + .ram(196608) + .processors(ImmutableList.of(new Processor(48.0, 2.5))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sdb").bootDevice(false).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sdc").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#M5D_24XLARGE + */ + public static EC2HardwareBuilder m5d_24xlarge() { + return new EC2HardwareBuilder(InstanceType.M5D_24XLARGE).m5() + .ram(393216) + .processors(ImmutableList.of(new Processor(96.0, 2.5))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sdb").bootDevice(false).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sdc").bootDevice(false).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sdd").bootDevice(false).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sde").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** * @see InstanceType#C1_MEDIUM */ public static EC2HardwareBuilder c1_medium() { @@ -990,6 +1072,85 @@ public class EC2HardwareBuilder extends HardwareBuilder { } /** + * @see InstanceType#C5D_LARGE + */ + public static EC2HardwareBuilder c5d_large() { + return new EC2HardwareBuilder(InstanceType.C5D_LARGE).c5() + .ram(4096) + .processors(ImmutableList.of(new Processor(2.0, 3.0))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(50.0f).device("/dev/sdb").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#C5D_XLARGE + */ + public static EC2HardwareBuilder c5d_xlarge() { + return new EC2HardwareBuilder(InstanceType.C5D_XLARGE).c5() + .ram(8192) + .processors(ImmutableList.of(new Processor(4.0, 3.0))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(100.0f).device("/dev/sdb").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#C5D_2XLARGE + */ + public static EC2HardwareBuilder c5d_2xlarge() { + return new EC2HardwareBuilder(InstanceType.C5D_2XLARGE).c5() + .ram(16384) + .processors(ImmutableList.of(new Processor(8.0, 3.0))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(225.0f).device("/dev/sdb").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#C5D_4XLARGE + */ + public static EC2HardwareBuilder c5d_4xlarge() { + return new EC2HardwareBuilder(InstanceType.C5D_4XLARGE).c5() + .ram(32768) + .processors(ImmutableList.of(new Processor(16.0, 3.0))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(450.0f).device("/dev/sdb").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#C5D_9XLARGE + */ + public static EC2HardwareBuilder c5d_9xlarge() { + return new EC2HardwareBuilder(InstanceType.C5D_9XLARGE).c5() + .ram(73728) + .processors(ImmutableList.of(new Processor(36.0, 3.0))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sdb").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** + * @see InstanceType#C5D_18XLARGE + */ + public static EC2HardwareBuilder c5d_18xlarge() { + return new EC2HardwareBuilder(InstanceType.C5D_18XLARGE).c5() + .ram(147456) + .processors(ImmutableList.of(new Processor(72.0, 3.0))) + .volumes(ImmutableList.<Volume>of( + new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sdb").bootDevice(false).durable(false).build(), + new VolumeBuilder().type(LOCAL).size(900.0f).device("/dev/sdc").bootDevice(false).durable(false).build())) + .is64Bit(true); + } + + /** * @see InstanceType#D2_XLARGE */ public static EC2HardwareBuilder d2_xlarge() { http://git-wip-us.apache.org/repos/asf/jclouds/blob/8dcfd862/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 1a01031..d673d9a 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 @@ -463,6 +463,79 @@ public class InstanceType { public static final String M5_24XLARGE = "m5.24xlarge"; /** + * M5D 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>1 x 75 NVMe SSD</li> + * <li>EBS storage</li> + * <li>64-bit platform</li> + * <li>I/O Performance: Moderate</li> + * </ul> + */ + public static final String M5D_LARGE = "m5d.large"; + + /** + * M5D 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>1 x 150 NVMe SSD</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5D_XLARGE = "m5d.xlarge"; + + /** + * M5D 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>1 x 300 NVMe SSD</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5D_2XLARGE = "m5d.2xlarge"; + + /** + * M5D 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> x 300 NVMe SSD</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5D_4XLARGE = "m5d.4xlarge"; + + /** + * M5D 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>2 x 900 NVMe SSD</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5D_12XLARGE = "m5d.12xlarge"; + + /** + * M5D 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>4 x 900 NVMe SSD</li> + * <li>64-bit platform</li> + * <li>I/O Performance: High</li> + * </ul> + */ + public static final String M5D_24XLARGE = "m5d.24xlarge"; + + /** * High-CPU Medium Instance * <ul> * <li>1.7 GB of memory</li> @@ -748,6 +821,72 @@ public class InstanceType { public static final String C5_18XLARGE = "c5.18xlarge"; /** + * C5D Compute-optimized Large + * <ul> + * <li>4 GiB of memory</li> + * <li>2 vCPU</li> + * <li>1 x 50 NVMe SSD</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5D_LARGE = "c5d.large"; + + /** + * C5D Compute-optimized X Large + * <ul> + * <li>8 GiB of memory</li> + * <li>4 vCPU</li> + * <li>1 x 100 NVMe SSD</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5D_XLARGE = "c5d.xlarge"; + + /** + * C5D Compute-optimized 2x Large + * <ul> + * <li>16 GiB of memory</li> + * <li>8 vCPU</li> + * <li>1 x 225 NVMe SSD</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5D_2XLARGE = "c5d.2xlarge"; + + /** + * C5D Compute-optimized 4x Large + * <ul> + * <li>32 GiB of memory</li> + * <li>16 vCPU</li> + * <li>1 x 450 NVMe SSD</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5D_4XLARGE = "c5d.4xlarge"; + + /** + * C5D Compute-optimized 9x Large + * <ul> + * <li>72 GiB of memory</li> + * <li>36 vCPU</li> + * <li>1 x 900 NVMe SSD</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5D_9XLARGE = "c5d.9xlarge"; + + /** + * C5D Compute-optimized 18x Large + * <ul> + * <li>144 GiB of memory</li> + * <li>72 vCPU</li> + * <li>2 x 900 NVMe SSD</li> + * <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter (ENA)-based Enhanced Networking</li> + * </ul> + */ + public static final String C5D_18XLARGE = "c5d.18xlarge"; + + /** * D2 Dense Storage Extra Large * <ul> * <li>30.5 GiB of memory</li> http://git-wip-us.apache.org/repos/asf/jclouds/blob/8dcfd862/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 119ab57..e35ec5f 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 @@ -34,6 +34,12 @@ 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.c5d_large; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5d_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5d_2xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5d_4xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5d_9xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5d_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; @@ -71,6 +77,12 @@ 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.m5d_large; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5d_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5d_2xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5d_4xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5d_12xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m5d_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; @@ -165,6 +177,12 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier { sizes.add(c5_4xlarge().build()); sizes.add(c5_9xlarge().build()); sizes.add(c5_18xlarge().build()); + sizes.add(c5d_large().build()); + sizes.add(c5d_xlarge().build()); + sizes.add(c5d_2xlarge().build()); + sizes.add(c5d_4xlarge().build()); + sizes.add(c5d_9xlarge().build()); + sizes.add(c5d_18xlarge().build()); sizes.add(i2_xlarge().build()); sizes.add(i2_2xlarge().build()); sizes.add(i2_4xlarge().build()); @@ -192,6 +210,12 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier { sizes.add(m5_4xlarge().build()); sizes.add(m5_12xlarge().build()); sizes.add(m5_24xlarge().build()); + sizes.add(m5d_large().build()); + sizes.add(m5d_xlarge().build()); + sizes.add(m5d_2xlarge().build()); + sizes.add(m5d_4xlarge().build()); + sizes.add(m5d_12xlarge().build()); + sizes.add(m5d_24xlarge().build()); sizes.add(r3_large().build()); sizes.add(r3_xlarge().build()); sizes.add(r3_2xlarge().build());
