/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Http { class URI; } //namespace Http namespace Backup { namespace Model { /** */ class ListCopyJobsRequest : public BackupRequest { public: AWS_BACKUP_API ListCopyJobsRequest(); // 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 "ListCopyJobs"; } AWS_BACKUP_API Aws::String SerializePayload() const override; AWS_BACKUP_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The next item following a partial list of returned items. For example, if a * request is made to return maxResults number of items, NextToken allows you to * return more items in your list starting at the location pointed to by the next * token.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

The next item following a partial list of returned items. For example, if a * request is made to return maxResults number of items, NextToken allows you to * return more items in your list starting at the location pointed to by the next * token.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

The next item following a partial list of returned items. For example, if a * request is made to return maxResults number of items, NextToken allows you to * return more items in your list starting at the location pointed to by the next * token.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

The next item following a partial list of returned items. For example, if a * request is made to return maxResults number of items, NextToken allows you to * return more items in your list starting at the location pointed to by the next * token.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

The next item following a partial list of returned items. For example, if a * request is made to return maxResults number of items, NextToken allows you to * return more items in your list starting at the location pointed to by the next * token.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

The next item following a partial list of returned items. For example, if a * request is made to return maxResults number of items, NextToken allows you to * return more items in your list starting at the location pointed to by the next * token.

*/ inline ListCopyJobsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

The next item following a partial list of returned items. For example, if a * request is made to return maxResults number of items, NextToken allows you to * return more items in your list starting at the location pointed to by the next * token.

*/ inline ListCopyJobsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

The next item following a partial list of returned items. For example, if a * request is made to return maxResults number of items, NextToken allows you to * return more items in your list starting at the location pointed to by the next * token.

*/ inline ListCopyJobsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

The maximum number of items to be returned.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

The maximum number of items to be returned.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

The maximum number of items to be returned.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

The maximum number of items to be returned.

*/ inline ListCopyJobsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

Returns only copy jobs that match the specified resource Amazon Resource Name * (ARN).

