pub struct CreateVolumeFluentBuilder { /* private fields */ }
Expand description
Fluent builder constructing a request to CreateVolume
.
Creates an EBS volume that can be attached to an instance in the same Availability Zone.
You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.
You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.
You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.
For more information, see Create an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.
Implementations§
source§impl CreateVolumeFluentBuilder
impl CreateVolumeFluentBuilder
sourcepub fn as_input(&self) -> &CreateVolumeInputBuilder
pub fn as_input(&self) -> &CreateVolumeInputBuilder
Access the CreateVolume as a reference.
sourcepub async fn send(
self
) -> Result<CreateVolumeOutput, SdkError<CreateVolumeError, HttpResponse>>
pub async fn send( self ) -> Result<CreateVolumeOutput, SdkError<CreateVolumeError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
sourcepub async fn customize(
self
) -> Result<CustomizableOperation<CreateVolumeOutput, CreateVolumeError>, SdkError<CreateVolumeError>>
pub async fn customize( self ) -> Result<CustomizableOperation<CreateVolumeOutput, CreateVolumeError>, SdkError<CreateVolumeError>>
Consumes this builder, creating a customizable operation that can be modified before being sent.
sourcepub fn availability_zone(self, input: impl Into<String>) -> Self
pub fn availability_zone(self, input: impl Into<String>) -> Self
The ID of the Availability Zone in which to create the volume. For example, us-east-1a
.
sourcepub fn set_availability_zone(self, input: Option<String>) -> Self
pub fn set_availability_zone(self, input: Option<String>) -> Self
The ID of the Availability Zone in which to create the volume. For example, us-east-1a
.
sourcepub fn get_availability_zone(&self) -> &Option<String>
pub fn get_availability_zone(&self) -> &Option<String>
The ID of the Availability Zone in which to create the volume. For example, us-east-1a
.
sourcepub fn encrypted(self, input: bool) -> Self
pub fn encrypted(self, input: bool) -> Self
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.
sourcepub fn set_encrypted(self, input: Option<bool>) -> Self
pub fn set_encrypted(self, input: Option<bool>) -> Self
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.
sourcepub fn get_encrypted(&self) -> &Option<bool>
pub fn get_encrypted(&self) -> &Option<bool>
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.
sourcepub fn iops(self, input: i32) -> Self
pub fn iops(self, input: i32) -> Self
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.
sourcepub fn set_iops(self, input: Option<i32>) -> Self
pub fn set_iops(self, input: Option<i32>) -> Self
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.
sourcepub fn get_iops(&self) -> &Option<i32>
pub fn get_iops(&self) -> &Option<i32>
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.
sourcepub fn kms_key_id(self, input: impl Into<String>) -> Self
pub fn kms_key_id(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_kms_key_id(self, input: Option<String>) -> Self
pub fn set_kms_key_id(self, input: Option<String>) -> Self
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.
sourcepub fn get_kms_key_id(&self) -> &Option<String>
pub fn get_kms_key_id(&self) -> &Option<String>
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.
sourcepub fn outpost_arn(self, input: impl Into<String>) -> Self
pub fn outpost_arn(self, input: impl Into<String>) -> Self
The Amazon Resource Name (ARN) of the Outpost.
sourcepub fn set_outpost_arn(self, input: Option<String>) -> Self
pub fn set_outpost_arn(self, input: Option<String>) -> Self
The Amazon Resource Name (ARN) of the Outpost.
sourcepub fn get_outpost_arn(&self) -> &Option<String>
pub fn get_outpost_arn(&self) -> &Option<String>
The Amazon Resource Name (ARN) of the Outpost.
sourcepub fn size(self, input: i32) -> Self
pub fn size(self, input: i32) -> Self
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 -
io1
andio2
: 4-16,384 -
st1
andsc1
: 125-16,384 -
standard
: 1-1,024
sourcepub fn set_size(self, input: Option<i32>) -> Self
pub fn set_size(self, input: Option<i32>) -> Self
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 -
io1
andio2
: 4-16,384 -
st1
andsc1
: 125-16,384 -
standard
: 1-1,024
sourcepub fn get_size(&self) -> &Option<i32>
pub fn get_size(&self) -> &Option<i32>
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 -
io1
andio2
: 4-16,384 -
st1
andsc1
: 125-16,384 -
standard
: 1-1,024
sourcepub fn snapshot_id(self, input: impl Into<String>) -> Self
pub fn snapshot_id(self, input: impl Into<String>) -> Self
The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
sourcepub fn set_snapshot_id(self, input: Option<String>) -> Self
pub fn set_snapshot_id(self, input: Option<String>) -> Self
The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
sourcepub fn get_snapshot_id(&self) -> &Option<String>
pub fn get_snapshot_id(&self) -> &Option<String>
The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
sourcepub fn volume_type(self, input: VolumeType) -> Self
pub fn volume_type(self, input: VolumeType) -> Self
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
sourcepub fn set_volume_type(self, input: Option<VolumeType>) -> Self
pub fn set_volume_type(self, input: Option<VolumeType>) -> Self
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
sourcepub fn get_volume_type(&self) -> &Option<VolumeType>
pub fn get_volume_type(&self) -> &Option<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
sourcepub fn dry_run(self, input: bool) -> Self
pub fn dry_run(self, input: bool) -> Self
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
.
sourcepub fn set_dry_run(self, input: Option<bool>) -> Self
pub fn set_dry_run(self, input: Option<bool>) -> Self
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
.
sourcepub fn get_dry_run(&self) -> &Option<bool>
pub fn get_dry_run(&self) -> &Option<bool>
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
.
sourcepub fn tag_specifications(self, input: TagSpecification) -> Self
pub fn tag_specifications(self, input: TagSpecification) -> Self
Appends an item to TagSpecifications
.
To override the contents of this collection use set_tag_specifications
.
The tags to apply to the volume during creation.
sourcepub fn set_tag_specifications(
self,
input: Option<Vec<TagSpecification>>
) -> Self
pub fn set_tag_specifications( self, input: Option<Vec<TagSpecification>> ) -> Self
The tags to apply to the volume during creation.
sourcepub fn get_tag_specifications(&self) -> &Option<Vec<TagSpecification>>
pub fn get_tag_specifications(&self) -> &Option<Vec<TagSpecification>>
The tags to apply to the volume during creation.
sourcepub fn multi_attach_enabled(self, input: bool) -> Self
pub fn multi_attach_enabled(self, input: bool) -> Self
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.
sourcepub fn set_multi_attach_enabled(self, input: Option<bool>) -> Self
pub fn set_multi_attach_enabled(self, input: Option<bool>) -> Self
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.
sourcepub fn get_multi_attach_enabled(&self) -> &Option<bool>
pub fn get_multi_attach_enabled(&self) -> &Option<bool>
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.
sourcepub fn throughput(self, input: i32) -> Self
pub fn throughput(self, input: i32) -> Self
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.
sourcepub fn set_throughput(self, input: Option<i32>) -> Self
pub fn set_throughput(self, input: Option<i32>) -> Self
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.
sourcepub fn get_throughput(&self) -> &Option<i32>
pub fn get_throughput(&self) -> &Option<i32>
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.
sourcepub fn client_token(self, input: impl Into<String>) -> Self
pub fn client_token(self, input: impl Into<String>) -> Self
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.
sourcepub fn set_client_token(self, input: Option<String>) -> Self
pub fn set_client_token(self, input: Option<String>) -> Self
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.
sourcepub fn get_client_token(&self) -> &Option<String>
pub fn get_client_token(&self) -> &Option<String>
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.
Trait Implementations§
source§impl Clone for CreateVolumeFluentBuilder
impl Clone for CreateVolumeFluentBuilder
source§fn clone(&self) -> CreateVolumeFluentBuilder
fn clone(&self) -> CreateVolumeFluentBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more