CfnCapacityProviderProps Struct
Properties for defining a CfnCapacityProvider.
Example
ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_ecs as ecs } from 'aws-cdk-lib';
const cfnCapacityProviderProps: ecs.CfnCapacityProviderProps = {
autoScalingGroupProvider: {
autoScalingGroupArn: 'autoScalingGroupArn',
// the properties below are optional
managedDraining: 'managedDraining',
managedScaling: {
instanceWarmupPeriod: 123,
maximumScalingStepSize: 123,
minimumScalingStepSize: 123,
status: 'status',
targetCapacity: 123,
},
managedTerminationProtection: 'managedTerminationProtection',
},
clusterName: 'clusterName',
managedInstancesProvider: {
infrastructureRoleArn: 'infrastructureRoleArn',
instanceLaunchTemplate: {
ec2InstanceProfileArn: 'ec2InstanceProfileArn',
networkConfiguration: {
securityGroups: ['securityGroups'],
subnets: ['subnets'],
},
// the properties below are optional
capacityOptionType: 'capacityOptionType',
capacityReservations: {
reservationGroupArn: 'reservationGroupArn',
reservationPreference: 'reservationPreference',
},
fipsEnabled: false,
instanceMetadataTagsPropagation: false,
instanceRequirements: {
memoryMiB: {
min: 123,
// the properties below are optional
max: 123,
},
vCpuCount: {
min: 123,
// the properties below are optional
max: 123,
},
// the properties below are optional
acceleratorCount: {
max: 123,
min: 123,
},
acceleratorManufacturers: ['acceleratorManufacturers'],
acceleratorNames: ['acceleratorNames'],
acceleratorTotalMemoryMiB: {
max: 123,
min: 123,
},
acceleratorTypes: ['acceleratorTypes'],
allowedInstanceTypes: ['allowedInstanceTypes'],
bareMetal: 'bareMetal',
baselineEbsBandwidthMbps: {
max: 123,
min: 123,
},
burstablePerformance: 'burstablePerformance',
cpuManufacturers: ['cpuManufacturers'],
excludedInstanceTypes: ['excludedInstanceTypes'],
instanceGenerations: ['instanceGenerations'],
localStorage: 'localStorage',
localStorageTypes: ['localStorageTypes'],
maxSpotPriceAsPercentageOfOptimalOnDemandPrice: 123,
memoryGiBPerVCpu: {
max: 123,
min: 123,
},
networkBandwidthGbps: {
max: 123,
min: 123,
},
networkInterfaceCount: {
max: 123,
min: 123,
},
onDemandMaxPricePercentageOverLowestPrice: 123,
requireHibernateSupport: false,
spotMaxPricePercentageOverLowestPrice: 123,
totalLocalStorageGb: {
max: 123,
min: 123,
},
},
localStorageConfiguration: {
useLocalStorage: false,
},
monitoring: 'monitoring',
storageConfiguration: {
storageSizeGiB: 123,
},
},
// the properties below are optional
autoRepairConfiguration: {
actionsStatus: 'actionsStatus',
},
infrastructureOptimization: {
scaleInAfter: 123,
},
propagateTags: 'propagateTags',
},
name: 'name',
tags: [{
key: 'key',
value: 'value',
}],
};
Properties
autoScalingGroupProvideroptionalIResolvable | CfnCapacityProvider.AutoScalingGroupProviderPropertyauto_scaling_group_provideroptionaltyping.Union[IResolvable, AutoScalingGroupProviderProperty]autoScalingGroupProvideroptionalIResolvableAutoScalingGroupProvideroptionalIResolvableAutoScalingGroupProvideroptionalinterface{}#The Auto Scaling group settings for the capacity provider.
clusterNameoptionalstringcluster_nameoptionalstrclusterNameoptionalStringClusterNameoptionalstringClusterNameoptional*string#The cluster that this capacity provider is associated with.
Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster.
This is required for Managed instances.
managedInstancesProvideroptionalIResolvable | CfnCapacityProvider.ManagedInstancesProviderPropertymanaged_instances_provideroptionaltyping.Union[IResolvable, ManagedInstancesProviderProperty]managedInstancesProvideroptionalIResolvableManagedInstancesProvideroptionalIResolvableManagedInstancesProvideroptionalinterface{}#The configuration for the Amazon ECS Managed Instances provider.
This includes the infrastructure role, the launch template configuration, and tag propagation settings.
The name of the capacity provider.
If a name is specified, it cannot start with aws , ecs , or fargate . If no name is specified, a default name in the CFNStackName-CFNResourceName-RandomString format is used.
tagsoptionalCfnTag[]tagsoptionaltyping.List[CfnTag]tagsoptionalList<CfnTag>TagsoptionalCfnTag[]Tagsoptional*[]CfnTag#The metadata that you apply to the capacity provider to help you categorize and organize it.
notes
Each tag consists of a key and an optional value. You define both.
The following basic restrictions apply to tags:
- Maximum number of tags per resource - 50
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8
- Maximum value length - 256 Unicode characters in UTF-8
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /