copyBackup method
Copies an existing backup within the same Amazon Web Services account to another Amazon Web Services Region (cross-Region copy) or within the same Amazon Web Services Region (in-Region copy). You can have up to five backup copy requests in progress to a single destination Region per account.
You can use cross-Region backup copies for cross-Region disaster recovery.
You can periodically take backups and copy them to another Region so that
in the event of a disaster in the primary Region, you can restore from
backup and recover availability quickly in the other Region. You can make
cross-Region copies only within your Amazon Web Services partition. A
partition is a grouping of Regions. Amazon Web Services currently has
three partitions: aws (Standard Regions), aws-cn
(China Regions), and aws-us-gov (Amazon Web Services GovCloud
[US] Regions).
You can also use backup copies to clone your file dataset to another Region or within the same Region.
You can use the SourceRegion parameter to specify the Amazon
Web Services Region from which the backup will be copied. For example, if
you make the call from the us-west-1 Region and want to copy
a backup from the us-east-2 Region, you specify
us-east-2 in the SourceRegion parameter to make
a cross-Region copy. If you don't specify a Region, the backup copy is
created in the same Region where the request is sent from (in-Region
copy).
For more information about creating backup copies, see Copying backups in the Amazon FSx for Windows User Guide, Copying backups in the Amazon FSx for Lustre User Guide, and Copying backups in the Amazon FSx for OpenZFS User Guide.
May throw BackupNotFound.
May throw BadRequest.
May throw IncompatibleParameterError.
May throw IncompatibleRegionForMultiAZ.
May throw InternalServerError.
May throw InvalidDestinationKmsKey.
May throw InvalidRegion.
May throw InvalidSourceKmsKey.
May throw ServiceLimitExceeded.
May throw SourceBackupUnavailable.
May throw UnsupportedOperation.
Parameter sourceBackupId :
The ID of the source backup. Specifies the ID of the backup that's being
copied.
Parameter copyTags :
A Boolean flag indicating whether tags from the source backup should be
copied to the backup copy. This value defaults to false.
If you set CopyTags to true and the source
backup has existing tags, you can use the Tags parameter to
create new tags, provided that the sum of the source backup tags and the
new tags doesn't exceed 50. Both sets of tags are merged. If there are tag
conflicts (for example, two tags with the same key but different values),
the tags created with the Tags parameter take precedence.
Parameter sourceRegion :
The source Amazon Web Services Region of the backup. Specifies the Amazon
Web Services Region from which the backup is being copied. The source and
destination Regions must be in the same Amazon Web Services partition. If
you don't specify a Region, SourceRegion defaults to the
Region where the request is sent from (in-Region copy).
Implementation
Future<CopyBackupResponse> copyBackup({
required String sourceBackupId,
String? clientRequestToken,
bool? copyTags,
String? kmsKeyId,
String? sourceRegion,
List<Tag>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSSimbaAPIService_v20180301.CopyBackup'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'SourceBackupId': sourceBackupId,
'ClientRequestToken':
clientRequestToken ?? _s.generateIdempotencyToken(),
if (copyTags != null) 'CopyTags': copyTags,
if (kmsKeyId != null) 'KmsKeyId': kmsKeyId,
if (sourceRegion != null) 'SourceRegion': sourceRegion,
if (tags != null) 'Tags': tags,
},
);
return CopyBackupResponse.fromJson(jsonResponse.body);
}