# MachineImageType

The machine image type.

- Source: [`aws-ecs/lib/cluster.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-ecs/lib/cluster.ts#L132)

## Example

```ts
declare const vpc: ec2.Vpc;
const launchTemplate = new ec2.LaunchTemplate(this, 'ASG-LaunchTemplate', {
  instanceType: new ec2.InstanceType('t3.medium'),
  machineImage: ecs.EcsOptimizedImage.amazonLinux2(),
  userData: ec2.UserData.forLinux(),
});

const autoScalingGroup = new autoscaling.AutoScalingGroup(this, 'ASG', {
  vpc,
  mixedInstancesPolicy: {
    instancesDistribution: {
      onDemandPercentageAboveBaseCapacity: 50,
    },
    launchTemplate: launchTemplate,
  },
});

const cluster = new ecs.Cluster(this, 'Cluster', { vpc });

const capacityProvider = new ecs.AsgCapacityProvider(this, 'AsgCapacityProvider', {
  autoScalingGroup,
  machineImageType: ecs.MachineImageType.AMAZON_LINUX_2,
});

cluster.addAsgCapacityProvider(capacityProvider);
```

## Members

| Member | Description |
| --- | --- |
| `AMAZON_LINUX_2` | Amazon ECS-optimized Amazon Linux 2 AMI. |
| `BOTTLEROCKET` | Bottlerocket AMI. |

## Referenced by

- [`AddAutoScalingGroupCapacityOptions`](/v2/docs/aws-cdk-lib.aws_ecs.AddAutoScalingGroupCapacityOptions).machineImageType
- [`AsgCapacityProvider`](/v2/docs/aws-cdk-lib.aws_ecs.AsgCapacityProvider).machineImageType
