aws_sdk_ec2/client/modify_volume.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 [`ModifyVolume`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`dry_run(bool)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::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>
7 /// - [`volume_id(impl Into<String>)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::volume_id) / [`set_volume_id(Option<String>)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::set_volume_id):<br>required: **true**<br><p>The ID of the volume.</p><br>
8 /// - [`size(i32)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::size) / [`set_size(Option<i32>)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::set_size):<br>required: **false**<br><p>The target size of the volume, in GiB. The target volume size must be greater than or equal to the existing size of the volume.</p> <p>The following are the supported volumes sizes for each volume type:</p> <ul> <li> <p><code>gp2</code> and <code>gp3</code>: 1 - 16,384 GiB</p></li> <li> <p><code>io1</code>: 4 - 16,384 GiB</p></li> <li> <p><code>io2</code>: 4 - 65,536 GiB</p></li> <li> <p><code>st1</code> and <code>sc1</code>: 125 - 16,384 GiB</p></li> <li> <p><code>standard</code>: 1 - 1024 GiB</p></li> </ul> <p>Default: The existing size is retained.</p><br>
9 /// - [`volume_type(VolumeType)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::volume_type) / [`set_volume_type(Option<VolumeType>)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::set_volume_type):<br>required: **false**<br><p>The target EBS volume type of the volume. For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html">Amazon EBS volume types</a> in the <i>Amazon EBS User Guide</i>.</p> <p>Default: The existing type is retained.</p><br>
10 /// - [`iops(i32)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::iops) / [`set_iops(Option<i32>)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::set_iops):<br>required: **false**<br><p>The target IOPS rate of the volume. This parameter is valid only for <code>gp3</code>, <code>io1</code>, and <code>io2</code> volumes.</p> <p>The following are the supported values for each volume type:</p> <ul> <li> <p><code>gp3</code>: 3,000 - 16,000 IOPS</p></li> <li> <p><code>io1</code>: 100 - 64,000 IOPS</p></li> <li> <p><code>io2</code>: 100 - 256,000 IOPS</p></li> </ul> <p>For <code>io2</code> volumes, you can achieve up to 256,000 IOPS on <a href="https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html">instances built on the Nitro System</a>. On other instances, you can achieve performance up to 32,000 IOPS.</p> <p>Default: The existing value is retained if you keep the same volume type. If you change the volume type to <code>io1</code>, <code>io2</code>, or <code>gp3</code>, the default is 3,000.</p><br>
11 /// - [`throughput(i32)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::throughput) / [`set_throughput(Option<i32>)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::set_throughput):<br>required: **false**<br><p>The target throughput of the volume, in MiB/s. This parameter is valid only for <code>gp3</code> volumes. The maximum value is 1,000.</p> <p>Default: The existing value is retained if the source and target volume type is <code>gp3</code>. Otherwise, the default value is 125.</p> <p>Valid Range: Minimum value of 125. Maximum value of 1000.</p><br>
12 /// - [`multi_attach_enabled(bool)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::multi_attach_enabled) / [`set_multi_attach_enabled(Option<bool>)`](crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::set_multi_attach_enabled):<br>required: **false**<br><p>Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 <a href="https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html"> Nitro-based instances</a> in the same Availability Zone. This parameter is 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> in the <i>Amazon EBS User Guide</i>.</p><br>
13 /// - On success, responds with [`ModifyVolumeOutput`](crate::operation::modify_volume::ModifyVolumeOutput) with field(s):
14 /// - [`volume_modification(Option<VolumeModification>)`](crate::operation::modify_volume::ModifyVolumeOutput::volume_modification): <p>Information about the volume modification.</p>
15 /// - On failure, responds with [`SdkError<ModifyVolumeError>`](crate::operation::modify_volume::ModifyVolumeError)
16 pub fn modify_volume(&self) -> crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder {
17 crate::operation::modify_volume::builders::ModifyVolumeFluentBuilder::new(self.handle.clone())
18 }
19}