1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/config/ConfigService_EXPORTS.h> 8 #include <aws/config/model/ConformancePackComplianceType.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace ConfigService 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Provides the number of compliant and noncompliant rules within a conformance 28 * pack. Also provides the compliance status of the conformance pack and the total 29 * rule count which includes compliant rules, noncompliant rules, and rules that 30 * cannot be evaluated due to insufficient data.</p> <p>A conformance pack is 31 * compliant if all of the rules in a conformance packs are compliant. It is 32 * noncompliant if any of the rules are not compliant. The compliance status of a 33 * conformance pack is INSUFFICIENT_DATA only if all rules within a conformance 34 * pack cannot be evaluated due to insufficient data. If some of the rules in a 35 * conformance pack are compliant but the compliance status of other rules in that 36 * same conformance pack is INSUFFICIENT_DATA, the conformance pack shows 37 * compliant.</p><p><h3>See Also:</h3> <a 38 * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/AggregateConformancePackCompliance">AWS 39 * API Reference</a></p> 40 */ 41 class AWS_CONFIGSERVICE_API AggregateConformancePackCompliance 42 { 43 public: 44 AggregateConformancePackCompliance(); 45 AggregateConformancePackCompliance(Aws::Utils::Json::JsonView jsonValue); 46 AggregateConformancePackCompliance& operator=(Aws::Utils::Json::JsonView jsonValue); 47 Aws::Utils::Json::JsonValue Jsonize() const; 48 49 50 /** 51 * <p>The compliance status of the conformance pack.</p> 52 */ GetComplianceType()53 inline const ConformancePackComplianceType& GetComplianceType() const{ return m_complianceType; } 54 55 /** 56 * <p>The compliance status of the conformance pack.</p> 57 */ ComplianceTypeHasBeenSet()58 inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; } 59 60 /** 61 * <p>The compliance status of the conformance pack.</p> 62 */ SetComplianceType(const ConformancePackComplianceType & value)63 inline void SetComplianceType(const ConformancePackComplianceType& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; } 64 65 /** 66 * <p>The compliance status of the conformance pack.</p> 67 */ SetComplianceType(ConformancePackComplianceType && value)68 inline void SetComplianceType(ConformancePackComplianceType&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); } 69 70 /** 71 * <p>The compliance status of the conformance pack.</p> 72 */ WithComplianceType(const ConformancePackComplianceType & value)73 inline AggregateConformancePackCompliance& WithComplianceType(const ConformancePackComplianceType& value) { SetComplianceType(value); return *this;} 74 75 /** 76 * <p>The compliance status of the conformance pack.</p> 77 */ WithComplianceType(ConformancePackComplianceType && value)78 inline AggregateConformancePackCompliance& WithComplianceType(ConformancePackComplianceType&& value) { SetComplianceType(std::move(value)); return *this;} 79 80 81 /** 82 * <p>The number of compliant Config Rules.</p> 83 */ GetCompliantRuleCount()84 inline int GetCompliantRuleCount() const{ return m_compliantRuleCount; } 85 86 /** 87 * <p>The number of compliant Config Rules.</p> 88 */ CompliantRuleCountHasBeenSet()89 inline bool CompliantRuleCountHasBeenSet() const { return m_compliantRuleCountHasBeenSet; } 90 91 /** 92 * <p>The number of compliant Config Rules.</p> 93 */ SetCompliantRuleCount(int value)94 inline void SetCompliantRuleCount(int value) { m_compliantRuleCountHasBeenSet = true; m_compliantRuleCount = value; } 95 96 /** 97 * <p>The number of compliant Config Rules.</p> 98 */ WithCompliantRuleCount(int value)99 inline AggregateConformancePackCompliance& WithCompliantRuleCount(int value) { SetCompliantRuleCount(value); return *this;} 100 101 102 /** 103 * <p>The number of noncompliant Config Rules.</p> 104 */ GetNonCompliantRuleCount()105 inline int GetNonCompliantRuleCount() const{ return m_nonCompliantRuleCount; } 106 107 /** 108 * <p>The number of noncompliant Config Rules.</p> 109 */ NonCompliantRuleCountHasBeenSet()110 inline bool NonCompliantRuleCountHasBeenSet() const { return m_nonCompliantRuleCountHasBeenSet; } 111 112 /** 113 * <p>The number of noncompliant Config Rules.</p> 114 */ SetNonCompliantRuleCount(int value)115 inline void SetNonCompliantRuleCount(int value) { m_nonCompliantRuleCountHasBeenSet = true; m_nonCompliantRuleCount = value; } 116 117 /** 118 * <p>The number of noncompliant Config Rules.</p> 119 */ WithNonCompliantRuleCount(int value)120 inline AggregateConformancePackCompliance& WithNonCompliantRuleCount(int value) { SetNonCompliantRuleCount(value); return *this;} 121 122 123 /** 124 * <p>Total number of compliant rules, noncompliant rules, and the rules that do 125 * not have any applicable resources to evaluate upon resulting in insufficient 126 * data.</p> 127 */ GetTotalRuleCount()128 inline int GetTotalRuleCount() const{ return m_totalRuleCount; } 129 130 /** 131 * <p>Total number of compliant rules, noncompliant rules, and the rules that do 132 * not have any applicable resources to evaluate upon resulting in insufficient 133 * data.</p> 134 */ TotalRuleCountHasBeenSet()135 inline bool TotalRuleCountHasBeenSet() const { return m_totalRuleCountHasBeenSet; } 136 137 /** 138 * <p>Total number of compliant rules, noncompliant rules, and the rules that do 139 * not have any applicable resources to evaluate upon resulting in insufficient 140 * data.</p> 141 */ SetTotalRuleCount(int value)142 inline void SetTotalRuleCount(int value) { m_totalRuleCountHasBeenSet = true; m_totalRuleCount = value; } 143 144 /** 145 * <p>Total number of compliant rules, noncompliant rules, and the rules that do 146 * not have any applicable resources to evaluate upon resulting in insufficient 147 * data.</p> 148 */ WithTotalRuleCount(int value)149 inline AggregateConformancePackCompliance& WithTotalRuleCount(int value) { SetTotalRuleCount(value); return *this;} 150 151 private: 152 153 ConformancePackComplianceType m_complianceType; 154 bool m_complianceTypeHasBeenSet; 155 156 int m_compliantRuleCount; 157 bool m_compliantRuleCountHasBeenSet; 158 159 int m_nonCompliantRuleCount; 160 bool m_nonCompliantRuleCountHasBeenSet; 161 162 int m_totalRuleCount; 163 bool m_totalRuleCountHasBeenSet; 164 }; 165 166 } // namespace Model 167 } // namespace ConfigService 168 } // namespace Aws 169