@Generated(value="jsii-pacmak/1.74.0 (build 6d08790)", date="2023-03-22T19:35:42.343Z") public class CfnEC2Fleet extends CfnResource implements IInspectable
Specifies the configuration information to launch a fleet--or group--of instances. An EC2 Fleet can launch multiple instance types across multiple Availability Zones, using the On-Demand Instance, Reserved Instance, and Spot Instance purchasing models together. Using EC2 Fleet, you can define separate On-Demand and Spot capacity targets, specify the instance types that work best for your applications, and specify how Amazon EC2 should distribute your fleet capacity within each purchasing model. For more information, see Launching an EC2 Fleet in the Amazon EC2 User Guide for Linux Instances .
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import software.amazon.awscdk.services.ec2.*; CfnEC2Fleet cfnEC2Fleet = CfnEC2Fleet.Builder.create(this, "MyCfnEC2Fleet") .launchTemplateConfigs(List.of(FleetLaunchTemplateConfigRequestProperty.builder() .launchTemplateSpecification(FleetLaunchTemplateSpecificationRequestProperty.builder() .version("version") // the properties below are optional .launchTemplateId("launchTemplateId") .launchTemplateName("launchTemplateName") .build()) .overrides(List.of(FleetLaunchTemplateOverridesRequestProperty.builder() .availabilityZone("availabilityZone") .instanceRequirements(InstanceRequirementsRequestProperty.builder() .acceleratorCount(AcceleratorCountRequestProperty.builder() .max(123) .min(123) .build()) .acceleratorManufacturers(List.of("acceleratorManufacturers")) .acceleratorNames(List.of("acceleratorNames")) .acceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBRequestProperty.builder() .max(123) .min(123) .build()) .acceleratorTypes(List.of("acceleratorTypes")) .allowedInstanceTypes(List.of("allowedInstanceTypes")) .bareMetal("bareMetal") .baselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsRequestProperty.builder() .max(123) .min(123) .build()) .burstablePerformance("burstablePerformance") .cpuManufacturers(List.of("cpuManufacturers")) .excludedInstanceTypes(List.of("excludedInstanceTypes")) .instanceGenerations(List.of("instanceGenerations")) .localStorage("localStorage") .localStorageTypes(List.of("localStorageTypes")) .memoryGiBPerVCpu(MemoryGiBPerVCpuRequestProperty.builder() .max(123) .min(123) .build()) .memoryMiB(MemoryMiBRequestProperty.builder() .max(123) .min(123) .build()) .networkBandwidthGbps(NetworkBandwidthGbpsRequestProperty.builder() .max(123) .min(123) .build()) .networkInterfaceCount(NetworkInterfaceCountRequestProperty.builder() .max(123) .min(123) .build()) .onDemandMaxPricePercentageOverLowestPrice(123) .requireHibernateSupport(false) .spotMaxPricePercentageOverLowestPrice(123) .totalLocalStorageGb(TotalLocalStorageGBRequestProperty.builder() .max(123) .min(123) .build()) .vCpuCount(VCpuCountRangeRequestProperty.builder() .max(123) .min(123) .build()) .build()) .instanceType("instanceType") .maxPrice("maxPrice") .placement(PlacementProperty.builder() .affinity("affinity") .availabilityZone("availabilityZone") .groupName("groupName") .hostId("hostId") .hostResourceGroupArn("hostResourceGroupArn") .partitionNumber(123) .spreadDomain("spreadDomain") .tenancy("tenancy") .build()) .priority(123) .subnetId("subnetId") .weightedCapacity(123) .build())) .build())) .targetCapacitySpecification(TargetCapacitySpecificationRequestProperty.builder() .totalTargetCapacity(123) // the properties below are optional .defaultTargetCapacityType("defaultTargetCapacityType") .onDemandTargetCapacity(123) .spotTargetCapacity(123) .targetCapacityUnitType("targetCapacityUnitType") .build()) // the properties below are optional .context("context") .excessCapacityTerminationPolicy("excessCapacityTerminationPolicy") .onDemandOptions(OnDemandOptionsRequestProperty.builder() .allocationStrategy("allocationStrategy") .capacityReservationOptions(CapacityReservationOptionsRequestProperty.builder() .usageStrategy("usageStrategy") .build()) .maxTotalPrice("maxTotalPrice") .minTargetCapacity(123) .singleAvailabilityZone(false) .singleInstanceType(false) .build()) .replaceUnhealthyInstances(false) .spotOptions(SpotOptionsRequestProperty.builder() .allocationStrategy("allocationStrategy") .instanceInterruptionBehavior("instanceInterruptionBehavior") .instancePoolsToUseCount(123) .maintenanceStrategies(MaintenanceStrategiesProperty.builder() .capacityRebalance(CapacityRebalanceProperty.builder() .replacementStrategy("replacementStrategy") .terminationDelay(123) .build()) .build()) .maxTotalPrice("maxTotalPrice") .minTargetCapacity(123) .singleAvailabilityZone(false) .singleInstanceType(false) .build()) .tagSpecifications(List.of(TagSpecificationProperty.builder() .resourceType("resourceType") .tags(List.of(CfnTag.builder() .key("key") .value("value") .build())) .build())) .terminateInstancesWithExpiration(false) .type("type") .validFrom("validFrom") .validUntil("validUntil") .build();
Modifier and Type | Class and Description |
---|---|
static interface |
CfnEC2Fleet.AcceleratorCountRequestProperty
The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.
|
static interface |
CfnEC2Fleet.AcceleratorTotalMemoryMiBRequestProperty
The minimum and maximum amount of total accelerator memory, in MiB.
|
static interface |
CfnEC2Fleet.BaselineEbsBandwidthMbpsRequestProperty
The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps.
|
static class |
CfnEC2Fleet.Builder
A fluent builder for
CfnEC2Fleet . |
static interface |
CfnEC2Fleet.CapacityRebalanceProperty
The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance notification signal that your Spot Instance is at an elevated risk of being interrupted.
|
static interface |
CfnEC2Fleet.CapacityReservationOptionsRequestProperty
Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.
|
static interface |
CfnEC2Fleet.FleetLaunchTemplateConfigRequestProperty
Specifies a launch template and overrides for an EC2 Fleet.
|
static interface |
CfnEC2Fleet.FleetLaunchTemplateOverridesRequestProperty
Specifies overrides for a launch template for an EC2 Fleet.
|
static interface |
CfnEC2Fleet.FleetLaunchTemplateSpecificationRequestProperty
Specifies the launch template to be used by the EC2 Fleet for configuring Amazon EC2 instances.
|
static interface |
CfnEC2Fleet.InstanceRequirementsRequestProperty
The attributes for the instance types.
|
static interface |
CfnEC2Fleet.MaintenanceStrategiesProperty
The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.
|
static interface |
CfnEC2Fleet.MemoryGiBPerVCpuRequestProperty
The minimum and maximum amount of memory per vCPU, in GiB.
|
static interface |
CfnEC2Fleet.MemoryMiBRequestProperty
The minimum and maximum amount of memory, in MiB.
|
static interface |
CfnEC2Fleet.NetworkBandwidthGbpsRequestProperty
The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
|
static interface |
CfnEC2Fleet.NetworkInterfaceCountRequestProperty
The minimum and maximum number of network interfaces.
|
static interface |
CfnEC2Fleet.OnDemandOptionsRequestProperty
Specifies the allocation strategy of On-Demand Instances in an EC2 Fleet.
|
static interface |
CfnEC2Fleet.PlacementProperty
Describes the placement of an instance.
|
static interface |
CfnEC2Fleet.SpotOptionsRequestProperty
Specifies the configuration of Spot Instances for an EC2 Fleet.
|
static interface |
CfnEC2Fleet.TagSpecificationProperty
Specifies the tags to apply to a resource when the resource is being created for an EC2 Fleet.
|
static interface |
CfnEC2Fleet.TargetCapacitySpecificationRequestProperty
Specifies the number of units to request for an EC2 Fleet.
|
static interface |
CfnEC2Fleet.TotalLocalStorageGBRequestProperty
The minimum and maximum amount of total local storage, in GB.
|
static interface |
CfnEC2Fleet.VCpuCountRangeRequestProperty
The minimum and maximum number of vCPUs.
|
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
IConstruct.Jsii$Default
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
|
Modifier | Constructor and Description |
---|---|
|
CfnEC2Fleet(Construct scope,
java.lang.String id,
CfnEC2FleetProps props)
Create a new `AWS::EC2::EC2Fleet`.
|
protected |
CfnEC2Fleet(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
CfnEC2Fleet(software.amazon.jsii.JsiiObjectRef objRef) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getAttrFleetId()
The ID of the EC2 Fleet.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
getCfnProperties() |
java.lang.String |
getContext()
Reserved.
|
java.lang.String |
getExcessCapacityTerminationPolicy()
Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
|
java.lang.Object |
getLaunchTemplateConfigs()
The configuration for the EC2 Fleet.
|
java.lang.Object |
getOnDemandOptions()
Describes the configuration of On-Demand Instances in an EC2 Fleet.
|
java.lang.Object |
getReplaceUnhealthyInstances()
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
|
java.lang.Object |
getSpotOptions()
Describes the configuration of Spot Instances in an EC2 Fleet.
|
java.lang.Object |
getTagSpecifications()
The key-value pair for tagging the EC2 Fleet request on creation.
|
java.lang.Object |
getTargetCapacitySpecification()
The number of units to request.
|
java.lang.Object |
getTerminateInstancesWithExpiration()
Indicates whether running instances should be terminated when the EC2 Fleet expires.
|
java.lang.String |
getType()
The fleet type.
|
java.lang.String |
getValidFrom()
The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z).
|
java.lang.String |
getValidUntil()
The end date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z).
|
void |
inspect(TreeInspector inspector)
Examines the CloudFormation resource and discloses attributes.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
renderProperties(java.util.Map<java.lang.String,java.lang.Object> props) |
void |
setContext(java.lang.String value)
Reserved.
|
void |
setExcessCapacityTerminationPolicy(java.lang.String value)
Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
|
void |
setLaunchTemplateConfigs(IResolvable value)
The configuration for the EC2 Fleet.
|
void |
setLaunchTemplateConfigs(java.util.List<java.lang.Object> value)
The configuration for the EC2 Fleet.
|
void |
setOnDemandOptions(CfnEC2Fleet.OnDemandOptionsRequestProperty value)
Describes the configuration of On-Demand Instances in an EC2 Fleet.
|
void |
setOnDemandOptions(IResolvable value)
Describes the configuration of On-Demand Instances in an EC2 Fleet.
|
void |
setReplaceUnhealthyInstances(java.lang.Boolean value)
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
|
void |
setReplaceUnhealthyInstances(IResolvable value)
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
|
void |
setSpotOptions(CfnEC2Fleet.SpotOptionsRequestProperty value)
Describes the configuration of Spot Instances in an EC2 Fleet.
|
void |
setSpotOptions(IResolvable value)
Describes the configuration of Spot Instances in an EC2 Fleet.
|
void |
setTagSpecifications(IResolvable value)
The key-value pair for tagging the EC2 Fleet request on creation.
|
void |
setTagSpecifications(java.util.List<java.lang.Object> value)
The key-value pair for tagging the EC2 Fleet request on creation.
|
void |
setTargetCapacitySpecification(CfnEC2Fleet.TargetCapacitySpecificationRequestProperty value)
The number of units to request.
|
void |
setTargetCapacitySpecification(IResolvable value)
The number of units to request.
|
void |
setTerminateInstancesWithExpiration(java.lang.Boolean value)
Indicates whether running instances should be terminated when the EC2 Fleet expires.
|
void |
setTerminateInstancesWithExpiration(IResolvable value)
Indicates whether running instances should be terminated when the EC2 Fleet expires.
|
void |
setType(java.lang.String value)
The fleet type.
|
void |
setValidFrom(java.lang.String value)
The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z).
|
void |
setValidUntil(java.lang.String value)
The end date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z).
|
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validateProperties
getRef
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
public static final java.lang.String CFN_RESOURCE_TYPE_NAME
protected CfnEC2Fleet(software.amazon.jsii.JsiiObjectRef objRef)
protected CfnEC2Fleet(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
public CfnEC2Fleet(Construct scope, java.lang.String id, CfnEC2FleetProps props)
scope
- - scope in which this resource is defined. This parameter is required.id
- - scoped id of the resource. This parameter is required.props
- - resource properties. This parameter is required.public void inspect(TreeInspector inspector)
inspect
in interface IInspectable
inspector
- - tree inspector to collect and process attributes. This parameter is required.protected java.util.Map<java.lang.String,java.lang.Object> renderProperties(java.util.Map<java.lang.String,java.lang.Object> props)
renderProperties
in class CfnResource
props
- This parameter is required.public java.lang.String getAttrFleetId()
protected java.util.Map<java.lang.String,java.lang.Object> getCfnProperties()
getCfnProperties
in class CfnResource
public java.lang.Object getLaunchTemplateConfigs()
public void setLaunchTemplateConfigs(IResolvable value)
public void setLaunchTemplateConfigs(java.util.List<java.lang.Object> value)
public java.lang.Object getTargetCapacitySpecification()
public void setTargetCapacitySpecification(IResolvable value)
public void setTargetCapacitySpecification(CfnEC2Fleet.TargetCapacitySpecificationRequestProperty value)
public java.lang.String getContext()
public void setContext(java.lang.String value)
public java.lang.String getExcessCapacityTerminationPolicy()
Supported only for fleets of type maintain
.
public void setExcessCapacityTerminationPolicy(java.lang.String value)
Supported only for fleets of type maintain
.
public java.lang.Object getOnDemandOptions()
public void setOnDemandOptions(IResolvable value)
public void setOnDemandOptions(CfnEC2Fleet.OnDemandOptionsRequestProperty value)
public java.lang.Object getReplaceUnhealthyInstances()
Supported only for fleets of type maintain
. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide .
public void setReplaceUnhealthyInstances(java.lang.Boolean value)
Supported only for fleets of type maintain
. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide .
public void setReplaceUnhealthyInstances(IResolvable value)
Supported only for fleets of type maintain
. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide .
public java.lang.Object getSpotOptions()
public void setSpotOptions(IResolvable value)
public void setSpotOptions(CfnEC2Fleet.SpotOptionsRequestProperty value)
public java.lang.Object getTagSpecifications()
If the fleet type is instant
, specify a resource type of fleet
to tag the fleet or instance
to tag the instances at launch.
If the fleet type is maintain
or request
, specify a resource type of fleet
to tag the fleet. You cannot specify a resource type of instance
. To tag instances at launch, specify the tags in a launch template .
public void setTagSpecifications(IResolvable value)
If the fleet type is instant
, specify a resource type of fleet
to tag the fleet or instance
to tag the instances at launch.
If the fleet type is maintain
or request
, specify a resource type of fleet
to tag the fleet. You cannot specify a resource type of instance
. To tag instances at launch, specify the tags in a launch template .
public void setTagSpecifications(java.util.List<java.lang.Object> value)
If the fleet type is instant
, specify a resource type of fleet
to tag the fleet or instance
to tag the instances at launch.
If the fleet type is maintain
or request
, specify a resource type of fleet
to tag the fleet. You cannot specify a resource type of instance
. To tag instances at launch, specify the tags in a launch template .
public java.lang.Object getTerminateInstancesWithExpiration()
public void setTerminateInstancesWithExpiration(java.lang.Boolean value)
public void setTerminateInstancesWithExpiration(IResolvable value)
public java.lang.String getType()
maintain
- The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.request
- The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.instant
- The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.For more information, see EC2 Fleet request types in the Amazon EC2 User Guide .
public void setType(java.lang.String value)
maintain
- The EC2 Fleet places an asynchronous request for your desired capacity, and continues to maintain your desired Spot capacity by replenishing interrupted Spot Instances.request
- The EC2 Fleet places an asynchronous one-time request for your desired capacity, but does submit Spot requests in alternative capacity pools if Spot capacity is unavailable, and does not maintain Spot capacity if Spot Instances are interrupted.instant
- The EC2 Fleet places a synchronous one-time request for your desired capacity, and returns errors for any instances that could not be launched.For more information, see EC2 Fleet request types in the Amazon EC2 User Guide .
public java.lang.String getValidFrom()
The default is to start fulfilling the request immediately.
public void setValidFrom(java.lang.String value)
The default is to start fulfilling the request immediately.
public java.lang.String getValidUntil()
At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.
public void setValidUntil(java.lang.String value)
At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.