# AmazonLinux2ImageSsmParameterProps

Properties specific to amzn2 images.

Extends: AmazonLinux2ImageSsmParameterProps
Extends: AmazonLinuxImageSsmParameterCommonOptions
Used as props by: AmazonLinux2ImageSsmParameter

- Source: [`aws-ec2/lib/machine-image/amazon-linux2.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-ec2/lib/machine-image/amazon-linux2.ts#L46)
- Type last changed: v2.76.0 · 20 Apr 2023

## Example

```ts
declare const vpc: ec2.Vpc;
declare const instanceType: ec2.InstanceType;

// Amazon Linux 2
new ec2.Instance(this, 'Instance2', {
  vpc,
  instanceType,
  machineImage: ec2.MachineImage.latestAmazonLinux2(),
});

// Amazon Linux 2 with kernel 5.x
new ec2.Instance(this, 'Instance3', {
  vpc,
  instanceType,
  machineImage: ec2.MachineImage.latestAmazonLinux2({
    kernel: ec2.AmazonLinux2Kernel.KERNEL_5_10,
  }),
});

// Amazon Linux 2023
new ec2.Instance(this, 'Instance4', {
  vpc,
  instanceType,
  machineImage: ec2.MachineImage.latestAmazonLinux2023(),
});

// Graviton 3 Processor
new ec2.Instance(this, 'Instance5', {
  vpc,
  instanceType: ec2.InstanceType.of(ec2.InstanceClass.C7G, ec2.InstanceSize.LARGE),
  machineImage: ec2.MachineImage.latestAmazonLinux2023({
    cpuType: ec2.AmazonLinuxCpuType.ARM_64,
  }),
});
```

## Properties

- `additionalCacheKey`: string = no additional cache key — Adds an additional discriminator to the `cdk.context.json` cache key.

- `cachedInContext`: boolean = false — 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.

- `cpuType`: [AmazonLinuxCpuType](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.AmazonLinuxCpuType.html) = AmazonLinuxCpuType.X86_64 — CPU Type.

- `edition`: [AmazonLinuxEdition](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.AmazonLinuxEdition.html) = AmazonLinuxEdition.Standard — What edition of Amazon Linux to use.

- `kernel`: [AmazonLinux2Kernel](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.AmazonLinux2Kernel.html) — What kernel version of Amazon Linux to use.

- `storage`: [AmazonLinuxStorage](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.AmazonLinuxStorage.html) = GeneralPurpose — What storage backed image to use.

- `userData`: [UserData](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.UserData.html) = Empty UserData for Linux machines — Initial user data.

  **Default:** Empty UserData for Linux machines

- `virtualization`: [AmazonLinuxVirt](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.AmazonLinuxVirt.html) = HVM — Virtualization type.
