aws_sdk_ec2/client/copy_volumes.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CopyVolumes`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`source_volume_id(impl Into<String>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::source_volume_id) / [`set_source_volume_id(Option<String>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_source_volume_id):<br>required: **true**<br><p>The ID of the source EBS volume to copy.</p><br>
7 /// - [`iops(i32)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::iops) / [`set_iops(Option<i32>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_iops):<br>required: **false**<br><p>The number of I/O operations per second (IOPS) to provision for the volume copy. Required for <code>io1</code> and <code>io2</code> volumes. Optional for <code>gp3</code> volumes. Omit for all other volume types. Full provisioned IOPS performance can be achieved only once the volume copy is fully initialized.</p> <p>Valid ranges:</p> <ul> <li> <p>gp3: <code>3,000 </code>(<i>default</i>)<code> - 80,000</code> IOPS</p></li> <li> <p>io1: <code>100 - 64,000</code> IOPS</p></li> <li> <p>io2: <code>100 - 256,000</code> IOPS</p></li> </ul><note> <p><a href="https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html"> Instances built on the Nitro System</a> can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.</p> </note><br>
8 /// - [`size(i32)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::size) / [`set_size(Option<i32>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_size):<br>required: **false**<br><p>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.</p> <p>Maximum supported sizes:</p> <ul> <li> <p>gp2: <code>16,384</code> GiB</p></li> <li> <p>gp3: <code>65,536</code> GiB</p></li> <li> <p>io1: <code>16,384</code> GiB</p></li> <li> <p>io2: <code>65,536</code> GiB</p></li> <li> <p>st1 and sc1: <code>16,384</code> GiB</p></li> <li> <p>standard: <code>1024</code> GiB</p></li> </ul><br>
9 /// - [`volume_type(VolumeType)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::volume_type) / [`set_volume_type(Option<VolumeType>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_volume_type):<br>required: **false**<br><p>The volume type for the volume copy. If not specified, the volume type defaults to <code>gp2</code>.</p><br>
10 /// - [`dry_run(bool)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_dry_run):<br>required: **false**<br><p>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 <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p><br>
11 /// - [`tag_specifications(TagSpecification)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::tag_specifications) / [`set_tag_specifications(Option<Vec::<TagSpecification>>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_tag_specifications):<br>required: **false**<br><p>The tags to apply to the volume copy during creation.</p><br>
12 /// - [`multi_attach_enabled(bool)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::multi_attach_enabled) / [`set_multi_attach_enabled(Option<bool>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_multi_attach_enabled):<br>required: **false**<br><p>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 <code>io1</code> and <code>io2</code> volumes only. For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes-multi.html"> Amazon EBS Multi-Attach</a>.</p><br>
13 /// - [`throughput(i32)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::throughput) / [`set_throughput(Option<i32>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_throughput):<br>required: **false**<br><p>The throughput to provision for the volume copy, in MiB/s. Supported for <code>gp3</code> volumes only. Omit for all other volume types. Full provisioned throughput performance can be achieved only once the volume copy is fully initialized.</p> <p>Valid Range: <code>125 - 2000</code> MiB/s</p> <p></p><br>
14 /// - [`client_token(impl Into<String>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::set_client_token):<br>required: **false**<br><p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html"> Ensure Idempotency</a>.</p><br>
15 /// - On success, responds with [`CopyVolumesOutput`](crate::operation::copy_volumes::CopyVolumesOutput) with field(s):
16 /// - [`volumes(Option<Vec::<Volume>>)`](crate::operation::copy_volumes::CopyVolumesOutput::volumes): <p>Information about the volume copy.</p>
17 /// - On failure, responds with [`SdkError<CopyVolumesError>`](crate::operation::copy_volumes::CopyVolumesError)
18 pub fn copy_volumes(&self) -> crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder {
19 crate::operation::copy_volumes::builders::CopyVolumesFluentBuilder::new(self.handle.clone())
20 }
21}