import { Value } from '../../../cloudformation/Value';
import { EbsBlockDeviceProps } from './EbsBlockDeviceProps';
/**
  Describes a block device mapping. This data type maps directly to the Amazon EC2 <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html">BlockDeviceMapping</a> data type.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html">the AWS Docs</a>
*/
export interface BlockDeviceMappingProps {
    /** <code>DeviceName</code>  <a name="cfn-opsworks-instance-blockdevicemapping-devicename"></a>
  The device name that is exposed to the instance, such as <code>/dev/sdh</code>. For the root device, you can use the explicit device name or you can set this parameter to <code>ROOT_DEVICE</code> and AWS OpsWorks Stacks will provide the correct device name.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    deviceName?: Value<string>;
    /** <code>Ebs</code>  <a name="cfn-opsworks-instance-blockdevicemapping-ebs"></a>
  An <code>EBSBlockDevice</code> that defines how to configure an Amazon EBS volume when the instance is launched. You can specify either the <code>VirtualName</code> or <code>Ebs</code>, but not both.<br />
  
  Required: Conditional<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    ebs?: EbsBlockDeviceProps;
    /** <code>NoDevice</code>  <a name="cfn-opsworks-instance-blockdevicemapping-nodevice"></a>
  Suppresses the specified device included in the AMI’s block device mapping.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    noDevice?: Value<string>;
    /** <code>VirtualName</code>  <a name="cfn-opsworks-instance-blockdevicemapping-virtualname"></a>
  The virtual device name. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html">BlockDeviceMapping</a>. You can specify either the <code>VirtualName</code> or <code>Ebs</code>, but not both.<br />
  
  Required: Conditional<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    virtualName?: Value<string>;
}
