Repository: jclouds
Updated Branches:
  refs/heads/2.1.x 4d1f64d7b -> 0ee68a5f8


JCLOUDS-1387: Add support for c5 instance types in AWS ec2


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/0ee68a5f
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/0ee68a5f
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/0ee68a5f

Branch: refs/heads/2.1.x
Commit: 0ee68a5f836a654619a5bbf635e19e1d478f058e
Parents: 4d1f64d
Author: Vikas Rangarajan <[email protected]>
Authored: Mon Jul 30 15:41:02 2018 -0500
Committer: Dani Estevez <[email protected]>
Committed: Wed Aug 1 16:50:02 2018 -0400

----------------------------------------------------------------------
 .../ec2/compute/domain/EC2HardwareBuilder.java  | 65 +++++++++++++++++++
 .../org/jclouds/ec2/domain/InstanceType.java    | 66 ++++++++++++++++++++
 .../suppliers/AWSEC2HardwareSupplier.java       | 14 ++++-
 3 files changed, 144 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/0ee68a5f/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 b9ca769..fbb730e 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
@@ -249,6 +249,11 @@ public class EC2HardwareBuilder extends HardwareBuilder {
       return this;
    }
    
+   private EC2HardwareBuilder c5() {
+      virtualizationTypes(VirtualizationType.HVM, 
VirtualizationType.PARAVIRTUAL);
+      return this;
+   }
+   
    // TODO include D2 (dense) types?
    private EC2HardwareBuilder d2() {
       virtualizationTypes(VirtualizationType.HVM);
@@ -731,6 +736,66 @@ public class EC2HardwareBuilder extends HardwareBuilder {
    }
 
    /**
+    * @see InstanceType#C5_LARGE
+    */
+   public static EC2HardwareBuilder c5_large() {
+      return new EC2HardwareBuilder(InstanceType.C5_LARGE).c5()
+         .ram(4096)
+         .processors(ImmutableList.of(new Processor(2.0, 3.0)))
+         .rootDeviceType(RootDeviceType.EBS);
+   }
+
+   /**
+    * @see InstanceType#C5_XLARGE
+    */
+   public static EC2HardwareBuilder c5_xlarge() {
+      return new EC2HardwareBuilder(InstanceType.C5_XLARGE).c5()
+         .ram(8192)
+         .processors(ImmutableList.of(new Processor(4.0, 3.0)))
+         .rootDeviceType(RootDeviceType.EBS);
+   }
+
+   /**
+    * @see InstanceType#C5_2XLARGE
+    */
+   public static EC2HardwareBuilder c5_2xlarge() {
+      return new EC2HardwareBuilder(InstanceType.C5_2XLARGE).c5()
+         .ram(16384)
+         .processors(ImmutableList.of(new Processor(8.0, 3.0)))
+         .rootDeviceType(RootDeviceType.EBS);
+   }
+
+   /**
+    * @see InstanceType#C5_4XLARGE
+    */
+   public static EC2HardwareBuilder c5_4xlarge() {
+      return new EC2HardwareBuilder(InstanceType.C5_4XLARGE).c5()
+         .ram(32768)
+         .processors(ImmutableList.of(new Processor(16.0, 3.0)))
+         .rootDeviceType(RootDeviceType.EBS);
+   }
+
+   /**
+    * @see InstanceType#C5_9XLARGE
+    */
+   public static EC2HardwareBuilder c5_9xlarge() {
+      return new EC2HardwareBuilder(InstanceType.C5_9XLARGE).c5()
+         .ram(73728)
+         .processors(ImmutableList.of(new Processor(36.0, 3.0)))
+         .rootDeviceType(RootDeviceType.EBS);
+   }
+
+   /**
+    * @see InstanceType#C5_18XLARGE
+    */
+   public static EC2HardwareBuilder c5_18xlarge() {
+      return new EC2HardwareBuilder(InstanceType.C5_18XLARGE).c5()
+         .ram(147456)
+         .processors(ImmutableList.of(new Processor(72.0, 3.0)))
+         .rootDeviceType(RootDeviceType.EBS);
+   }
+
+   /**
     * @see InstanceType#D2_XLARGE
     */
    public static EC2HardwareBuilder d2_xlarge() {

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0ee68a5f/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 53b3566..f7033e4 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
@@ -488,6 +488,72 @@ public class InstanceType {
    public static final String C4_LARGE = "c4.large";
 
    /**
+    * C5 Compute-optimized Large
+    * <ul>
+    *    <li>4 GiB of memory</li>
+    *    <li>2 vCPU</li>
+    *    <li>No instance storage (EBS storage only)</li>
+    *    <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter 
(ENA)-based Enhanced Networking</li>
+    * </ul>
+    */
+   public static final String C5_LARGE = "c5.large";
+
+   /**
+    * C5 Compute-optimized X Large
+    * <ul>
+    *    <li>8 GiB of memory</li>
+    *    <li>4 vCPU</li>
+    *    <li>No instance storage (EBS storage only)</li>
+    *    <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter 
(ENA)-based Enhanced Networking</li>
+    * </ul>
+    */
+   public static final String C5_XLARGE = "c5.xlarge";
+
+   /**
+    * C5 Compute-optimized 2x Large
+    * <ul>
+    *    <li>16 GiB of memory</li>
+    *    <li>8 vCPU</li>
+    *    <li>No instance storage (EBS storage only)</li>
+    *    <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter 
(ENA)-based Enhanced Networking</li>
+    * </ul>
+    */
+   public static final String C5_2XLARGE = "c5.2xlarge";
+
+   /**
+    * C5 Compute-optimized 4x Large
+    * <ul>
+    *    <li>32 GiB of memory</li>
+    *    <li>16 vCPU</li>
+    *    <li>No instance storage (EBS storage only)</li>
+    *    <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter 
(ENA)-based Enhanced Networking</li>
+    * </ul>
+    */
+   public static final String C5_4XLARGE = "c5.4xlarge";
+
+   /**
+    * C5 Compute-optimized 9x Large
+    * <ul>
+    *    <li>72 GiB of memory</li>
+    *    <li>36 vCPU</li>
+    *    <li>No instance storage (EBS storage only)</li>
+    *    <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter 
(ENA)-based Enhanced Networking</li>
+    * </ul>
+    */
+   public static final String C5_9XLARGE = "c5.9xlarge";
+
+   /**
+    * C5 Compute-optimized 18x Large
+    * <ul>
+    *    <li>144 GiB of memory</li>
+    *    <li>72 vCPU</li>
+    *    <li>No instance storage (EBS storage only)</li>
+    *    <li>Up to 25 Gbps of network bandwidth using Elastic Network Adapter 
(ENA)-based Enhanced Networking</li>
+    * </ul>
+    */
+   public static final String C5_18XLARGE = "c5.18xlarge";
+
+   /**
     * D2 Dense Storage Extra Large
     * <ul>
     *    <li>30.5 GiB of memory</li>

http://git-wip-us.apache.org/repos/asf/jclouds/blob/0ee68a5f/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 0409fbf..c943ff5 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
@@ -23,11 +23,17 @@ import static 
org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c3_4xlarge;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c3_8xlarge;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c3_large;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c3_xlarge;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_large;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_2xlarge;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_4xlarge;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_8xlarge;
-import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_large;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c4_xlarge;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_large;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_xlarge;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_2xlarge;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_4xlarge;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_9xlarge;
+import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.c5_18xlarge;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cc1_4xlarge;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cc2_8xlarge;
 import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.cg1_4xlarge;
@@ -124,6 +130,12 @@ public class AWSEC2HardwareSupplier extends 
EC2HardwareSupplier {
       sizes.add(c4_2xlarge().build());
       sizes.add(c4_4xlarge().build());
       sizes.add(c4_8xlarge().build());
+      sizes.add(c5_large().build());
+      sizes.add(c5_xlarge().build());
+      sizes.add(c5_2xlarge().build());
+      sizes.add(c5_4xlarge().build());
+      sizes.add(c5_9xlarge().build());
+      sizes.add(c5_18xlarge().build());
       sizes.add(i2_xlarge().build());
       sizes.add(i2_2xlarge().build());
       sizes.add(i2_4xlarge().build());

Reply via email to