startRestoreJob method
Recovers the saved resource identified by an Amazon Resource Name (ARN).
May throw ResourceNotFoundException. May throw InvalidParameterValueException. May throw MissingParameterValueException. May throw ServiceUnavailableException.
Parameter iamRoleArn
:
The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to
create the target recovery point; for example,
arn:aws:iam::123456789012:role/S3Access
.
Parameter metadata
:
A set of metadata key-value pairs. Contains information, such as a
resource name, required to restore a recovery point.
You can get configuration metadata about a resource at the time it was
backed up by calling GetRecoveryPointRestoreMetadata
.
However, values in addition to those provided by
GetRecoveryPointRestoreMetadata
might be required to restore
a resource. For example, you might need to provide a new resource name if
the original already exists.
You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS) instance:
-
file-system-id
: The ID of the Amazon EFS file system that is backed up by AWS Backup. Returned inGetRecoveryPointRestoreMetadata
. -
Encrypted
: A Boolean value that, if true, specifies that the file system is encrypted. IfKmsKeyId
is specified,Encrypted
must be set totrue
. -
KmsKeyId
: Specifies the AWS KMS key that is used to encrypt the restored file system. You can specify a key from another AWS account provided that key it is properly shared with your account via AWS KMS. -
PerformanceMode
: Specifies the throughput mode of the file system. -
CreationToken
: A user-supplied value that ensures the uniqueness (idempotency) of the request. -
newFileSystem
: A Boolean value that, if true, specifies that the recovery point is restored to a new Amazon EFS file system. -
ItemsToRestore
: A serialized list of up to five strings where each string is a file path. UseItemsToRestore
to restore specific files or directories rather than the entire file system. This parameter is optional.
Parameter recoveryPointArn
:
An ARN that uniquely identifies a recovery point; for example,
arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45
.
Parameter idempotencyToken
:
A customer chosen string that can be used to distinguish between calls to
StartRestoreJob
.
Parameter resourceType
:
Starts a job to restore a recovery point for one of the following
resources:
-
DynamoDB
for Amazon DynamoDB -
EBS
for Amazon Elastic Block Store -
EC2
for Amazon Elastic Compute Cloud -
EFS
for Amazon Elastic File System -
RDS
for Amazon Relational Database Service -
Storage Gateway
for AWS Storage Gateway
Implementation
Future<StartRestoreJobOutput> startRestoreJob({
required String iamRoleArn,
required Map<String, String> metadata,
required String recoveryPointArn,
String? idempotencyToken,
String? resourceType,
}) async {
ArgumentError.checkNotNull(iamRoleArn, 'iamRoleArn');
ArgumentError.checkNotNull(metadata, 'metadata');
ArgumentError.checkNotNull(recoveryPointArn, 'recoveryPointArn');
final $payload = <String, dynamic>{
'IamRoleArn': iamRoleArn,
'Metadata': metadata,
'RecoveryPointArn': recoveryPointArn,
if (idempotencyToken != null) 'IdempotencyToken': idempotencyToken,
if (resourceType != null) 'ResourceType': resourceType,
};
final response = await _protocol.send(
payload: $payload,
method: 'PUT',
requestUri: '/restore-jobs',
exceptionFnMap: _exceptionFns,
);
return StartRestoreJobOutput.fromJson(response);
}