BottleRocketImage

class aws_cdk.aws_ecs.BottleRocketImage(*, architecture=None, cached_in_context=None, variant=None)

Bases: object

Construct an Bottlerocket image from the latest AMI published in SSM.

ExampleMetadata:

infused

Example:

# cluster: ecs.Cluster


cluster.add_capacity("bottlerocket-asg",
    min_capacity=2,
    instance_type=ec2.InstanceType("c5.large"),
    machine_image=ecs.BottleRocketImage()
)

Constructs a new instance of the BottleRocketImage class.

Parameters:
  • architecture (Optional[InstanceArchitecture]) – The CPU architecture. Default: - x86_64

  • cached_in_context (Optional[bool]) – Whether the AMI ID is cached to be stable between deployments. By default, the newest image is used on each deployment. This will cause instances to be replaced whenever a new version is released, and may cause downtime if there aren’t enough running instances in the AutoScalingGroup to reschedule the tasks on. If set to true, the AMI ID will be cached in cdk.context.json and the same value will be used on future runs. Your instances will not be replaced but your AMI version will grow old over time. To refresh the AMI lookup, you will have to evict the value from the cache using the cdk context command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information. Can not be set to true in environment-agnostic stacks. Default: false

  • variant (Optional[BottlerocketEcsVariant]) – The Amazon ECS variant to use. Only aws-ecs-1 is currently available Default: - BottlerocketEcsVariant.AWS_ECS_1

Methods

get_image(scope)

Return the correct image.

Parameters:

scope (Construct) –

Return type:

MachineImageConfig