Class CfnLaunchConfiguration.BlockDeviceProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnLaunchConfiguration.BlockDeviceProperty>
- Enclosing interface:
CfnLaunchConfiguration.BlockDeviceProperty
CfnLaunchConfiguration.BlockDeviceProperty
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds the configured instance.deleteOnTermination
(Boolean deleteOnTermination) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getDeleteOnTermination()
deleteOnTermination
(IResolvable deleteOnTermination) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getDeleteOnTermination()
Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getEncrypted()
encrypted
(IResolvable encrypted) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getEncrypted()
Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getIops()
snapshotId
(String snapshotId) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getSnapshotId()
throughput
(Number throughput) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getThroughput()
volumeSize
(Number volumeSize) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getVolumeSize()
volumeType
(String volumeType) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getVolumeType()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
deleteOnTermination
@Stability(Stable) public CfnLaunchConfiguration.BlockDeviceProperty.Builder deleteOnTermination(Boolean deleteOnTermination) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getDeleteOnTermination()
- Parameters:
deleteOnTermination
- Indicates whether the volume is deleted on instance termination. For Amazon EC2 Auto Scaling, the default value istrue
.- Returns:
this
-
deleteOnTermination
@Stability(Stable) public CfnLaunchConfiguration.BlockDeviceProperty.Builder deleteOnTermination(IResolvable deleteOnTermination) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getDeleteOnTermination()
- Parameters:
deleteOnTermination
- Indicates whether the volume is deleted on instance termination. For Amazon EC2 Auto Scaling, the default value istrue
.- Returns:
this
-
encrypted
@Stability(Stable) public CfnLaunchConfiguration.BlockDeviceProperty.Builder encrypted(Boolean encrypted) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getEncrypted()
- Parameters:
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 Requirements for Amazon EBS encryption in the Amazon EBS User Guide . 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 .
- Returns:
this
-
encrypted
@Stability(Stable) public CfnLaunchConfiguration.BlockDeviceProperty.Builder encrypted(IResolvable encrypted) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getEncrypted()
- Parameters:
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 Requirements for Amazon EBS encryption in the Amazon EBS User Guide . 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 .
- Returns:
this
-
iops
Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getIops()
- Parameters:
iops
- The number of input/output (I/O) operations per second (IOPS) to provision for the volume. Forgp3
andio1
volumes, this represents the number of IOPS that are provisioned for the volume. Forgp2
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 isgp3
orio1
and required only when the volume type isio1
. (Not used withstandard
,gp2
,st1
, orsc1
volumes.)- Returns:
this
-
snapshotId
@Stability(Stable) public CfnLaunchConfiguration.BlockDeviceProperty.Builder snapshotId(String snapshotId) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getSnapshotId()
- Parameters:
snapshotId
- The snapshot ID of the volume to use. You must specify either aVolumeSize
or aSnapshotId
.- Returns:
this
-
throughput
@Stability(Stable) public CfnLaunchConfiguration.BlockDeviceProperty.Builder throughput(Number throughput) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getThroughput()
- Parameters:
throughput
- The throughput (MiBps) to provision for agp3
volume.- Returns:
this
-
volumeSize
@Stability(Stable) public CfnLaunchConfiguration.BlockDeviceProperty.Builder volumeSize(Number volumeSize) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getVolumeSize()
- Parameters:
volumeSize
- The volume size, in GiBs. The following are the supported volumes sizes for each volume type:.gp2
andgp3
: 1-16,384io1
: 4-16,384st1
andsc1
: 125-16,384standard
: 1-1,024
You must specify either a
SnapshotId
or aVolumeSize
. If you specify bothSnapshotId
andVolumeSize
, the volume size must be equal or greater than the size of the snapshot.- Returns:
this
-
volumeType
@Stability(Stable) public CfnLaunchConfiguration.BlockDeviceProperty.Builder volumeType(String volumeType) Sets the value ofCfnLaunchConfiguration.BlockDeviceProperty.getVolumeType()
- Parameters:
volumeType
- The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide . Valid values:standard
|io1
|gp2
|st1
|sc1
|gp3
- Returns:
this
-
build
Builds the configured instance.- Specified by:
build
in interfacesoftware.amazon.jsii.Builder<CfnLaunchConfiguration.BlockDeviceProperty>
- Returns:
- a new instance of
CfnLaunchConfiguration.BlockDeviceProperty
- Throws:
NullPointerException
- if any required attribute was not provided
-