Package com.pulumi.aws.ec2.inputs
Class InstanceEbsBlockDeviceArgs.Builder
- java.lang.Object
-
- com.pulumi.aws.ec2.inputs.InstanceEbsBlockDeviceArgs.Builder
-
- Enclosing class:
- InstanceEbsBlockDeviceArgs
public static final class InstanceEbsBlockDeviceArgs.Builder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Builder()Builder(InstanceEbsBlockDeviceArgs defaults)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InstanceEbsBlockDeviceArgsbuild()InstanceEbsBlockDeviceArgs.BuilderdeleteOnTermination(com.pulumi.core.Output<java.lang.Boolean> deleteOnTermination)InstanceEbsBlockDeviceArgs.BuilderdeleteOnTermination(java.lang.Boolean deleteOnTermination)InstanceEbsBlockDeviceArgs.BuilderdeviceName(com.pulumi.core.Output<java.lang.String> deviceName)InstanceEbsBlockDeviceArgs.BuilderdeviceName(java.lang.String deviceName)InstanceEbsBlockDeviceArgs.Builderencrypted(com.pulumi.core.Output<java.lang.Boolean> encrypted)InstanceEbsBlockDeviceArgs.Builderencrypted(java.lang.Boolean encrypted)InstanceEbsBlockDeviceArgs.Builderiops(com.pulumi.core.Output<java.lang.Integer> iops)InstanceEbsBlockDeviceArgs.Builderiops(java.lang.Integer iops)InstanceEbsBlockDeviceArgs.BuilderkmsKeyId(com.pulumi.core.Output<java.lang.String> kmsKeyId)InstanceEbsBlockDeviceArgs.BuilderkmsKeyId(java.lang.String kmsKeyId)InstanceEbsBlockDeviceArgs.BuildersnapshotId(com.pulumi.core.Output<java.lang.String> snapshotId)InstanceEbsBlockDeviceArgs.BuildersnapshotId(java.lang.String snapshotId)InstanceEbsBlockDeviceArgs.Buildertags(com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tags)InstanceEbsBlockDeviceArgs.Buildertags(java.util.Map<java.lang.String,java.lang.String> tags)InstanceEbsBlockDeviceArgs.BuildertagsAll(com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll)InstanceEbsBlockDeviceArgs.BuildertagsAll(java.util.Map<java.lang.String,java.lang.String> tagsAll)InstanceEbsBlockDeviceArgs.Builderthroughput(com.pulumi.core.Output<java.lang.Integer> throughput)InstanceEbsBlockDeviceArgs.Builderthroughput(java.lang.Integer throughput)InstanceEbsBlockDeviceArgs.BuildervolumeId(com.pulumi.core.Output<java.lang.String> volumeId)InstanceEbsBlockDeviceArgs.BuildervolumeId(java.lang.String volumeId)InstanceEbsBlockDeviceArgs.BuildervolumeSize(com.pulumi.core.Output<java.lang.Integer> volumeSize)InstanceEbsBlockDeviceArgs.BuildervolumeSize(java.lang.Integer volumeSize)InstanceEbsBlockDeviceArgs.BuildervolumeType(com.pulumi.core.Output<java.lang.String> volumeType)InstanceEbsBlockDeviceArgs.BuildervolumeType(java.lang.String volumeType)
-
-
-
Constructor Detail
-
Builder
public Builder()
-
Builder
public Builder(InstanceEbsBlockDeviceArgs defaults)
-
-
Method Detail
-
deleteOnTermination
public InstanceEbsBlockDeviceArgs.Builder deleteOnTermination(@Nullable com.pulumi.core.Output<java.lang.Boolean> deleteOnTermination)
- Parameters:
deleteOnTermination- Whether the volume should be destroyed on instance termination. Defaults to `true`.- Returns:
- builder
-
deleteOnTermination
public InstanceEbsBlockDeviceArgs.Builder deleteOnTermination(java.lang.Boolean deleteOnTermination)
- Parameters:
deleteOnTermination- Whether the volume should be destroyed on instance termination. Defaults to `true`.- Returns:
- builder
-
deviceName
public InstanceEbsBlockDeviceArgs.Builder deviceName(com.pulumi.core.Output<java.lang.String> deviceName)
- Parameters:
deviceName- Name of the device to mount.- Returns:
- builder
-
deviceName
public InstanceEbsBlockDeviceArgs.Builder deviceName(java.lang.String deviceName)
- Parameters:
deviceName- Name of the device to mount.- Returns:
- builder
-
encrypted
public InstanceEbsBlockDeviceArgs.Builder encrypted(@Nullable com.pulumi.core.Output<java.lang.Boolean> encrypted)
- Parameters:
encrypted- Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection.- Returns:
- builder
-
encrypted
public InstanceEbsBlockDeviceArgs.Builder encrypted(java.lang.Boolean encrypted)
- Parameters:
encrypted- Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection.- Returns:
- builder
-
iops
public InstanceEbsBlockDeviceArgs.Builder iops(@Nullable com.pulumi.core.Output<java.lang.Integer> iops)
- Parameters:
iops- Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`.- Returns:
- builder
-
iops
public InstanceEbsBlockDeviceArgs.Builder iops(java.lang.Integer iops)
- Parameters:
iops- Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`.- Returns:
- builder
-
kmsKeyId
public InstanceEbsBlockDeviceArgs.Builder kmsKeyId(@Nullable com.pulumi.core.Output<java.lang.String> kmsKeyId)
- Parameters:
kmsKeyId- ARN of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.- Returns:
- builder
-
kmsKeyId
public InstanceEbsBlockDeviceArgs.Builder kmsKeyId(java.lang.String kmsKeyId)
- Parameters:
kmsKeyId- ARN of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.- Returns:
- builder
-
snapshotId
public InstanceEbsBlockDeviceArgs.Builder snapshotId(@Nullable com.pulumi.core.Output<java.lang.String> snapshotId)
- Parameters:
snapshotId- Snapshot ID to mount.- Returns:
- builder
-
snapshotId
public InstanceEbsBlockDeviceArgs.Builder snapshotId(java.lang.String snapshotId)
- Parameters:
snapshotId- Snapshot ID to mount.- Returns:
- builder
-
tags
public InstanceEbsBlockDeviceArgs.Builder tags(@Nullable com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tags)
- Parameters:
tags- Map of tags to assign to the device. **Note:** Tags specified here are applied after instance creation via a separate API call. This means they cannot be used with IAM policies that require tags during resource creation (e.g., ABAC policies with `ec2:CreateAction` conditions or SCPs requiring volume tags). For ABAC compliance, use `volumeTags` instead, which applies uniform tags to all volumes during instance creation.- Returns:
- builder
-
tags
public InstanceEbsBlockDeviceArgs.Builder tags(java.util.Map<java.lang.String,java.lang.String> tags)
- Parameters:
tags- Map of tags to assign to the device. **Note:** Tags specified here are applied after instance creation via a separate API call. This means they cannot be used with IAM policies that require tags during resource creation (e.g., ABAC policies with `ec2:CreateAction` conditions or SCPs requiring volume tags). For ABAC compliance, use `volumeTags` instead, which applies uniform tags to all volumes during instance creation.- Returns:
- builder
-
tagsAll
public InstanceEbsBlockDeviceArgs.Builder tagsAll(@Nullable com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll)
- Parameters:
tagsAll- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.- Returns:
- builder
-
tagsAll
public InstanceEbsBlockDeviceArgs.Builder tagsAll(java.util.Map<java.lang.String,java.lang.String> tagsAll)
- Parameters:
tagsAll- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.- Returns:
- builder
-
throughput
public InstanceEbsBlockDeviceArgs.Builder throughput(@Nullable com.pulumi.core.Output<java.lang.Integer> throughput)
- Parameters:
throughput- Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`.- Returns:
- builder
-
throughput
public InstanceEbsBlockDeviceArgs.Builder throughput(java.lang.Integer throughput)
- Parameters:
throughput- Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`.- Returns:
- builder
-
volumeId
public InstanceEbsBlockDeviceArgs.Builder volumeId(@Nullable com.pulumi.core.Output<java.lang.String> volumeId)
- Parameters:
volumeId- ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`.- Returns:
- builder
-
volumeId
public InstanceEbsBlockDeviceArgs.Builder volumeId(java.lang.String volumeId)
- Parameters:
volumeId- ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`.- Returns:
- builder
-
volumeSize
public InstanceEbsBlockDeviceArgs.Builder volumeSize(@Nullable com.pulumi.core.Output<java.lang.Integer> volumeSize)
- Parameters:
volumeSize- Size of the volume in gibibytes (GiB).- Returns:
- builder
-
volumeSize
public InstanceEbsBlockDeviceArgs.Builder volumeSize(java.lang.Integer volumeSize)
- Parameters:
volumeSize- Size of the volume in gibibytes (GiB).- Returns:
- builder
-
volumeType
public InstanceEbsBlockDeviceArgs.Builder volumeType(@Nullable com.pulumi.core.Output<java.lang.String> volumeType)
- Parameters:
volumeType- Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `aws.ebs.Volume` and `aws.ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `aws.ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `aws.ebs.Volume` and `aws.ec2.VolumeAttachment` resources for a given instance.- Returns:
- builder
-
volumeType
public InstanceEbsBlockDeviceArgs.Builder volumeType(java.lang.String volumeType)
- Parameters:
volumeType- Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `aws.ebs.Volume` and `aws.ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `aws.ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `aws.ebs.Volume` and `aws.ec2.VolumeAttachment` resources for a given instance.- Returns:
- builder
-
build
public InstanceEbsBlockDeviceArgs build()
-
-