copyClusterSnapshot method
Copies a snapshot of an elastic cluster.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ServiceQuotaExceededException.
May throw ThrottlingException.
May throw ValidationException.
Parameter snapshotArn :
The Amazon Resource Name (ARN) identifier of the elastic cluster snapshot.
Parameter targetSnapshotName :
The identifier of the new elastic cluster snapshot to create from the
source cluster snapshot. This parameter is not case sensitive.
Constraints:
- Must contain from 1 to 63 letters, numbers, or hyphens.
- The first character must be a letter.
- Cannot end with a hyphen or contain two consecutive hyphens.
elastic-cluster-snapshot-5
Parameter copyTags :
Set to true to copy all tags from the source cluster snapshot
to the target elastic cluster snapshot. The default is false.
Parameter kmsKeyId :
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.
If you copy an encrypted elastic cluster snapshot from your Amazon Web
Services account, you can specify a value for KmsKeyId to
encrypt the copy with a new Amazon Web ServicesS KMS encryption key. If
you don't specify a value for KmsKeyId, then the copy of the
elastic cluster snapshot is encrypted with the same AWS KMS
key as the source elastic cluster snapshot.
To copy an encrypted elastic cluster snapshot to another Amazon Web
Services region, set KmsKeyId 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.
If you copy an unencrypted elastic cluster snapshot and specify a value
for the KmsKeyId parameter, an error is returned.
Parameter tags :
The tags to be assigned to the elastic cluster snapshot.
Implementation
Future<CopyClusterSnapshotOutput> copyClusterSnapshot({
required String snapshotArn,
required String targetSnapshotName,
bool? copyTags,
String? kmsKeyId,
Map<String, String>? tags,
}) async {
final $payload = <String, dynamic>{
'targetSnapshotName': targetSnapshotName,
if (copyTags != null) 'copyTags': copyTags,
if (kmsKeyId != null) 'kmsKeyId': kmsKeyId,
if (tags != null) 'tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/cluster-snapshot/${Uri.encodeComponent(snapshotArn)}/copy',
exceptionFnMap: _exceptionFns,
);
return CopyClusterSnapshotOutput.fromJson(response);
}