# BlockDevice

Block device.

- Source: [`aws-ec2/lib/volume.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-ec2/lib/volume.ts#L33)

## 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 blockDeviceVolume: ec2.BlockDeviceVolume;
const blockDevice: ec2.BlockDevice = {
  deviceName: 'deviceName',
  volume: blockDeviceVolume,

  // the properties below are optional
  mappingEnabled: false,
};
```

## Properties

- `deviceName`: string (required) — The device name exposed to the EC2 instance.

  For example, a value like `/dev/sdh`, `xvdh`.

- `mappingEnabled`: boolean — If false, the device mapping will be suppressed.

  **Default:** true - device mapping is left untouched

  If set to false for the root device, the instance might fail the Amazon EC2 health check.
  Amazon EC2 Auto Scaling launches a replacement instance if the instance fails the health check.

- `volume`: [BlockDeviceVolume](/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.BlockDeviceVolume.html) (required) — Defines the block device volume, to be either an Amazon EBS volume or an ephemeral instance store volume.

  For example, a value like `BlockDeviceVolume.ebs(15)`, `BlockDeviceVolume.ephemeral(0)`.
