aws_sdk_docdbelastic/client/
copy_cluster_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 [`CopyClusterSnapshot`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`snapshot_arn(impl Into<String>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::snapshot_arn) / [`set_snapshot_arn(Option<String>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::set_snapshot_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) identifier of the elastic cluster snapshot.</p><br>
7    ///   - [`target_snapshot_name(impl Into<String>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::target_snapshot_name) / [`set_target_snapshot_name(Option<String>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::set_target_snapshot_name):<br>required: **true**<br><p>The identifier of the new elastic cluster snapshot to create from the source cluster snapshot. This parameter is not case sensitive.</p> <p>Constraints:</p> <ul>  <li>   <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p></li>  <li>   <p>The first character must be a letter.</p></li>  <li>   <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li> </ul> <p>Example: <code>elastic-cluster-snapshot-5</code></p><br>
8    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>The Amazon Web Services KMS key ID for an encrypted elastic cluster snapshot. The Amazon Web Services KMS key ID is the Amazon Resource Name (ARN), Amazon Web Services KMS key identifier, or the Amazon Web Services KMS key alias for the Amazon Web Services KMS encryption key.</p> <p>If you copy an encrypted elastic cluster snapshot from your Amazon Web Services account, you can specify a value for <code>KmsKeyId</code> to encrypt the copy with a new Amazon Web ServicesS KMS encryption key. If you don't specify a value for <code>KmsKeyId</code>, then the copy of the elastic cluster snapshot is encrypted with the same <code>AWS</code> KMS key as the source elastic cluster snapshot.</p> <p>To copy an encrypted elastic cluster snapshot to another Amazon Web Services region, set <code>KmsKeyId</code> to the Amazon Web Services KMS key ID that you want to use to encrypt the copy of the elastic cluster snapshot in the destination region. Amazon Web Services KMS encryption keys are specific to the Amazon Web Services region that they are created in, and you can't use encryption keys from one Amazon Web Services region in another Amazon Web Services region.</p> <p>If you copy an unencrypted elastic cluster snapshot and specify a value for the <code>KmsKeyId</code> parameter, an error is returned.</p><br>
9    ///   - [`copy_tags(bool)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::copy_tags) / [`set_copy_tags(Option<bool>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::set_copy_tags):<br>required: **false**<br><p>Set to <code>true</code> to copy all tags from the source cluster snapshot to the target elastic cluster snapshot. The default is <code>false</code>.</p><br>
10    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to be assigned to the elastic cluster snapshot.</p><br>
11    /// - On success, responds with [`CopyClusterSnapshotOutput`](crate::operation::copy_cluster_snapshot::CopyClusterSnapshotOutput) with field(s):
12    ///   - [`snapshot(Option<ClusterSnapshot>)`](crate::operation::copy_cluster_snapshot::CopyClusterSnapshotOutput::snapshot): <p>Returns information about a specific elastic cluster snapshot.</p>
13    /// - On failure, responds with [`SdkError<CopyClusterSnapshotError>`](crate::operation::copy_cluster_snapshot::CopyClusterSnapshotError)
14    pub fn copy_cluster_snapshot(&self) -> crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder {
15        crate::operation::copy_cluster_snapshot::builders::CopyClusterSnapshotFluentBuilder::new(self.handle.clone())
16    }
17}