Class VolumeProps.Jsii$Proxy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.ec2.VolumeProps.Jsii$Proxy
All Implemented Interfaces:
VolumeProps, software.amazon.jsii.JsiiSerializable
Enclosing interface:
VolumeProps

@Stability(Stable) @Internal public static final class VolumeProps.Jsii$Proxy extends software.amazon.jsii.JsiiObject implements VolumeProps
An implementation for VolumeProps
  • Nested Class Summary

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode

    Nested classes/interfaces inherited from interface software.amazon.awscdk.services.ec2.VolumeProps

    VolumeProps.Builder, VolumeProps.Jsii$Proxy
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Constructor that initializes the object based on literal property values passed by the VolumeProps.Builder.
    protected
    Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef)
    Constructor that initializes the object based on values retrieved from the JsiiObject.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.fasterxml.jackson.databind.JsonNode
     
    final boolean
     
    final Boolean
    Indicates whether the volume is auto-enabled for I/O operations.
    final String
    The Availability Zone in which to create the volume.
    final Boolean
    Indicates whether Amazon EBS Multi-Attach is enabled.
    final Boolean
    Specifies whether the volume should be encrypted.
    final IKey
    The customer-managed encryption key that is used to encrypt the Volume.
    final Number
    The number of I/O operations per second (IOPS) to provision for the volume.
    Policy to apply when the volume is removed from the stack.
    final Size
    The size of the volume, in GiBs.
    final String
    The snapshot from which to create the volume.
    final Number
    The throughput that the volume supports, in MiB/s Takes a minimum of 125 and maximum of 1000.
    final String
    The value of the physicalName property of this resource.
    The type of the volume;
    final int
     

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Jsii$Proxy

      protected Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef)
      Constructor that initializes the object based on values retrieved from the JsiiObject.
      Parameters:
      objRef - Reference to the JSII managed object.
    • Jsii$Proxy

      protected Jsii$Proxy(VolumeProps.Builder builder)
      Constructor that initializes the object based on literal property values passed by the VolumeProps.Builder.
  • Method Details

    • getAvailabilityZone

      public final String getAvailabilityZone()
      Description copied from interface: VolumeProps
      The Availability Zone in which to create the volume.
      Specified by:
      getAvailabilityZone in interface VolumeProps
    • getAutoEnableIo

      public final Boolean getAutoEnableIo()
      Description copied from interface: VolumeProps
      Indicates whether the volume is auto-enabled for I/O operations.

      By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.

      Default: false

      Specified by:
      getAutoEnableIo in interface VolumeProps
    • getEnableMultiAttach

      public final Boolean getEnableMultiAttach()
      Description copied from interface: VolumeProps
      Indicates whether Amazon EBS Multi-Attach is enabled.

      See Considerations and limitations for the constraints of multi-attach.

      Default: false

      Specified by:
      getEnableMultiAttach in interface VolumeProps
    • getEncrypted

      public final Boolean getEncrypted()
      Description copied from interface: VolumeProps
      Specifies whether the volume should be encrypted.

      The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by Default in the Amazon Elastic Compute Cloud User Guide.

      Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types.

      Default: false

      Specified by:
      getEncrypted in interface VolumeProps
    • getEncryptionKey

      public final IKey getEncryptionKey()
      Description copied from interface: VolumeProps
      The customer-managed encryption key that is used to encrypt the Volume.

      The encrypted property must be true if this is provided.

      Note: If using an aws-kms.IKey created from a aws-kms.Key.fromKeyArn() here, then the KMS key must have the following in its Key policy; otherwise, the Volume will fail to create.

       {
         "Effect": "Allow",
         "Principal": { "AWS": "<arn for your account-user> ex: arn:aws:iam::00000000000:root" },
         "Resource": "*",
         "Action": [
           "kms:DescribeKey",
           "kms:GenerateDataKeyWithoutPlainText",
         ],
         "Condition": {
           "StringEquals": {
             "kms:ViaService": "ec2.<Region>.amazonaws.com", (eg: ec2.us-east-1.amazonaws.com)
             "kms:CallerAccount": "0000000000" (your account ID)
           }
         }
       }
       

      Default: The default KMS key for the account, region, and EC2 service is used.

      Specified by:
      getEncryptionKey in interface VolumeProps
    • getIops

      public final Number getIops()
      Description copied from interface: VolumeProps
      The number of I/O operations per second (IOPS) to provision for the volume.

      The maximum ratio is 50 IOPS/GiB for PROVISIONED_IOPS_SSD, and 500 IOPS/GiB for both PROVISIONED_IOPS_SSD_IO2 and GENERAL_PURPOSE_SSD_GP3. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html for more information.

      This parameter is valid only for PROVISIONED_IOPS_SSD, PROVISIONED_IOPS_SSD_IO2 and GENERAL_PURPOSE_SSD_GP3 volumes.

      Default: None -- Required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS if omitted.

      Specified by:
      getIops in interface VolumeProps
    • getRemovalPolicy

      public final RemovalPolicy getRemovalPolicy()
      Description copied from interface: VolumeProps
      Policy to apply when the volume is removed from the stack.

      Default: RemovalPolicy.RETAIN

      Specified by:
      getRemovalPolicy in interface VolumeProps
    • getSize

      public final Size getSize()
      Description copied from interface: VolumeProps
      The size of the volume, in GiBs.

      You must specify either a snapshot ID or a volume size. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html for details on the allowable size for each type of volume.

      Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

      Specified by:
      getSize in interface VolumeProps
    • getSnapshotId

      public final String getSnapshotId()
      Description copied from interface: VolumeProps
      The snapshot from which to create the volume.

      You must specify either a snapshot ID or a volume size.

      Default: The EBS volume is not created from a snapshot.

      Specified by:
      getSnapshotId in interface VolumeProps
    • getThroughput

      public final Number getThroughput()
      Description copied from interface: VolumeProps
      The throughput that the volume supports, in MiB/s Takes a minimum of 125 and maximum of 1000.

      Default: - 125 MiB/s. Only valid on gp3 volumes.

      Specified by:
      getThroughput in interface VolumeProps
      See Also:
    • getVolumeName

      public final String getVolumeName()
      Description copied from interface: VolumeProps
      The value of the physicalName property of this resource.

      Default: The physical name will be allocated by CloudFormation at deployment time

      Specified by:
      getVolumeName in interface VolumeProps
    • getVolumeType

      public final EbsDeviceVolumeType getVolumeType()
      Description copied from interface: VolumeProps
      The type of the volume;

      what type of storage to use to form the EBS Volume.

      Default: `EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`

      Specified by:
      getVolumeType in interface VolumeProps
    • $jsii$toJson

      @Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
      Specified by:
      $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
    • equals

      public final boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object