/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 setting.

See * Also:

AWS * API Reference

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

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 ReportSetting& 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 ReportSetting& 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 ReportSetting& WithReportTemplate(const char* value) { SetReportTemplate(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline const Aws::Vector& GetFrameworkArns() const{ return m_frameworkArns; } /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline bool FrameworkArnsHasBeenSet() const { return m_frameworkArnsHasBeenSet; } /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline void SetFrameworkArns(const Aws::Vector& value) { m_frameworkArnsHasBeenSet = true; m_frameworkArns = value; } /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline void SetFrameworkArns(Aws::Vector&& value) { m_frameworkArnsHasBeenSet = true; m_frameworkArns = std::move(value); } /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline ReportSetting& WithFrameworkArns(const Aws::Vector& value) { SetFrameworkArns(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline ReportSetting& WithFrameworkArns(Aws::Vector&& value) { SetFrameworkArns(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline ReportSetting& AddFrameworkArns(const Aws::String& value) { m_frameworkArnsHasBeenSet = true; m_frameworkArns.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline ReportSetting& AddFrameworkArns(Aws::String&& value) { m_frameworkArnsHasBeenSet = true; m_frameworkArns.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) of the frameworks a report covers.

*/ inline ReportSetting& AddFrameworkArns(const char* value) { m_frameworkArnsHasBeenSet = true; m_frameworkArns.push_back(value); return *this; } /** *

The number of frameworks a report covers.

*/ inline int GetNumberOfFrameworks() const{ return m_numberOfFrameworks; } /** *

The number of frameworks a report covers.

*/ inline bool NumberOfFrameworksHasBeenSet() const { return m_numberOfFrameworksHasBeenSet; } /** *

The number of frameworks a report covers.

*/ inline void SetNumberOfFrameworks(int value) { m_numberOfFrameworksHasBeenSet = true; m_numberOfFrameworks = value; } /** *

The number of frameworks a report covers.

*/ inline ReportSetting& WithNumberOfFrameworks(int value) { SetNumberOfFrameworks(value); return *this;} /** *

These are the accounts to be included in the report.

*/ inline const Aws::Vector& GetAccounts() const{ return m_accounts; } /** *

These are the accounts to be included in the report.

*/ inline bool AccountsHasBeenSet() const { return m_accountsHasBeenSet; } /** *

These are the accounts to be included in the report.

*/ inline void SetAccounts(const Aws::Vector& value) { m_accountsHasBeenSet = true; m_accounts = value; } /** *

These are the accounts to be included in the report.

*/ inline void SetAccounts(Aws::Vector&& value) { m_accountsHasBeenSet = true; m_accounts = std::move(value); } /** *

These are the accounts to be included in the report.

*/ inline ReportSetting& WithAccounts(const Aws::Vector& value) { SetAccounts(value); return *this;} /** *

These are the accounts to be included in the report.

*/ inline ReportSetting& WithAccounts(Aws::Vector&& value) { SetAccounts(std::move(value)); return *this;} /** *

These are the accounts to be included in the report.

*/ inline ReportSetting& AddAccounts(const Aws::String& value) { m_accountsHasBeenSet = true; m_accounts.push_back(value); return *this; } /** *

These are the accounts to be included in the report.

*/ inline ReportSetting& AddAccounts(Aws::String&& value) { m_accountsHasBeenSet = true; m_accounts.push_back(std::move(value)); return *this; } /** *

These are the accounts to be included in the report.

*/ inline ReportSetting& AddAccounts(const char* value) { m_accountsHasBeenSet = true; m_accounts.push_back(value); return *this; } /** *

These are the Organizational Units to be included in the report.

*/ inline const Aws::Vector& GetOrganizationUnits() const{ return m_organizationUnits; } /** *

These are the Organizational Units to be included in the report.

*/ inline bool OrganizationUnitsHasBeenSet() const { return m_organizationUnitsHasBeenSet; } /** *

These are the Organizational Units to be included in the report.

*/ inline void SetOrganizationUnits(const Aws::Vector& value) { m_organizationUnitsHasBeenSet = true; m_organizationUnits = value; } /** *

These are the Organizational Units to be included in the report.

*/ inline void SetOrganizationUnits(Aws::Vector&& value) { m_organizationUnitsHasBeenSet = true; m_organizationUnits = std::move(value); } /** *

These are the Organizational Units to be included in the report.

*/ inline ReportSetting& WithOrganizationUnits(const Aws::Vector& value) { SetOrganizationUnits(value); return *this;} /** *

These are the Organizational Units to be included in the report.

*/ inline ReportSetting& WithOrganizationUnits(Aws::Vector&& value) { SetOrganizationUnits(std::move(value)); return *this;} /** *

These are the Organizational Units to be included in the report.

*/ inline ReportSetting& AddOrganizationUnits(const Aws::String& value) { m_organizationUnitsHasBeenSet = true; m_organizationUnits.push_back(value); return *this; } /** *

These are the Organizational Units to be included in the report.

*/ inline ReportSetting& AddOrganizationUnits(Aws::String&& value) { m_organizationUnitsHasBeenSet = true; m_organizationUnits.push_back(std::move(value)); return *this; } /** *

These are the Organizational Units to be included in the report.

*/ inline ReportSetting& AddOrganizationUnits(const char* value) { m_organizationUnitsHasBeenSet = true; m_organizationUnits.push_back(value); return *this; } /** *

These are the Regions to be included in the report.

*/ inline const Aws::Vector& GetRegions() const{ return m_regions; } /** *

These are the Regions to be included in the report.

*/ inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; } /** *

These are the Regions to be included in the report.

*/ inline void SetRegions(const Aws::Vector& value) { m_regionsHasBeenSet = true; m_regions = value; } /** *

These are the Regions to be included in the report.

*/ inline void SetRegions(Aws::Vector&& value) { m_regionsHasBeenSet = true; m_regions = std::move(value); } /** *

These are the Regions to be included in the report.

*/ inline ReportSetting& WithRegions(const Aws::Vector& value) { SetRegions(value); return *this;} /** *

These are the Regions to be included in the report.

*/ inline ReportSetting& WithRegions(Aws::Vector&& value) { SetRegions(std::move(value)); return *this;} /** *

These are the Regions to be included in the report.

*/ inline ReportSetting& AddRegions(const Aws::String& value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } /** *

These are the Regions to be included in the report.

*/ inline ReportSetting& AddRegions(Aws::String&& value) { m_regionsHasBeenSet = true; m_regions.push_back(std::move(value)); return *this; } /** *

These are the Regions to be included in the report.

*/ inline ReportSetting& AddRegions(const char* value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } private: Aws::String m_reportTemplate; bool m_reportTemplateHasBeenSet = false; Aws::Vector m_frameworkArns; bool m_frameworkArnsHasBeenSet = false; int m_numberOfFrameworks; bool m_numberOfFrameworksHasBeenSet = false; Aws::Vector m_accounts; bool m_accountsHasBeenSet = false; Aws::Vector m_organizationUnits; bool m_organizationUnitsHasBeenSet = false; Aws::Vector m_regions; bool m_regionsHasBeenSet = false; }; } // namespace Model } // namespace Backup } // namespace Aws