createRestoreAccessBackupVault method

Future<CreateRestoreAccessBackupVaultOutput> createRestoreAccessBackupVault({
  1. required String sourceBackupVaultArn,
  2. String? backupVaultName,
  3. Map<String, String>? backupVaultTags,
  4. String? creatorRequestId,
  5. String? requesterComment,
})

Creates a restore access backup vault that provides temporary access to recovery points in a logically air-gapped backup vault, subject to MPA approval.

May throw AlreadyExistsException. May throw InvalidParameterValueException. May throw InvalidRequestException. May throw LimitExceededException. May throw MissingParameterValueException. May throw ResourceNotFoundException. May throw ServiceUnavailableException.

Parameter sourceBackupVaultArn : The ARN of the source backup vault containing the recovery points to which temporary access is requested.

Parameter backupVaultName : The name of the backup vault to associate with an MPA approval team.

Parameter backupVaultTags : Optional tags to assign to the restore access backup vault.

Parameter creatorRequestId : A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

Parameter requesterComment : A comment explaining the reason for requesting restore access to the backup vault.

Implementation

Future<CreateRestoreAccessBackupVaultOutput> createRestoreAccessBackupVault({
  required String sourceBackupVaultArn,
  String? backupVaultName,
  Map<String, String>? backupVaultTags,
  String? creatorRequestId,
  String? requesterComment,
}) async {
  final $payload = <String, dynamic>{
    'SourceBackupVaultArn': sourceBackupVaultArn,
    if (backupVaultName != null) 'BackupVaultName': backupVaultName,
    if (backupVaultTags != null) 'BackupVaultTags': backupVaultTags,
    'CreatorRequestId': creatorRequestId ?? _s.generateIdempotencyToken(),
    if (requesterComment != null) 'RequesterComment': requesterComment,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/restore-access-backup-vaults',
    exceptionFnMap: _exceptionFns,
  );
  return CreateRestoreAccessBackupVaultOutput.fromJson(response);
}