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/ComplianceType.h> 9 #include <aws/config/model/ComplianceContributorCount.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace ConfigService 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Indicates whether an Amazon Web Services resource or Config rule is compliant 29 * and provides the number of contributors that affect the 30 * compliance.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/Compliance">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_CONFIGSERVICE_API Compliance 35 { 36 public: 37 Compliance(); 38 Compliance(Aws::Utils::Json::JsonView jsonValue); 39 Compliance& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>Indicates whether an Amazon Web Services resource or Config rule is 45 * compliant.</p> <p>A resource is compliant if it complies with all of the Config 46 * rules that evaluate it. A resource is noncompliant if it does not comply with 47 * one or more of these rules.</p> <p>A rule is compliant if all of the resources 48 * that the rule evaluates comply with it. A rule is noncompliant if any of these 49 * resources do not comply.</p> <p>Config returns the 50 * <code>INSUFFICIENT_DATA</code> value when no evaluation results are available 51 * for the Amazon Web Services resource or Config rule.</p> <p>For the 52 * <code>Compliance</code> data type, Config supports only <code>COMPLIANT</code>, 53 * <code>NON_COMPLIANT</code>, and <code>INSUFFICIENT_DATA</code> values. Config 54 * does not support the <code>NOT_APPLICABLE</code> value for the 55 * <code>Compliance</code> data type.</p> 56 */ GetComplianceType()57 inline const ComplianceType& GetComplianceType() const{ return m_complianceType; } 58 59 /** 60 * <p>Indicates whether an Amazon Web Services resource or Config rule is 61 * compliant.</p> <p>A resource is compliant if it complies with all of the Config 62 * rules that evaluate it. A resource is noncompliant if it does not comply with 63 * one or more of these rules.</p> <p>A rule is compliant if all of the resources 64 * that the rule evaluates comply with it. A rule is noncompliant if any of these 65 * resources do not comply.</p> <p>Config returns the 66 * <code>INSUFFICIENT_DATA</code> value when no evaluation results are available 67 * for the Amazon Web Services resource or Config rule.</p> <p>For the 68 * <code>Compliance</code> data type, Config supports only <code>COMPLIANT</code>, 69 * <code>NON_COMPLIANT</code>, and <code>INSUFFICIENT_DATA</code> values. Config 70 * does not support the <code>NOT_APPLICABLE</code> value for the 71 * <code>Compliance</code> data type.</p> 72 */ ComplianceTypeHasBeenSet()73 inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; } 74 75 /** 76 * <p>Indicates whether an Amazon Web Services resource or Config rule is 77 * compliant.</p> <p>A resource is compliant if it complies with all of the Config 78 * rules that evaluate it. A resource is noncompliant if it does not comply with 79 * one or more of these rules.</p> <p>A rule is compliant if all of the resources 80 * that the rule evaluates comply with it. A rule is noncompliant if any of these 81 * resources do not comply.</p> <p>Config returns the 82 * <code>INSUFFICIENT_DATA</code> value when no evaluation results are available 83 * for the Amazon Web Services resource or Config rule.</p> <p>For the 84 * <code>Compliance</code> data type, Config supports only <code>COMPLIANT</code>, 85 * <code>NON_COMPLIANT</code>, and <code>INSUFFICIENT_DATA</code> values. Config 86 * does not support the <code>NOT_APPLICABLE</code> value for the 87 * <code>Compliance</code> data type.</p> 88 */ SetComplianceType(const ComplianceType & value)89 inline void SetComplianceType(const ComplianceType& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; } 90 91 /** 92 * <p>Indicates whether an Amazon Web Services resource or Config rule is 93 * compliant.</p> <p>A resource is compliant if it complies with all of the Config 94 * rules that evaluate it. A resource is noncompliant if it does not comply with 95 * one or more of these rules.</p> <p>A rule is compliant if all of the resources 96 * that the rule evaluates comply with it. A rule is noncompliant if any of these 97 * resources do not comply.</p> <p>Config returns the 98 * <code>INSUFFICIENT_DATA</code> value when no evaluation results are available 99 * for the Amazon Web Services resource or Config rule.</p> <p>For the 100 * <code>Compliance</code> data type, Config supports only <code>COMPLIANT</code>, 101 * <code>NON_COMPLIANT</code>, and <code>INSUFFICIENT_DATA</code> values. Config 102 * does not support the <code>NOT_APPLICABLE</code> value for the 103 * <code>Compliance</code> data type.</p> 104 */ SetComplianceType(ComplianceType && value)105 inline void SetComplianceType(ComplianceType&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); } 106 107 /** 108 * <p>Indicates whether an Amazon Web Services resource or Config rule is 109 * compliant.</p> <p>A resource is compliant if it complies with all of the Config 110 * rules that evaluate it. A resource is noncompliant if it does not comply with 111 * one or more of these rules.</p> <p>A rule is compliant if all of the resources 112 * that the rule evaluates comply with it. A rule is noncompliant if any of these 113 * resources do not comply.</p> <p>Config returns the 114 * <code>INSUFFICIENT_DATA</code> value when no evaluation results are available 115 * for the Amazon Web Services resource or Config rule.</p> <p>For the 116 * <code>Compliance</code> data type, Config supports only <code>COMPLIANT</code>, 117 * <code>NON_COMPLIANT</code>, and <code>INSUFFICIENT_DATA</code> values. Config 118 * does not support the <code>NOT_APPLICABLE</code> value for the 119 * <code>Compliance</code> data type.</p> 120 */ WithComplianceType(const ComplianceType & value)121 inline Compliance& WithComplianceType(const ComplianceType& value) { SetComplianceType(value); return *this;} 122 123 /** 124 * <p>Indicates whether an Amazon Web Services resource or Config rule is 125 * compliant.</p> <p>A resource is compliant if it complies with all of the Config 126 * rules that evaluate it. A resource is noncompliant if it does not comply with 127 * one or more of these rules.</p> <p>A rule is compliant if all of the resources 128 * that the rule evaluates comply with it. A rule is noncompliant if any of these 129 * resources do not comply.</p> <p>Config returns the 130 * <code>INSUFFICIENT_DATA</code> value when no evaluation results are available 131 * for the Amazon Web Services resource or Config rule.</p> <p>For the 132 * <code>Compliance</code> data type, Config supports only <code>COMPLIANT</code>, 133 * <code>NON_COMPLIANT</code>, and <code>INSUFFICIENT_DATA</code> values. Config 134 * does not support the <code>NOT_APPLICABLE</code> value for the 135 * <code>Compliance</code> data type.</p> 136 */ WithComplianceType(ComplianceType && value)137 inline Compliance& WithComplianceType(ComplianceType&& value) { SetComplianceType(std::move(value)); return *this;} 138 139 140 /** 141 * <p>The number of Amazon Web Services resources or Config rules that cause a 142 * result of <code>NON_COMPLIANT</code>, up to a maximum number.</p> 143 */ GetComplianceContributorCount()144 inline const ComplianceContributorCount& GetComplianceContributorCount() const{ return m_complianceContributorCount; } 145 146 /** 147 * <p>The number of Amazon Web Services resources or Config rules that cause a 148 * result of <code>NON_COMPLIANT</code>, up to a maximum number.</p> 149 */ ComplianceContributorCountHasBeenSet()150 inline bool ComplianceContributorCountHasBeenSet() const { return m_complianceContributorCountHasBeenSet; } 151 152 /** 153 * <p>The number of Amazon Web Services resources or Config rules that cause a 154 * result of <code>NON_COMPLIANT</code>, up to a maximum number.</p> 155 */ SetComplianceContributorCount(const ComplianceContributorCount & value)156 inline void SetComplianceContributorCount(const ComplianceContributorCount& value) { m_complianceContributorCountHasBeenSet = true; m_complianceContributorCount = value; } 157 158 /** 159 * <p>The number of Amazon Web Services resources or Config rules that cause a 160 * result of <code>NON_COMPLIANT</code>, up to a maximum number.</p> 161 */ SetComplianceContributorCount(ComplianceContributorCount && value)162 inline void SetComplianceContributorCount(ComplianceContributorCount&& value) { m_complianceContributorCountHasBeenSet = true; m_complianceContributorCount = std::move(value); } 163 164 /** 165 * <p>The number of Amazon Web Services resources or Config rules that cause a 166 * result of <code>NON_COMPLIANT</code>, up to a maximum number.</p> 167 */ WithComplianceContributorCount(const ComplianceContributorCount & value)168 inline Compliance& WithComplianceContributorCount(const ComplianceContributorCount& value) { SetComplianceContributorCount(value); return *this;} 169 170 /** 171 * <p>The number of Amazon Web Services resources or Config rules that cause a 172 * result of <code>NON_COMPLIANT</code>, up to a maximum number.</p> 173 */ WithComplianceContributorCount(ComplianceContributorCount && value)174 inline Compliance& WithComplianceContributorCount(ComplianceContributorCount&& value) { SetComplianceContributorCount(std::move(value)); return *this;} 175 176 private: 177 178 ComplianceType m_complianceType; 179 bool m_complianceTypeHasBeenSet; 180 181 ComplianceContributorCount m_complianceContributorCount; 182 bool m_complianceContributorCountHasBeenSet; 183 }; 184 185 } // namespace Model 186 } // namespace ConfigService 187 } // namespace Aws 188