JCLOUDS-1436: Add support for aws ec2 m5 instance types

fix: remove duplicate imports
This commit is contained in:
Vikas Rangarajan 2018-07-30 18:25:30 -05:00 committed by Dani Estevez
parent 0ee68a5f83
commit e54312aaeb
3 changed files with 158 additions and 2 deletions

View File

@ -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;
@ -587,6 +592,73 @@ public class EC2HardwareBuilder extends HardwareBuilder {
.rootDeviceType(RootDeviceType.EBS);
}
/**
* @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
*/

View File

@ -268,6 +268,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>

View File

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