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?
|
// TODO include D2 (dense) types?
|
||||||
@SuppressWarnings("unused")
|
|
||||||
private EC2HardwareBuilder d2() {
|
private EC2HardwareBuilder d2() {
|
||||||
virtualizationTypes(VirtualizationType.HVM);
|
virtualizationTypes(VirtualizationType.HVM);
|
||||||
return this;
|
return this;
|
||||||
|
@ -261,6 +260,12 @@ public class EC2HardwareBuilder extends HardwareBuilder {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private EC2HardwareBuilder r4() {
|
||||||
|
virtualizationTypes(VirtualizationType.HVM);
|
||||||
|
rootDeviceType(RootDeviceType.EBS);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
private EC2HardwareBuilder g2() {
|
private EC2HardwareBuilder g2() {
|
||||||
virtualizationTypes(VirtualizationType.HVM);
|
virtualizationTypes(VirtualizationType.HVM);
|
||||||
return this;
|
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/sdb").bootDevice(false).durable(false).build(),
|
||||||
new VolumeBuilder().type(LOCAL).size(320.0f).device("/dev/sdc").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")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -575,7 +575,6 @@ public class InstanceType {
|
||||||
*/
|
*/
|
||||||
public static final String I2_8XLARGE = "i2.8xlarge";
|
public static final String I2_8XLARGE = "i2.8xlarge";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* R3 Large Memory Optimized
|
* R3 Large Memory Optimized
|
||||||
* <ul>
|
* <ul>
|
||||||
|
@ -633,4 +632,76 @@ public class InstanceType {
|
||||||
* </ul>
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public static final String R3_8XLARGE = "r3.8xlarge";
|
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_8xlarge;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.r3_large;
|
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.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.t1_micro;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_large;
|
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_medium;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_micro;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_micro;
|
||||||
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_small;
|
import static org.jclouds.ec2.compute.domain.EC2HardwareBuilder.t2_small;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import javax.inject.Inject;
|
||||||
import com.google.common.collect.ImmutableSet.Builder;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
import org.jclouds.aws.ec2.compute.config.ClusterCompute;
|
import org.jclouds.aws.ec2.compute.config.ClusterCompute;
|
||||||
import org.jclouds.compute.domain.Hardware;
|
import org.jclouds.compute.domain.Hardware;
|
||||||
import org.jclouds.ec2.compute.suppliers.EC2HardwareSupplier;
|
import org.jclouds.ec2.compute.suppliers.EC2HardwareSupplier;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
import com.google.common.collect.ImmutableSet.Builder;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class AWSEC2HardwareSupplier extends EC2HardwareSupplier {
|
public class AWSEC2HardwareSupplier extends EC2HardwareSupplier {
|
||||||
|
|
||||||
|
@ -141,6 +149,12 @@ public class AWSEC2HardwareSupplier extends EC2HardwareSupplier {
|
||||||
sizes.add(r3_2xlarge().build());
|
sizes.add(r3_2xlarge().build());
|
||||||
sizes.add(r3_4xlarge().build());
|
sizes.add(r3_4xlarge().build());
|
||||||
sizes.add(r3_8xlarge().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_xlarge().build());
|
||||||
sizes.add(d2_2xlarge().build());
|
sizes.add(d2_2xlarge().build());
|
||||||
sizes.add(d2_4xlarge().build());
|
sizes.add(d2_4xlarge().build());
|
||||||
|
|
Loading…
Reference in New Issue