@Generated(value="jsii-pacmak/1.67.0 (build 2c027f5)", date="2022-09-19T20:26:38.139Z") @Stability(value=Stable) 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()
.launchTemplateId("launchTemplateId")
.launchTemplateName("launchTemplateName")
.version("version")
.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"))
.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())
.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 use for an EC2 Fleet.
|
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.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.
|
software.amazon.jsii.JsiiObject.InitializationModeIInspectable.Jsii$Default, IInspectable.Jsii$Proxy| Modifier and Type | Field and Description |
|---|---|
static String |
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
|
| Modifier | Constructor and Description |
|---|---|
|
CfnEC2Fleet(software.constructs.Construct scope,
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 |
|---|---|
String |
getAttrFleetId()
The ID of the EC2 Fleet.
|
protected Map<String,Object> |
getCfnProperties() |
String |
getContext()
Reserved.
|
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.
|
Object |
getLaunchTemplateConfigs()
The configuration for the EC2 Fleet.
|
Object |
getOnDemandOptions()
Describes the configuration of On-Demand Instances in an EC2 Fleet.
|
Object |
getReplaceUnhealthyInstances()
Indicates whether EC2 Fleet should replace unhealthy Spot Instances.
|
Object |
getSpotOptions()
Describes the configuration of Spot Instances in an EC2 Fleet.
|
Object |
getTagSpecifications()
The key-value pair for tagging the EC2 Fleet request on creation.
|
Object |
getTargetCapacitySpecification()
The number of units to request.
|
Object |
getTerminateInstancesWithExpiration()
Indicates whether running instances should be terminated when the EC2 Fleet expires.
|
String |
getType()
The fleet type.
|
String |
getValidFrom()
The start date and time of the request, in UTC format (for example, *YYYY* - *MM* - *DD* T *HH* : *MM* : *SS* Z).
|
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 Map<String,Object> |
renderProperties(Map<String,Object> props) |
void |
setContext(String value)
Reserved.
|
void |
setExcessCapacityTerminationPolicy(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(List<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(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(List<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(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(String value)
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).
|
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, getUpdatedProperties, isCfnResource, shouldSynthesize, toString, validatePropertiesgetRefgetCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdjsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet@Stability(value=Stable) public static final String CFN_RESOURCE_TYPE_NAME
protected CfnEC2Fleet(software.amazon.jsii.JsiiObjectRef objRef)
protected CfnEC2Fleet(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
@Stability(value=Stable)
public CfnEC2Fleet(@NotNull
software.constructs.Construct scope,
@NotNull
String id,
@NotNull
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.@Stability(value=Stable)
public void inspect(@NotNull
TreeInspector inspector)
inspect in interface IInspectableinspector - - tree inspector to collect and process attributes. This parameter is required.@Stability(value=Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
renderProperties in class CfnResourceprops - This parameter is required.@Stability(value=Stable) @NotNull public String getAttrFleetId()
@Stability(value=Stable) @NotNull protected Map<String,Object> getCfnProperties()
getCfnProperties in class CfnResource@Stability(value=Stable) @NotNull public Object getLaunchTemplateConfigs()
@Stability(value=Stable)
public void setLaunchTemplateConfigs(@NotNull
IResolvable value)
@Stability(value=Stable)
public void setLaunchTemplateConfigs(@NotNull
List<Object> value)
@Stability(value=Stable) @NotNull public Object getTargetCapacitySpecification()
@Stability(value=Stable)
public void setTargetCapacitySpecification(@NotNull
CfnEC2Fleet.TargetCapacitySpecificationRequestProperty value)
@Stability(value=Stable)
public void setTargetCapacitySpecification(@NotNull
IResolvable value)
@Stability(value=Stable) @Nullable public String getContext()
@Stability(value=Stable)
public void setContext(@Nullable
String value)
@Stability(value=Stable) @Nullable public String getExcessCapacityTerminationPolicy()
@Stability(value=Stable)
public void setExcessCapacityTerminationPolicy(@Nullable
String value)
@Stability(value=Stable) @Nullable public Object getOnDemandOptions()
@Stability(value=Stable)
public void setOnDemandOptions(@Nullable
CfnEC2Fleet.OnDemandOptionsRequestProperty value)
@Stability(value=Stable)
public void setOnDemandOptions(@Nullable
IResolvable value)
@Stability(value=Stable) @Nullable public Object getReplaceUnhealthyInstances()
Supported only for fleets of type maintain . For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide .
@Stability(value=Stable)
public void setReplaceUnhealthyInstances(@Nullable
Boolean value)
Supported only for fleets of type maintain . For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide .
@Stability(value=Stable)
public void setReplaceUnhealthyInstances(@Nullable
IResolvable value)
Supported only for fleets of type maintain . For more information, see EC2 Fleet health checks in the Amazon EC2 User Guide .
@Stability(value=Stable) @Nullable public Object getSpotOptions()
@Stability(value=Stable)
public void setSpotOptions(@Nullable
CfnEC2Fleet.SpotOptionsRequestProperty value)
@Stability(value=Stable)
public void setSpotOptions(@Nullable
IResolvable value)
@Stability(value=Stable) @Nullable public 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 .
@Stability(value=Stable)
public void setTagSpecifications(@Nullable
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 .
@Stability(value=Stable)
public void setTagSpecifications(@Nullable
List<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 .
@Stability(value=Stable) @Nullable public Object getTerminateInstancesWithExpiration()
@Stability(value=Stable)
public void setTerminateInstancesWithExpiration(@Nullable
Boolean value)
@Stability(value=Stable)
public void setTerminateInstancesWithExpiration(@Nullable
IResolvable value)
@Stability(value=Stable) @Nullable public 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 .
@Stability(value=Stable)
public void setType(@Nullable
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 .
@Stability(value=Stable) @Nullable public String getValidFrom()
The default is to start fulfilling the request immediately.
@Stability(value=Stable)
public void setValidFrom(@Nullable
String value)
The default is to start fulfilling the request immediately.
@Stability(value=Stable) @Nullable public 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.
@Stability(value=Stable)
public void setValidUntil(@Nullable
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.
Copyright © 2022. All rights reserved.