Class SpotInstanceRequestEbsBlockDeviceArgs


  • public final class SpotInstanceRequestEbsBlockDeviceArgs
    extends com.pulumi.resources.ResourceArgs
    • Method Detail

      • deleteOnTermination

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> deleteOnTermination()
        Returns:
        Whether the volume should be destroyed on instance termination. Defaults to `true`.
      • deviceName

        public com.pulumi.core.Output<java.lang.String> deviceName()
        Returns:
        Name of the device to mount.
      • encrypted

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> encrypted()
        Returns:
        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.
      • iops

        public java.util.Optional<com.pulumi.core.Output<java.lang.Integer>> iops()
        Returns:
        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`.
      • kmsKeyId

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> kmsKeyId()
        Returns:
        ARN of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
      • snapshotId

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> snapshotId()
        Returns:
        Snapshot ID to mount.
      • tags

        public java.util.Optional<com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        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.
      • tagsAll

        public java.util.Optional<com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>>> tagsAll()
        Returns:
        A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • throughput

        public java.util.Optional<com.pulumi.core.Output<java.lang.Integer>> throughput()
        Returns:
        Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`.
      • volumeId

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> volumeId()
      • volumeSize

        public java.util.Optional<com.pulumi.core.Output<java.lang.Integer>> volumeSize()
        Returns:
        Size of the volume in gibibytes (GiB).
      • volumeType

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> volumeType()
        Returns:
        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.