/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Backup { namespace Model { /** *

Contains detailed information about a copy job.

See Also:

AWS API * Reference

*/ class CopyJob { public: AWS_BACKUP_API CopyJob(); AWS_BACKUP_API CopyJob(Aws::Utils::Json::JsonView jsonValue); AWS_BACKUP_API CopyJob& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_BACKUP_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The account ID that owns the copy job.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The account ID that owns the copy job.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The account ID that owns the copy job.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The account ID that owns the copy job.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The account ID that owns the copy job.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The account ID that owns the copy job.

*/ inline CopyJob& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The account ID that owns the copy job.

*/ inline CopyJob& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The account ID that owns the copy job.

*/ inline CopyJob& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

Uniquely identifies a copy job.

*/ inline const Aws::String& GetCopyJobId() const{ return m_copyJobId; } /** *

Uniquely identifies a copy job.

*/ inline bool CopyJobIdHasBeenSet() const { return m_copyJobIdHasBeenSet; } /** *

Uniquely identifies a copy job.

*/ inline void SetCopyJobId(const Aws::String& value) { m_copyJobIdHasBeenSet = true; m_copyJobId = value; } /** *

Uniquely identifies a copy job.

*/ inline void SetCopyJobId(Aws::String&& value) { m_copyJobIdHasBeenSet = true; m_copyJobId = std::move(value); } /** *

Uniquely identifies a copy job.

*/ inline void SetCopyJobId(const char* value) { m_copyJobIdHasBeenSet = true; m_copyJobId.assign(value); } /** *

Uniquely identifies a copy job.

*/ inline CopyJob& WithCopyJobId(const Aws::String& value) { SetCopyJobId(value); return *this;} /** *

Uniquely identifies a copy job.

*/ inline CopyJob& WithCopyJobId(Aws::String&& value) { SetCopyJobId(std::move(value)); return *this;} /** *

Uniquely identifies a copy job.

*/ inline CopyJob& WithCopyJobId(const char* value) { SetCopyJobId(value); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; * for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline const Aws::String& GetSourceBackupVaultArn() const{ return m_sourceBackupVaultArn; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; * for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline bool SourceBackupVaultArnHasBeenSet() const { return m_sourceBackupVaultArnHasBeenSet; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; * for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetSourceBackupVaultArn(const Aws::String& value) { m_sourceBackupVaultArnHasBeenSet = true; m_sourceBackupVaultArn = value; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; * for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetSourceBackupVaultArn(Aws::String&& value) { m_sourceBackupVaultArnHasBeenSet = true; m_sourceBackupVaultArn = std::move(value); } /** *

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; * for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetSourceBackupVaultArn(const char* value) { m_sourceBackupVaultArnHasBeenSet = true; m_sourceBackupVaultArn.assign(value); } /** *

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; * for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline CopyJob& WithSourceBackupVaultArn(const Aws::String& value) { SetSourceBackupVaultArn(value); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; * for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline CopyJob& WithSourceBackupVaultArn(Aws::String&& value) { SetSourceBackupVaultArn(std::move(value)); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; * for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline CopyJob& WithSourceBackupVaultArn(const char* value) { SetSourceBackupVaultArn(value); return *this;} /** *

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

*/ inline const Aws::String& GetSourceRecoveryPointArn() const{ return m_sourceRecoveryPointArn; } /** *

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

*/ inline bool SourceRecoveryPointArnHasBeenSet() const { return m_sourceRecoveryPointArnHasBeenSet; } /** *

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

*/ inline void SetSourceRecoveryPointArn(const Aws::String& value) { m_sourceRecoveryPointArnHasBeenSet = true; m_sourceRecoveryPointArn = value; } /** *

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

*/ inline void SetSourceRecoveryPointArn(Aws::String&& value) { m_sourceRecoveryPointArnHasBeenSet = true; m_sourceRecoveryPointArn = std::move(value); } /** *

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

*/ inline void SetSourceRecoveryPointArn(const char* value) { m_sourceRecoveryPointArnHasBeenSet = true; m_sourceRecoveryPointArn.assign(value); } /** *

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

*/ inline CopyJob& WithSourceRecoveryPointArn(const Aws::String& value) { SetSourceRecoveryPointArn(value); return *this;} /** *

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

*/ inline CopyJob& WithSourceRecoveryPointArn(Aws::String&& value) { SetSourceRecoveryPointArn(std::move(value)); return *this;} /** *

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

*/ inline CopyJob& WithSourceRecoveryPointArn(const char* value) { SetSourceRecoveryPointArn(value); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a destination copy * vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline const Aws::String& GetDestinationBackupVaultArn() const{ return m_destinationBackupVaultArn; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a destination copy * vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline bool DestinationBackupVaultArnHasBeenSet() const { return m_destinationBackupVaultArnHasBeenSet; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a destination copy * vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetDestinationBackupVaultArn(const Aws::String& value) { m_destinationBackupVaultArnHasBeenSet = true; m_destinationBackupVaultArn = value; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a destination copy * vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetDestinationBackupVaultArn(Aws::String&& value) { m_destinationBackupVaultArnHasBeenSet = true; m_destinationBackupVaultArn = std::move(value); } /** *

An Amazon Resource Name (ARN) that uniquely identifies a destination copy * vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline void SetDestinationBackupVaultArn(const char* value) { m_destinationBackupVaultArnHasBeenSet = true; m_destinationBackupVaultArn.assign(value); } /** *

An Amazon Resource Name (ARN) that uniquely identifies a destination copy * vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline CopyJob& WithDestinationBackupVaultArn(const Aws::String& value) { SetDestinationBackupVaultArn(value); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a destination copy * vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline CopyJob& WithDestinationBackupVaultArn(Aws::String&& value) { SetDestinationBackupVaultArn(std::move(value)); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a destination copy * vault; for example, * arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

*/ inline CopyJob& WithDestinationBackupVaultArn(const char* value) { SetDestinationBackupVaultArn(value); return *this;} /** *

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

*/ inline const Aws::String& GetDestinationRecoveryPointArn() const{ return m_destinationRecoveryPointArn; } /** *

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

*/ inline bool DestinationRecoveryPointArnHasBeenSet() const { return m_destinationRecoveryPointArnHasBeenSet; } /** *

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

*/ inline void SetDestinationRecoveryPointArn(const Aws::String& value) { m_destinationRecoveryPointArnHasBeenSet = true; m_destinationRecoveryPointArn = value; } /** *

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

*/ inline void SetDestinationRecoveryPointArn(Aws::String&& value) { m_destinationRecoveryPointArnHasBeenSet = true; m_destinationRecoveryPointArn = std::move(value); } /** *

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

*/ inline void SetDestinationRecoveryPointArn(const char* value) { m_destinationRecoveryPointArnHasBeenSet = true; m_destinationRecoveryPointArn.assign(value); } /** *

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

*/ inline CopyJob& WithDestinationRecoveryPointArn(const Aws::String& value) { SetDestinationRecoveryPointArn(value); return *this;} /** *

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

*/ inline CopyJob& WithDestinationRecoveryPointArn(Aws::String&& value) { SetDestinationRecoveryPointArn(std::move(value)); return *this;} /** *

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

*/ inline CopyJob& WithDestinationRecoveryPointArn(const char* value) { SetDestinationRecoveryPointArn(value); return *this;} /** *

The Amazon Web Services resource to be copied; for example, an Amazon Elastic * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon * RDS) database.

*/ inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } /** *

The Amazon Web Services resource to be copied; for example, an Amazon Elastic * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon * RDS) database.

*/ inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } /** *

The Amazon Web Services resource to be copied; for example, an Amazon Elastic * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon * RDS) database.

*/ inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } /** *

The Amazon Web Services resource to be copied; for example, an Amazon Elastic * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon * RDS) database.

*/ inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } /** *

The Amazon Web Services resource to be copied; for example, an Amazon Elastic * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon * RDS) database.

*/ inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } /** *

The Amazon Web Services resource to be copied; for example, an Amazon Elastic * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon * RDS) database.

*/ inline CopyJob& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} /** *

The Amazon Web Services resource to be copied; for example, an Amazon Elastic * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon * RDS) database.

*/ inline CopyJob& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} /** *

The Amazon Web Services resource to be copied; for example, an Amazon Elastic * Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon * RDS) database.

*/ inline CopyJob& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} /** *

The date and time a copy job is created, in Unix format and Coordinated * Universal Time (UTC). The value of CreationDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *

The date and time a copy job is created, in Unix format and Coordinated * Universal Time (UTC). The value of CreationDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } /** *

The date and time a copy job is created, in Unix format and Coordinated * Universal Time (UTC). The value of CreationDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } /** *

The date and time a copy job is created, in Unix format and Coordinated * Universal Time (UTC). The value of CreationDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } /** *

The date and time a copy job is created, in Unix format and Coordinated * Universal Time (UTC). The value of CreationDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline CopyJob& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *

The date and time a copy job is created, in Unix format and Coordinated * Universal Time (UTC). The value of CreationDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline CopyJob& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The date and time a copy job is completed, in Unix format and Coordinated * Universal Time (UTC). The value of CompletionDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline const Aws::Utils::DateTime& GetCompletionDate() const{ return m_completionDate; } /** *

The date and time a copy job is completed, in Unix format and Coordinated * Universal Time (UTC). The value of CompletionDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline bool CompletionDateHasBeenSet() const { return m_completionDateHasBeenSet; } /** *

The date and time a copy job is completed, in Unix format and Coordinated * Universal Time (UTC). The value of CompletionDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline void SetCompletionDate(const Aws::Utils::DateTime& value) { m_completionDateHasBeenSet = true; m_completionDate = value; } /** *

The date and time a copy job is completed, in Unix format and Coordinated * Universal Time (UTC). The value of CompletionDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline void SetCompletionDate(Aws::Utils::DateTime&& value) { m_completionDateHasBeenSet = true; m_completionDate = std::move(value); } /** *

The date and time a copy job is completed, in Unix format and Coordinated * Universal Time (UTC). The value of CompletionDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline CopyJob& WithCompletionDate(const Aws::Utils::DateTime& value) { SetCompletionDate(value); return *this;} /** *

The date and time a copy job is completed, in Unix format and Coordinated * Universal Time (UTC). The value of CompletionDate is accurate to * milliseconds. For example, the value 1516925490.087 represents Friday, January * 26, 2018 12:11:30.087 AM.

*/ inline CopyJob& WithCompletionDate(Aws::Utils::DateTime&& value) { SetCompletionDate(std::move(value)); return *this;} /** *

The current state of a copy job.

*/ inline const CopyJobState& GetState() const{ return m_state; } /** *

The current state of a copy job.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of a copy job.

*/ inline void SetState(const CopyJobState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of a copy job.

*/ inline void SetState(CopyJobState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of a copy job.

*/ inline CopyJob& WithState(const CopyJobState& value) { SetState(value); return *this;} /** *

The current state of a copy job.

*/ inline CopyJob& WithState(CopyJobState&& value) { SetState(std::move(value)); return *this;} /** *

A detailed message explaining the status of the job to copy a resource.

*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *

A detailed message explaining the status of the job to copy a resource.

*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *

A detailed message explaining the status of the job to copy a resource.

*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *

A detailed message explaining the status of the job to copy a resource.

*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *

A detailed message explaining the status of the job to copy a resource.

*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *

A detailed message explaining the status of the job to copy a resource.

*/ inline CopyJob& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *

A detailed message explaining the status of the job to copy a resource.

*/ inline CopyJob& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *

A detailed message explaining the status of the job to copy a resource.

*/ inline CopyJob& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *

The size, in bytes, of a copy job.

*/ inline long long GetBackupSizeInBytes() const{ return m_backupSizeInBytes; } /** *

The size, in bytes, of a copy job.

*/ inline bool BackupSizeInBytesHasBeenSet() const { return m_backupSizeInBytesHasBeenSet; } /** *

The size, in bytes, of a copy job.

*/ inline void SetBackupSizeInBytes(long long value) { m_backupSizeInBytesHasBeenSet = true; m_backupSizeInBytes = value; } /** *

The size, in bytes, of a copy job.

*/ inline CopyJob& WithBackupSizeInBytes(long long value) { SetBackupSizeInBytes(value); return *this;} /** *

Specifies the IAM role ARN used to copy the target recovery point; for * example, arn:aws:iam::123456789012:role/S3Access.

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

Specifies the IAM role ARN used to copy the target recovery point; for * example, arn:aws:iam::123456789012:role/S3Access.

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

Specifies the IAM role ARN used to copy the target recovery point; for * example, arn:aws:iam::123456789012:role/S3Access.

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

Specifies the IAM role ARN used to copy the target recovery point; for * example, arn:aws:iam::123456789012:role/S3Access.

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

Specifies the IAM role ARN used to copy the target recovery point; for * example, arn:aws:iam::123456789012:role/S3Access.

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

Specifies the IAM role ARN used to copy the target recovery point; for * example, arn:aws:iam::123456789012:role/S3Access.

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

Specifies the IAM role ARN used to copy the target recovery point; for * example, arn:aws:iam::123456789012:role/S3Access.

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

Specifies the IAM role ARN used to copy the target recovery point; for * example, arn:aws:iam::123456789012:role/S3Access.

*/ inline CopyJob& WithIamRoleArn(const char* value) { SetIamRoleArn(value); return *this;} inline const RecoveryPointCreator& GetCreatedBy() const{ return m_createdBy; } inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } inline void SetCreatedBy(const RecoveryPointCreator& value) { m_createdByHasBeenSet = true; m_createdBy = value; } inline void SetCreatedBy(RecoveryPointCreator&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } inline CopyJob& WithCreatedBy(const RecoveryPointCreator& value) { SetCreatedBy(value); return *this;} inline CopyJob& WithCreatedBy(RecoveryPointCreator&& value) { SetCreatedBy(std::move(value)); return *this;} /** *

The type of Amazon Web Services resource to be copied; for example, an Amazon * Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service * (Amazon RDS) database.

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

The type of Amazon Web Services resource to be copied; for example, an Amazon * Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service * (Amazon RDS) database.

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

The type of Amazon Web Services resource to be copied; for example, an Amazon * Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service * (Amazon RDS) database.

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

The type of Amazon Web Services resource to be copied; for example, an Amazon * Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service * (Amazon RDS) database.

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

The type of Amazon Web Services resource to be copied; for example, an Amazon * Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service * (Amazon RDS) database.

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

The type of Amazon Web Services resource to be copied; for example, an Amazon * Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service * (Amazon RDS) database.

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

The type of Amazon Web Services resource to be copied; for example, an Amazon * Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service * (Amazon RDS) database.

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

The type of Amazon Web Services resource to be copied; for example, an Amazon * Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service * (Amazon RDS) database.

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

This uniquely identifies a request to Backup to copy a resource. The return * will be the parent (composite) job ID.

*/ inline const Aws::String& GetParentJobId() const{ return m_parentJobId; } /** *

This uniquely identifies a request to Backup to copy a resource. The return * will be the parent (composite) job ID.

*/ inline bool ParentJobIdHasBeenSet() const { return m_parentJobIdHasBeenSet; } /** *

This uniquely identifies a request to Backup to copy a resource. The return * will be the parent (composite) job ID.

*/ inline void SetParentJobId(const Aws::String& value) { m_parentJobIdHasBeenSet = true; m_parentJobId = value; } /** *

This uniquely identifies a request to Backup to copy a resource. The return * will be the parent (composite) job ID.

*/ inline void SetParentJobId(Aws::String&& value) { m_parentJobIdHasBeenSet = true; m_parentJobId = std::move(value); } /** *

This uniquely identifies a request to Backup to copy a resource. The return * will be the parent (composite) job ID.

*/ inline void SetParentJobId(const char* value) { m_parentJobIdHasBeenSet = true; m_parentJobId.assign(value); } /** *

This uniquely identifies a request to Backup to copy a resource. The return * will be the parent (composite) job ID.

*/ inline CopyJob& WithParentJobId(const Aws::String& value) { SetParentJobId(value); return *this;} /** *

This uniquely identifies a request to Backup to copy a resource. The return * will be the parent (composite) job ID.

*/ inline CopyJob& WithParentJobId(Aws::String&& value) { SetParentJobId(std::move(value)); return *this;} /** *

This uniquely identifies a request to Backup to copy a resource. The return * will be the parent (composite) job ID.

*/ inline CopyJob& WithParentJobId(const char* value) { SetParentJobId(value); return *this;} /** *

This is a boolean value indicating this is a parent (composite) copy job.

*/ inline bool GetIsParent() const{ return m_isParent; } /** *

This is a boolean value indicating this is a parent (composite) copy job.

*/ inline bool IsParentHasBeenSet() const { return m_isParentHasBeenSet; } /** *

This is a boolean value indicating this is a parent (composite) copy job.

*/ inline void SetIsParent(bool value) { m_isParentHasBeenSet = true; m_isParent = value; } /** *

This is a boolean value indicating this is a parent (composite) copy job.

*/ inline CopyJob& WithIsParent(bool value) { SetIsParent(value); return *this;} /** *

This is the identifier of a resource within a composite group, such as nested * (child) recovery point belonging to a composite (parent) stack. The ID is * transferred from the * logical ID within a stack.

*/ inline const Aws::String& GetCompositeMemberIdentifier() const{ return m_compositeMemberIdentifier; } /** *

This is the identifier of a resource within a composite group, such as nested * (child) recovery point belonging to a composite (parent) stack. The ID is * transferred from the * logical ID within a stack.

*/ inline bool CompositeMemberIdentifierHasBeenSet() const { return m_compositeMemberIdentifierHasBeenSet; } /** *

This is the identifier of a resource within a composite group, such as nested * (child) recovery point belonging to a composite (parent) stack. The ID is * transferred from the * logical ID within a stack.

*/ inline void SetCompositeMemberIdentifier(const Aws::String& value) { m_compositeMemberIdentifierHasBeenSet = true; m_compositeMemberIdentifier = value; } /** *

This is the identifier of a resource within a composite group, such as nested * (child) recovery point belonging to a composite (parent) stack. The ID is * transferred from the * logical ID within a stack.

*/ inline void SetCompositeMemberIdentifier(Aws::String&& value) { m_compositeMemberIdentifierHasBeenSet = true; m_compositeMemberIdentifier = std::move(value); } /** *

This is the identifier of a resource within a composite group, such as nested * (child) recovery point belonging to a composite (parent) stack. The ID is * transferred from the * logical ID within a stack.

*/ inline void SetCompositeMemberIdentifier(const char* value) { m_compositeMemberIdentifierHasBeenSet = true; m_compositeMemberIdentifier.assign(value); } /** *

This is the identifier of a resource within a composite group, such as nested * (child) recovery point belonging to a composite (parent) stack. The ID is * transferred from the * logical ID within a stack.

*/ inline CopyJob& WithCompositeMemberIdentifier(const Aws::String& value) { SetCompositeMemberIdentifier(value); return *this;} /** *

This is the identifier of a resource within a composite group, such as nested * (child) recovery point belonging to a composite (parent) stack. The ID is * transferred from the * logical ID within a stack.

*/ inline CopyJob& WithCompositeMemberIdentifier(Aws::String&& value) { SetCompositeMemberIdentifier(std::move(value)); return *this;} /** *

This is the identifier of a resource within a composite group, such as nested * (child) recovery point belonging to a composite (parent) stack. The ID is * transferred from the * logical ID within a stack.

*/ inline CopyJob& WithCompositeMemberIdentifier(const char* value) { SetCompositeMemberIdentifier(value); return *this;} /** *

This is the number of child (nested) copy jobs.

*/ inline long long GetNumberOfChildJobs() const{ return m_numberOfChildJobs; } /** *

This is the number of child (nested) copy jobs.

*/ inline bool NumberOfChildJobsHasBeenSet() const { return m_numberOfChildJobsHasBeenSet; } /** *

This is the number of child (nested) copy jobs.

*/ inline void SetNumberOfChildJobs(long long value) { m_numberOfChildJobsHasBeenSet = true; m_numberOfChildJobs = value; } /** *

This is the number of child (nested) copy jobs.

*/ inline CopyJob& WithNumberOfChildJobs(long long value) { SetNumberOfChildJobs(value); return *this;} /** *

This returns the statistics of the included child (nested) copy jobs.

*/ inline const Aws::Map& GetChildJobsInState() const{ return m_childJobsInState; } /** *

This returns the statistics of the included child (nested) copy jobs.

*/ inline bool ChildJobsInStateHasBeenSet() const { return m_childJobsInStateHasBeenSet; } /** *

This returns the statistics of the included child (nested) copy jobs.

*/ inline void SetChildJobsInState(const Aws::Map& value) { m_childJobsInStateHasBeenSet = true; m_childJobsInState = value; } /** *

This returns the statistics of the included child (nested) copy jobs.

*/ inline void SetChildJobsInState(Aws::Map&& value) { m_childJobsInStateHasBeenSet = true; m_childJobsInState = std::move(value); } /** *

This returns the statistics of the included child (nested) copy jobs.

*/ inline CopyJob& WithChildJobsInState(const Aws::Map& value) { SetChildJobsInState(value); return *this;} /** *

This returns the statistics of the included child (nested) copy jobs.

*/ inline CopyJob& WithChildJobsInState(Aws::Map&& value) { SetChildJobsInState(std::move(value)); return *this;} /** *

This returns the statistics of the included child (nested) copy jobs.

*/ inline CopyJob& AddChildJobsInState(const CopyJobState& key, long long value) { m_childJobsInStateHasBeenSet = true; m_childJobsInState.emplace(key, value); return *this; } /** *

This returns the statistics of the included child (nested) copy jobs.

*/ inline CopyJob& AddChildJobsInState(CopyJobState&& key, long long value) { m_childJobsInStateHasBeenSet = true; m_childJobsInState.emplace(std::move(key), value); return *this; } /** *

This is the non-unique name of the resource that belongs to the specified * backup.

*/ inline const Aws::String& GetResourceName() const{ return m_resourceName; } /** *

This is the non-unique name of the resource that belongs to the specified * backup.

*/ inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } /** *

This is the non-unique name of the resource that belongs to the specified * backup.

*/ inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } /** *

This is the non-unique name of the resource that belongs to the specified * backup.

*/ inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } /** *

This is the non-unique name of the resource that belongs to the specified * backup.

*/ inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } /** *

This is the non-unique name of the resource that belongs to the specified * backup.

*/ inline CopyJob& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} /** *

This is the non-unique name of the resource that belongs to the specified * backup.

*/ inline CopyJob& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} /** *

This is the non-unique name of the resource that belongs to the specified * backup.

*/ inline CopyJob& WithResourceName(const char* value) { SetResourceName(value); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_copyJobId; bool m_copyJobIdHasBeenSet = false; Aws::String m_sourceBackupVaultArn; bool m_sourceBackupVaultArnHasBeenSet = false; Aws::String m_sourceRecoveryPointArn; bool m_sourceRecoveryPointArnHasBeenSet = false; Aws::String m_destinationBackupVaultArn; bool m_destinationBackupVaultArnHasBeenSet = false; Aws::String m_destinationRecoveryPointArn; bool m_destinationRecoveryPointArnHasBeenSet = false; Aws::String m_resourceArn; bool m_resourceArnHasBeenSet = false; Aws::Utils::DateTime m_creationDate; bool m_creationDateHasBeenSet = false; Aws::Utils::DateTime m_completionDate; bool m_completionDateHasBeenSet = false; CopyJobState m_state; bool m_stateHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; long long m_backupSizeInBytes; bool m_backupSizeInBytesHasBeenSet = false; Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; RecoveryPointCreator m_createdBy; bool m_createdByHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::String m_parentJobId; bool m_parentJobIdHasBeenSet = false; bool m_isParent; bool m_isParentHasBeenSet = false; Aws::String m_compositeMemberIdentifier; bool m_compositeMemberIdentifierHasBeenSet = false; long long m_numberOfChildJobs; bool m_numberOfChildJobsHasBeenSet = false; Aws::Map m_childJobsInState; bool m_childJobsInStateHasBeenSet = false; Aws::String m_resourceName; bool m_resourceNameHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws