Skip to content
v2.273.0

LookupMachineImage Class ​

A machine image whose AMI ID will be searched using DescribeImages.

The most recent, available, launchable image matching the given filter criteria will be used. Looking up AMIs may take a long time; specify as many filter criteria as possible to narrow down the search.

The AMI selected will be cached in cdk.context.json and the same value will be used on future runs. 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. If props.additionalCacheKey is set, the context key uses that value as a discriminator rather than the cached value being global across all lookups.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_ec2 as ec2 } from 'aws-cdk-lib';

declare const userData: ec2.UserData;
const lookupMachineImage = new ec2.LookupMachineImage({
  name: 'name',

  // the properties below are optional
  additionalCacheKey: 'additionalCacheKey',
  filters: {
    filtersKey: ['filters'],
  },
  owners: ['owners'],
  userData: userData,
  windows: false,
});
python
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_ec2 as ec2

# user_data: ec2.UserData

lookup_machine_image = ec2.LookupMachineImage(
    name="name",

    # the properties below are optional
    additional_cache_key="additionalCacheKey",
    filters={
        "filters_key": ["filters"]
    },
    owners=["owners"],
    user_data=user_data,
    windows=False
)
java
// 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.*;

UserData userData;

LookupMachineImage lookupMachineImage = LookupMachineImage.Builder.create()
        .name("name")

        // the properties below are optional
        .additionalCacheKey("additionalCacheKey")
        .filters(Map.of(
                "filtersKey", List.of("filters")))
        .owners(List.of("owners"))
        .userData(userData)
        .windows(false)
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EC2;

UserData userData;

var lookupMachineImage = new LookupMachineImage(new LookupMachineImageProps {
    Name = "name",

    // the properties below are optional
    AdditionalCacheKey = "additionalCacheKey",
    Filters = new Dictionary<string, string[]> {
        { "filtersKey", new [] { "filters" } }
    },
    Owners = new [] { "owners" },
    UserData = userData,
    Windows = false
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var userData UserData

lookupMachineImage := awscdk.Aws_ec2.NewLookupMachineImage(&LookupMachineImageProps{
	Name: jsii.String("name"),

	// the properties below are optional
	AdditionalCacheKey: jsii.String("additionalCacheKey"),
	Filters: map[string][]*string{
		"filtersKey": []*string{
			jsii.String("filters"),
		},
	},
	Owners: []*string{
		jsii.String("owners"),
	},
	UserData: userData,
	Windows: jsii.Boolean(false),
})

Initializer ​

ts
new LookupMachineImage(props: LookupMachineImageProps)
python
LookupMachineImage(props: LookupMachineImageProps)
java
new LookupMachineImage(LookupMachineImageProps props)
csharp
new LookupMachineImage(LookupMachineImageProps props)
go
NewLookupMachineImage(Props LookupMachineImageProps)

Methods ​

getImage(scope: Construct): MachineImageConfigdef get_image(self, scope: Construct) -> MachineImageConfigpublic MachineImageConfig getImage(Construct scope)public MachineImageConfig GetImage(Construct scope)func GetImage(Scope Construct) MachineImageConfig#
Return the correct image.