startBackupJob method
- required String backupVaultName,
- required String iamRoleArn,
- required String resourceArn,
- Map<
String, String> ? backupOptions, - int? completeWindowMinutes,
- String? idempotencyToken,
- Index? index,
- Lifecycle? lifecycle,
- String? logicallyAirGappedBackupVaultArn,
- Map<
String, String> ? recoveryPointTags, - int? startWindowMinutes,
Starts an on-demand backup job for the specified resource.
May throw InvalidParameterValueException.
May throw InvalidRequestException.
May throw LimitExceededException.
May throw MissingParameterValueException.
May throw ResourceNotFoundException.
May throw ServiceUnavailableException.
Parameter backupVaultName :
The name of a logical container where backups are stored. Backup vaults
are identified by names that are unique to the account used to create them
and the Amazon Web Services Region where they are created.
Parameter iamRoleArn :
Specifies the IAM role ARN used to create the target recovery point; for
example, arn:aws:iam::123456789012:role/S3Access.
Parameter resourceArn :
An Amazon Resource Name (ARN) that uniquely identifies a resource. The
format of the ARN depends on the resource type.
Parameter backupOptions :
The backup option for a selected resource. This option is only available
for Windows Volume Shadow Copy Service (VSS) backup jobs.
Valid values: Set to "WindowsVSS":"enabled" to enable the
WindowsVSS backup option and create a Windows VSS backup. Set
to "WindowsVSS""disabled" to create a regular backup. The
WindowsVSS option is not enabled by default.
Parameter completeWindowMinutes :
A value in minutes during which a successfully started backup must
complete, or else Backup will cancel the job. This value is optional. This
value begins counting down from when the backup was scheduled. It does not
add additional time for StartWindowMinutes, or if the backup
started later than scheduled.
Like StartWindowMinutes, this parameter has a maximum value
of 100 years (52,560,000 minutes).
Parameter idempotencyToken :
A customer-chosen string that you can use to distinguish between otherwise
identical calls to StartBackupJob. Retrying a successful
request with the same idempotency token results in a success message with
no action taken.
Parameter index :
Include this parameter to enable index creation if your backup job has a
resource type that supports backup indexes.
Resource types that support backup indexes include:
-
EBSfor Amazon Elastic Block Store -
S3for Amazon Simple Storage Service (Amazon S3)
ENABLED or
DISABLED.
To create a backup index for an eligible ACTIVE recovery
point that does not yet have a backup index, set value to
ENABLED.
To delete a backup index, set value to DISABLED.
Parameter lifecycle :
The lifecycle defines when a protected resource is transitioned to cold
storage and when it expires. Backup will transition and expire backups
automatically according to the lifecycle that you define.
Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.
Resource types that can transition to cold storage are listed in the Feature availability by resource table. Backup ignores this expression for other resource types.
This parameter has a maximum value of 100 years (36,500 days).
Parameter logicallyAirGappedBackupVaultArn :
The ARN of a logically air-gapped vault. ARN must be in the same account
and Region. If provided, supported fully managed resources back up
directly to logically air-gapped vault, while other supported resources
create a temporary (billable) snapshot in backup vault, then copy it to
logically air-gapped vault. Unsupported resources only back up to the
specified backup vault.
Parameter recoveryPointTags :
The tags to assign to the resources.
Parameter startWindowMinutes :
A value in minutes after a backup is scheduled before a job will be
canceled if it doesn't start successfully. This value is optional, and the
default is 8 hours. If this value is included, it must be at least 60
minutes to avoid errors.
This parameter has a maximum value of 100 years (52,560,000 minutes).
During the start window, the backup job status remains in
CREATED status until it has successfully begun or until the
start window time has run out. If within the start window time Backup
receives an error that allows the job to be retried, Backup will
automatically retry to begin the job at least every 10 minutes until the
backup successfully begins (the job status changes to
RUNNING) or until the job status changes to
EXPIRED (which is expected to occur when the start window
time is over).
Implementation
Future<StartBackupJobOutput> startBackupJob({
required String backupVaultName,
required String iamRoleArn,
required String resourceArn,
Map<String, String>? backupOptions,
int? completeWindowMinutes,
String? idempotencyToken,
Index? index,
Lifecycle? lifecycle,
String? logicallyAirGappedBackupVaultArn,
Map<String, String>? recoveryPointTags,
int? startWindowMinutes,
}) async {
final $payload = <String, dynamic>{
'BackupVaultName': backupVaultName,
'IamRoleArn': iamRoleArn,
'ResourceArn': resourceArn,
if (backupOptions != null) 'BackupOptions': backupOptions,
if (completeWindowMinutes != null)
'CompleteWindowMinutes': completeWindowMinutes,
'IdempotencyToken': idempotencyToken ?? _s.generateIdempotencyToken(),
if (index != null) 'Index': index.value,
if (lifecycle != null) 'Lifecycle': lifecycle,
if (logicallyAirGappedBackupVaultArn != null)
'LogicallyAirGappedBackupVaultArn': logicallyAirGappedBackupVaultArn,
if (recoveryPointTags != null) 'RecoveryPointTags': recoveryPointTags,
if (startWindowMinutes != null) 'StartWindowMinutes': startWindowMinutes,
};
final response = await _protocol.send(
payload: $payload,
method: 'PUT',
requestUri: '/backup-jobs',
exceptionFnMap: _exceptionFns,
);
return StartBackupJobOutput.fromJson(response);
}