You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2018/01/16 11:57:19 UTC
jclouds git commit: JCLOUDS-1372: Add support for R4 instance types
Repository: jclouds
Updated Branches:
refs/heads/master 4a7b2051f -> d50acd5e6
JCLOUDS-1372: Add support for R4 instance types
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/d50acd5e
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/d50acd5e
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/d50acd5e
Branch: refs/heads/master
Commit: d50acd5e61ff1febd6893b1911583c76acbbbf75
Parents: 4a7b205
Author: Ignasi Barrera <na...@apache.org>
Authored: Tue Jan 16 12:28:19 2018 +0100
Committer: Ignasi Barrera <na...@apache.org>
Committed: Tue Jan 16 12:28:19 2018 +0100
----------------------------------------------------------------------
.../ec2/compute/domain/EC2HardwareBuilder.java | 61 +++++++++++++++-
.../org/jclouds/ec2/domain/InstanceType.java | 73 +++++++++++++++++++-
.../suppliers/AWSEC2HardwareSupplier.java | 20 +++++-
3 files changed, 149 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d50acd5e/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 ad70a00..b9ca769 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
@@ -250,7 +250,6 @@ public class EC2HardwareBuilder extends HardwareBuilder {
}
// TODO include D2 (dense) types?
- @SuppressWarnings("unused")
private EC2HardwareBuilder d2() {
virtualizationTypes(VirtualizationType.HVM);
return this;
@@ -261,6 +260,12 @@ public class EC2HardwareBuilder extends HardwareBuilder {
return this;
}
+ private EC2HardwareBuilder r4() {
+ virtualizationTypes(VirtualizationType.HVM);
+ rootDeviceType(RootDeviceType.EBS);
+ return this;
+ }
+
private EC2HardwareBuilder g2() {
virtualizationTypes(VirtualizationType.HVM);
return this;
@@ -1014,6 +1019,60 @@ public class EC2HardwareBuilder extends HardwareBuilder {
new VolumeBuilder().type(LOCAL).size(320.0f).device("/dev/sdb").bootDevice(false).durable(false).build(),
new VolumeBuilder().type(LOCAL).size(320.0f).device("/dev/sdc").bootDevice(false).durable(false).build()));
}
+
+ /**
+ * @see InstanceType#R4_LARGE
+ */
+ public static EC2HardwareBuilder r4_large() {
+ return new EC2HardwareBuilder(InstanceType.R4_LARGE).r4()
+ .ram(15616)
+ .processors(ImmutableList.of(new Processor(2.0, 2.3)));
+ }
+
+ /**
+ * @see InstanceType#R4_XLARGE
+ */
+ public static EC2HardwareBuilder r4_xlarge() {
+ return new EC2HardwareBuilder(InstanceType.R4_XLARGE).r4()
+ .ram(31232)
+ .processors(ImmutableList.of(new Processor(4.0, 2.3)));
+ }
+
+ /**
+ * @see InstanceType#R4_2XLARGE
+ */
+ public static EC2HardwareBuilder r4_2xlarge() {
+ return new EC2HardwareBuilder(InstanceType.R4_2XLARGE).r4()
+ .ram(62464)
+ .processors(ImmutableList.of(new Processor(8.0, 2.3)));
+ }
+
+ /**
+ * @see InstanceType#R4_4XLARGE
+ */
+ public static EC2HardwareBuilder r4_4xlarge() {
+ return new EC2HardwareBuilder(InstanceType.R4_4XLARGE).r4()
+ .ram(124928)
+ .processors(ImmutableList.of(new Processor(16.0, 2.3)));
+ }
+
+ /**
+ * @see InstanceType#R4_8XLARGE
+ */
+ public static EC2HardwareBuilder r4_8xlarge() {
+ return new EC2HardwareBuilder(InstanceType.R4_8XLARGE).r4()
+ .ram(249856)
+ .processors(ImmutableList.of(new Processor(32.0, 2.3)));
+ }
+
+ /**
+ * @see InstanceType#R4_16XLARGE
+ */
+ public static EC2HardwareBuilder r4_16xlarge() {
+ return new EC2HardwareBuilder(InstanceType.R4_16XLARGE).r4()
+ .ram(499712)
+ .processors(ImmutableList.of(new Processor(64.0, 2.3)));
+ }
@SuppressWarnings("unchecked")
@Override
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d50acd5e/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 e391bcd..53b3566 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
@@ -575,7 +575,6 @@ public class InstanceType {
*/
public static final String I2_8XLARGE = "i2.8xlarge";
-
/**
* R3 Large Memory Optimized
* <ul>
@@ -633,4 +632,76 @@ public class InstanceType {
* </ul>
*/
public static final String R3_8XLARGE = "r3.8xlarge";
+
+ /**
+ * R4 Large Memory Optimized
+ * <ul>
+ * <li>15.25 GB memory</li>
+ * <li>2 vCPU</li>
+ * <li>No instance storage (EBS storage only)</li>
+ * <li>64-bit platform</li>
+ * <li>Network Performance: up to 10 Gigabit</li>
+ * </ul>
+ */
+ public static final String R4_LARGE = "r4.large";
+
+ /**
+ * R4 Extra Large Memory Optimized
+ * <ul>
+ * <li>30.5 GB memory</li>
+ * <li>4 vCPU</li>
+ * <li>No instance storage (EBS storage only)</li>
+ * <li>64-bit platform</li>
+ * <li>Network Performance: up to 10 Gigabit</li>
+ * </ul>
+ */
+ public static final String R4_XLARGE = "r4.xlarge";
+
+ /**
+ * R4 Double Extra Large Memory Optimized
+ * <ul>
+ * <li>61 GB memory</li>
+ * <li>8 vCPU</li>
+ * <li>No instance storage (EBS storage only)</li>
+ * <li>64-bit platform</li>
+ * <li>Network Performance: up to 10 Gigabit</li>
+ * </ul>
+ */
+ public static final String R4_2XLARGE = "r4.2xlarge";
+
+ /**
+ * R4 Quadruple Extra Large Memory Optimized
+ * <ul>
+ * <li>122 GB memory</li>
+ * <li>16 vCPU</li>
+ * <li>No instance storage (EBS storage only)</li>
+ * <li>64-bit platform</li>
+ * <li>Network Performance: up to 10 Gigabit</li>
+ * </ul>
+ */
+ public static final String R4_4XLARGE = "r4.4xlarge";
+
+ /**
+ * R4 Octuple Extra Large Memory Optimized
+ * <ul>
+ * <li>244 GB memory</li>
+ * <li>32 vCPU</li>
+ * <li>No instance storage (EBS storage only)</li>
+ * <li>64-bit platform</li>
+ * <li>Network Performance: 10 Gigabit</li>
+ * </ul>
+ */
+ public static final String R4_8XLARGE = "r4.8xlarge";
+
+ /**
+ * R4 16x Extra Large Memory Optimized
+ * <ul>
+ * <li>488 GB memory</li>
+ * <li>64 vCPU</li>
+ * <li>No instance storage (EBS storage only)</li>
+ * <li>64-bit platform</li>
+ * <li>Network Performance: 25 Gigabit</li>
+ * </ul>
+ */
+ public static final String R4_16XLARGE = "r4.16xlarge";
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/d50acd5e/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 26ef8b9..0409fbf 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
@@ -63,22 +63,30 @@ 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;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r4_8xlarge;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r4_large;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r4_xlarge;
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_small;
+import java.util.Set;
+
import javax.inject.Inject;
import javax.inject.Singleton;
-import java.util.Set;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
import org.jclouds.aws.ec2.compute.config.ClusterCompute;
import org.jclouds.compute.domain.Hardware;
import org.jclouds.ec2.compute.suppliers.EC2HardwareSupplier;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSet.Builder;
+
@Singleton
public class AWSEC2HardwareSupplier extends EC2HardwareSupplier {
@@ -141,6 +149,12 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier {
sizes.add(r3_2xlarge().build());
sizes.add(r3_4xlarge().build());
sizes.add(r3_8xlarge().build());
+ sizes.add(r4_large().build());
+ sizes.add(r4_xlarge().build());
+ sizes.add(r4_2xlarge().build());
+ sizes.add(r4_4xlarge().build());
+ sizes.add(r4_8xlarge().build());
+ sizes.add(r4_16xlarge().build());
sizes.add(d2_xlarge().build());
sizes.add(d2_2xlarge().build());
sizes.add(d2_4xlarge().build());