public static final class CfnLaunchConfiguration.BlockDeviceProperty.Builder
extends java.lang.Object
CfnLaunchConfiguration.BlockDeviceProperty
Constructor and Description |
---|
Builder() |
public CfnLaunchConfiguration.BlockDeviceProperty.Builder deleteOnTermination(java.lang.Boolean deleteOnTermination)
CfnLaunchConfiguration.BlockDeviceProperty.getDeleteOnTermination()
deleteOnTermination
- Indicates whether the volume is deleted on instance termination.
For Amazon EC2 Auto Scaling, the default value is true
.this
public CfnLaunchConfiguration.BlockDeviceProperty.Builder deleteOnTermination(IResolvable deleteOnTermination)
CfnLaunchConfiguration.BlockDeviceProperty.getDeleteOnTermination()
deleteOnTermination
- Indicates whether the volume is deleted on instance termination.
For Amazon EC2 Auto Scaling, the default value is true
.this
public CfnLaunchConfiguration.BlockDeviceProperty.Builder encrypted(java.lang.Boolean encrypted)
CfnLaunchConfiguration.BlockDeviceProperty.getEncrypted()
encrypted
- Specifies whether the volume should be encrypted.
Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types . If your AMI uses encrypted volumes, you can also only launch it on supported instance types.
If you are creating a volume from a snapshot, you cannot create an unencrypted volume from an encrypted snapshot. Also, you cannot specify a KMS key ID when using a launch configuration.
If you enable encryption by default, the EBS volumes that you create are always encrypted, either using the AWS managed KMS key or a customer-managed KMS key, regardless of whether the snapshot was encrypted.
For more information, see Use AWS KMS keys to encrypt Amazon EBS volumes in the Amazon EC2 Auto Scaling User Guide .
this
public CfnLaunchConfiguration.BlockDeviceProperty.Builder encrypted(IResolvable encrypted)
CfnLaunchConfiguration.BlockDeviceProperty.getEncrypted()
encrypted
- Specifies whether the volume should be encrypted.
Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types . If your AMI uses encrypted volumes, you can also only launch it on supported instance types.
If you are creating a volume from a snapshot, you cannot create an unencrypted volume from an encrypted snapshot. Also, you cannot specify a KMS key ID when using a launch configuration.
If you enable encryption by default, the EBS volumes that you create are always encrypted, either using the AWS managed KMS key or a customer-managed KMS key, regardless of whether the snapshot was encrypted.
For more information, see Use AWS KMS keys to encrypt Amazon EBS volumes in the Amazon EC2 Auto Scaling User Guide .
this
public CfnLaunchConfiguration.BlockDeviceProperty.Builder iops(java.lang.Number iops)
CfnLaunchConfiguration.BlockDeviceProperty.getIops()
iops
- The number of input/output (I/O) operations per second (IOPS) to provision for the volume.
For gp3
and io1
volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.
The following are the supported values for each volume type:
gp3
: 3,000-16,000 IOPSio1
: 100-64,000 IOPS
For io1
volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System . Other instance families guarantee performance up to 32,000 IOPS.
Iops
is supported when the volume type is gp3
or io1
and required only when the volume type is io1
. (Not used with standard
, gp2
, st1
, or sc1
volumes.)
this
public CfnLaunchConfiguration.BlockDeviceProperty.Builder snapshotId(java.lang.String snapshotId)
CfnLaunchConfiguration.BlockDeviceProperty.getSnapshotId()
snapshotId
- The snapshot ID of the volume to use.
You must specify either a VolumeSize
or a SnapshotId
.this
public CfnLaunchConfiguration.BlockDeviceProperty.Builder throughput(java.lang.Number throughput)
CfnLaunchConfiguration.BlockDeviceProperty.getThroughput()
throughput
- The throughput (MiBps) to provision for a `gp3` volume.this
public CfnLaunchConfiguration.BlockDeviceProperty.Builder volumeSize(java.lang.Number volumeSize)
CfnLaunchConfiguration.BlockDeviceProperty.getVolumeSize()
volumeSize
- The volume size, in GiBs. The following are the supported volumes sizes for each volume type:.
gp2
and gp3
: 1-16,384io1
: 4-16,384st1
and sc1
: 125-16,384standard
: 1-1,024
You must specify either a SnapshotId
or a VolumeSize
. If you specify both SnapshotId
and VolumeSize
, the volume size must be equal or greater than the size of the snapshot.
this
public CfnLaunchConfiguration.BlockDeviceProperty.Builder volumeType(java.lang.String volumeType)
CfnLaunchConfiguration.BlockDeviceProperty.getVolumeType()
volumeType
- The volume type.
For more information, see Amazon EBS volume types in the Amazon EC2 User Guide for Linux Instances .
Valid values: standard
| io1
| gp2
| st1
| sc1
| gp3
this
public CfnLaunchConfiguration.BlockDeviceProperty build()
CfnLaunchConfiguration.BlockDeviceProperty
java.lang.NullPointerException
- if any required attribute was not provided