Class CopyVolumesRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CopyVolumesRequest.Builder,CopyVolumesRequest>

@Generated("software.amazon.awssdk:codegen") public final class CopyVolumesRequest extends Ec2Request implements ToCopyableBuilder<CopyVolumesRequest.Builder,CopyVolumesRequest>
  • Method Details

    • sourceVolumeId

      public final String sourceVolumeId()

      The ID of the source EBS volume to copy.

      Returns:
      The ID of the source EBS volume to copy.
    • iops

      public final Integer iops()

      The number of I/O operations per second (IOPS) to provision for the volume copy. Required for io1 and io2 volumes. Optional for gp3 volumes. Omit for all other volume types. Full provisioned IOPS performance can be achieved only once the volume copy is fully initialized.

      Valid ranges:

      • gp3: 3,000 (default) - 80,000 IOPS

      • io1: 100 - 64,000 IOPS

      • io2: 100 - 256,000 IOPS

      Instances built on the Nitro System can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.

      Returns:
      The number of I/O operations per second (IOPS) to provision for the volume copy. Required for io1 and io2 volumes. Optional for gp3 volumes. Omit for all other volume types. Full provisioned IOPS performance can be achieved only once the volume copy is fully initialized.

      Valid ranges:

      • gp3: 3,000 (default) - 80,000 IOPS

      • io1: 100 - 64,000 IOPS

      • io2: 100 - 256,000 IOPS

      Instances built on the Nitro System can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.

    • size

      public final Integer size()

      The size of the volume copy, in GiBs. The size must be equal to or greater than the size of the source volume. If not specified, the size defaults to the size of the source volume.

      Maximum supported sizes:

      • gp2: 16,384 GiB

      • gp3: 65,536 GiB

      • io1: 16,384 GiB

      • io2: 65,536 GiB

      • st1 and sc1: 16,384 GiB

      • standard: 1024 GiB

      Returns:
      The size of the volume copy, in GiBs. The size must be equal to or greater than the size of the source volume. If not specified, the size defaults to the size of the source volume.

      Maximum supported sizes:

      • gp2: 16,384 GiB

      • gp3: 65,536 GiB

      • io1: 16,384 GiB

      • io2: 65,536 GiB

      • st1 and sc1: 16,384 GiB

      • standard: 1024 GiB

    • volumeType

      public final VolumeType volumeType()

      The volume type for the volume copy. If not specified, the volume type defaults to gp2.

      If the service returns an enum value that is not available in the current SDK version, volumeType will return VolumeType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from volumeTypeAsString().

      Returns:
      The volume type for the volume copy. If not specified, the volume type defaults to gp2.
      See Also:
    • volumeTypeAsString

      public final String volumeTypeAsString()

      The volume type for the volume copy. If not specified, the volume type defaults to gp2.

      If the service returns an enum value that is not available in the current SDK version, volumeType will return VolumeType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from volumeTypeAsString().

      Returns:
      The volume type for the volume copy. If not specified, the volume type defaults to gp2.
      See Also:
    • dryRun

      public final Boolean dryRun()

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      Returns:
      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.
    • hasTagSpecifications

      public final boolean hasTagSpecifications()
      For responses, this returns true if the service returned a value for the TagSpecifications property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tagSpecifications

      public final List<TagSpecification> tagSpecifications()

      The tags to apply to the volume copy during creation.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTagSpecifications() method.

      Returns:
      The tags to apply to the volume copy during creation.
    • multiAttachEnabled

      public final Boolean multiAttachEnabled()

      Indicates whether to enable Amazon EBS Multi-Attach for the volume copy. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro instances in the same Availability Zone simultaneously. Supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach.

      Returns:
      Indicates whether to enable Amazon EBS Multi-Attach for the volume copy. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro instances in the same Availability Zone simultaneously. Supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach.
    • throughput

      public final Integer throughput()

      The throughput to provision for the volume copy, in MiB/s. Supported for gp3 volumes only. Omit for all other volume types. Full provisioned throughput performance can be achieved only once the volume copy is fully initialized.

      Valid Range: 125 - 2000 MiB/s

      Returns:
      The throughput to provision for the volume copy, in MiB/s. Supported for gp3 volumes only. Omit for all other volume types. Full provisioned throughput performance can be achieved only once the volume copy is fully initialized.

      Valid Range: 125 - 2000 MiB/s

    • clientToken

      public final String clientToken()

      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

      Returns:
      Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.
    • toBuilder

      public CopyVolumesRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CopyVolumesRequest.Builder,CopyVolumesRequest>
      Specified by:
      toBuilder in class Ec2Request
      Returns:
      a builder for type T
    • builder

      public static CopyVolumesRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CopyVolumesRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.