Class CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnLaunchConfigurationPropsMixin.BlockDeviceProperty>
- Enclosing interface:
CfnLaunchConfigurationPropsMixin.BlockDeviceProperty
CfnLaunchConfigurationPropsMixin.BlockDeviceProperty-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds the configured instance.deleteOnTermination(Boolean deleteOnTermination) deleteOnTermination(IResolvable deleteOnTermination) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getEncrypted()encrypted(IResolvable encrypted) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getEncrypted()Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getIops()snapshotId(String snapshotId) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getSnapshotId()throughput(Number throughput) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getThroughput()volumeSize(Number volumeSize) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getVolumeSize()volumeType(String volumeType) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getVolumeType()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
deleteOnTermination
@Stability(Stable) public CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder deleteOnTermination(Boolean deleteOnTermination) - 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 CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder deleteOnTermination(IResolvable deleteOnTermination) - 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 CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder encrypted(Boolean encrypted) Sets the value ofCfnLaunchConfigurationPropsMixin.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 CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder encrypted(IResolvable encrypted) Sets the value ofCfnLaunchConfigurationPropsMixin.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
@Stability(Stable) public CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder iops(Number iops) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getIops()- Parameters:
iops- The number of input/output (I/O) operations per second (IOPS) to provision for the volume. Forgp3andio1volumes, this represents the number of IOPS that are provisioned for the volume. Forgp2volumes, 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
io1volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System . Other instance families guarantee performance up to 32,000 IOPS.Iopsis supported when the volume type isgp3orio1and required only when the volume type isio1. (Not used withstandard,gp2,st1, orsc1volumes.)- Returns:
this
-
snapshotId
@Stability(Stable) public CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder snapshotId(String snapshotId) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getSnapshotId()- Parameters:
snapshotId- The snapshot ID of the volume to use. You must specify either aVolumeSizeor aSnapshotId.- Returns:
this
-
throughput
@Stability(Stable) public CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder throughput(Number throughput) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getThroughput()- Parameters:
throughput- The throughput (MiBps) to provision for agp3volume.- Returns:
this
-
volumeSize
@Stability(Stable) public CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder volumeSize(Number volumeSize) Sets the value ofCfnLaunchConfigurationPropsMixin.BlockDeviceProperty.getVolumeSize()- Parameters:
volumeSize- The volume size, in GiBs. The following are the supported volumes sizes for each volume type:.gp2andgp3: 1-16,384io1: 4-16,384st1andsc1: 125-16,384standard: 1-1,024
You must specify either a
SnapshotIdor aVolumeSize. If you specify bothSnapshotIdandVolumeSize, the volume size must be equal or greater than the size of the snapshot.- Returns:
this
-
volumeType
@Stability(Stable) public CfnLaunchConfigurationPropsMixin.BlockDeviceProperty.Builder volumeType(String volumeType) Sets the value ofCfnLaunchConfigurationPropsMixin.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:
buildin interfacesoftware.amazon.jsii.Builder<CfnLaunchConfigurationPropsMixin.BlockDeviceProperty>- Returns:
- a new instance of
CfnLaunchConfigurationPropsMixin.BlockDeviceProperty - Throws:
NullPointerException- if any required attribute was not provided
-