LookupMachineImageProps

class aws_cdk.aws_ec2.LookupMachineImageProps(*, name, filters=None, owners=None, user_data=None, windows=None)

Bases: object

Properties for looking up an image.

Parameters:
  • name (str) – Name of the image (may contain wildcards).

  • filters (Optional[Mapping[str, Sequence[str]]]) – Additional filters on the AMI. Default: - No additional filters

  • owners (Optional[Sequence[str]]) – Owner account IDs or aliases. Default: - All owners

  • user_data (Optional[UserData]) – Custom userdata for this image. Default: - Empty user data appropriate for the platform type

  • windows (Optional[bool]) – Look for Windows images. Default: false

ExampleMetadata:

lit=test/example.images.lit.ts infused

Example:

# Pick the right Amazon Linux edition. All arguments shown are optional
# and will default to these values when omitted.
amzn_linux = ec2.MachineImage.latest_amazon_linux(
    generation=ec2.AmazonLinuxGeneration.AMAZON_LINUX,
    edition=ec2.AmazonLinuxEdition.STANDARD,
    virtualization=ec2.AmazonLinuxVirt.HVM,
    storage=ec2.AmazonLinuxStorage.GENERAL_PURPOSE,
    cpu_type=ec2.AmazonLinuxCpuType.X86_64
)

# Pick a Windows edition to use
windows = ec2.MachineImage.latest_windows(ec2.WindowsVersion.WINDOWS_SERVER_2019_ENGLISH_FULL_BASE)

# Read AMI id from SSM parameter store
ssm = ec2.MachineImage.from_ssm_parameter("/my/ami", os=ec2.OperatingSystemType.LINUX)

# Look up the most recent image matching a set of AMI filters.
# In this case, look up the NAT instance AMI, by using a wildcard
# in the 'name' field:
nat_ami = ec2.MachineImage.lookup(
    name="amzn-ami-vpc-nat-*",
    owners=["amazon"]
)

# For other custom (Linux) images, instantiate a `GenericLinuxImage` with
# a map giving the AMI to in for each region:
linux = ec2.MachineImage.generic_linux({
    "us-east-1": "ami-97785bed",
    "eu-west-1": "ami-12345678"
})

# For other custom (Windows) images, instantiate a `GenericWindowsImage` with
# a map giving the AMI to in for each region:
generic_windows = ec2.MachineImage.generic_windows({
    "us-east-1": "ami-97785bed",
    "eu-west-1": "ami-12345678"
})

Attributes

filters

Additional filters on the AMI.

Default:
  • No additional filters

See:

https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html

name

Name of the image (may contain wildcards).

owners

Owner account IDs or aliases.

Default:
  • All owners

user_data

Custom userdata for this image.

Default:
  • Empty user data appropriate for the platform type

windows

Look for Windows images.

Default:

false