Class CfnEC2Fleet
- All Implemented Interfaces:
IConstruct
,IDependable
,IInspectable
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
AWS::EC2::EC2Fleet
.
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();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) on an instance.static interface
The minimum and maximum amount of total accelerator memory, in MiB.static interface
The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps.static final class
A fluent builder forCfnEC2Fleet
.static interface
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
Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.static interface
Specifies a launch template and overrides for an EC2 Fleet.static interface
Specifies overrides for a launch template for an EC2 Fleet.static interface
Specifies the launch template to be used by the EC2 Fleet for configuring Amazon EC2 instances.static interface
The attributes for the instance types.static interface
The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.static interface
The minimum and maximum amount of memory per vCPU, in GiB.static interface
The minimum and maximum amount of memory, in MiB.static interface
The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).static interface
The minimum and maximum number of network interfaces.static interface
Specifies the allocation strategy of On-Demand Instances in an EC2 Fleet.static interface
Describes the placement of an instance.static interface
Specifies the configuration of Spot Instances for an EC2 Fleet.static interface
Specifies the tags to apply to a resource when the resource is being created for an EC2 Fleet.static interface
Specifies the number of units to request for an EC2 Fleet.static interface
The minimum and maximum amount of total local storage, in GB.static interface
The minimum and maximum number of vCPUs.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IConstruct
IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.core.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The CloudFormation resource type name for this resource class. -
Constructor Summary
ConstructorsModifierConstructorDescriptionCfnEC2Fleet
(Construct scope, String id, CfnEC2FleetProps props) Create a newAWS::EC2::EC2Fleet
.protected
CfnEC2Fleet
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
CfnEC2Fleet
(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionThe ID of the EC2 Fleet.Reserved.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.The configuration for the EC2 Fleet.Describes the configuration of On-Demand Instances in an EC2 Fleet.Indicates whether EC2 Fleet should replace unhealthy Spot Instances.Describes the configuration of Spot Instances in an EC2 Fleet.The key-value pair for tagging the EC2 Fleet request on creation.The number of units to request.Indicates whether running instances should be terminated when the EC2 Fleet expires.getType()
The fleet type.The start date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).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.renderProperties
(Map<String, Object> props) void
setContext
(String value) Reserved.void
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
(List<Object> value) The configuration for the EC2 Fleet.void
The configuration for the EC2 Fleet.void
setOnDemandOptions
(IResolvable value) Describes the configuration of On-Demand Instances in an EC2 Fleet.void
Describes the configuration of On-Demand Instances in an EC2 Fleet.void
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.void
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.void
setSpotOptions
(IResolvable value) Describes the configuration of Spot Instances in an EC2 Fleet.void
Describes the configuration of Spot Instances in an EC2 Fleet.void
setTagSpecifications
(List<Object> value) The key-value pair for tagging the EC2 Fleet request on creation.void
setTagSpecifications
(IResolvable value) The key-value pair for tagging the EC2 Fleet request on creation.void
The number of units to request.void
The number of units to request.void
Indicates whether running instances should be terminated when the EC2 Fleet expires.void
Indicates whether running instances should be terminated when the EC2 Fleet expires.void
The fleet type.void
setValidFrom
(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
(String value) The end date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).Methods inherited from class software.amazon.awscdk.core.CfnResource
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validateProperties
Methods inherited from class software.amazon.awscdk.core.CfnRefElement
getRef
Methods inherited from class software.amazon.awscdk.core.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
Methods inherited from class software.amazon.awscdk.core.Construct
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnEC2Fleet
protected CfnEC2Fleet(software.amazon.jsii.JsiiObjectRef objRef) -
CfnEC2Fleet
protected CfnEC2Fleet(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnEC2Fleet
@Stability(Stable) public CfnEC2Fleet(@NotNull Construct scope, @NotNull String id, @NotNull CfnEC2FleetProps props) Create a newAWS::EC2::EC2Fleet
.- Parameters:
scope
-- scope in which this resource is defined.
id
-- scoped id of the resource.
props
-- resource properties.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspect
in interfaceIInspectable
- Parameters:
inspector
-- tree inspector to collect and process attributes.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderProperties
in classCfnResource
- Parameters:
props
- This parameter is required.
-
getAttrFleetId
The ID of the EC2 Fleet. -
getCfnProperties
- Overrides:
getCfnProperties
in classCfnResource
-
getLaunchTemplateConfigs
The configuration for the EC2 Fleet. -
setLaunchTemplateConfigs
The configuration for the EC2 Fleet. -
setLaunchTemplateConfigs
The configuration for the EC2 Fleet. -
getTargetCapacitySpecification
The number of units to request. -
setTargetCapacitySpecification
The number of units to request. -
setTargetCapacitySpecification
@Stability(Stable) public void setTargetCapacitySpecification(@NotNull CfnEC2Fleet.TargetCapacitySpecificationRequestProperty value) The number of units to request. -
getContext
Reserved. -
setContext
Reserved. -
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.Supported only for fleets of type
maintain
. -
setExcessCapacityTerminationPolicy
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.Supported only for fleets of type
maintain
. -
getOnDemandOptions
Describes the configuration of On-Demand Instances in an EC2 Fleet. -
setOnDemandOptions
Describes the configuration of On-Demand Instances in an EC2 Fleet. -
setOnDemandOptions
@Stability(Stable) public void setOnDemandOptions(@Nullable CfnEC2Fleet.OnDemandOptionsRequestProperty value) Describes the configuration of On-Demand Instances in an EC2 Fleet. -
getReplaceUnhealthyInstances
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.Supported only for fleets of type
maintain
. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide . -
setReplaceUnhealthyInstances
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.Supported only for fleets of type
maintain
. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide . -
setReplaceUnhealthyInstances
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.Supported only for fleets of type
maintain
. For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide . -
getSpotOptions
Describes the configuration of Spot Instances in an EC2 Fleet. -
setSpotOptions
Describes the configuration of Spot Instances in an EC2 Fleet. -
setSpotOptions
@Stability(Stable) public void setSpotOptions(@Nullable CfnEC2Fleet.SpotOptionsRequestProperty value) Describes the configuration of Spot Instances in an EC2 Fleet. -
getTagSpecifications
The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources .If the fleet type is
instant
, specify a resource type offleet
to tag the fleet orinstance
to tag the instances at launch.If the fleet type is
maintain
orrequest
, specify a resource type offleet
to tag the fleet. You cannot specify a resource type ofinstance
. To tag instances at launch, specify the tags in a launch template . -
setTagSpecifications
The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources .If the fleet type is
instant
, specify a resource type offleet
to tag the fleet orinstance
to tag the instances at launch.If the fleet type is
maintain
orrequest
, specify a resource type offleet
to tag the fleet. You cannot specify a resource type ofinstance
. To tag instances at launch, specify the tags in a launch template . -
setTagSpecifications
The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources .If the fleet type is
instant
, specify a resource type offleet
to tag the fleet orinstance
to tag the instances at launch.If the fleet type is
maintain
orrequest
, specify a resource type offleet
to tag the fleet. You cannot specify a resource type ofinstance
. To tag instances at launch, specify the tags in a launch template . -
getTerminateInstancesWithExpiration
Indicates whether running instances should be terminated when the EC2 Fleet expires. -
setTerminateInstancesWithExpiration
Indicates whether running instances should be terminated when the EC2 Fleet expires. -
setTerminateInstancesWithExpiration
Indicates whether running instances should be terminated when the EC2 Fleet expires. -
getType
The fleet type. The default value ismaintain
.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 .
-
setType
The fleet type. The default value ismaintain
.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 .
-
getValidFrom
The start date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).The default is to start fulfilling the request immediately.
-
setValidFrom
The start date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).The default is to start fulfilling the request immediately.
-
getValidUntil
The end date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).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.
-
setValidUntil
The end date and time of the request, in UTC format (for example, YYYY - MM - DD T HH : MM : SS Z).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.
-