interface CfnVolumeProps
| Language | Type name |
|---|---|
.NET | Amazon.CDK.AWS.EC2.CfnVolumeProps |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awsec2#CfnVolumeProps |
Java | software.amazon.awscdk.services.ec2.CfnVolumeProps |
Python | aws_cdk.aws_ec2.CfnVolumeProps |
TypeScript | aws-cdk-lib » aws_ec2 » CfnVolumeProps |
Properties for defining a CfnVolume.
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-lib';
const cfnVolumeProps: ec2.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: [{
key: 'key',
value: 'value',
}],
throughput: 123,
volumeInitializationRate: 123,
volumeType: 'volumeType',
};
Properties
| Name | Type | Description |
|---|---|---|
| availability | string | The ID of the Availability Zone in which to create the volume. For example, us-east-1a . |
| auto | boolean | IResolvable | Indicates whether the volume is auto-enabled for I/O operations. |
| encrypted? | boolean | IResolvable | Indicates whether the volume should be encrypted. |
| iops? | number | The number of I/O operations per second (IOPS) to provision for the volume. |
| kms | string | The identifier of the AWS KMS key to use for Amazon EBS encryption. |
| multi | boolean | IResolvable | Indicates whether Amazon EBS Multi-Attach is enabled. |
| outpost | string | The Amazon Resource Name (ARN) of the Outpost. |
| size? | number | The size of the volume, in GiBs. |
| snapshot | string | The snapshot from which to create the volume. |
| tags? | Cfn[] | The tags to apply to the volume during creation. |
| throughput? | number | The throughput to provision for a volume, with a maximum of 1,000 MiB/s. |
| volume | number | Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. |
| volume | string | The volume type. This parameter can be one of the following values:. |
availabilityZone
Type:
string
The ID of the Availability Zone in which to create the volume. For example, us-east-1a .
Either AvailabilityZone or AvailabilityZoneId must be specified, but not both.
autoEnableIo?
Type:
boolean | IResolvable
(optional)
Indicates whether the volume is auto-enabled for I/O operations.
By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
encrypted?
Type:
boolean | IResolvable
(optional)
Indicates whether the volume should be encrypted.
The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon EBS User Guide .
Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types .
iops?
Type:
number
(optional)
The number of I/O operations per second (IOPS) to provision for the volume.
Required for io1 and io2 volumes. Optional for gp3 volumes. Omit for all other volume types.
Valid ranges:
- gp3:
3,000( default )- 80,000IOPS - io1:
100 - 64,000IOPS - io2:
100 - 256,000IOPS
Instances built on the Nitro System can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.
kmsKeyId?
Type:
string
(optional)
The identifier of the AWS KMS key to use for Amazon EBS encryption.
If KmsKeyId is specified, the encrypted state must be true .
If you omit this property and your account is enabled for encryption by default, or Encrypted is set to true , then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the AWS managed key .
Alternatively, if you want to specify a different key, you can specify one of the following:
- Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
- Key alias. Specify the alias for the key, prefixed with
alias/. For example, for a key with the aliasmy_cmk, usealias/my_cmk. Or to specify the AWS managed key , usealias/aws/ebs. - Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
- Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
multiAttachEnabled?
Type:
boolean | IResolvable
(optional)
Indicates whether Amazon EBS Multi-Attach is enabled.
AWS CloudFormation does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
outpostArn?
Type:
string
(optional)
The Amazon Resource Name (ARN) of the Outpost.
size?
Type:
number
(optional)
The size of the volume, in GiBs.
You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size, and you can specify a volume size that is equal to or larger than the snapshot size.
Valid sizes:
- gp2:
1 - 16,384GiB - gp3:
1 - 65,536GiB - io1:
4 - 16,384GiB - io2:
4 - 65,536GiB - st1 and sc1:
125 - 16,384GiB - standard:
1 - 1024GiB
snapshotId?
Type:
string
(optional)
The snapshot from which to create the volume.
You must specify either a snapshot ID or a volume size.
tags?
Type:
Cfn[]
(optional)
The tags to apply to the volume during creation.
throughput?
Type:
number
(optional)
The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
This parameter is valid only for gp3 volumes. The default value is 125.
Valid Range: Minimum value of 125. Maximum value of 1000.
volumeInitializationRate?
Type:
number
(optional)
Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume.
This is also known as volume initialization . Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation.
This parameter is supported only for volumes created from snapshots. Omit this parameter if:
- You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation.
If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore.
- You want to create a volume that is initialized at the default rate.
For more information, see Initialize Amazon EBS volumes in the Amazon EC2 User Guide .
Valid range: 100 - 300 MiB/s
volumeType?
Type:
string
(optional)
The volume type. This parameter can be one of the following values:.
- General Purpose SSD:
gp2|gp3 - Provisioned IOPS SSD:
io1|io2 - Throughput Optimized HDD:
st1 - Cold HDD:
sc1 - Magnetic:
standard
For more information, see Amazon EBS volume types .
Default: gp2

.NET
Go
Java
Python
TypeScript