AsgCapacityProviderProps

class aws_cdk.aws_ecs.AsgCapacityProviderProps(*, can_containers_access_instance_role=None, machine_image_type=None, spot_instance_draining=None, task_drain_time=None, topic_encryption_key=None, auto_scaling_group, capacity_provider_name=None, enable_managed_scaling=None, enable_managed_termination_protection=None, maximum_scaling_step_size=None, minimum_scaling_step_size=None, target_capacity_percent=None)

Bases: aws_cdk.aws_ecs.AddAutoScalingGroupCapacityOptions

The options for creating an Auto Scaling Group Capacity Provider.

Parameters
  • can_containers_access_instance_role (Optional[bool]) – Specifies whether the containers can access the container instance role. Default: false

  • machine_image_type (Optional[MachineImageType]) – What type of machine image this is. Depending on the setting, different UserData will automatically be added to the AutoScalingGroup to configure it properly for use with ECS. If you create an AutoScalingGroup yourself and are adding it via addAutoScalingGroup(), you must specify this value. If you are adding an autoScalingGroup via addCapacity, this value will be determined from the machineImage you pass. Default: - Automatically determined from machineImage, if available, otherwise MachineImageType.AMAZON_LINUX_2.

  • spot_instance_draining (Optional[bool]) – Specify whether to enable Automated Draining for Spot Instances running Amazon ECS Services. For more information, see Using Spot Instances. Default: false

  • task_drain_time (Optional[Duration]) – (deprecated) The time period to wait before force terminating an instance that is draining. This creates a Lambda function that is used by a lifecycle hook for the AutoScalingGroup that will delay instance termination until all ECS tasks have drained from the instance. Set to 0 to disable task draining. Set to 0 to disable task draining. Default: Duration.minutes(5)

  • topic_encryption_key (Optional[IKey]) – If {@link AddAutoScalingGroupCapacityOptions.taskDrainTime} is non-zero, then the ECS cluster creates an SNS Topic to as part of a system to drain instances of tasks when the instance is being shut down. If this property is provided, then this key will be used to encrypt the contents of that SNS Topic. See SNS Data Encryption for more information. Default: The SNS Topic will not be encrypted.

  • auto_scaling_group (IAutoScalingGroup) – The autoscaling group to add as a Capacity Provider.

  • capacity_provider_name (Optional[str]) – The name for the capacity provider. Default: CloudFormation-generated name

  • enable_managed_scaling (Optional[bool]) – Whether to enable managed scaling. Default: true

  • enable_managed_termination_protection (Optional[bool]) – Whether to enable managed termination protection. Default: true

  • maximum_scaling_step_size (Union[int, float, None]) – Maximum scaling step size. In most cases this should be left alone. Default: 1000

  • minimum_scaling_step_size (Union[int, float, None]) – Minimum scaling step size. In most cases this should be left alone. Default: 1

  • target_capacity_percent (Union[int, float, None]) – Target capacity percent. In most cases this should be left alone. Default: 100

Attributes

auto_scaling_group

The autoscaling group to add as a Capacity Provider.

Return type

IAutoScalingGroup

can_containers_access_instance_role

Specifies whether the containers can access the container instance role.

Default

false

Return type

Optional[bool]

capacity_provider_name

The name for the capacity provider.

Default

CloudFormation-generated name

Return type

Optional[str]

enable_managed_scaling

Whether to enable managed scaling.

Default

true

Return type

Optional[bool]

enable_managed_termination_protection

Whether to enable managed termination protection.

Default

true

Return type

Optional[bool]

machine_image_type

What type of machine image this is.

Depending on the setting, different UserData will automatically be added to the AutoScalingGroup to configure it properly for use with ECS.

If you create an AutoScalingGroup yourself and are adding it via addAutoScalingGroup(), you must specify this value. If you are adding an autoScalingGroup via addCapacity, this value will be determined from the machineImage you pass.

Default
  • Automatically determined from machineImage, if available, otherwise MachineImageType.AMAZON_LINUX_2.

Return type

Optional[MachineImageType]

maximum_scaling_step_size

Maximum scaling step size.

In most cases this should be left alone.

Default

1000

Return type

Union[int, float, None]

minimum_scaling_step_size

Minimum scaling step size.

In most cases this should be left alone.

Default

1

Return type

Union[int, float, None]

spot_instance_draining

Specify whether to enable Automated Draining for Spot Instances running Amazon ECS Services.

For more information, see Using Spot Instances.

Default

false

Return type

Optional[bool]

target_capacity_percent

Target capacity percent.

In most cases this should be left alone.

Default

100

Return type

Union[int, float, None]

task_drain_time

(deprecated) The time period to wait before force terminating an instance that is draining.

This creates a Lambda function that is used by a lifecycle hook for the AutoScalingGroup that will delay instance termination until all ECS tasks have drained from the instance. Set to 0 to disable task draining.

Set to 0 to disable task draining.

Default

Duration.minutes(5)

Deprecated

The lifecycle draining hook is not configured if using the EC2 Capacity Provider. Enable managed termination protection instead.

Stability

deprecated

Return type

Optional[Duration]

topic_encryption_key

//docs.aws.amazon.com/sns/latest/dg/sns-data-encryption.html>`_ for more information.

Default

The SNS Topic will not be encrypted.

Type

If {@link AddAutoScalingGroupCapacityOptions.taskDrainTime} is non-zero, then the ECS cluster creates an SNS Topic to as part of a system to drain instances of tasks when the instance is being shut down. If this property is provided, then this key will be used to encrypt the contents of that SNS Topic. See `SNS Data Encryption <https

Return type

Optional[IKey]