*/ inline const Aws::String& GetByResourceArn() const{ return m_byResourceArn; } /** *

Returns only copy jobs that match the specified resource Amazon Resource Name * (ARN).

*/ inline bool ByResourceArnHasBeenSet() const { return m_byResourceArnHasBeenSet; } /** *

Returns only copy jobs that match the specified resource Amazon Resource Name * (ARN).

*/ inline void SetByResourceArn(const Aws::String& value) { m_byResourceArnHasBeenSet = true; m_byResourceArn = value; } /** *

Returns only copy jobs that match the specified resource Amazon Resource Name * (ARN).

*/ inline void SetByResourceArn(Aws::String&& value) { m_byResourceArnHasBeenSet = true; m_byResourceArn = std::move(value); } /** *

Returns only copy jobs that match the specified resource Amazon Resource Name * (ARN).

*/ inline void SetByResourceArn(const char* value) { m_byResourceArnHasBeenSet = true; m_byResourceArn.assign(value); } /** *

Returns only copy jobs that match the specified resource Amazon Resource Name * (ARN).

*/ inline ListCopyJobsRequest& WithByResourceArn(const Aws::String& value) { SetByResourceArn(value); return *this;} /** *

Returns only copy jobs that match the specified resource Amazon Resource Name * (ARN).

*/ inline ListCopyJobsRequest& WithByResourceArn(Aws::String&& value) { SetByResourceArn(std::move(value)); return *this;} /** *

Returns only copy jobs that match the specified resource Amazon Resource Name * (ARN).

*/ inline ListCopyJobsRequest& WithByResourceArn(const char* value) { SetByResourceArn(value); return *this;} /** *

Returns only copy jobs that are in the specified state.

*/ inline const CopyJobState& GetByState() const{ return m_byState; } /** *

Returns only copy jobs that are in the specified state.

*/ inline bool ByStateHasBeenSet() const { return m_byStateHasBeenSet; } /** *

Returns only copy jobs that are in the specified state.

*/ inline void SetByState(const CopyJobState& value) { m_byStateHasBeenSet = true; m_byState = value; } /** *

Returns only copy jobs that are in the specified state.

*/ inline void SetByState(CopyJobState&& value) { m_byStateHasBeenSet = true; m_byState = std::move(value); } /** *

Returns only copy jobs that are in the specified state.

*/ inline ListCopyJobsRequest& WithByState(const CopyJobState& value) { SetByState(value); return *this;} /** *

Returns only copy jobs that are in the specified state.

*/ inline ListCopyJobsRequest& WithByState(CopyJobState&& value) { SetByState(std::move(value)); return *this;} /** *

Returns only copy jobs that were created before the specified date.

*/ inline const Aws::Utils::DateTime& GetByCreatedBefore() const{ return m_byCreatedBefore; } /** *

Returns only copy jobs that were created before the specified date.

*/ inline bool ByCreatedBeforeHasBeenSet() const { return m_byCreatedBeforeHasBeenSet; } /** *

Returns only copy jobs that were created before the specified date.

*/ inline void SetByCreatedBefore(const Aws::Utils::DateTime& value) { m_byCreatedBeforeHasBeenSet = true; m_byCreatedBefore = value; } /** *

Returns only copy jobs that were created before the specified date.

*/ inline void SetByCreatedBefore(Aws::Utils::DateTime&& value) { m_byCreatedBeforeHasBeenSet = true; m_byCreatedBefore = std::move(value); } /** *

Returns only copy jobs that were created before the specified date.

*/ inline ListCopyJobsRequest& WithByCreatedBefore(const Aws::Utils::DateTime& value) { SetByCreatedBefore(value); return *this;} /** *

Returns only copy jobs that were created before the specified date.

*/ inline ListCopyJobsRequest& WithByCreatedBefore(Aws::Utils::DateTime&& value) { SetByCreatedBefore(std::move(value)); return *this;} /** *

Returns only copy jobs that were created after the specified date.

*/ inline const Aws::Utils::DateTime& GetByCreatedAfter() const{ return m_byCreatedAfter; } /** *

Returns only copy jobs that were created after the specified date.

*/ inline bool ByCreatedAfterHasBeenSet() const { return m_byCreatedAfterHasBeenSet; } /** *

Returns only copy jobs that were created after the specified date.

*/ inline void SetByCreatedAfter(const Aws::Utils::DateTime& value) { m_byCreatedAfterHasBeenSet = true; m_byCreatedAfter = value; } /** *

Returns only copy jobs that were created after the specified date.

*/ inline void SetByCreatedAfter(Aws::Utils::DateTime&& value) { m_byCreatedAfterHasBeenSet = true; m_byCreatedAfter = std::move(value); } /** *

Returns only copy jobs that were created after the specified date.

*/ inline ListCopyJobsRequest& WithByCreatedAfter(const Aws::Utils::DateTime& value) { SetByCreatedAfter(value); return *this;} /** *

Returns only copy jobs that were created after the specified date.

*/ inline ListCopyJobsRequest& WithByCreatedAfter(Aws::Utils::DateTime&& value) { SetByCreatedAfter(std::move(value)); return *this;} /** *

Returns only backup jobs for the specified resources:

  • * Aurora for Amazon Aurora

  • DocumentDB * for Amazon DocumentDB (with MongoDB compatibility)

  • * 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

  • Storage * Gateway for Storage Gateway

  • S3 for Amazon * S3

  • VirtualMachine for virtual machines

  • *
*/ inline const Aws::String& GetByResourceType() const{ return m_byResourceType; } /** *

Returns only backup jobs for the specified resources:

  • * Aurora for Amazon Aurora

  • DocumentDB * for Amazon DocumentDB (with MongoDB compatibility)

  • * 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

  • Storage * Gateway for Storage Gateway

  • S3 for Amazon * S3

  • VirtualMachine for virtual machines

  • *
*/ inline bool ByResourceTypeHasBeenSet() const { return m_byResourceTypeHasBeenSet; } /** *

Returns only backup jobs for the specified resources:

  • * Aurora for Amazon Aurora

  • DocumentDB * for Amazon DocumentDB (with MongoDB compatibility)

  • * 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

  • Storage * Gateway for Storage Gateway

  • S3 for Amazon * S3

  • VirtualMachine for virtual machines

  • *
*/ inline void SetByResourceType(const Aws::String& value) { m_byResourceTypeHasBeenSet = true; m_byResourceType = value; } /** *

Returns only backup jobs for the specified resources:

  • * Aurora for Amazon Aurora

  • DocumentDB * for Amazon DocumentDB (with MongoDB compatibility)

  • * 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

  • Storage * Gateway for Storage Gateway

  • S3 for Amazon * S3

  • VirtualMachine for virtual machines

  • *
*/ inline void SetByResourceType(Aws::String&& value) { m_byResourceTypeHasBeenSet = true; m_byResourceType = std::move(value); } /** *

Returns only backup jobs for the specified resources:

  • * Aurora for Amazon Aurora

  • DocumentDB * for Amazon DocumentDB (with MongoDB compatibility)

  • * 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

  • Storage * Gateway for Storage Gateway

  • S3 for Amazon * S3

  • VirtualMachine for virtual machines

  • *
*/ inline void SetByResourceType(const char* value) { m_byResourceTypeHasBeenSet = true; m_byResourceType.assign(value); } /** *

Returns only backup jobs for the specified resources:

  • * Aurora for Amazon Aurora

  • DocumentDB * for Amazon DocumentDB (with MongoDB compatibility)

  • * 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

  • Storage * Gateway for Storage Gateway

  • S3 for Amazon * S3

  • VirtualMachine for virtual machines

  • *
*/ inline ListCopyJobsRequest& WithByResourceType(const Aws::String& value) { SetByResourceType(value); return *this;} /** *

Returns only backup jobs for the specified resources:

  • * Aurora for Amazon Aurora

  • DocumentDB * for Amazon DocumentDB (with MongoDB compatibility)

  • * 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

  • Storage * Gateway for Storage Gateway

  • S3 for Amazon * S3

  • VirtualMachine for virtual machines

  • *
*/ inline ListCopyJobsRequest& WithByResourceType(Aws::String&& value) { SetByResourceType(std::move(value)); return *this;} /** *

Returns only backup jobs for the specified resources:

  • * Aurora for Amazon Aurora

  • DocumentDB * for Amazon DocumentDB (with MongoDB compatibility)

  • * 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

  • Storage * Gateway for Storage Gateway

  • S3 for Amazon * S3

  • VirtualMachine for virtual machines

  • *
*/ inline ListCopyJobsRequest& WithByResourceType(const char* value) { SetByResourceType(value); return *this;} /** *

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

*/ inline const Aws::String& GetByDestinationVaultArn() const{ return m_byDestinationVaultArn; } /** *

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

*/ inline bool ByDestinationVaultArnHasBeenSet() const { return m_byDestinationVaultArnHasBeenSet; } /** *

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

*/ inline void SetByDestinationVaultArn(const Aws::String& value) { m_byDestinationVaultArnHasBeenSet = true; m_byDestinationVaultArn = value; } /** *

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

*/ inline void SetByDestinationVaultArn(Aws::String&& value) { m_byDestinationVaultArnHasBeenSet = true; m_byDestinationVaultArn = std::move(value); } /** *

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

*/ inline void SetByDestinationVaultArn(const char* value) { m_byDestinationVaultArnHasBeenSet = true; m_byDestinationVaultArn.assign(value); } /** *

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

*/ inline ListCopyJobsRequest& WithByDestinationVaultArn(const Aws::String& value) { SetByDestinationVaultArn(value); return *this;} /** *

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

*/ inline ListCopyJobsRequest& WithByDestinationVaultArn(Aws::String&& value) { SetByDestinationVaultArn(std::move(value)); return *this;} /** *

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

*/ inline ListCopyJobsRequest& WithByDestinationVaultArn(const char* value) { SetByDestinationVaultArn(value); return *this;} /** *

The account ID to list the jobs from. Returns only copy jobs associated with * the specified account ID.

*/ inline const Aws::String& GetByAccountId() const{ return m_byAccountId; } /** *

The account ID to list the jobs from. Returns only copy jobs associated with * the specified account ID.

*/ inline bool ByAccountIdHasBeenSet() const { return m_byAccountIdHasBeenSet; } /** *

The account ID to list the jobs from. Returns only copy jobs associated with * the specified account ID.

*/ inline void SetByAccountId(const Aws::String& value) { m_byAccountIdHasBeenSet = true; m_byAccountId = value; } /** *

The account ID to list the jobs from. Returns only copy jobs associated with * the specified account ID.

*/ inline void SetByAccountId(Aws::String&& value) { m_byAccountIdHasBeenSet = true; m_byAccountId = std::move(value); } /** *

The account ID to list the jobs from. Returns only copy jobs associated with * the specified account ID.

*/ inline void SetByAccountId(const char* value) { m_byAccountIdHasBeenSet = true; m_byAccountId.assign(value); } /** *

The account ID to list the jobs from. Returns only copy jobs associated with * the specified account ID.

*/ inline ListCopyJobsRequest& WithByAccountId(const Aws::String& value) { SetByAccountId(value); return *this;} /** *

The account ID to list the jobs from. Returns only copy jobs associated with * the specified account ID.

*/ inline ListCopyJobsRequest& WithByAccountId(Aws::String&& value) { SetByAccountId(std::move(value)); return *this;} /** *

The account ID to list the jobs from. Returns only copy jobs associated with * the specified account ID.

*/ inline ListCopyJobsRequest& WithByAccountId(const char* value) { SetByAccountId(value); return *this;} /** *

Returns only copy jobs completed before a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline const Aws::Utils::DateTime& GetByCompleteBefore() const{ return m_byCompleteBefore; } /** *

Returns only copy jobs completed before a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline bool ByCompleteBeforeHasBeenSet() const { return m_byCompleteBeforeHasBeenSet; } /** *

Returns only copy jobs completed before a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline void SetByCompleteBefore(const Aws::Utils::DateTime& value) { m_byCompleteBeforeHasBeenSet = true; m_byCompleteBefore = value; } /** *

Returns only copy jobs completed before a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline void SetByCompleteBefore(Aws::Utils::DateTime&& value) { m_byCompleteBeforeHasBeenSet = true; m_byCompleteBefore = std::move(value); } /** *

Returns only copy jobs completed before a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline ListCopyJobsRequest& WithByCompleteBefore(const Aws::Utils::DateTime& value) { SetByCompleteBefore(value); return *this;} /** *

Returns only copy jobs completed before a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline ListCopyJobsRequest& WithByCompleteBefore(Aws::Utils::DateTime&& value) { SetByCompleteBefore(std::move(value)); return *this;} /** *

Returns only copy jobs completed after a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline const Aws::Utils::DateTime& GetByCompleteAfter() const{ return m_byCompleteAfter; } /** *

Returns only copy jobs completed after a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline bool ByCompleteAfterHasBeenSet() const { return m_byCompleteAfterHasBeenSet; } /** *

Returns only copy jobs completed after a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline void SetByCompleteAfter(const Aws::Utils::DateTime& value) { m_byCompleteAfterHasBeenSet = true; m_byCompleteAfter = value; } /** *

Returns only copy jobs completed after a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline void SetByCompleteAfter(Aws::Utils::DateTime&& value) { m_byCompleteAfterHasBeenSet = true; m_byCompleteAfter = std::move(value); } /** *

Returns only copy jobs completed after a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline ListCopyJobsRequest& WithByCompleteAfter(const Aws::Utils::DateTime& value) { SetByCompleteAfter(value); return *this;} /** *

Returns only copy jobs completed after a date expressed in Unix format and * Coordinated Universal Time (UTC).

*/ inline ListCopyJobsRequest& WithByCompleteAfter(Aws::Utils::DateTime&& value) { SetByCompleteAfter(std::move(value)); return *this;} /** *

This is a filter to list child (nested) jobs based on parent job ID.

*/ inline const Aws::String& GetByParentJobId() const{ return m_byParentJobId; } /** *

This is a filter to list child (nested) jobs based on parent job ID.

*/ inline bool ByParentJobIdHasBeenSet() const { return m_byParentJobIdHasBeenSet; } /** *

This is a filter to list child (nested) jobs based on parent job ID.

*/ inline void SetByParentJobId(const Aws::String& value) { m_byParentJobIdHasBeenSet = true; m_byParentJobId = value; } /** *

This is a filter to list child (nested) jobs based on parent job ID.

*/ inline void SetByParentJobId(Aws::String&& value) { m_byParentJobIdHasBeenSet = true; m_byParentJobId = std::move(value); } /** *

This is a filter to list child (nested) jobs based on parent job ID.

*/ inline void SetByParentJobId(const char* value) { m_byParentJobIdHasBeenSet = true; m_byParentJobId.assign(value); } /** *

This is a filter to list child (nested) jobs based on parent job ID.

*/ inline ListCopyJobsRequest& WithByParentJobId(const Aws::String& value) { SetByParentJobId(value); return *this;} /** *

This is a filter to list child (nested) jobs based on parent job ID.

*/ inline ListCopyJobsRequest& WithByParentJobId(Aws::String&& value) { SetByParentJobId(std::move(value)); return *this;} /** *

This is a filter to list child (nested) jobs based on parent job ID.

*/ inline ListCopyJobsRequest& WithByParentJobId(const char* value) { SetByParentJobId(value); return *this;} private: Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_byResourceArn; bool m_byResourceArnHasBeenSet = false; CopyJobState m_byState; bool m_byStateHasBeenSet = false; Aws::Utils::DateTime m_byCreatedBefore; bool m_byCreatedBeforeHasBeenSet = false; Aws::Utils::DateTime m_byCreatedAfter; bool m_byCreatedAfterHasBeenSet = false; Aws::String m_byResourceType; bool m_byResourceTypeHasBeenSet = false; Aws::String m_byDestinationVaultArn; bool m_byDestinationVaultArnHasBeenSet = false; Aws::String m_byAccountId; bool m_byAccountIdHasBeenSet = false; Aws::Utils::DateTime m_byCompleteBefore; bool m_byCompleteBeforeHasBeenSet = false; Aws::Utils::DateTime m_byCompleteAfter; bool m_byCompleteAfterHasBeenSet = false; Aws::String m_byParentJobId; bool m_byParentJobIdHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws