/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.EC2.Model
{
///
/// Describes a block device mapping, which defines the EBS volumes and instance store
/// volumes to attach to an instance at launch.
///
public partial class BlockDeviceMapping
{
private string _deviceName;
private EbsBlockDevice _ebs;
private string _noDevice;
private string _virtualName;
///
/// Gets and sets the property DeviceName.
///
/// The device name (for example, /dev/sdh
or xvdh
).
///
///
public string DeviceName
{
get { return this._deviceName; }
set { this._deviceName = value; }
}
// Check to see if DeviceName property is set
internal bool IsSetDeviceName()
{
return this._deviceName != null;
}
///
/// Gets and sets the property Ebs.
///
/// Parameters used to automatically set up EBS volumes when the instance is launched.
///
///
public EbsBlockDevice Ebs
{
get { return this._ebs; }
set { this._ebs = value; }
}
// Check to see if Ebs property is set
internal bool IsSetEbs()
{
return this._ebs != null;
}
///
/// Gets and sets the property NoDevice.
///
/// To omit the device from the block device mapping, specify an empty string. When this
/// property is specified, the device is removed from the block device mapping regardless
/// of the assigned value.
///
///
public string NoDevice
{
get { return this._noDevice; }
set { this._noDevice = value; }
}
// Check to see if NoDevice property is set
internal bool IsSetNoDevice()
{
return this._noDevice != null;
}
///
/// Gets and sets the property VirtualName.
///
/// The virtual device name (ephemeral
N). Instance store volumes are numbered
/// starting from 0. An instance type with 2 available instance store volumes can specify
/// mappings for ephemeral0
and ephemeral1
. The number of available
/// instance store volumes depends on the instance type. After you connect to the instance,
/// you must mount the volume.
///
///
///
/// NVMe instance store volumes are automatically enumerated and assigned a device name.
/// Including them in your block device mapping has no effect.
///
///
///
/// Constraints: For M3 instances, you must specify instance store volumes in the block
/// device mapping for the instance. When you launch an M3 instance, we ignore any instance
/// store volumes specified in the block device mapping for the AMI.
///
///
public string VirtualName
{
get { return this._virtualName; }
set { this._virtualName = value; }
}
// Check to see if VirtualName property is set
internal bool IsSetVirtualName()
{
return this._virtualName != null;
}
}
}