/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Backup { namespace Model { /** */ class StartRestoreJobRequest : public BackupRequest { public: AWS_BACKUP_API StartRestoreJobRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartRestoreJob"; } AWS_BACKUP_API Aws::String SerializePayload() const override; /** *

An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline const Aws::String& GetRecoveryPointArn() const{ return m_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.

*/ inline bool RecoveryPointArnHasBeenSet() const { return m_recoveryPointArnHasBeenSet; } /** *

An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline void SetRecoveryPointArn(const Aws::String& value) { m_recoveryPointArnHasBeenSet = true; m_recoveryPointArn = value; } /** *

An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline void SetRecoveryPointArn(Aws::String&& value) { m_recoveryPointArnHasBeenSet = true; m_recoveryPointArn = std::move(value); } /** *

An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline void SetRecoveryPointArn(const char* value) { m_recoveryPointArnHasBeenSet = true; m_recoveryPointArn.assign(value); } /** *

An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline StartRestoreJobRequest& WithRecoveryPointArn(const Aws::String& value) { SetRecoveryPointArn(value); return *this;} /** *

An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline StartRestoreJobRequest& WithRecoveryPointArn(Aws::String&& value) { SetRecoveryPointArn(std::move(value)); return *this;} /** *

An ARN that uniquely identifies a recovery point; for example, * arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

*/ inline StartRestoreJobRequest& WithRecoveryPointArn(const char* value) { SetRecoveryPointArn(value); return *this;} /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline const Aws::Map& GetMetadata() const{ return m_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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline void SetMetadata(const Aws::Map& value) { m_metadataHasBeenSet = true; m_metadata = value; } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline void SetMetadata(Aws::Map&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& WithMetadata(const Aws::Map& value) { SetMetadata(value); return *this;} /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& WithMetadata(Aws::Map&& value) { SetMetadata(std::move(value)); return *this;} /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& AddMetadata(const Aws::String& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& AddMetadata(Aws::String&& key, const Aws::String& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& AddMetadata(const Aws::String& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& AddMetadata(Aws::String&& key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), std::move(value)); return *this; } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& AddMetadata(const char* key, Aws::String&& value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, std::move(value)); return *this; } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& AddMetadata(Aws::String&& key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(std::move(key), value); return *this; } /** *

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 Backup. Returned in * GetRecoveryPointRestoreMetadata.

  • * Encrypted: A Boolean value that, if true, specifies that the file * system is encrypted. If KmsKeyId is specified, * Encrypted must be set to true.

  • * KmsKeyId: Specifies the Amazon Web Services KMS key that is used to * encrypt the restored file system. You can specify a key from another Amazon Web * Services account provided that key it is properly shared with your account via * Amazon Web Services 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: An * array of one to five strings where each string is a file path. Use * ItemsToRestore to restore specific files or directories rather than * the entire file system. This parameter is optional. For example, * "itemsToRestore":"[\"/my.test\"]".

*/ inline StartRestoreJobRequest& AddMetadata(const char* key, const char* value) { m_metadataHasBeenSet = true; m_metadata.emplace(key, value); return *this; } /** *

The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the * target resource; for example: * arn:aws:iam::123456789012:role/S3Access.

*/ inline const Aws::String& GetIamRoleArn() const{ return m_iamRoleArn; } /** *

The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the * target resource; for example: * arn:aws:iam::123456789012:role/S3Access.

*/ inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the * target resource; for example: * arn:aws:iam::123456789012:role/S3Access.

*/ inline void SetIamRoleArn(const Aws::String& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the * target resource; for example: * arn:aws:iam::123456789012:role/S3Access.

*/ inline void SetIamRoleArn(Aws::String&& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the * target resource; for example: * arn:aws:iam::123456789012:role/S3Access.

*/ inline void SetIamRoleArn(const char* value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the * target resource; for example: * arn:aws:iam::123456789012:role/S3Access.

*/ inline StartRestoreJobRequest& WithIamRoleArn(const Aws::String& value) { SetIamRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the * target resource; for example: * arn:aws:iam::123456789012:role/S3Access.

*/ inline StartRestoreJobRequest& WithIamRoleArn(Aws::String&& value) { SetIamRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that Backup uses to create the * target resource; for example: * arn:aws:iam::123456789012:role/S3Access.

*/ inline StartRestoreJobRequest& WithIamRoleArn(const char* value) { SetIamRoleArn(value); return *this;} /** *

A customer-chosen string that you can use to distinguish between otherwise * identical calls to StartRestoreJob. Retrying a successful request * with the same idempotency token results in a success message with no action * taken.

*/ inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; } /** *

A customer-chosen string that you can use to distinguish between otherwise * identical calls to StartRestoreJob. Retrying a successful request * with the same idempotency token results in a success message with no action * taken.

*/ inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; } /** *

A customer-chosen string that you can use to distinguish between otherwise * identical calls to StartRestoreJob. Retrying a successful request * with the same idempotency token results in a success message with no action * taken.

*/ inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; } /** *

A customer-chosen string that you can use to distinguish between otherwise * identical calls to StartRestoreJob. Retrying a successful request * with the same idempotency token results in a success message with no action * taken.

*/ inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); } /** *

A customer-chosen string that you can use to distinguish between otherwise * identical calls to StartRestoreJob. Retrying a successful request * with the same idempotency token results in a success message with no action * taken.

*/ inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); } /** *

A customer-chosen string that you can use to distinguish between otherwise * identical calls to StartRestoreJob. Retrying a successful request * with the same idempotency token results in a success message with no action * taken.

*/ inline StartRestoreJobRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;} /** *

A customer-chosen string that you can use to distinguish between otherwise * identical calls to StartRestoreJob. Retrying a successful request * with the same idempotency token results in a success message with no action * taken.

*/ inline StartRestoreJobRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;} /** *

A customer-chosen string that you can use to distinguish between otherwise * identical calls to StartRestoreJob. Retrying a successful request * with the same idempotency token results in a success message with no action * taken.

*/ inline StartRestoreJobRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;} /** *

Starts a job to restore a recovery point for one of the following * resources:

  • Aurora for Amazon Aurora

  • *
  • DocumentDB for Amazon DocumentDB (with MongoDB * compatibility)

  • CloudFormation for * CloudFormation

  • DynamoDB for Amazon DynamoDB

    *
  • EBS for Amazon Elastic Block Store

  • *

    EC2 for Amazon Elastic Compute Cloud

  • * EFS for Amazon Elastic File System

  • * FSx for Amazon FSx

  • Neptune for * Amazon Neptune

  • RDS for Amazon Relational * Database Service

  • Redshift for Amazon * Redshift

  • Storage Gateway for Storage Gateway

    *
  • S3 for Amazon S3

  • * Timestream for Amazon Timestream

  • * VirtualMachine for virtual machines

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

Starts a job to restore a recovery point for one of the following * resources:

  • Aurora for Amazon Aurora

  • *
  • DocumentDB for Amazon DocumentDB (with MongoDB * compatibility)

  • CloudFormation for * CloudFormation

  • DynamoDB for Amazon DynamoDB

    *
  • EBS for Amazon Elastic Block Store

  • *

    EC2 for Amazon Elastic Compute Cloud

  • * EFS for Amazon Elastic File System

  • * FSx for Amazon FSx

  • Neptune for * Amazon Neptune

  • RDS for Amazon Relational * Database Service

  • Redshift for Amazon * Redshift

  • Storage Gateway for Storage Gateway

    *
  • S3 for Amazon S3

  • * Timestream for Amazon Timestream

  • * VirtualMachine for virtual machines

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

Starts a job to restore a recovery point for one of the following * resources:

  • Aurora for Amazon Aurora

  • *
  • DocumentDB for Amazon DocumentDB (with MongoDB * compatibility)

  • CloudFormation for * CloudFormation

  • DynamoDB for Amazon DynamoDB

    *
  • EBS for Amazon Elastic Block Store

  • *

    EC2 for Amazon Elastic Compute Cloud

  • * EFS for Amazon Elastic File System

  • * FSx for Amazon FSx

  • Neptune for * Amazon Neptune

  • RDS for Amazon Relational * Database Service

  • Redshift for Amazon * Redshift

  • Storage Gateway for Storage Gateway

    *
  • S3 for Amazon S3

  • * Timestream for Amazon Timestream

  • * VirtualMachine for virtual machines

*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *

Starts a job to restore a recovery point for one of the following * resources:

  • Aurora for Amazon Aurora

  • *
  • DocumentDB for Amazon DocumentDB (with MongoDB * compatibility)

  • CloudFormation for * CloudFormation

  • DynamoDB for Amazon DynamoDB

    *
  • EBS for Amazon Elastic Block Store

  • *

    EC2 for Amazon Elastic Compute Cloud

  • * EFS for Amazon Elastic File System

  • * FSx for Amazon FSx

  • Neptune for * Amazon Neptune

  • RDS for Amazon Relational * Database Service

  • Redshift for Amazon * Redshift

  • Storage Gateway for Storage Gateway

    *
  • S3 for Amazon S3

  • * Timestream for Amazon Timestream

  • * VirtualMachine for virtual machines

*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *

Starts a job to restore a recovery point for one of the following * resources:

  • Aurora for Amazon Aurora

  • *
  • DocumentDB for Amazon DocumentDB (with MongoDB * compatibility)

  • CloudFormation for * CloudFormation

  • DynamoDB for Amazon DynamoDB

    *
  • EBS for Amazon Elastic Block Store

  • *

    EC2 for Amazon Elastic Compute Cloud

  • * EFS for Amazon Elastic File System

  • * FSx for Amazon FSx

  • Neptune for * Amazon Neptune

  • RDS for Amazon Relational * Database Service

  • Redshift for Amazon * Redshift

  • Storage Gateway for Storage Gateway

    *
  • S3 for Amazon S3

  • * Timestream for Amazon Timestream

  • * VirtualMachine for virtual machines

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

Starts a job to restore a recovery point for one of the following * resources:

  • Aurora for Amazon Aurora

  • *
  • DocumentDB for Amazon DocumentDB (with MongoDB * compatibility)

  • CloudFormation for * CloudFormation

  • DynamoDB for Amazon DynamoDB

    *
  • EBS for Amazon Elastic Block Store

  • *

    EC2 for Amazon Elastic Compute Cloud

  • * EFS for Amazon Elastic File System

  • * FSx for Amazon FSx

  • Neptune for * Amazon Neptune

  • RDS for Amazon Relational * Database Service

  • Redshift for Amazon * Redshift

  • Storage Gateway for Storage Gateway

    *
  • S3 for Amazon S3

  • * Timestream for Amazon Timestream

  • * VirtualMachine for virtual machines

*/ inline StartRestoreJobRequest& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

Starts a job to restore a recovery point for one of the following * resources:

  • Aurora for Amazon Aurora

  • *
  • DocumentDB for Amazon DocumentDB (with MongoDB * compatibility)

  • CloudFormation for * CloudFormation

  • DynamoDB for Amazon DynamoDB

    *
  • EBS for Amazon Elastic Block Store

  • *

    EC2 for Amazon Elastic Compute Cloud

  • * EFS for Amazon Elastic File System

  • * FSx for Amazon FSx

  • Neptune for * Amazon Neptune

  • RDS for Amazon Relational * Database Service

  • Redshift for Amazon * Redshift

  • Storage Gateway for Storage Gateway

    *
  • S3 for Amazon S3

  • * Timestream for Amazon Timestream

  • * VirtualMachine for virtual machines

*/ inline StartRestoreJobRequest& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

Starts a job to restore a recovery point for one of the following * resources:

  • Aurora for Amazon Aurora

  • *
  • DocumentDB for Amazon DocumentDB (with MongoDB * compatibility)

  • CloudFormation for * CloudFormation

  • DynamoDB for Amazon DynamoDB

    *
  • EBS for Amazon Elastic Block Store

  • *

    EC2 for Amazon Elastic Compute Cloud

  • * EFS for Amazon Elastic File System

  • * FSx for Amazon FSx

  • Neptune for * Amazon Neptune

  • RDS for Amazon Relational * Database Service

  • Redshift for Amazon * Redshift

  • Storage Gateway for Storage Gateway

    *
  • S3 for Amazon S3

  • * Timestream for Amazon Timestream

  • * VirtualMachine for virtual machines

*/ inline StartRestoreJobRequest& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

This is an optional parameter. If this equals True, tags * included in the backup will be copied to the restored resource.

This can * only be applied to backups created through Backup.

*/ inline bool GetCopySourceTagsToRestoredResource() const{ return m_copySourceTagsToRestoredResource; } /** *

This is an optional parameter. If this equals True, tags * included in the backup will be copied to the restored resource.

This can * only be applied to backups created through Backup.

*/ inline bool CopySourceTagsToRestoredResourceHasBeenSet() const { return m_copySourceTagsToRestoredResourceHasBeenSet; } /** *

This is an optional parameter. If this equals True, tags * included in the backup will be copied to the restored resource.

This can * only be applied to backups created through Backup.

*/ inline void SetCopySourceTagsToRestoredResource(bool value) { m_copySourceTagsToRestoredResourceHasBeenSet = true; m_copySourceTagsToRestoredResource = value; } /** *

This is an optional parameter. If this equals True, tags * included in the backup will be copied to the restored resource.

This can * only be applied to backups created through Backup.

*/ inline StartRestoreJobRequest& WithCopySourceTagsToRestoredResource(bool value) { SetCopySourceTagsToRestoredResource(value); return *this;} private: Aws::String m_recoveryPointArn; bool m_recoveryPointArnHasBeenSet = false; Aws::Map m_metadata; bool m_metadataHasBeenSet = false; Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; Aws::String m_idempotencyToken; bool m_idempotencyTokenHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; bool m_copySourceTagsToRestoredResource; bool m_copySourceTagsToRestoredResourceHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws