/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Backup { namespace Model { /** *

Contains detailed information about a report job. A report job compiles a * report based on a report plan and publishes it to Amazon S3.

See * Also:

AWS * API Reference

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

The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 * encoded string that is at most 1,024 bytes long. Report job IDs cannot be * edited.

*/ inline const Aws::String& GetReportJobId() const{ return m_reportJobId; } /** *

The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 * encoded string that is at most 1,024 bytes long. Report job IDs cannot be * edited.

*/ inline bool ReportJobIdHasBeenSet() const { return m_reportJobIdHasBeenSet; } /** *

The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 * encoded string that is at most 1,024 bytes long. Report job IDs cannot be * edited.

*/ inline void SetReportJobId(const Aws::String& value) { m_reportJobIdHasBeenSet = true; m_reportJobId = value; } /** *

The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 * encoded string that is at most 1,024 bytes long. Report job IDs cannot be * edited.

*/ inline void SetReportJobId(Aws::String&& value) { m_reportJobIdHasBeenSet = true; m_reportJobId = std::move(value); } /** *

The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 * encoded string that is at most 1,024 bytes long. Report job IDs cannot be * edited.

*/ inline void SetReportJobId(const char* value) { m_reportJobIdHasBeenSet = true; m_reportJobId.assign(value); } /** *

The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 * encoded string that is at most 1,024 bytes long. Report job IDs cannot be * edited.

*/ inline ReportJob& WithReportJobId(const Aws::String& value) { SetReportJobId(value); return *this;} /** *

The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 * encoded string that is at most 1,024 bytes long. Report job IDs cannot be * edited.

*/ inline ReportJob& WithReportJobId(Aws::String&& value) { SetReportJobId(std::move(value)); return *this;} /** *

The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 * encoded string that is at most 1,024 bytes long. Report job IDs cannot be * edited.

*/ inline ReportJob& WithReportJobId(const char* value) { SetReportJobId(value); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format * of the ARN depends on the resource type.

*/ inline const Aws::String& GetReportPlanArn() const{ return m_reportPlanArn; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format * of the ARN depends on the resource type.

*/ inline bool ReportPlanArnHasBeenSet() const { return m_reportPlanArnHasBeenSet; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format * of the ARN depends on the resource type.

*/ inline void SetReportPlanArn(const Aws::String& value) { m_reportPlanArnHasBeenSet = true; m_reportPlanArn = value; } /** *

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format * of the ARN depends on the resource type.

*/ inline void SetReportPlanArn(Aws::String&& value) { m_reportPlanArnHasBeenSet = true; m_reportPlanArn = std::move(value); } /** *

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format * of the ARN depends on the resource type.

*/ inline void SetReportPlanArn(const char* value) { m_reportPlanArnHasBeenSet = true; m_reportPlanArn.assign(value); } /** *

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format * of the ARN depends on the resource type.

*/ inline ReportJob& WithReportPlanArn(const Aws::String& value) { SetReportPlanArn(value); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format * of the ARN depends on the resource type.

*/ inline ReportJob& WithReportPlanArn(Aws::String&& value) { SetReportPlanArn(std::move(value)); return *this;} /** *

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format * of the ARN depends on the resource type.

*/ inline ReportJob& WithReportPlanArn(const char* value) { SetReportPlanArn(value); return *this;} /** *

Identifies the report template for the report. Reports are built using a * report template. The report templates are:

* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT * | COPY_JOB_REPORT | RESTORE_JOB_REPORT

*/ inline const Aws::String& GetReportTemplate() const{ return m_reportTemplate; } /** *

Identifies the report template for the report. Reports are built using a * report template. The report templates are:

* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT * | COPY_JOB_REPORT | RESTORE_JOB_REPORT

*/ inline bool ReportTemplateHasBeenSet() const { return m_reportTemplateHasBeenSet; } /** *

Identifies the report template for the report. Reports are built using a * report template. The report templates are:

* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT * | COPY_JOB_REPORT | RESTORE_JOB_REPORT

*/ inline void SetReportTemplate(const Aws::String& value) { m_reportTemplateHasBeenSet = true; m_reportTemplate = value; } /** *

Identifies the report template for the report. Reports are built using a * report template. The report templates are:

* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT * | COPY_JOB_REPORT | RESTORE_JOB_REPORT

*/ inline void SetReportTemplate(Aws::String&& value) { m_reportTemplateHasBeenSet = true; m_reportTemplate = std::move(value); } /** *

Identifies the report template for the report. Reports are built using a * report template. The report templates are:

* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT * | COPY_JOB_REPORT | RESTORE_JOB_REPORT

*/ inline void SetReportTemplate(const char* value) { m_reportTemplateHasBeenSet = true; m_reportTemplate.assign(value); } /** *

Identifies the report template for the report. Reports are built using a * report template. The report templates are:

* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT * | COPY_JOB_REPORT | RESTORE_JOB_REPORT

*/ inline ReportJob& WithReportTemplate(const Aws::String& value) { SetReportTemplate(value); return *this;} /** *

Identifies the report template for the report. Reports are built using a * report template. The report templates are:

* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT * | COPY_JOB_REPORT | RESTORE_JOB_REPORT

*/ inline ReportJob& WithReportTemplate(Aws::String&& value) { SetReportTemplate(std::move(value)); return *this;} /** *

Identifies the report template for the report. Reports are built using a * report template. The report templates are:

* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT * | COPY_JOB_REPORT | RESTORE_JOB_REPORT

*/ inline ReportJob& WithReportTemplate(const char* value) { SetReportTemplate(value); return *this;} /** *

The date and time that a report job is created, in Unix format and * Coordinated Universal Time (UTC). The value of CreationTime 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& GetCreationTime() const{ return m_creationTime; } /** *

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

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

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

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

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

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

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

*/ inline ReportJob& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

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

*/ inline ReportJob& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The date and time that a report job is completed, in Unix format and * Coordinated Universal Time (UTC). The value of CompletionTime 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& GetCompletionTime() const{ return m_completionTime; } /** *

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

*/ inline bool CompletionTimeHasBeenSet() const { return m_completionTimeHasBeenSet; } /** *

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

*/ inline void SetCompletionTime(const Aws::Utils::DateTime& value) { m_completionTimeHasBeenSet = true; m_completionTime = value; } /** *

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

*/ inline void SetCompletionTime(Aws::Utils::DateTime&& value) { m_completionTimeHasBeenSet = true; m_completionTime = std::move(value); } /** *

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

*/ inline ReportJob& WithCompletionTime(const Aws::Utils::DateTime& value) { SetCompletionTime(value); return *this;} /** *

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

*/ inline ReportJob& WithCompletionTime(Aws::Utils::DateTime&& value) { SetCompletionTime(std::move(value)); return *this;} /** *

The status of a report job. The statuses are:

CREATED | RUNNING * | COMPLETED | FAILED

COMPLETED means that the * report is available for your review at your designated destination. If the * status is FAILED, review the StatusMessage for the * reason.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of a report job. The statuses are:

CREATED | RUNNING * | COMPLETED | FAILED

COMPLETED means that the * report is available for your review at your designated destination. If the * status is FAILED, review the StatusMessage for the * reason.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of a report job. The statuses are:

CREATED | RUNNING * | COMPLETED | FAILED

COMPLETED means that the * report is available for your review at your designated destination. If the * status is FAILED, review the StatusMessage for the * reason.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of a report job. The statuses are:

CREATED | RUNNING * | COMPLETED | FAILED

COMPLETED means that the * report is available for your review at your designated destination. If the * status is FAILED, review the StatusMessage for the * reason.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of a report job. The statuses are:

CREATED | RUNNING * | COMPLETED | FAILED

COMPLETED means that the * report is available for your review at your designated destination. If the * status is FAILED, review the StatusMessage for the * reason.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of a report job. The statuses are:

CREATED | RUNNING * | COMPLETED | FAILED

COMPLETED means that the * report is available for your review at your designated destination. If the * status is FAILED, review the StatusMessage for the * reason.

*/ inline ReportJob& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of a report job. The statuses are:

CREATED | RUNNING * | COMPLETED | FAILED

COMPLETED means that the * report is available for your review at your designated destination. If the * status is FAILED, review the StatusMessage for the * reason.

*/ inline ReportJob& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of a report job. The statuses are:

CREATED | RUNNING * | COMPLETED | FAILED

COMPLETED means that the * report is available for your review at your designated destination. If the * status is FAILED, review the StatusMessage for the * reason.

*/ inline ReportJob& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

A message explaining the status of the report job.

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

A message explaining the status of the report job.

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

A message explaining the status of the report job.

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

A message explaining the status of the report job.

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

A message explaining the status of the report job.

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

A message explaining the status of the report job.

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

A message explaining the status of the report job.

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

A message explaining the status of the report job.

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

The S3 bucket name and S3 keys for the destination where the report job * publishes the report.

*/ inline const ReportDestination& GetReportDestination() const{ return m_reportDestination; } /** *

The S3 bucket name and S3 keys for the destination where the report job * publishes the report.

*/ inline bool ReportDestinationHasBeenSet() const { return m_reportDestinationHasBeenSet; } /** *

The S3 bucket name and S3 keys for the destination where the report job * publishes the report.

*/ inline void SetReportDestination(const ReportDestination& value) { m_reportDestinationHasBeenSet = true; m_reportDestination = value; } /** *

The S3 bucket name and S3 keys for the destination where the report job * publishes the report.

*/ inline void SetReportDestination(ReportDestination&& value) { m_reportDestinationHasBeenSet = true; m_reportDestination = std::move(value); } /** *

The S3 bucket name and S3 keys for the destination where the report job * publishes the report.

*/ inline ReportJob& WithReportDestination(const ReportDestination& value) { SetReportDestination(value); return *this;} /** *

The S3 bucket name and S3 keys for the destination where the report job * publishes the report.

*/ inline ReportJob& WithReportDestination(ReportDestination&& value) { SetReportDestination(std::move(value)); return *this;} private: Aws::String m_reportJobId; bool m_reportJobIdHasBeenSet = false; Aws::String m_reportPlanArn; bool m_reportPlanArnHasBeenSet = false; Aws::String m_reportTemplate; bool m_reportTemplateHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; Aws::Utils::DateTime m_completionTime; bool m_completionTimeHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; ReportDestination m_reportDestination; bool m_reportDestinationHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws