/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The result of the CreateSnapshotCopyGrant action.See
* Also:
AWS
* API Reference
The name of the snapshot copy grant. This name must be unique in the region * for the AWS account.
Constraints:
Must contain from 1 to * 63 alphanumeric characters or hyphens.
Alphabetic characters * must be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an AWS account.
The name of the snapshot copy grant. This name must be unique in the region * for the AWS account.
Constraints:
Must contain from 1 to * 63 alphanumeric characters or hyphens.
Alphabetic characters * must be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an AWS account.
The name of the snapshot copy grant. This name must be unique in the region * for the AWS account.
Constraints:
Must contain from 1 to * 63 alphanumeric characters or hyphens.
Alphabetic characters * must be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an AWS account.
The name of the snapshot copy grant. This name must be unique in the region * for the AWS account.
Constraints:
Must contain from 1 to * 63 alphanumeric characters or hyphens.
Alphabetic characters * must be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an AWS account.
The name of the snapshot copy grant. This name must be unique in the region * for the AWS account.
Constraints:
Must contain from 1 to * 63 alphanumeric characters or hyphens.
Alphabetic characters * must be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an AWS account.
The name of the snapshot copy grant. This name must be unique in the region * for the AWS account.
Constraints:
Must contain from 1 to * 63 alphanumeric characters or hyphens.
Alphabetic characters * must be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an AWS account.
The name of the snapshot copy grant. This name must be unique in the region * for the AWS account.
Constraints:
Must contain from 1 to * 63 alphanumeric characters or hyphens.
Alphabetic characters * must be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an AWS account.
The name of the snapshot copy grant. This name must be unique in the region * for the AWS account.
Constraints:
Must contain from 1 to * 63 alphanumeric characters or hyphens.
Alphabetic characters * must be lowercase.
First character must be a letter.
Cannot end with a hyphen or contain two consecutive hyphens.
Must be unique for all clusters within an AWS account.
The unique identifier of the customer master key (CMK) to which to grant * Amazon Redshift permission. If no key is specified, the default key is used.
*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *The unique identifier of the customer master key (CMK) to which to grant * Amazon Redshift permission. If no key is specified, the default key is used.
*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *The unique identifier of the customer master key (CMK) to which to grant * Amazon Redshift permission. If no key is specified, the default key is used.
*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *The unique identifier of the customer master key (CMK) to which to grant * Amazon Redshift permission. If no key is specified, the default key is used.
*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *The unique identifier of the customer master key (CMK) to which to grant * Amazon Redshift permission. If no key is specified, the default key is used.
*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *The unique identifier of the customer master key (CMK) to which to grant * Amazon Redshift permission. If no key is specified, the default key is used.
*/ inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *The unique identifier of the customer master key (CMK) to which to grant * Amazon Redshift permission. If no key is specified, the default key is used.
*/ inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *The unique identifier of the customer master key (CMK) to which to grant * Amazon Redshift permission. If no key is specified, the default key is used.
*/ inline CreateSnapshotCopyGrantRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *A list of tag instances.
*/ inline const Aws::VectorA list of tag instances.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *A list of tag instances.
*/ inline void SetTags(const Aws::VectorA list of tag instances.
*/ inline void SetTags(Aws::VectorA list of tag instances.
*/ inline CreateSnapshotCopyGrantRequest& WithTags(const Aws::VectorA list of tag instances.
*/ inline CreateSnapshotCopyGrantRequest& WithTags(Aws::VectorA list of tag instances.
*/ inline CreateSnapshotCopyGrantRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *A list of tag instances.
*/ inline CreateSnapshotCopyGrantRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_snapshotCopyGrantName; bool m_snapshotCopyGrantNameHasBeenSet; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet; Aws::Vector