JCLOUDS-1467

Added support for c5d & m5d AWS nodes.

JCLOUDS-1467
Updated the SSD drive information.
This commit is contained in:
kraza 2018-11-28 21:31:36 -05:00 committed by Dani Estevez
parent 8e827d595e
commit 5916059be9
3 changed files with 324 additions and 0 deletions

View File

@ -780,7 +780,89 @@ 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
*/
@ -989,6 +1071,85 @@ public class EC2HardwareBuilder extends HardwareBuilder {
.rootDeviceType(RootDeviceType.EBS);
}
/**
* @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
*/

View File

@ -462,6 +462,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>
@ -747,6 +820,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>

View File

@ -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());