createBackup method
Creates a backup of an existing Amazon FSx file system. Creating regular backups for your file system is a best practice, enabling you to restore a file system from a backup if an issue arises with the original file system.
For Amazon FSx for Lustre file systems, you can create a backup only for file systems with the following configuration:
- a Persistent deployment type
- is not linked to a data respository.
For more information about backing up Amazon FSx for Windows file systems, see Working with FSx for Windows backups.
If a backup with the specified client request token exists, and the
parameters match, this operation returns the description of the existing
backup. If a backup specified client request token exists, and the
parameters don't match, this operation returns
IncompatibleParameterError
. If a backup with the specified
client request token doesn't exist, CreateBackup
does the
following:
-
Creates a new Amazon FSx backup with an assigned ID, and an initial
lifecycle state of
CREATING
. - Returns the description of the backup.
CreateBackup
operation without the risk of creating an extra
backup. This approach can be useful when an initial call fails in a way
that makes it unclear whether a backup was created. If you use the same
client request token and the initial call created a backup, the operation
returns a successful result because all the parameters are the same.
The CreateBackup
operation returns while the backup's
lifecycle state is still CREATING
. You can check the backup
creation status by calling the DescribeBackups operation, which
returns the backup state along with other information.
May throw BadRequest. May throw UnsupportedOperation. May throw FileSystemNotFound. May throw BackupInProgress. May throw IncompatibleParameterError. May throw ServiceLimitExceeded. May throw InternalServerError.
Parameter fileSystemId
:
The ID of the file system to back up.
Parameter clientRequestToken
:
(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to
ensure idempotent creation. This string is automatically filled on your
behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS
SDK.
Parameter tags
:
(Optional) The tags to apply to the backup at backup creation. The key
value of the Name
tag appears in the console as the backup
name. If you have set CopyTagsToBackups
to true, and you
specify one or more tags using the CreateBackup
action, no
existing file system tags are copied from the file system to the backup.
Implementation
Future<CreateBackupResponse> createBackup({
required String fileSystemId,
String? clientRequestToken,
List<Tag>? tags,
}) async {
ArgumentError.checkNotNull(fileSystemId, 'fileSystemId');
_s.validateStringLength(
'fileSystemId',
fileSystemId,
11,
21,
isRequired: true,
);
_s.validateStringLength(
'clientRequestToken',
clientRequestToken,
1,
63,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSSimbaAPIService_v20180301.CreateBackup'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'FileSystemId': fileSystemId,
'ClientRequestToken':
clientRequestToken ?? _s.generateIdempotencyToken(),
if (tags != null) 'Tags': tags,
},
);
return CreateBackupResponse.fromJson(jsonResponse.body);
}