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/core/utils/memory/stl/AWSString.h> 9 #include <aws/config/model/Compliance.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 Config rule is compliant based on account ID, region, 29 * compliance, and rule name.</p> <p>A rule is compliant if all of the resources 30 * that the rule evaluated comply with it. It is noncompliant if any of these 31 * resources do not comply.</p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/AggregateComplianceByConfigRule">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_CONFIGSERVICE_API AggregateComplianceByConfigRule 36 { 37 public: 38 AggregateComplianceByConfigRule(); 39 AggregateComplianceByConfigRule(Aws::Utils::Json::JsonView jsonValue); 40 AggregateComplianceByConfigRule& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The name of the Config rule.</p> 46 */ GetConfigRuleName()47 inline const Aws::String& GetConfigRuleName() const{ return m_configRuleName; } 48 49 /** 50 * <p>The name of the Config rule.</p> 51 */ ConfigRuleNameHasBeenSet()52 inline bool ConfigRuleNameHasBeenSet() const { return m_configRuleNameHasBeenSet; } 53 54 /** 55 * <p>The name of the Config rule.</p> 56 */ SetConfigRuleName(const Aws::String & value)57 inline void SetConfigRuleName(const Aws::String& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = value; } 58 59 /** 60 * <p>The name of the Config rule.</p> 61 */ SetConfigRuleName(Aws::String && value)62 inline void SetConfigRuleName(Aws::String&& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = std::move(value); } 63 64 /** 65 * <p>The name of the Config rule.</p> 66 */ SetConfigRuleName(const char * value)67 inline void SetConfigRuleName(const char* value) { m_configRuleNameHasBeenSet = true; m_configRuleName.assign(value); } 68 69 /** 70 * <p>The name of the Config rule.</p> 71 */ WithConfigRuleName(const Aws::String & value)72 inline AggregateComplianceByConfigRule& WithConfigRuleName(const Aws::String& value) { SetConfigRuleName(value); return *this;} 73 74 /** 75 * <p>The name of the Config rule.</p> 76 */ WithConfigRuleName(Aws::String && value)77 inline AggregateComplianceByConfigRule& WithConfigRuleName(Aws::String&& value) { SetConfigRuleName(std::move(value)); return *this;} 78 79 /** 80 * <p>The name of the Config rule.</p> 81 */ WithConfigRuleName(const char * value)82 inline AggregateComplianceByConfigRule& WithConfigRuleName(const char* value) { SetConfigRuleName(value); return *this;} 83 84 85 /** 86 * <p>Indicates whether an Amazon Web Services resource or Config rule is compliant 87 * and provides the number of contributors that affect the compliance.</p> 88 */ GetCompliance()89 inline const Compliance& GetCompliance() const{ return m_compliance; } 90 91 /** 92 * <p>Indicates whether an Amazon Web Services resource or Config rule is compliant 93 * and provides the number of contributors that affect the compliance.</p> 94 */ ComplianceHasBeenSet()95 inline bool ComplianceHasBeenSet() const { return m_complianceHasBeenSet; } 96 97 /** 98 * <p>Indicates whether an Amazon Web Services resource or Config rule is compliant 99 * and provides the number of contributors that affect the compliance.</p> 100 */ SetCompliance(const Compliance & value)101 inline void SetCompliance(const Compliance& value) { m_complianceHasBeenSet = true; m_compliance = value; } 102 103 /** 104 * <p>Indicates whether an Amazon Web Services resource or Config rule is compliant 105 * and provides the number of contributors that affect the compliance.</p> 106 */ SetCompliance(Compliance && value)107 inline void SetCompliance(Compliance&& value) { m_complianceHasBeenSet = true; m_compliance = std::move(value); } 108 109 /** 110 * <p>Indicates whether an Amazon Web Services resource or Config rule is compliant 111 * and provides the number of contributors that affect the compliance.</p> 112 */ WithCompliance(const Compliance & value)113 inline AggregateComplianceByConfigRule& WithCompliance(const Compliance& value) { SetCompliance(value); return *this;} 114 115 /** 116 * <p>Indicates whether an Amazon Web Services resource or Config rule is compliant 117 * and provides the number of contributors that affect the compliance.</p> 118 */ WithCompliance(Compliance && value)119 inline AggregateComplianceByConfigRule& WithCompliance(Compliance&& value) { SetCompliance(std::move(value)); return *this;} 120 121 122 /** 123 * <p>The 12-digit account ID of the source account.</p> 124 */ GetAccountId()125 inline const Aws::String& GetAccountId() const{ return m_accountId; } 126 127 /** 128 * <p>The 12-digit account ID of the source account.</p> 129 */ AccountIdHasBeenSet()130 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } 131 132 /** 133 * <p>The 12-digit account ID of the source account.</p> 134 */ SetAccountId(const Aws::String & value)135 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } 136 137 /** 138 * <p>The 12-digit account ID of the source account.</p> 139 */ SetAccountId(Aws::String && value)140 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } 141 142 /** 143 * <p>The 12-digit account ID of the source account.</p> 144 */ SetAccountId(const char * value)145 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } 146 147 /** 148 * <p>The 12-digit account ID of the source account.</p> 149 */ WithAccountId(const Aws::String & value)150 inline AggregateComplianceByConfigRule& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} 151 152 /** 153 * <p>The 12-digit account ID of the source account.</p> 154 */ WithAccountId(Aws::String && value)155 inline AggregateComplianceByConfigRule& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} 156 157 /** 158 * <p>The 12-digit account ID of the source account.</p> 159 */ WithAccountId(const char * value)160 inline AggregateComplianceByConfigRule& WithAccountId(const char* value) { SetAccountId(value); return *this;} 161 162 163 /** 164 * <p>The source region from where the data is aggregated.</p> 165 */ GetAwsRegion()166 inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } 167 168 /** 169 * <p>The source region from where the data is aggregated.</p> 170 */ AwsRegionHasBeenSet()171 inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } 172 173 /** 174 * <p>The source region from where the data is aggregated.</p> 175 */ SetAwsRegion(const Aws::String & value)176 inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } 177 178 /** 179 * <p>The source region from where the data is aggregated.</p> 180 */ SetAwsRegion(Aws::String && value)181 inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } 182 183 /** 184 * <p>The source region from where the data is aggregated.</p> 185 */ SetAwsRegion(const char * value)186 inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } 187 188 /** 189 * <p>The source region from where the data is aggregated.</p> 190 */ WithAwsRegion(const Aws::String & value)191 inline AggregateComplianceByConfigRule& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} 192 193 /** 194 * <p>The source region from where the data is aggregated.</p> 195 */ WithAwsRegion(Aws::String && value)196 inline AggregateComplianceByConfigRule& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} 197 198 /** 199 * <p>The source region from where the data is aggregated.</p> 200 */ WithAwsRegion(const char * value)201 inline AggregateComplianceByConfigRule& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} 202 203 private: 204 205 Aws::String m_configRuleName; 206 bool m_configRuleNameHasBeenSet; 207 208 Compliance m_compliance; 209 bool m_complianceHasBeenSet; 210 211 Aws::String m_accountId; 212 bool m_accountIdHasBeenSet; 213 214 Aws::String m_awsRegion; 215 bool m_awsRegionHasBeenSet; 216 }; 217 218 } // namespace Model 219 } // namespace ConfigService 220 } // namespace Aws 221