Skip to content
This repository has been archived by the owner on Jul 25, 2020. It is now read-only.

Commit

Permalink
JCLOUDS-1387: Add support for c5 instance types in AWS ec2
Browse files Browse the repository at this point in the history
  • Loading branch information
VRanga000 authored and danielestevez committed Aug 1, 2018
1 parent 4d1f64d commit 0ee68a5
Show file tree
Hide file tree
Showing 3 changed files with 144 additions and 1 deletion.
Expand Up @@ -249,6 +249,11 @@ private EC2HardwareBuilder c4() {
return this;
}

private EC2HardwareBuilder c5() {
virtualizationTypes(VirtualizationType.HVM, VirtualizationType.PARAVIRTUAL);
return this;
}

// TODO include D2 (dense) types?
private EC2HardwareBuilder d2() {
virtualizationTypes(VirtualizationType.HVM);
Expand Down Expand Up @@ -730,6 +735,66 @@ public static EC2HardwareBuilder c4_8xlarge() {
.rootDeviceType(RootDeviceType.EBS);
}

/**
* @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
*/
Expand Down
66 changes: 66 additions & 0 deletions apis/ec2/src/main/java/org/jclouds/ec2/domain/InstanceType.java
Expand Up @@ -487,6 +487,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>
Expand Down
Expand Up @@ -23,11 +23,17 @@
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;
Expand Down Expand Up @@ -124,6 +130,12 @@ public Set<? extends Hardware> get() {
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());
Expand Down

0 comments on commit 0ee68a5

Please sign in to comment.