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

Provides the number of compliant and noncompliant rules within a conformance * pack. Also provides the compliance status of the conformance pack and the total * rule count which includes compliant rules, noncompliant rules, and rules that * cannot be evaluated due to insufficient data.

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 AggregateConformancePackCompliance { public: AWS_CONFIGSERVICE_API AggregateConformancePackCompliance(); AWS_CONFIGSERVICE_API AggregateConformancePackCompliance(Aws::Utils::Json::JsonView jsonValue); AWS_CONFIGSERVICE_API AggregateConformancePackCompliance& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONFIGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The compliance status of the conformance pack.

*/ inline const ConformancePackComplianceType& GetComplianceType() const{ return m_complianceType; } /** *

The compliance status of the conformance pack.

*/ inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; } /** *

The compliance status of the conformance pack.

*/ inline void SetComplianceType(const ConformancePackComplianceType& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; } /** *

The compliance status of the conformance pack.

*/ inline void SetComplianceType(ConformancePackComplianceType&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); } /** *

The compliance status of the conformance pack.

*/ inline AggregateConformancePackCompliance& WithComplianceType(const ConformancePackComplianceType& value) { SetComplianceType(value); return *this;} /** *

The compliance status of the conformance pack.

*/ inline AggregateConformancePackCompliance& WithComplianceType(ConformancePackComplianceType&& value) { SetComplianceType(std::move(value)); return *this;} /** *

The number of compliant Config Rules.

*/ inline int GetCompliantRuleCount() const{ return m_compliantRuleCount; } /** *

The number of compliant Config Rules.

*/ inline bool CompliantRuleCountHasBeenSet() const { return m_compliantRuleCountHasBeenSet; } /** *

The number of compliant Config Rules.

*/ inline void SetCompliantRuleCount(int value) { m_compliantRuleCountHasBeenSet = true; m_compliantRuleCount = value; } /** *

The number of compliant Config Rules.

*/ inline AggregateConformancePackCompliance& WithCompliantRuleCount(int value) { SetCompliantRuleCount(value); return *this;} /** *

The number of noncompliant Config Rules.

*/ inline int GetNonCompliantRuleCount() const{ return m_nonCompliantRuleCount; } /** *

The number of noncompliant Config Rules.

*/ inline bool NonCompliantRuleCountHasBeenSet() const { return m_nonCompliantRuleCountHasBeenSet; } /** *

The number of noncompliant Config Rules.

*/ inline void SetNonCompliantRuleCount(int value) { m_nonCompliantRuleCountHasBeenSet = true; m_nonCompliantRuleCount = value; } /** *

The number of noncompliant Config Rules.

*/ inline AggregateConformancePackCompliance& WithNonCompliantRuleCount(int value) { SetNonCompliantRuleCount(value); return *this;} /** *

Total number of compliant rules, noncompliant rules, and the rules that do * not have any applicable resources to evaluate upon resulting in insufficient * data.

*/ inline int GetTotalRuleCount() const{ return m_totalRuleCount; } /** *

Total number of compliant rules, noncompliant rules, and the rules that do * not have any applicable resources to evaluate upon resulting in insufficient * data.

*/ inline bool TotalRuleCountHasBeenSet() const { return m_totalRuleCountHasBeenSet; } /** *

Total number of compliant rules, noncompliant rules, and the rules that do * not have any applicable resources to evaluate upon resulting in insufficient * data.

*/ inline void SetTotalRuleCount(int value) { m_totalRuleCountHasBeenSet = true; m_totalRuleCount = value; } /** *

Total number of compliant rules, noncompliant rules, and the rules that do * not have any applicable resources to evaluate upon resulting in insufficient * data.

*/ inline AggregateConformancePackCompliance& WithTotalRuleCount(int value) { SetTotalRuleCount(value); return *this;} private: ConformancePackComplianceType m_complianceType; bool m_complianceTypeHasBeenSet = false; int m_compliantRuleCount; bool m_compliantRuleCountHasBeenSet = false; int m_nonCompliantRuleCount; bool m_nonCompliantRuleCountHasBeenSet = false; int m_totalRuleCount; bool m_totalRuleCountHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws