Class CfnVolume
Specifies an Amazon Elastic Block Store (Amazon EBS) volume.
Inherited Members
Namespace: Amazon.CDK.AWS.EC2
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnVolume : CfnResource, IInspectable, ITaggable
Syntax (vb)
Public Class CfnVolume
Inherits CfnResource
Implements IInspectable, ITaggable
Remarks
When you use AWS CloudFormation to update an Amazon EBS volume that modifies Iops
, Size
, or VolumeType
, there is a cooldown period before another operation can occur. This can cause your stack to report being in UPDATE_IN_PROGRESS
or UPDATE_ROLLBACK_IN_PROGRESS
for long periods of time.
Amazon EBS does not support sizing down an Amazon EBS volume. AWS CloudFormation does not attempt to modify an Amazon EBS volume to a smaller size on rollback.
Some common scenarios when you might encounter a cooldown period for Amazon EBS include:
For more information, see Requirements for EBS volume modifications .
DeletionPolicy attribute
To control how AWS CloudFormation handles the volume when the stack is deleted, set a deletion policy for your volume. You can choose to retain the volume, to delete the volume, or to create a snapshot of the volume. For more information, see DeletionPolicy attribute .
If you set a deletion policy that creates a snapshot, all tags on the volume are included in the snapshot.
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html
CloudformationResource: AWS::EC2::Volume
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EC2;
var cfnVolume = new CfnVolume(this, "MyCfnVolume", new CfnVolumeProps {
AvailabilityZone = "availabilityZone",
// the properties below are optional
AutoEnableIo = false,
Encrypted = false,
Iops = 123,
KmsKeyId = "kmsKeyId",
MultiAttachEnabled = false,
OutpostArn = "outpostArn",
Size = 123,
SnapshotId = "snapshotId",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
Throughput = 123,
VolumeType = "volumeType"
});
Synopsis
Constructors
CfnVolume(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnVolume(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
CfnVolume(Construct, String, ICfnVolumeProps) |
Properties
AttrVolumeId | The ID of the volume. |
AutoEnableIo | Indicates whether the volume is auto-enabled for I/O operations. |
AvailabilityZone | The ID of the Availability Zone in which to create the volume. |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
Encrypted | Indicates whether the volume should be encrypted. |
Iops | The number of I/O operations per second (IOPS). |
KmsKeyId | The identifier of the AWS KMS key to use for Amazon EBS encryption. |
MultiAttachEnabled | Indicates whether Amazon EBS Multi-Attach is enabled. |
OutpostArn | The Amazon Resource Name (ARN) of the Outpost. |
Size | The size of the volume, in GiBs. |
SnapshotId | The snapshot from which to create the volume. |
Tags | Tag Manager which manages the tags for this resource. |
TagsRaw | The tags to apply to the volume during creation. |
Throughput | The throughput to provision for a volume, with a maximum of 1,000 MiB/s. |
VolumeType | The volume type. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnVolume(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnVolume(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnVolume(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnVolume(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
CfnVolume(Construct, String, ICfnVolumeProps)
public CfnVolume(Construct scope, string id, ICfnVolumeProps props)
Parameters
- scope Constructs.Construct
Scope in which this resource is defined.
- id System.String
Construct identifier for this resource (unique in its scope).
- props ICfnVolumeProps
Resource properties.
Properties
AttrVolumeId
The ID of the volume.
public virtual string AttrVolumeId { get; }
Property Value
System.String
Remarks
CloudformationAttribute: VolumeId
AutoEnableIo
Indicates whether the volume is auto-enabled for I/O operations.
public virtual object AutoEnableIo { get; set; }
Property Value
System.Object
AvailabilityZone
The ID of the Availability Zone in which to create the volume.
public virtual string AvailabilityZone { get; set; }
Property Value
System.String
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
Encrypted
Indicates whether the volume should be encrypted.
public virtual object Encrypted { get; set; }
Property Value
System.Object
Iops
The number of I/O operations per second (IOPS).
public virtual Nullable<double> Iops { get; set; }
Property Value
System.Nullable<System.Double>
KmsKeyId
The identifier of the AWS KMS key to use for Amazon EBS encryption.
public virtual string KmsKeyId { get; set; }
Property Value
System.String
MultiAttachEnabled
Indicates whether Amazon EBS Multi-Attach is enabled.
public virtual object MultiAttachEnabled { get; set; }
Property Value
System.Object
OutpostArn
The Amazon Resource Name (ARN) of the Outpost.
public virtual string OutpostArn { get; set; }
Property Value
System.String
Size
The size of the volume, in GiBs.
public virtual Nullable<double> Size { get; set; }
Property Value
System.Nullable<System.Double>
SnapshotId
The snapshot from which to create the volume.
public virtual string SnapshotId { get; set; }
Property Value
System.String
Tags
Tag Manager which manages the tags for this resource.
public virtual TagManager Tags { get; }
Property Value
TagsRaw
The tags to apply to the volume during creation.
public virtual ICfnTag[] TagsRaw { get; set; }
Property Value
ICfnTag[]
Throughput
The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
public virtual Nullable<double> Throughput { get; set; }
Property Value
System.Nullable<System.Double>
VolumeType
The volume type.
public virtual string VolumeType { get; set; }
Property Value
System.String
Remarks
This parameter can be one of the following values:.
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>