1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CopySnapshotAndUpdateVolume`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`client_request_token(impl Into<String>)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::client_request_token) / [`set_client_request_token(Option<String>)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::set_client_request_token):<br>required: **false**<br><p>(Optional) An idempotency token for resource creation, in a string of up to 63 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.</p><br>
    ///   - [`volume_id(impl Into<String>)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::volume_id) / [`set_volume_id(Option<String>)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::set_volume_id):<br>required: **true**<br><p>Specifies the ID of the volume that you are copying the snapshot to.</p><br>
    ///   - [`source_snapshot_arn(impl Into<String>)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::source_snapshot_arn) / [`set_source_snapshot_arn(Option<String>)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::set_source_snapshot_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify Amazon Web Services resources. We require an ARN when you need to specify a resource unambiguously across all of Amazon Web Services. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i>.</p><br>
    ///   - [`copy_strategy(OpenZfsCopyStrategy)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::copy_strategy) / [`set_copy_strategy(Option<OpenZfsCopyStrategy>)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::set_copy_strategy):<br>required: **false**<br><p>Specifies the strategy to use when copying data from a snapshot to the volume.</p> <ul>  <li>   <p><code>FULL_COPY</code> - Copies all data from the snapshot to the volume.</p></li>  <li>   <p><code>INCREMENTAL_COPY</code> - Copies only the snapshot data that's changed since the previous replication.</p></li> </ul><note>  <p><code>CLONE</code> isn't a valid copy strategy option for the <code>CopySnapshotAndUpdateVolume</code> operation.</p> </note><br>
    ///   - [`options(UpdateOpenZfsVolumeOption)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::options) / [`set_options(Option<Vec::<UpdateOpenZfsVolumeOption>>)`](crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::set_options):<br>required: **false**<br><p>Confirms that you want to delete data on the destination volume that wasn’t there during the previous snapshot replication.</p> <p>Your replication will fail if you don’t include an option for a specific type of data and that data is on your destination. For example, if you don’t include <code>DELETE_INTERMEDIATE_SNAPSHOTS</code> and there are intermediate snapshots on the destination, you can’t copy the snapshot.</p> <ul>  <li>   <p><code>DELETE_INTERMEDIATE_SNAPSHOTS</code> - Deletes snapshots on the destination volume that aren’t on the source volume.</p></li>  <li>   <p><code>DELETE_CLONED_VOLUMES</code> - Deletes snapshot clones on the destination volume that aren't on the source volume.</p></li>  <li>   <p><code>DELETE_INTERMEDIATE_DATA</code> - Overwrites snapshots on the destination volume that don’t match the source snapshot that you’re copying.</p></li> </ul><br>
    /// - On success, responds with [`CopySnapshotAndUpdateVolumeOutput`](crate::operation::copy_snapshot_and_update_volume::CopySnapshotAndUpdateVolumeOutput) with field(s):
    ///   - [`volume_id(Option<String>)`](crate::operation::copy_snapshot_and_update_volume::CopySnapshotAndUpdateVolumeOutput::volume_id): <p>The ID of the volume that you copied the snapshot to.</p>
    ///   - [`lifecycle(Option<VolumeLifecycle>)`](crate::operation::copy_snapshot_and_update_volume::CopySnapshotAndUpdateVolumeOutput::lifecycle): <p>The lifecycle state of the destination volume.</p>
    ///   - [`administrative_actions(Option<Vec::<AdministrativeAction>>)`](crate::operation::copy_snapshot_and_update_volume::CopySnapshotAndUpdateVolumeOutput::administrative_actions): <p>A list of administrative actions for the file system that are in process or waiting to be processed. Administrative actions describe changes to the Amazon FSx system.</p>
    /// - On failure, responds with [`SdkError<CopySnapshotAndUpdateVolumeError>`](crate::operation::copy_snapshot_and_update_volume::CopySnapshotAndUpdateVolumeError)
    pub fn copy_snapshot_and_update_volume(
        &self,
    ) -> crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder {
        crate::operation::copy_snapshot_and_update_volume::builders::CopySnapshotAndUpdateVolumeFluentBuilder::new(self.handle.clone())
    }
}