/** * 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 ConfigService { namespace Model { /** *

Provides aggregate compliance of the conformance pack. Indicates whether a * conformance pack is compliant based on the name of the conformance pack, account * ID, and region.

A conformance pack is compliant if all of the rules in a * conformance packs are compliant. It is noncompliant if any of the rules are not * compliant. The compliance status of a conformance pack is INSUFFICIENT_DATA only * if all rules within a conformance pack cannot be evaluated due to insufficient * data. If some of the rules in a conformance pack are compliant but the * compliance status of other rules in that same conformance pack is * INSUFFICIENT_DATA, the conformance pack shows compliant.

See * Also:

AWS * API Reference

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

The name of the conformance pack.

*/ inline const Aws::String& GetConformancePackName() const{ return m_conformancePackName; } /** *

The name of the conformance pack.

*/ inline bool ConformancePackNameHasBeenSet() const { return m_conformancePackNameHasBeenSet; } /** *

The name of the conformance pack.

*/ inline void SetConformancePackName(const Aws::String& value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName = value; } /** *

The name of the conformance pack.

*/ inline void SetConformancePackName(Aws::String&& value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName = std::move(value); } /** *

The name of the conformance pack.

*/ inline void SetConformancePackName(const char* value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName.assign(value); } /** *

The name of the conformance pack.

*/ inline AggregateComplianceByConformancePack& WithConformancePackName(const Aws::String& value) { SetConformancePackName(value); return *this;} /** *

The name of the conformance pack.

*/ inline AggregateComplianceByConformancePack& WithConformancePackName(Aws::String&& value) { SetConformancePackName(std::move(value)); return *this;} /** *

The name of the conformance pack.

*/ inline AggregateComplianceByConformancePack& WithConformancePackName(const char* value) { SetConformancePackName(value); return *this;} /** *

The compliance status of the conformance pack.

*/ inline const AggregateConformancePackCompliance& GetCompliance() const{ return m_compliance; } /** *

The compliance status of the conformance pack.

*/ inline bool ComplianceHasBeenSet() const { return m_complianceHasBeenSet; } /** *

The compliance status of the conformance pack.

*/ inline void SetCompliance(const AggregateConformancePackCompliance& value) { m_complianceHasBeenSet = true; m_compliance = value; } /** *

The compliance status of the conformance pack.

*/ inline void SetCompliance(AggregateConformancePackCompliance&& value) { m_complianceHasBeenSet = true; m_compliance = std::move(value); } /** *

The compliance status of the conformance pack.

*/ inline AggregateComplianceByConformancePack& WithCompliance(const AggregateConformancePackCompliance& value) { SetCompliance(value); return *this;} /** *

The compliance status of the conformance pack.

*/ inline AggregateComplianceByConformancePack& WithCompliance(AggregateConformancePackCompliance&& value) { SetCompliance(std::move(value)); return *this;} /** *

The 12-digit Amazon Web Services account ID of the source account.

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

The 12-digit Amazon Web Services account ID of the source account.

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

The 12-digit Amazon Web Services account ID of the source account.

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

The 12-digit Amazon Web Services account ID of the source account.

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

The 12-digit Amazon Web Services account ID of the source account.

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

The 12-digit Amazon Web Services account ID of the source account.

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

The 12-digit Amazon Web Services account ID of the source account.

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

The 12-digit Amazon Web Services account ID of the source account.

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

The source Amazon Web Services Region from where the data is aggregated.

*/ inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } /** *

The source Amazon Web Services Region from where the data is aggregated.

*/ inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } /** *

The source Amazon Web Services Region from where the data is aggregated.

*/ inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } /** *

The source Amazon Web Services Region from where the data is aggregated.

*/ inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } /** *

The source Amazon Web Services Region from where the data is aggregated.

*/ inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } /** *

The source Amazon Web Services Region from where the data is aggregated.

*/ inline AggregateComplianceByConformancePack& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} /** *

The source Amazon Web Services Region from where the data is aggregated.

*/ inline AggregateComplianceByConformancePack& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} /** *

The source Amazon Web Services Region from where the data is aggregated.

*/ inline AggregateComplianceByConformancePack& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} private: Aws::String m_conformancePackName; bool m_conformancePackNameHasBeenSet = false; AggregateConformancePackCompliance m_compliance; bool m_complianceHasBeenSet = false; Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_awsRegion; bool m_awsRegionHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws