[2/2] jclouds git commit: JCLOUDS-1339: Support launching an x1 EC2 instance
JCLOUDS-1339: Support launching an x1 EC2 instance https://issues.apache.org/jira/browse/JCLOUDS-1339 Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/ca063d8b Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/ca063d8b Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/ca063d8b Branch: refs/heads/2.1.x Commit: ca063d8bfa88ec08c94c99416574cb7958058a26 Parents: 591fe84 Author: Markus Alexander Kuppe Authored: Tue Aug 21 18:31:02 2018 + Committer: Ignasi Barrera Committed: Thu Aug 23 20:27:56 2018 +0200 -- .../ec2/compute/domain/EC2HardwareBuilder.java | 38 .../org/jclouds/ec2/domain/InstanceType.java| 26 ++ .../suppliers/AWSEC2HardwareSupplier.java | 4 +++ 3 files changed, 68 insertions(+) -- http://git-wip-us.apache.org/repos/asf/jclouds/blob/ca063d8b/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 7d1a56c..d5adcc2 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 @@ -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. 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. 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() { http://git-wip-us.apache.org/repos/asf/jclouds/blob/ca063d8b/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 617cc39..2faf2a4 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 @@ -842,4 +842,30 @@ public class InstanceType { * */ public static final String R4_16XLARGE =
[2/2] jclouds git commit: JCLOUDS-1339: Support launching an x1 EC2 instance
JCLOUDS-1339: Support launching an x1 EC2 instance https://issues.apache.org/jira/browse/JCLOUDS-1339 Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/88f44a6d Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/88f44a6d Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/88f44a6d Branch: refs/heads/master Commit: 88f44a6d8edc92e76bfe1a5fd0a00bdde6b16148 Parents: bcc6a26 Author: Markus Alexander Kuppe Authored: Tue Aug 21 18:31:02 2018 + Committer: Ignasi Barrera Committed: Thu Aug 23 20:25:05 2018 +0200 -- .../ec2/compute/domain/EC2HardwareBuilder.java | 38 .../org/jclouds/ec2/domain/InstanceType.java| 26 ++ .../suppliers/AWSEC2HardwareSupplier.java | 4 +++ 3 files changed, 68 insertions(+) -- http://git-wip-us.apache.org/repos/asf/jclouds/blob/88f44a6d/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 7d1a56c..d5adcc2 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 @@ -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. 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. 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() { http://git-wip-us.apache.org/repos/asf/jclouds/blob/88f44a6d/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 617cc39..2faf2a4 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 @@ -842,4 +842,30 @@ public class InstanceType { * */ public static final String R4_16XLARGE =