class CfnVolumePropsMixin
| Language | Type name |
|---|---|
.NET | Amazon.CDK.Mixins.Preview.AWS.EC2.Mixins.CfnVolumePropsMixin |
Go | github.com/aws/aws-cdk-go/awscdkmixinspreview/v2/awsec2/mixins#CfnVolumePropsMixin |
Java | software.amazon.awscdk.mixins.preview.services.ec2.mixins.CfnVolumePropsMixin |
Python | aws_cdk.mixins_preview.aws_ec2.mixins.CfnVolumePropsMixin |
TypeScript | @aws-cdk/mixins-preview » aws_ec2 » mixins » CfnVolumePropsMixin |
Implements
IMixin
Extends
Mixin
Specifies an Amazon Elastic Block Store (Amazon EBS) volume.
You can create an empty volume, a volume from a snapshot, or a volume copy from an existing source volume.
When you use AWS CloudFormation to update an Amazon EBS volume that modifies
Iops,Size, orVolumeType, there is a cooldown period before another operation can occur. This can cause your stack to report being inUPDATE_IN_PROGRESSorUPDATE_ROLLBACK_IN_PROGRESSfor long periods of time. Some common scenarios when you might encounter a cooldown period for Amazon EBS include:You successfully update an Amazon EBS volume and the update succeeds. When you attempt another update within the cooldown window, that update will be subject to a cooldown period.
You successfully update an Amazon EBS volume and the update succeeds but another change in your
update-stackcall fails. The rollback will be subject to a cooldown period.For more information, see Requirements for EBS volume modifications .
- 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.
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 also: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { mixins } from '@aws-cdk/mixins-preview';
import { mixins as ec2_mixins } from '@aws-cdk/mixins-preview/aws-ec2';
const cfnVolumePropsMixin = new ec2_mixins.CfnVolumePropsMixin({
autoEnableIo: false,
availabilityZone: 'availabilityZone',
availabilityZoneId: 'availabilityZoneId',
encrypted: false,
iops: 123,
kmsKeyId: 'kmsKeyId',
multiAttachEnabled: false,
outpostArn: 'outpostArn',
size: 123,
snapshotId: 'snapshotId',
sourceVolumeId: 'sourceVolumeId',
tags: [{
key: 'key',
value: 'value',
}],
throughput: 123,
volumeInitializationRate: 123,
volumeType: 'volumeType',
}, /* all optional props */ {
strategy: mixins.PropertyMergeStrategy.OVERRIDE,
});
Initializer
new CfnVolumePropsMixin(props: CfnVolumeMixinProps, options?: CfnPropertyMixinOptions)
Parameters
- props
Cfn— L1 properties to apply.Volume Mixin Props - options
Cfn— Mixin options.Property Mixin Options
Create a mixin to apply properties to AWS::EC2::Volume.
Properties
| Name | Type | Description |
|---|---|---|
| props | Cfn | |
| strategy | Property | |
| static CFN_PROPERTY_KEYS | string[] |
props
Type:
Cfn
strategy
Type:
Property
static CFN_PROPERTY_KEYS
Type:
string[]
Methods
| Name | Description |
|---|---|
| apply | Apply the mixin properties to the construct. |
| supports(construct) | Check if this mixin supports the given construct. |
applyTo(construct)
public applyTo(construct: IConstruct): IConstruct
Parameters
- construct
IConstruct
Returns
Apply the mixin properties to the construct.
supports(construct)
public supports(construct: IConstruct): boolean
Parameters
- construct
IConstruct
Returns
boolean
Check if this mixin supports the given construct.

.NET
Go
Java
Python
TypeScript