1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateSnapshotCopyGrant`](crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`snapshot_copy_grant_name(impl Into<String>)`](crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder::snapshot_copy_grant_name) / [`set_snapshot_copy_grant_name(Option<String>)`](crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder::set_snapshot_copy_grant_name):<br>required: **true**<br><p>The name of the snapshot copy grant. This name must be unique in the region for the Amazon Web Services account.</p> <p>Constraints:</p> <ul>  <li>   <p>Must contain from 1 to 63 alphanumeric characters or hyphens.</p></li>  <li>   <p>Alphabetic characters must be lowercase.</p></li>  <li>   <p>First character must be a letter.</p></li>  <li>   <p>Cannot end with a hyphen or contain two consecutive hyphens.</p></li>  <li>   <p>Must be unique for all clusters within an Amazon Web Services account.</p></li> </ul><br>
    ///   - [`kms_key_id(impl Into<String>)`](crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder::kms_key_id) / [`set_kms_key_id(Option<String>)`](crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder::set_kms_key_id):<br>required: **false**<br><p>The unique identifier of the encrypted symmetric key to which to grant Amazon Redshift permission. If no key is specified, the default key is used.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder::set_tags):<br>required: **false**<br><p>A list of tag instances.</p><br>
    /// - On success, responds with [`CreateSnapshotCopyGrantOutput`](crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantOutput) with field(s):
    ///   - [`snapshot_copy_grant(Option<SnapshotCopyGrant>)`](crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantOutput::snapshot_copy_grant): <p>The snapshot copy grant that grants Amazon Redshift permission to encrypt copied snapshots with the specified encrypted symmetric key from Amazon Web Services KMS in the destination region.</p> <p>For more information about managing snapshot copy grants, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html">Amazon Redshift Database Encryption</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>
    /// - On failure, responds with [`SdkError<CreateSnapshotCopyGrantError>`](crate::operation::create_snapshot_copy_grant::CreateSnapshotCopyGrantError)
    pub fn create_snapshot_copy_grant(&self) -> crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder {
        crate::operation::create_snapshot_copy_grant::builders::CreateSnapshotCopyGrantFluentBuilder::new(self.handle.clone())
    }
}