Repository: jclouds Updated Branches: refs/heads/2.1.x 53c011a3b -> e4c99a079
JCLOUDS-1460: Adding instances to AWS Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/e4c99a07 Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/e4c99a07 Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/e4c99a07 Branch: refs/heads/2.1.x Commit: e4c99a0797c4465610581cef9d78a985abc0f3fb Parents: 53c011a Author: Trent Schmidt <[email protected]> Authored: Mon Oct 8 10:40:21 2018 -0700 Committer: Dani Estevez <[email protected]> Committed: Wed Oct 24 14:46:09 2018 -0400 ---------------------------------------------------------------------- .../ec2/compute/domain/EC2HardwareBuilder.java | 119 +++++++++++++++++- .../org/jclouds/ec2/domain/InstanceType.java | 122 +++++++++++++++++++ .../suppliers/AWSEC2HardwareSupplier.java | 22 ++++ 3 files changed, 258 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/e4c99a07/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 d5adcc2..a8f4c55 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 @@ -228,7 +228,13 @@ public class EC2HardwareBuilder extends HardwareBuilder { return this; } - + + private EC2HardwareBuilder t3() { + virtualizationType(VirtualizationType.HVM); + + return this; + } + private EC2HardwareBuilder m3() { virtualizationTypes(VirtualizationType.HVM, VirtualizationType.PARAVIRTUAL); return this; @@ -394,12 +400,21 @@ public class EC2HardwareBuilder extends HardwareBuilder { } /** + * @see InstanceType#T2_NANO + */ + public static EC2HardwareBuilder t2_nano() { + return new EC2HardwareBuilder(InstanceType.T2_NANO).t2() + .ram(512) + .processors(ImmutableList.of(new Processor(1.0, 3.3))).rootDeviceType(RootDeviceType.EBS); + } + + /** * @see InstanceType#T2_MICRO */ public static EC2HardwareBuilder t2_micro() { return new EC2HardwareBuilder(InstanceType.T2_MICRO).t2() .ram(1024) - .processors(ImmutableList.of(new Processor(1.0, 0.1))).rootDeviceType(RootDeviceType.EBS); + .processors(ImmutableList.of(new Processor(1.0, 3.3))).rootDeviceType(RootDeviceType.EBS); } /** @@ -408,7 +423,7 @@ public class EC2HardwareBuilder extends HardwareBuilder { public static EC2HardwareBuilder t2_small() { return new EC2HardwareBuilder(InstanceType.T2_SMALL).t2() .ram(2048) - .processors(ImmutableList.of(new Processor(1.0, 0.2))).rootDeviceType(RootDeviceType.EBS); + .processors(ImmutableList.of(new Processor(1.0, 3.3))).rootDeviceType(RootDeviceType.EBS); } /** @@ -417,7 +432,7 @@ public class EC2HardwareBuilder extends HardwareBuilder { public static EC2HardwareBuilder t2_medium() { return new EC2HardwareBuilder(InstanceType.T2_MEDIUM).t2() .ram(4096) - .processors(ImmutableList.of(new Processor(1.0, 0.4))).rootDeviceType(RootDeviceType.EBS); + .processors(ImmutableList.of(new Processor(2.0, 3.3))).rootDeviceType(RootDeviceType.EBS); } /** @@ -426,10 +441,93 @@ public class EC2HardwareBuilder extends HardwareBuilder { public static EC2HardwareBuilder t2_large() { return new EC2HardwareBuilder(InstanceType.T2_LARGE).t2() .ram(8192) - .processors(ImmutableList.of(new Processor(1.0, 0.4))).rootDeviceType(RootDeviceType.EBS); + .processors(ImmutableList.of(new Processor(2.0, 3.0))).rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#T2_XLARGE + */ + public static EC2HardwareBuilder t2_xlarge() { + return new EC2HardwareBuilder(InstanceType.T2_XLARGE).t2() + .ram(16384) + .processors(ImmutableList.of(new Processor(4.0, 3.0))).rootDeviceType(RootDeviceType.EBS); } /** + * @see InstanceType#T2_2XLARGE + */ + public static EC2HardwareBuilder t2_2xlarge() { + return new EC2HardwareBuilder(InstanceType.T2_2XLARGE).t2() + .ram(32768) + .processors(ImmutableList.of(new Processor(8.0, 3.0))).rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#T3_NANO + */ + public static EC2HardwareBuilder t3_nano() { + return new EC2HardwareBuilder(InstanceType.T3_NANO).t3() + .ram(512) + .processors(ImmutableList.of(new Processor(2.0, 2.5))).rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#T3_MICRO + */ + public static EC2HardwareBuilder t3_micro() { + return new EC2HardwareBuilder(InstanceType.T3_MICRO).t3() + .ram(1024) + .processors(ImmutableList.of(new Processor(2.0, 2.5))).rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#T3_SMALL + */ + public static EC2HardwareBuilder t3_small() { + return new EC2HardwareBuilder(InstanceType.T3_SMALL).t3() + .ram(2048) + .processors(ImmutableList.of(new Processor(2.0, 2.5))).rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#T3_MEDIUM + */ + public static EC2HardwareBuilder t3_medium() { + return new EC2HardwareBuilder(InstanceType.T3_MEDIUM).t3() + .ram(4096) + .processors(ImmutableList.of(new Processor(2.0, 2.5))).rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#T3_LARGE + */ + public static EC2HardwareBuilder t3_large() { + return new EC2HardwareBuilder(InstanceType.T3_LARGE).t3() + .ram(8192) + .processors(ImmutableList.of(new Processor(2.0, 2.5))).rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#T3_XLARGE + */ + public static EC2HardwareBuilder t3_xlarge() { + return new EC2HardwareBuilder(InstanceType.T3_XLARGE).t3() + .ram(16384) + .processors(ImmutableList.of(new Processor(4.0, 2.5))).rootDeviceType(RootDeviceType.EBS); + } + + /** + * @see InstanceType#T3_2XLARGE + */ + public static EC2HardwareBuilder t3_2xlarge() { + return new EC2HardwareBuilder(InstanceType.T3_2XLARGE).t3() + .ram(32768) + .processors(ImmutableList.of(new Processor(8.0, 2.5))).rootDeviceType(RootDeviceType.EBS); + } + + + + /** * @see InstanceType#M1_LARGE */ public static EC2HardwareBuilder m1_large() { @@ -606,6 +704,17 @@ public class EC2HardwareBuilder extends HardwareBuilder { } /** + * @see InstanceType#M4_16XLARGE + */ + public static EC2HardwareBuilder m4_16xlarge() { + return new EC2HardwareBuilder(InstanceType.M4_16XLARGE).m4() + .ram(262144) + .processors(ImmutableList.of(new Processor(64.0, 3.1125))) + .is64Bit(true) + .rootDeviceType(RootDeviceType.EBS); + } + + /** * @see InstanceType#M5_LARGE */ public static EC2HardwareBuilder m5_large() { http://git-wip-us.apache.org/repos/asf/jclouds/blob/e4c99a07/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 2faf2a4..1a01031 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 @@ -32,6 +32,17 @@ public class InstanceType { /** * Micro Burstable Performance Instance * <ul> + * <li>512 MB memory</li> + * <li>1 vCPU / 10% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T2_NANO = "t2.nano"; + + /** + * Micro Burstable Performance Instance + * <ul> * <li>1 GB memory</li> * <li>1 vCPU / 10% baseline performance</li> * <li>No instance storage (EBS storage only)</li> @@ -73,6 +84,105 @@ public class InstanceType { */ public static final String T2_LARGE = "t2.large"; + /** + * Micro Burstable Performance Instance + * <ul> + * <li>16 GB memory</li> + * <li>4 vCPU / 40% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T2_XLARGE = "t2.xlarge"; + + /** + * Micro Burstable Performance Instance + * <ul> + * <li>32 GB memory</li> + * <li>8 vCPU / 40% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T2_2XLARGE = "t2.2xlarge"; + + /** + * Micro Burstable Performance Instance + * <ul> + * <li>512 MB memory</li> + * <li>2 vCPU / 10% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T3_NANO = "t3.nano"; + + /** + * Micro Burstable Performance Instance + * <ul> + * <li>1 GB memory</li> + * <li>2 vCPU / 10% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T3_MICRO = "t3.micro"; + + /** + * Micro Burstable Performance Instance + * <ul> + * <li>2 GB memory</li> + * <li>2 vCPU / 10% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T3_SMALL = "t3.small"; + + /** + * Micro Burstable Performance Instance + * <ul> + * <li>4 GB memory</li> + * <li>2 vCPU / 10% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T3_MEDIUM = "t3.medium"; + + /** + * Micro Burstable Performance Instance + * <ul> + * <li>8 GB memory</li> + * <li>2 vCPU / 10% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T3_LARGE = "t3.large"; + + /** + * Micro Burstable Performance Instance + * <ul> + * <li>16 GB memory</li> + * <li>4 vCPU / 10% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T3_XLARGE = "t3.xlarge"; + + /** + * Micro Burstable Performance Instance + * <ul> + * <li>32 GB memory</li> + * <li>8 vCPU / 10% baseline performance</li> + * <li>No instance storage (EBS storage only)</li> + * <li>64-bit platform</li> + * </ul> + */ + public static final String T3_2XLARGE = "t3.2xlarge"; + /** * Small Instance * <ul> @@ -269,6 +379,18 @@ public class InstanceType { public static final String M4_10XLARGE = "m4.10xlarge"; /** + * M4 Sexdecuple Extra Large Instance + * <ul> + * <li>256 GiB memory</li> + * <li>199.2 EC2 Compute Units (64 virtual cores with 3.1125 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 M4_16XLARGE = "m4.16xlarge"; + + /** * M5 Large Instance * <ul> * <li>8 GiB memory</li> http://git-wip-us.apache.org/repos/asf/jclouds/blob/e4c99a07/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 cd334fc..119ab57 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 @@ -60,6 +60,7 @@ import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m3_large; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m3_medium; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m3_xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m4_10xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.m4_16xlarge; 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; @@ -85,7 +86,17 @@ import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t1_micro; 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_nano; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_small; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_2xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t3_nano; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t3_micro; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t3_small; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t3_medium; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t3_large; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t3_xlarge; +import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t3_2xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.x1_16xlarge; import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.x1_32xlarge; @@ -122,10 +133,20 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier { sizes.add(g2_2xlarge().supportsImageIds(ccAmis).build()); sizes.add(t1_micro().build()); + sizes.add(t2_nano().build()); sizes.add(t2_micro().build()); sizes.add(t2_small().build()); sizes.add(t2_medium().build()); sizes.add(t2_large().build()); + sizes.add(t2_xlarge().build()); + sizes.add(t2_2xlarge().build()); + sizes.add(t3_nano().build()); + sizes.add(t3_micro().build()); + sizes.add(t3_small().build()); + sizes.add(t3_medium().build()); + sizes.add(t3_large().build()); + sizes.add(t3_xlarge().build()); + sizes.add(t3_2xlarge().build()); sizes.add(c1_medium().build()); sizes.add(c1_xlarge().build()); sizes.add(c3_large().build()); @@ -164,6 +185,7 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier { sizes.add(m4_2xlarge().build()); sizes.add(m4_4xlarge().build()); sizes.add(m4_10xlarge().build()); + sizes.add(m4_16xlarge().build()); sizes.add(m5_large().build()); sizes.add(m5_xlarge().build()); sizes.add(m5_2xlarge().build());
