class CfnVolumePropsMixin
| Language | Type name |
|---|---|
.NET | Amazon.CDK.CfnPropertyMixins.AWS.EC2.CfnVolumePropsMixin |
Go | github.com/aws/aws-cdk-go/awscdkcfnpropertymixins/v2/awsec2#CfnVolumePropsMixin |
Java | software.amazon.awscdk.cfnpropertymixins.services.ec2.CfnVolumePropsMixin |
Python | aws_cdk.cfn_property_mixins.aws_ec2.CfnVolumePropsMixin |
TypeScript | @aws-cdk/cfn-property-mixins » aws_ec2 » 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 { aws_ec2 as ec2 } from '@aws-cdk/cfn-property-mixins';
import * as cdk from 'aws-cdk-lib';
declare const mergeStrategy: cdk.IMergeStrategy;
const cfnVolumePropsMixin = new ec2.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: mergeStrategy,
});
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 | IMerge | |
| static CFN_PROPERTY_KEYS | string[] |
props
Type:
Cfn
strategy
Type:
IMerge
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): void
Parameters
- construct
IConstruct
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