Modifier and Type | Method and Description |
---|---|
Volume.Builder |
autoEnableIo(java.lang.Boolean autoEnableIo)
Indicates whether the volume is auto-enabled for I/O operations.
|
Volume.Builder |
availabilityZone(java.lang.String availabilityZone)
The Availability Zone in which to create the volume.
|
Volume |
build() |
static Volume.Builder |
create(software.constructs.Construct scope,
java.lang.String id) |
Volume.Builder |
enableMultiAttach(java.lang.Boolean enableMultiAttach)
Indicates whether Amazon EBS Multi-Attach is enabled.
|
Volume.Builder |
encrypted(java.lang.Boolean encrypted)
Specifies whether the volume should be encrypted.
|
Volume.Builder |
encryptionKey(IKey encryptionKey)
The customer-managed encryption key that is used to encrypt the Volume.
|
Volume.Builder |
iops(java.lang.Number iops)
The number of I/O operations per second (IOPS) to provision for the volume.
|
Volume.Builder |
removalPolicy(RemovalPolicy removalPolicy)
Policy to apply when the volume is removed from the stack.
|
Volume.Builder |
size(Size size)
The size of the volume, in GiBs.
|
Volume.Builder |
snapshotId(java.lang.String snapshotId)
The snapshot from which to create the volume.
|
Volume.Builder |
volumeName(java.lang.String volumeName)
The value of the physicalName property of this resource.
|
Volume.Builder |
volumeType(EbsDeviceVolumeType volumeType)
The type of the volume;
|
public static Volume.Builder create(software.constructs.Construct scope, java.lang.String id)
scope
- This parameter is required.id
- This parameter is required.Volume.Builder
.public Volume.Builder availabilityZone(java.lang.String availabilityZone)
availabilityZone
- The Availability Zone in which to create the volume. This parameter is required.this
public Volume.Builder autoEnableIo(java.lang.Boolean autoEnableIo)
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.
Default: false
autoEnableIo
- Indicates whether the volume is auto-enabled for I/O operations. This parameter is required.this
public Volume.Builder enableMultiAttach(java.lang.Boolean enableMultiAttach)
See {@link https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html#considerations|Considerations and limitations} for the constraints of multi-attach.
Default: false
enableMultiAttach
- Indicates whether Amazon EBS Multi-Attach is enabled. This parameter is required.this
public Volume.Builder encrypted(java.lang.Boolean 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 {@link https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default|Encryption by Default} in the Amazon Elastic Compute Cloud User Guide.
Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see {@link https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances|Supported Instance Types.}
Default: false
encrypted
- Specifies whether the volume should be encrypted. This parameter is required.this
public Volume.Builder encryptionKey(IKey encryptionKey)
The encrypted property must be true if this is provided.
Note: If using an {@link aws-kms.IKey} created from a {@link aws-kms.Key.fromKeyArn()} here, then the KMS key must have the following in its Key policy; otherwise, the Volume will fail to create.
{ "Effect": "Allow", "Principal": { "AWS": "<arn for your account-user> ex: arn:aws:iam::00000000000:root" }, "Resource": "*", "Action": [ "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlainText", ], "Condition": { "StringEquals": { "kms:ViaService": "ec2.<Region>.amazonaws.com", (eg: ec2.us-east-1.amazonaws.com) "kms:CallerAccount": "0000000000" (your account ID) } } }
Default: The default KMS key for the account, region, and EC2 service is used.
encryptionKey
- The customer-managed encryption key that is used to encrypt the Volume. This parameter is required.this
public Volume.Builder iops(java.lang.Number iops)
The maximum ratio is 50 IOPS/GiB for PROVISIONED_IOPS_SSD, and 500 IOPS/GiB for both PROVISIONED_IOPS_SSD_IO2 and GENERAL_PURPOSE_SSD_GP3. See {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html} for more information.
This parameter is valid only for PROVISIONED_IOPS_SSD, PROVISIONED_IOPS_SSD_IO2 and GENERAL_PURPOSE_SSD_GP3 volumes.
Default: None -- Required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS if omitted.
iops
- The number of I/O operations per second (IOPS) to provision for the volume. This parameter is required.this
public Volume.Builder removalPolicy(RemovalPolicy removalPolicy)
Default: RemovalPolicy.RETAIN
removalPolicy
- Policy to apply when the volume is removed from the stack. This parameter is required.this
public Volume.Builder size(Size size)
You must specify either a snapshot ID or a volume size. See {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html} for details on the allowable size for each type of volume.
Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.
size
- The size of the volume, in GiBs. This parameter is required.this
public Volume.Builder snapshotId(java.lang.String snapshotId)
You must specify either a snapshot ID or a volume size.
Default: The EBS volume is not created from a snapshot.
snapshotId
- The snapshot from which to create the volume. This parameter is required.this
public Volume.Builder volumeName(java.lang.String volumeName)
Default: The physical name will be allocated by CloudFormation at deployment time
volumeName
- The value of the physicalName property of this resource. This parameter is required.this
public Volume.Builder volumeType(EbsDeviceVolumeType volumeType)
what type of storage to use to form the EBS Volume.
Default: EbsDeviceVolumeType.GENERAL_PURPOSE_SSD
volumeType
- The type of the volume;. This parameter is required.this
public Volume build()