/*
* Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.ec2.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.CreateVolumeRequestMarshaller;
/**
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateVolumeRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest
* The ID of the Availability Zone in which to create the volume. For example,
* Indicates whether the volume should be encrypted. The effect of setting the encryption state to
* Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more
* information, see Supported instance types.
*
* The number of I/O operations per second (IOPS). For
* The following are the supported values for each volume type:
*
*
*
*
*
* This parameter is required for
* The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is
* not specified, your KMS key for Amazon EBS is used. If
* 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.
*
* The Amazon Resource Name (ARN) of the Outpost.
*
* 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:
*
*
*
*
*
* The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
*
* The volume type. This parameter can be one of the following values:
*
* General Purpose SSD:
* Provisioned IOPS SSD:
* Throughput Optimized HDD:
* Cold HDD:
* Magnetic:
* Throughput Optimized HDD (
* For more information, see Amazon EBS volume types in the
* Amazon Elastic Compute Cloud User Guide.
*
* Default:
* The tags to apply to the volume during creation.
*
* 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
* The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
*
* This parameter is valid only for
* Valid Range: Minimum value of 125. Maximum value of 1000.
*
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensure
* Idempotency.
* us-east-1a
.
* 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.
* gp3
, io1
, and io2
* volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
volumes,
* this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits
* for bursting.
*
*
* gp3
: 3,000-16,000 IOPS
* io1
: 100-64,000 IOPS
* io2
: 100-64,000 IOPS
* io1
and io2
volumes support up to 64,000 IOPS only on Instances
* built on the Nitro System. Other instance families support performance up to 32,000 IOPS.
* io1
and io2
volumes. The default for gp3
* volumes is 3,000 IOPS. This parameter is not supported for gp2
, st1
, sc1
,
* or standard
volumes.
* KmsKeyId
is specified, the encrypted state
* must be true
.
*
*
*
*
*/
private Integer size;
/**
* gp2
and gp3
: 1-16,384
* io1
and io2
: 4-16,384
* st1
and sc1
: 125-16,384
* standard
: 1-1,024
*
*
* gp2
| gp3
* io1
| io2
* st1
* sc1
* standard
* st1
) and Cold HDD (sc1
) volumes can't be used as boot
* volumes.
* gp2
* io1
* and io2
volumes only. For more information, see Amazon EBS Multi-Attach in
* the Amazon Elastic Compute Cloud User Guide.
* gp3
volumes.
*
* The following are the supported volumes sizes for each volume type: *
*
* gp2
and gp3
: 1-16,384
*
* io1
and io2
: 4-16,384
*
* st1
and sc1
: 125-16,384
*
* standard
: 1-1,024
*
us-east-1a
.
*/
public CreateVolumeRequest(Integer size, String availabilityZone) {
setSize(size);
setAvailabilityZone(availabilityZone);
}
/**
* Constructs a new CreateVolumeRequest object. Callers should use the setter or fluent setter (with...) methods to
* initialize any additional object members.
*
* @param snapshotId
* The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
* @param availabilityZone
* The ID of the Availability Zone in which to create the volume. For example, us-east-1a
.
*/
public CreateVolumeRequest(String snapshotId, String availabilityZone) {
setSnapshotId(snapshotId);
setAvailabilityZone(availabilityZone);
}
/**
*
* The ID of the Availability Zone in which to create the volume. For example, us-east-1a
.
*
us-east-1a
.
*/
public void setAvailabilityZone(String availabilityZone) {
this.availabilityZone = availabilityZone;
}
/**
*
* The ID of the Availability Zone in which to create the volume. For example, us-east-1a
.
*
us-east-1a
.
*/
public String getAvailabilityZone() {
return this.availabilityZone;
}
/**
*
* The ID of the Availability Zone in which to create the volume. For example, us-east-1a
.
*
us-east-1a
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVolumeRequest withAvailabilityZone(String availabilityZone) {
setAvailabilityZone(availabilityZone);
return this;
}
/**
*
* 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 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. *
* * @param 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 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. */ public void setEncrypted(Boolean encrypted) { this.encrypted = 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 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. *
* * @return 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 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. */ public Boolean getEncrypted() { return this.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 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. *
* * @param 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 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateVolumeRequest withEncrypted(Boolean encrypted) { setEncrypted(encrypted); return this; } /** *
* 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 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. *
* * @return 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 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. */ public Boolean isEncrypted() { return this.encrypted; } /** *
* The number of I/O operations per second (IOPS). For gp3
, io1
, and io2
* volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
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-64,000 IOPS
*
* io1
and io2
volumes support up to 64,000 IOPS only on Instances
* built on the Nitro System. Other instance families support performance up to 32,000 IOPS.
*
* This parameter is required for io1
and io2
volumes. The default for gp3
* volumes is 3,000 IOPS. This parameter is not supported for gp2
, st1
, sc1
,
* or standard
volumes.
*
gp3
, io1
, and
* io2
volumes, this represents the number of IOPS that are provisioned for the volume. For
* gp2
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-64,000 IOPS
*
* io1
and io2
volumes support up to 64,000 IOPS only on Instances built on the Nitro System. Other instance families support performance up to 32,000 IOPS.
*
* This parameter is required for io1
and io2
volumes. The default for
* gp3
volumes is 3,000 IOPS. This parameter is not supported for gp2
,
* st1
, sc1
, or standard
volumes.
*/
public void setIops(Integer iops) {
this.iops = iops;
}
/**
*
* The number of I/O operations per second (IOPS). For gp3
, io1
, and io2
* volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
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-64,000 IOPS
*
* io1
and io2
volumes support up to 64,000 IOPS only on Instances
* built on the Nitro System. Other instance families support performance up to 32,000 IOPS.
*
* This parameter is required for io1
and io2
volumes. The default for gp3
* volumes is 3,000 IOPS. This parameter is not supported for gp2
, st1
, sc1
,
* or standard
volumes.
*
gp3
, io1
, and
* io2
volumes, this represents the number of IOPS that are provisioned for the volume. For
* gp2
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-64,000 IOPS
*
* io1
and io2
volumes support up to 64,000 IOPS only on Instances built on the Nitro System. Other instance families support performance up to 32,000 IOPS.
*
* This parameter is required for io1
and io2
volumes. The default for
* gp3
volumes is 3,000 IOPS. This parameter is not supported for gp2
,
* st1
, sc1
, or standard
volumes.
*/
public Integer getIops() {
return this.iops;
}
/**
*
* The number of I/O operations per second (IOPS). For gp3
, io1
, and io2
* volumes, this represents the number of IOPS that are provisioned for the volume. For gp2
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-64,000 IOPS
*
* io1
and io2
volumes support up to 64,000 IOPS only on Instances
* built on the Nitro System. Other instance families support performance up to 32,000 IOPS.
*
* This parameter is required for io1
and io2
volumes. The default for gp3
* volumes is 3,000 IOPS. This parameter is not supported for gp2
, st1
, sc1
,
* or standard
volumes.
*
gp3
, io1
, and
* io2
volumes, this represents the number of IOPS that are provisioned for the volume. For
* gp2
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-64,000 IOPS
*
* io1
and io2
volumes support up to 64,000 IOPS only on Instances built on the Nitro System. Other instance families support performance up to 32,000 IOPS.
*
* This parameter is required for io1
and io2
volumes. The default for
* gp3
volumes is 3,000 IOPS. This parameter is not supported for gp2
,
* st1
, sc1
, or standard
volumes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVolumeRequest withIops(Integer iops) {
setIops(iops);
return this;
}
/**
*
* The identifier of the Key Management Service (KMS) 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 be true
.
*
* 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. *
* * @param kmsKeyId * The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this * parameter is not specified, your KMS key for Amazon EBS is used. IfKmsKeyId
is specified,
* the encrypted state must be true
.
* * 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. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** *
* The identifier of the Key Management Service (KMS) 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 be true
.
*
* 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. *
* * @return The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this * parameter is not specified, your KMS key for Amazon EBS is used. IfKmsKeyId
is specified,
* the encrypted state must be true
.
* * 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. */ public String getKmsKeyId() { return this.kmsKeyId; } /** *
* The identifier of the Key Management Service (KMS) 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 be true
.
*
* 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. *
* * @param kmsKeyId * The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this * parameter is not specified, your KMS key for Amazon EBS is used. IfKmsKeyId
is specified,
* the encrypted state must be true
.
* * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateVolumeRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *
* The Amazon Resource Name (ARN) of the Outpost. *
* * @param outpostArn * The Amazon Resource Name (ARN) of the Outpost. */ public void setOutpostArn(String outpostArn) { this.outpostArn = outpostArn; } /** ** The Amazon Resource Name (ARN) of the Outpost. *
* * @return The Amazon Resource Name (ARN) of the Outpost. */ public String getOutpostArn() { return this.outpostArn; } /** ** The Amazon Resource Name (ARN) of the Outpost. *
* * @param outpostArn * The Amazon Resource Name (ARN) of the Outpost. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateVolumeRequest withOutpostArn(String outpostArn) { setOutpostArn(outpostArn); return this; } /** ** 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
and gp3
: 1-16,384
*
* io1
and io2
: 4-16,384
*
* st1
and sc1
: 125-16,384
*
* standard
: 1-1,024
*
* The following are the supported volumes sizes for each volume type: *
*
* gp2
and gp3
: 1-16,384
*
* io1
and io2
: 4-16,384
*
* st1
and sc1
: 125-16,384
*
* standard
: 1-1,024
*
* 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
and gp3
: 1-16,384
*
* io1
and io2
: 4-16,384
*
* st1
and sc1
: 125-16,384
*
* standard
: 1-1,024
*
* The following are the supported volumes sizes for each volume type: *
*
* gp2
and gp3
: 1-16,384
*
* io1
and io2
: 4-16,384
*
* st1
and sc1
: 125-16,384
*
* standard
: 1-1,024
*
* 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
and gp3
: 1-16,384
*
* io1
and io2
: 4-16,384
*
* st1
and sc1
: 125-16,384
*
* standard
: 1-1,024
*
* The following are the supported volumes sizes for each volume type: *
*
* gp2
and gp3
: 1-16,384
*
* io1
and io2
: 4-16,384
*
* st1
and sc1
: 125-16,384
*
* standard
: 1-1,024
*
* The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size. *
* * @param snapshotId * The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size. */ public void setSnapshotId(String snapshotId) { this.snapshotId = snapshotId; } /** ** The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size. *
* * @return The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size. */ public String getSnapshotId() { return this.snapshotId; } /** ** The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size. *
* * @param snapshotId * The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateVolumeRequest withSnapshotId(String snapshotId) { setSnapshotId(snapshotId); return this; } /** ** 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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
*
* 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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
* @see VolumeType
*/
public void setVolumeType(String volumeType) {
this.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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
*
* 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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
* @see VolumeType
*/
public String getVolumeType() {
return this.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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
*
* 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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
* @return Returns a reference to this object so that method calls can be chained together.
* @see VolumeType
*/
public CreateVolumeRequest withVolumeType(String volumeType) {
setVolumeType(volumeType);
return this;
}
/**
*
* 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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
*
* 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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
* @see VolumeType
*/
public void setVolumeType(VolumeType volumeType) {
withVolumeType(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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
*
* 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 Elastic Compute Cloud User Guide. *
*
* Default: gp2
* @return Returns a reference to this object so that method calls can be chained together.
* @see VolumeType
*/
public CreateVolumeRequest withVolumeType(VolumeType volumeType) {
this.volumeType = volumeType.toString();
return this;
}
/**
*
* The tags to apply to the volume during creation. *
* * @return The tags to apply to the volume during creation. */ public java.util.List* The tags to apply to the volume during creation. *
* * @param tagSpecifications * The tags to apply to the volume during creation. */ public void setTagSpecifications(java.util.Collection* The tags to apply to the volume during creation. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTagSpecifications(java.util.Collection)} or {@link #withTagSpecifications(java.util.Collection)} if * you want to override the existing values. *
* * @param tagSpecifications * The tags to apply to the volume during creation. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateVolumeRequest withTagSpecifications(TagSpecification... tagSpecifications) { if (this.tagSpecifications == null) { setTagSpecifications(new com.amazonaws.internal.SdkInternalList* The tags to apply to the volume during creation. *
* * @param tagSpecifications * The tags to apply to the volume during creation. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateVolumeRequest withTagSpecifications(java.util.Collection
* 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
* and io2
volumes only. For more information, see Amazon EBS Multi-Attach in
* the Amazon Elastic Compute Cloud User Guide.
*
io1
and io2
volumes only. For more information, see Amazon EBS
* Multi-Attach in the Amazon Elastic Compute Cloud User Guide.
*/
public void setMultiAttachEnabled(Boolean multiAttachEnabled) {
this.multiAttachEnabled = 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
* and io2
volumes only. For more information, see Amazon EBS Multi-Attach in
* the Amazon Elastic Compute Cloud User Guide.
*
io1
and io2
volumes only. For more information, see Amazon EBS
* Multi-Attach in the Amazon Elastic Compute Cloud User Guide.
*/
public Boolean getMultiAttachEnabled() {
return this.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
* and io2
volumes only. For more information, see Amazon EBS Multi-Attach in
* the Amazon Elastic Compute Cloud User Guide.
*
io1
and io2
volumes only. For more information, see Amazon EBS
* Multi-Attach in the Amazon Elastic Compute Cloud User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateVolumeRequest withMultiAttachEnabled(Boolean multiAttachEnabled) {
setMultiAttachEnabled(multiAttachEnabled);
return this;
}
/**
*
* 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
* and io2
volumes only. For more information, see Amazon EBS Multi-Attach in
* the Amazon Elastic Compute Cloud User Guide.
*
io1
and io2
volumes only. For more information, see Amazon EBS
* Multi-Attach in the Amazon Elastic Compute Cloud User Guide.
*/
public Boolean isMultiAttachEnabled() {
return this.multiAttachEnabled;
}
/**
* * 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. *
* * @param 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. */ public void setThroughput(Integer throughput) { this.throughput = 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. *
* * @return 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. */ public Integer getThroughput() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateVolumeRequest withThroughput(Integer throughput) { setThroughput(throughput); return this; } /** *
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensure * Idempotency. *
* * @param clientToken * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensure * Idempotency. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** ** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensure * Idempotency. *
* * @return Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensure * Idempotency. */ public String getClientToken() { return this.clientToken; } /** ** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensure * Idempotency. *
* * @param clientToken * Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more * information, see Ensure * Idempotency. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateVolumeRequest withClientToken(String clientToken) { setClientToken(clientToken); return this; } /** * This method is intended for internal use only. Returns the marshaled request configured with additional * parameters to enable operation dry-run. */ @Override public Request