@Stability(value=Experimental) public static final class VolumeProps.Builder extends Object implements software.amazon.jsii.Builder<VolumeProps>
VolumeProps| Constructor and Description |
|---|
Builder() |
@Stability(value=Experimental) public VolumeProps.Builder availabilityZone(String availabilityZone)
VolumeProps.getAvailabilityZone()availabilityZone - The Availability Zone in which to create the volume. This parameter is required.this@Stability(value=Experimental) public VolumeProps.Builder autoEnableIo(Boolean autoEnableIo)
VolumeProps.getAutoEnableIo()autoEnableIo - 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.this@Stability(value=Experimental) public VolumeProps.Builder enableMultiAttach(Boolean enableMultiAttach)
VolumeProps.getEnableMultiAttach()enableMultiAttach - Indicates whether Amazon EBS Multi-Attach is enabled.
See {@link https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html#considerations|Considerations and limitations}
for the constraints of multi-attach.this@Stability(value=Experimental) public VolumeProps.Builder encrypted(Boolean encrypted)
VolumeProps.getEncrypted()encrypted - Specifies 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 {@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.}
this@Stability(value=Experimental) public VolumeProps.Builder encryptionKey(IKey encryptionKey)
VolumeProps.getEncryptionKey()encryptionKey - The customer-managed encryption key that is used to encrypt the Volume.
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)
}
}
}
this@Stability(value=Experimental) public VolumeProps.Builder iops(Number iops)
VolumeProps.getIops()iops - The number of I/O operations per second (IOPS) to provision for the volume.
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.
this@Stability(value=Experimental) public VolumeProps.Builder removalPolicy(RemovalPolicy removalPolicy)
VolumeProps.getRemovalPolicy()removalPolicy - Policy to apply when the volume is removed from the stack.this@Stability(value=Experimental) public VolumeProps.Builder size(Size size)
VolumeProps.getSize()size - The size of the volume, in GiBs.
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.this@Stability(value=Experimental) public VolumeProps.Builder snapshotId(String snapshotId)
VolumeProps.getSnapshotId()snapshotId - The snapshot from which to create the volume.
You must specify either a snapshot ID or a volume size.this@Stability(value=Experimental) public VolumeProps.Builder volumeName(String volumeName)
VolumeProps.getVolumeName()volumeName - The value of the physicalName property of this resource.this@Stability(value=Experimental) public VolumeProps.Builder volumeType(EbsDeviceVolumeType volumeType)
VolumeProps.getVolumeType()volumeType - The type of the volume;.
what type of storage to use to form the EBS Volume.this@Stability(value=Experimental) public VolumeProps build()
build in interface software.amazon.jsii.Builder<VolumeProps>VolumePropsNullPointerException - if any required attribute was not providedCopyright © 2021. All rights reserved.