mirror of https://github.com/apache/jclouds.git
JCLOUDS-1372: Add support for R4 instance types
This commit is contained in:
parent
382c9201e3
commit
ec20f05b68
|
@ -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;
|
||||
|
@ -1015,6 +1020,60 @@ public class EC2HardwareBuilder extends HardwareBuilder {
|
|||
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
|
||||
public Hardware build() {
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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 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 javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
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());
|
||||
|
|
Loading…
Reference in New Issue