Class InstanceRootBlockDeviceArgs.Builder

    • Method Detail

      • deleteOnTermination

        public InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.Builder deleteOnTermination​(java.lang.Boolean deleteOnTermination)
        Parameters:
        deleteOnTermination - Whether the volume should be destroyed on instance termination. Defaults to `true`.
        Returns:
        builder
      • deviceName

        public InstanceRootBlockDeviceArgs.Builder deviceName​(@Nullable
                                                              com.pulumi.core.Output<java.lang.String> deviceName)
        Parameters:
        deviceName - Device name, e.g., `/dev/sdh` or `xvdh`.
        Returns:
        builder
      • deviceName

        public InstanceRootBlockDeviceArgs.Builder deviceName​(java.lang.String deviceName)
        Parameters:
        deviceName - Device name, e.g., `/dev/sdh` or `xvdh`.
        Returns:
        builder
      • encrypted

        public InstanceRootBlockDeviceArgs.Builder encrypted​(@Nullable
                                                             com.pulumi.core.Output<java.lang.Boolean> encrypted)
        Parameters:
        encrypted - Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection.
        Returns:
        builder
      • encrypted

        public InstanceRootBlockDeviceArgs.Builder encrypted​(java.lang.Boolean encrypted)
        Parameters:
        encrypted - Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection.
        Returns:
        builder
      • iops

        public InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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
      • tags

        public InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.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 InstanceRootBlockDeviceArgs.Builder volumeSize​(@Nullable
                                                              com.pulumi.core.Output<java.lang.Integer> volumeSize)
        Parameters:
        volumeSize - Size of the volume in gibibytes (GiB).
        Returns:
        builder
      • volumeSize

        public InstanceRootBlockDeviceArgs.Builder volumeSize​(java.lang.Integer volumeSize)
        Parameters:
        volumeSize - Size of the volume in gibibytes (GiB).
        Returns:
        builder
      • volumeType

        public InstanceRootBlockDeviceArgs.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 the volume type that the AMI uses. Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement.
        Returns:
        builder
      • volumeType

        public InstanceRootBlockDeviceArgs.Builder volumeType​(java.lang.String volumeType)
        Parameters:
        volumeType - Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement.
        Returns:
        builder