Interface SsmParameterImageOptions
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
SsmParameterImageOptions.Jsii$Proxy
Example:
// Pick the right Amazon Linux edition. All arguments shown are optional
// and will default to these values when omitted.
IMachineImage amznLinux = MachineImage.latestAmazonLinux(AmazonLinuxImageProps.builder()
.generation(AmazonLinuxGeneration.AMAZON_LINUX)
.edition(AmazonLinuxEdition.STANDARD)
.virtualization(AmazonLinuxVirt.HVM)
.storage(AmazonLinuxStorage.GENERAL_PURPOSE)
.cpuType(AmazonLinuxCpuType.X86_64)
.build());
// Pick a Windows edition to use
IMachineImage windows = MachineImage.latestWindows(WindowsVersion.WINDOWS_SERVER_2019_ENGLISH_FULL_BASE);
// Read AMI id from SSM parameter store
IMachineImage ssm = MachineImage.fromSsmParameter("/my/ami", SsmParameterImageOptions.builder().os(OperatingSystemType.LINUX).build());
// 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:
IMachineImage natAmi = MachineImage.lookup(LookupMachineImageProps.builder()
.name("amzn-ami-vpc-nat-*")
.owners(List.of("amazon"))
.build());
// For other custom (Linux) images, instantiate a `GenericLinuxImage` with
// a map giving the AMI to in for each region:
IMachineImage linux = MachineImage.genericLinux(Map.of(
"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:
IMachineImage genericWindows = MachineImage.genericWindows(Map.of(
"us-east-1", "ami-97785bed",
"eu-west-1", "ami-12345678"));
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forSsmParameterImageOptionsstatic final classAn implementation forSsmParameterImageOptions -
Method Summary
Modifier and TypeMethodDescriptionbuilder()default StringAdds an additional discriminator to thecdk.context.jsoncache key.default BooleanWhether the AMI ID is cached to be stable between deployments.default OperatingSystemTypegetOs()Operating system.default StringThe version of the SSM parameter.default UserDataCustom UserData.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getAdditionalCacheKey
Adds an additional discriminator to thecdk.context.jsoncache key.Default: - no additional cache key
-
getCachedInContext
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.jsonand 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 thecdk contextcommand. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information.Can not be set to
truein environment-agnostic stacks.Default: false
-
getOs
Operating system.Default: OperatingSystemType.LINUX
-
getParameterVersion
The version of the SSM parameter.Default: no version specified.
-
getUserData
Custom UserData.Default: - UserData appropriate for the OS
-
builder
- Returns:
- a
SsmParameterImageOptions.BuilderofSsmParameterImageOptions
-