mirror of
https://github.com/apache/jclouds.git
synced 2025-03-03 06:49:11 +00:00
JCLOUDS-1339: Support launching an x1 EC2 instance
https://issues.apache.org/jira/browse/JCLOUDS-1339
This commit is contained in:
parent
591fe84dd9
commit
ca063d8bfa
@ -290,6 +290,19 @@ public class EC2HardwareBuilder extends HardwareBuilder {
|
||||
virtualizationTypes(VirtualizationType.HVM, VirtualizationType.PARAVIRTUAL);
|
||||
return this;
|
||||
}
|
||||
|
||||
private EC2HardwareBuilder x1() {
|
||||
virtualizationTypes(VirtualizationType.HVM);
|
||||
|
||||
// TODO X1 is not deprecated, but it requires that you are using a VPC
|
||||
// until we have a way for hardware instances to be filtered based on network
|
||||
// we do NOT want X1 selected automatically.
|
||||
// You get: org.jclouds.aws.AWSResponseException: request POST https://ec2.eu-west-1.amazonaws.com/ HTTP/1.1 failed with code 400, error: AWSError{requestId='2300b99e-ddc0-42ab-b1ed-9d628a161be4', requestToken='null', code='VPCResourceNotSpecified', message='The specified instance type can only be used in a VPC. A subnet ID or network interface ID is required to carry out the request.', context='{Response=, Errors=}'}
|
||||
// A user can explicitly request a x1 if they are also setting up a VPC.
|
||||
deprecated();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
// TODO below this line are previous generation, discouraged
|
||||
// http://aws.amazon.com/ec2/previous-generation/
|
||||
@ -1211,6 +1224,31 @@ public class EC2HardwareBuilder extends HardwareBuilder {
|
||||
.processors(ImmutableList.of(new Processor(64.0, 2.3)));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see InstanceType#X1_16XLARGE
|
||||
*/
|
||||
public static EC2HardwareBuilder x1_16xlarge() {
|
||||
return new EC2HardwareBuilder(InstanceType.X1_16XLARGE).x1()
|
||||
.ram(999424)
|
||||
.volumes(ImmutableList.<Volume> of(
|
||||
new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(),
|
||||
new VolumeBuilder().type(LOCAL).size(1920.0f).device("/dev/sdb").bootDevice(false).durable(false).build()))
|
||||
.processors(ImmutableList.of(new Processor(64.0, 2.3)));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see InstanceType#X1_32XLARGE
|
||||
*/
|
||||
public static EC2HardwareBuilder x1_32xlarge() {
|
||||
return new EC2HardwareBuilder(InstanceType.X1_32XLARGE).x1()
|
||||
.ram(1998848)
|
||||
.volumes(ImmutableList.<Volume> of(
|
||||
new VolumeBuilder().type(LOCAL).size(10.0f).device("/dev/sda1").bootDevice(true).durable(false).build(),
|
||||
new VolumeBuilder().type(LOCAL).size(1920.0f).device("/dev/sdb").bootDevice(false).durable(false).build(),
|
||||
new VolumeBuilder().type(LOCAL).size(1920.0f).device("/dev/sdc").bootDevice(false).durable(false).build()))
|
||||
.processors(ImmutableList.of(new Processor(128.0, 2.3)));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public Hardware build() {
|
||||
|
@ -842,4 +842,30 @@ public class InstanceType {
|
||||
* </ul>
|
||||
*/
|
||||
public static final String R4_16XLARGE = "r4.16xlarge";
|
||||
|
||||
/**
|
||||
* X1 16x Large-scale, enterprise-class and in-memory applications
|
||||
* <ul>
|
||||
* <li>976 GB memory</li>
|
||||
* <li>64 vCPU</li>
|
||||
* <li>Intel Xeon E7-8880 v3 (Haswell) processors</li>
|
||||
* <li>1 SSD-based volume with 1920 GiB of instance storage</li>
|
||||
* <li>64-bit platform</li>
|
||||
* <li>Network Performance: 25 Gigabit</li>
|
||||
* </ul>
|
||||
*/
|
||||
public static final String X1_16XLARGE = "x1.16xlarge";
|
||||
|
||||
/**
|
||||
* X1 32x Large-scale, enterprise-class and in-memory applications
|
||||
* <ul>
|
||||
* <li>1952 GB memory</li>
|
||||
* <li>128 vCPU</li>
|
||||
* <li>Intel Xeon E7-8880 v3 (Haswell) processors</li>
|
||||
* <li>2 SSD-based volume with 1920 GiB of instance storage</li>
|
||||
* <li>64-bit platform</li>
|
||||
* <li>Network Performance: 25 Gigabit</li>
|
||||
* </ul>
|
||||
*/
|
||||
public static final String X1_32XLARGE = "x1.32xlarge";
|
||||
}
|
||||
|
@ -86,6 +86,8 @@ import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_large;
|
||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_medium;
|
||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_micro;
|
||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_small;
|
||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.x1_16xlarge;
|
||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.x1_32xlarge;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@ -183,6 +185,8 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier {
|
||||
sizes.add(d2_2xlarge().build());
|
||||
sizes.add(d2_4xlarge().build());
|
||||
sizes.add(d2_8xlarge().build());
|
||||
sizes.add(x1_32xlarge().build());
|
||||
sizes.add(x1_16xlarge().build());
|
||||
|
||||
return sizes.build();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user