Class CreateVolumeRequest
- java.lang.Object
-
- software.amazon.awssdk.core.SdkRequest
-
- software.amazon.awssdk.awscore.AwsRequest
-
- software.amazon.awssdk.services.ec2.model.Ec2Request
-
- software.amazon.awssdk.services.ec2.model.CreateVolumeRequest
-
- All Implemented Interfaces:
SdkPojo
,ToCopyableBuilder<CreateVolumeRequest.Builder,CreateVolumeRequest>
@Generated("software.amazon.awssdk:codegen") public final class CreateVolumeRequest extends Ec2Request implements ToCopyableBuilder<CreateVolumeRequest.Builder,CreateVolumeRequest>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
CreateVolumeRequest.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
availabilityZone()
The ID of the Availability Zone in which to create the volume.static CreateVolumeRequest.Builder
builder()
String
clientToken()
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.Boolean
dryRun()
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response.Boolean
encrypted()
Indicates whether the volume should be encrypted.boolean
equals(Object obj)
boolean
equalsBySdkFields(Object obj)
<T> Optional<T>
getValueForField(String fieldName, Class<T> clazz)
int
hashCode()
boolean
hasTagSpecifications()
For responses, this returns true if the service returned a value for the TagSpecifications property.Integer
iops()
The number of I/O operations per second (IOPS).String
kmsKeyId()
The identifier of the KMS key to use for Amazon EBS encryption.Boolean
multiAttachEnabled()
Indicates whether to enable Amazon EBS Multi-Attach.String
outpostArn()
The Amazon Resource Name (ARN) of the Outpost on which to create the volume.List<SdkField<?>>
sdkFields()
static Class<? extends CreateVolumeRequest.Builder>
serializableBuilderClass()
Integer
size()
The size of the volume, in GiBs.String
snapshotId()
The snapshot from which to create the volume.List<TagSpecification>
tagSpecifications()
The tags to apply to the volume during creation.Integer
throughput()
The throughput to provision for a volume, with a maximum of 1,000 MiB/s.CreateVolumeRequest.Builder
toBuilder()
String
toString()
Returns a string representation of this object.VolumeType
volumeType()
The volume type.String
volumeTypeAsString()
The volume type.-
Methods inherited from class software.amazon.awssdk.awscore.AwsRequest
overrideConfiguration
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
availabilityZone
public final String availabilityZone()
The ID of the Availability Zone in which to create the volume. For example,
us-east-1a
.- Returns:
- The ID of the Availability Zone in which to create the volume. For example,
us-east-1a
.
-
encrypted
public final Boolean encrypted()
Indicates 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 EBS User Guide.Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.
- Returns:
- Indicates 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 EBS User Guide.Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.
-
iops
public final Integer iops()
The number of I/O operations per second (IOPS). For
gp3
,io1
, andio2
volumes, this represents the number of IOPS that are provisioned for the volume. Forgp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.The following are the supported values for each volume type:
-
gp3
: 3,000 - 16,000 IOPS -
io1
: 100 - 64,000 IOPS -
io2
: 100 - 256,000 IOPS
For
io2
volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.This parameter is required for
io1
andio2
volumes. The default forgp3
volumes is 3,000 IOPS. This parameter is not supported forgp2
,st1
,sc1
, orstandard
volumes.- Returns:
- The number of I/O operations per second (IOPS). For
gp3
,io1
, andio2
volumes, this represents the number of IOPS that are provisioned for the volume. Forgp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.The following are the supported values for each volume type:
-
gp3
: 3,000 - 16,000 IOPS -
io1
: 100 - 64,000 IOPS -
io2
: 100 - 256,000 IOPS
For
io2
volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.This parameter is required for
io1
andio2
volumes. The default forgp3
volumes is 3,000 IOPS. This parameter is not supported forgp2
,st1
,sc1
, orstandard
volumes. -
-
-
kmsKeyId
public final String kmsKeyId()
The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If
KmsKeyId
is specified, the encrypted state must betrue
.You can specify the KMS key using any of the following:
-
Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
-
Key alias. For example, alias/ExampleAlias.
-
Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
-
Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.
- Returns:
- The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your
KMS key for Amazon EBS is used. If
KmsKeyId
is specified, the encrypted state must betrue
.You can specify the KMS key using any of the following:
-
Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
-
Key alias. For example, alias/ExampleAlias.
-
Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
-
Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.
-
-
-
outpostArn
public final String outpostArn()
The Amazon Resource Name (ARN) of the Outpost on which to create the volume.
If you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an Amazon Web Services Region with an instance on an Amazon Web Services outpost, or the other way around.
- Returns:
- The Amazon Resource Name (ARN) of the Outpost on which to create the volume.
If you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an Amazon Web Services Region with an instance on an Amazon Web Services outpost, or the other way around.
-
size
public final Integer size()
The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
The following are the supported volumes sizes for each volume type:
-
gp2
andgp3
: 1 - 16,384 GiB -
io1
: 4 - 16,384 GiB -
io2
: 4 - 65,536 GiB -
st1
andsc1
: 125 - 16,384 GiB -
standard
: 1 - 1024 GiB
- Returns:
- The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a
snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than
the snapshot size.
The following are the supported volumes sizes for each volume type:
-
gp2
andgp3
: 1 - 16,384 GiB -
io1
: 4 - 16,384 GiB -
io2
: 4 - 65,536 GiB -
st1
andsc1
: 125 - 16,384 GiB -
standard
: 1 - 1024 GiB
-
-
-
snapshotId
public final String snapshotId()
The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
- Returns:
- The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
-
volumeType
public final VolumeType volumeType()
The volume type. This parameter can be one of the following values:
-
General Purpose SSD:
gp2
|gp3
-
Provisioned IOPS SSD:
io1
|io2
-
Throughput Optimized HDD:
st1
-
Cold HDD:
sc1
-
Magnetic:
standard
Throughput Optimized HDD (
st1
) and Cold HDD (sc1
) volumes can't be used as boot volumes.For more information, see Amazon EBS volume types in the Amazon EBS User Guide.
Default:
gp2
If the service returns an enum value that is not available in the current SDK version,
volumeType
will returnVolumeType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromvolumeTypeAsString()
.- Returns:
- The volume type. This parameter can be one of the following values:
-
General Purpose SSD:
gp2
|gp3
-
Provisioned IOPS SSD:
io1
|io2
-
Throughput Optimized HDD:
st1
-
Cold HDD:
sc1
-
Magnetic:
standard
Throughput Optimized HDD (
st1
) and Cold HDD (sc1
) volumes can't be used as boot volumes.For more information, see Amazon EBS volume types in the Amazon EBS User Guide.
Default:
gp2
-
- See Also:
VolumeType
-
-
volumeTypeAsString
public final String volumeTypeAsString()
The volume type. This parameter can be one of the following values:
-
General Purpose SSD:
gp2
|gp3
-
Provisioned IOPS SSD:
io1
|io2
-
Throughput Optimized HDD:
st1
-
Cold HDD:
sc1
-
Magnetic:
standard
Throughput Optimized HDD (
st1
) and Cold HDD (sc1
) volumes can't be used as boot volumes.For more information, see Amazon EBS volume types in the Amazon EBS User Guide.
Default:
gp2
If the service returns an enum value that is not available in the current SDK version,
volumeType
will returnVolumeType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromvolumeTypeAsString()
.- Returns:
- The volume type. This parameter can be one of the following values:
-
General Purpose SSD:
gp2
|gp3
-
Provisioned IOPS SSD:
io1
|io2
-
Throughput Optimized HDD:
st1
-
Cold HDD:
sc1
-
Magnetic:
standard
Throughput Optimized HDD (
st1
) and Cold HDD (sc1
) volumes can't be used as boot volumes.For more information, see Amazon EBS volume types in the Amazon EBS User Guide.
Default:
gp2
-
- See Also:
VolumeType
-
-
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 isUnauthorizedOperation
.- 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 isUnauthorizedOperation
.
-
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 theisEmpty()
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 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 during creation.
-
multiAttachEnabled
public final Boolean multiAttachEnabled()
Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is supported with
io1
andio2
volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.- Returns:
- Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the
volume to up to 16 Instances built on
the Nitro System in the same Availability Zone. This parameter is supported with
io1
andio2
volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.
-
throughput
public final Integer throughput()
The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
This parameter is valid only for
gp3
volumes.Valid Range: Minimum value of 125. Maximum value of 1000.
- Returns:
- The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
This parameter is valid only for
gp3
volumes.Valid Range: Minimum value of 125. Maximum value of 1000.
-
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 CreateVolumeRequest.Builder toBuilder()
- Specified by:
toBuilder
in interfaceToCopyableBuilder<CreateVolumeRequest.Builder,CreateVolumeRequest>
- Specified by:
toBuilder
in classEc2Request
-
builder
public static CreateVolumeRequest.Builder builder()
-
serializableBuilderClass
public static Class<? extends CreateVolumeRequest.Builder> serializableBuilderClass()
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classAwsRequest
-
equals
public final boolean equals(Object obj)
- Overrides:
equals
in classAwsRequest
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFields
in interfaceSdkPojo
-
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.
-
getValueForField
public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
- Overrides:
getValueForField
in classSdkRequest
-
-