aws_sdk_elasticache/client/copy_snapshot.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 [`CopySnapshot`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`source_snapshot_name(impl Into<String>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::source_snapshot_name) / [`set_source_snapshot_name(Option<String>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::set_source_snapshot_name):<br>required: **true**<br><p>The name of an existing snapshot from which to make a copy.</p><br>
7 /// - [`target_snapshot_name(impl Into<String>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::target_snapshot_name) / [`set_target_snapshot_name(Option<String>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::set_target_snapshot_name):<br>required: **true**<br><p>A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, therefore this name must be unique within its context - ElastiCache or an Amazon S3 bucket if exporting.</p><br>
8 /// - [`target_bucket(impl Into<String>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::target_bucket) / [`set_target_bucket(Option<String>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::set_target_bucket):<br>required: **false**<br><p>The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access.</p> <p>When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/backups-exporting.html#backups-exporting-grant-access">Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket</a> in the <i>Amazon ElastiCache User Guide</i>.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/backups-exporting.html">Exporting a Snapshot</a> in the <i>Amazon ElastiCache User Guide</i>.</p><br>
9 /// - [`kms_key_id(impl Into<String>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>The ID of the KMS key used to encrypt the target snapshot.</p><br>
10 /// - [`tags(Tag)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::set_tags):<br>required: **false**<br><p>A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.</p><br>
11 /// - On success, responds with [`CopySnapshotOutput`](crate::operation::copy_snapshot::CopySnapshotOutput) with field(s):
12 /// - [`snapshot(Option<Snapshot>)`](crate::operation::copy_snapshot::CopySnapshotOutput::snapshot): <p>Represents a copy of an entire Valkey or Redis OSS cluster as of the time when the snapshot was taken.</p>
13 /// - On failure, responds with [`SdkError<CopySnapshotError>`](crate::operation::copy_snapshot::CopySnapshotError)
14 pub fn copy_snapshot(&self) -> crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder {
15 crate::operation::copy_snapshot::builders::CopySnapshotFluentBuilder::new(self.handle.clone())
16 }
17}