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/ComplianceType.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>Filters the compliance results based on account ID, region, compliance type, 29 * and rule name.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigRuleComplianceFilters">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_CONFIGSERVICE_API ConfigRuleComplianceFilters 34 { 35 public: 36 ConfigRuleComplianceFilters(); 37 ConfigRuleComplianceFilters(Aws::Utils::Json::JsonView jsonValue); 38 ConfigRuleComplianceFilters& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The name of the Config rule.</p> 44 */ GetConfigRuleName()45 inline const Aws::String& GetConfigRuleName() const{ return m_configRuleName; } 46 47 /** 48 * <p>The name of the Config rule.</p> 49 */ ConfigRuleNameHasBeenSet()50 inline bool ConfigRuleNameHasBeenSet() const { return m_configRuleNameHasBeenSet; } 51 52 /** 53 * <p>The name of the Config rule.</p> 54 */ SetConfigRuleName(const Aws::String & value)55 inline void SetConfigRuleName(const Aws::String& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = value; } 56 57 /** 58 * <p>The name of the Config rule.</p> 59 */ SetConfigRuleName(Aws::String && value)60 inline void SetConfigRuleName(Aws::String&& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = std::move(value); } 61 62 /** 63 * <p>The name of the Config rule.</p> 64 */ SetConfigRuleName(const char * value)65 inline void SetConfigRuleName(const char* value) { m_configRuleNameHasBeenSet = true; m_configRuleName.assign(value); } 66 67 /** 68 * <p>The name of the Config rule.</p> 69 */ WithConfigRuleName(const Aws::String & value)70 inline ConfigRuleComplianceFilters& WithConfigRuleName(const Aws::String& value) { SetConfigRuleName(value); return *this;} 71 72 /** 73 * <p>The name of the Config rule.</p> 74 */ WithConfigRuleName(Aws::String && value)75 inline ConfigRuleComplianceFilters& WithConfigRuleName(Aws::String&& value) { SetConfigRuleName(std::move(value)); return *this;} 76 77 /** 78 * <p>The name of the Config rule.</p> 79 */ WithConfigRuleName(const char * value)80 inline ConfigRuleComplianceFilters& WithConfigRuleName(const char* value) { SetConfigRuleName(value); return *this;} 81 82 83 /** 84 * <p>The rule compliance status.</p> <p>For the 85 * <code>ConfigRuleComplianceFilters</code> data type, Config supports only 86 * <code>COMPLIANT</code> and <code>NON_COMPLIANT</code>. Config does not support 87 * the <code>NOT_APPLICABLE</code> and the <code>INSUFFICIENT_DATA</code> 88 * values.</p> 89 */ GetComplianceType()90 inline const ComplianceType& GetComplianceType() const{ return m_complianceType; } 91 92 /** 93 * <p>The rule compliance status.</p> <p>For the 94 * <code>ConfigRuleComplianceFilters</code> data type, Config supports only 95 * <code>COMPLIANT</code> and <code>NON_COMPLIANT</code>. Config does not support 96 * the <code>NOT_APPLICABLE</code> and the <code>INSUFFICIENT_DATA</code> 97 * values.</p> 98 */ ComplianceTypeHasBeenSet()99 inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; } 100 101 /** 102 * <p>The rule compliance status.</p> <p>For the 103 * <code>ConfigRuleComplianceFilters</code> data type, Config supports only 104 * <code>COMPLIANT</code> and <code>NON_COMPLIANT</code>. Config does not support 105 * the <code>NOT_APPLICABLE</code> and the <code>INSUFFICIENT_DATA</code> 106 * values.</p> 107 */ SetComplianceType(const ComplianceType & value)108 inline void SetComplianceType(const ComplianceType& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; } 109 110 /** 111 * <p>The rule compliance status.</p> <p>For the 112 * <code>ConfigRuleComplianceFilters</code> data type, Config supports only 113 * <code>COMPLIANT</code> and <code>NON_COMPLIANT</code>. Config does not support 114 * the <code>NOT_APPLICABLE</code> and the <code>INSUFFICIENT_DATA</code> 115 * values.</p> 116 */ SetComplianceType(ComplianceType && value)117 inline void SetComplianceType(ComplianceType&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); } 118 119 /** 120 * <p>The rule compliance status.</p> <p>For the 121 * <code>ConfigRuleComplianceFilters</code> data type, Config supports only 122 * <code>COMPLIANT</code> and <code>NON_COMPLIANT</code>. Config does not support 123 * the <code>NOT_APPLICABLE</code> and the <code>INSUFFICIENT_DATA</code> 124 * values.</p> 125 */ WithComplianceType(const ComplianceType & value)126 inline ConfigRuleComplianceFilters& WithComplianceType(const ComplianceType& value) { SetComplianceType(value); return *this;} 127 128 /** 129 * <p>The rule compliance status.</p> <p>For the 130 * <code>ConfigRuleComplianceFilters</code> data type, Config supports only 131 * <code>COMPLIANT</code> and <code>NON_COMPLIANT</code>. Config does not support 132 * the <code>NOT_APPLICABLE</code> and the <code>INSUFFICIENT_DATA</code> 133 * values.</p> 134 */ WithComplianceType(ComplianceType && value)135 inline ConfigRuleComplianceFilters& WithComplianceType(ComplianceType&& value) { SetComplianceType(std::move(value)); return *this;} 136 137 138 /** 139 * <p>The 12-digit account ID of the source account. </p> 140 */ GetAccountId()141 inline const Aws::String& GetAccountId() const{ return m_accountId; } 142 143 /** 144 * <p>The 12-digit account ID of the source account. </p> 145 */ AccountIdHasBeenSet()146 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } 147 148 /** 149 * <p>The 12-digit account ID of the source account. </p> 150 */ SetAccountId(const Aws::String & value)151 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } 152 153 /** 154 * <p>The 12-digit account ID of the source account. </p> 155 */ SetAccountId(Aws::String && value)156 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } 157 158 /** 159 * <p>The 12-digit account ID of the source account. </p> 160 */ SetAccountId(const char * value)161 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } 162 163 /** 164 * <p>The 12-digit account ID of the source account. </p> 165 */ WithAccountId(const Aws::String & value)166 inline ConfigRuleComplianceFilters& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} 167 168 /** 169 * <p>The 12-digit account ID of the source account. </p> 170 */ WithAccountId(Aws::String && value)171 inline ConfigRuleComplianceFilters& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} 172 173 /** 174 * <p>The 12-digit account ID of the source account. </p> 175 */ WithAccountId(const char * value)176 inline ConfigRuleComplianceFilters& WithAccountId(const char* value) { SetAccountId(value); return *this;} 177 178 179 /** 180 * <p>The source region where the data is aggregated. </p> 181 */ GetAwsRegion()182 inline const Aws::String& GetAwsRegion() const{ return m_awsRegion; } 183 184 /** 185 * <p>The source region where the data is aggregated. </p> 186 */ AwsRegionHasBeenSet()187 inline bool AwsRegionHasBeenSet() const { return m_awsRegionHasBeenSet; } 188 189 /** 190 * <p>The source region where the data is aggregated. </p> 191 */ SetAwsRegion(const Aws::String & value)192 inline void SetAwsRegion(const Aws::String& value) { m_awsRegionHasBeenSet = true; m_awsRegion = value; } 193 194 /** 195 * <p>The source region where the data is aggregated. </p> 196 */ SetAwsRegion(Aws::String && value)197 inline void SetAwsRegion(Aws::String&& value) { m_awsRegionHasBeenSet = true; m_awsRegion = std::move(value); } 198 199 /** 200 * <p>The source region where the data is aggregated. </p> 201 */ SetAwsRegion(const char * value)202 inline void SetAwsRegion(const char* value) { m_awsRegionHasBeenSet = true; m_awsRegion.assign(value); } 203 204 /** 205 * <p>The source region where the data is aggregated. </p> 206 */ WithAwsRegion(const Aws::String & value)207 inline ConfigRuleComplianceFilters& WithAwsRegion(const Aws::String& value) { SetAwsRegion(value); return *this;} 208 209 /** 210 * <p>The source region where the data is aggregated. </p> 211 */ WithAwsRegion(Aws::String && value)212 inline ConfigRuleComplianceFilters& WithAwsRegion(Aws::String&& value) { SetAwsRegion(std::move(value)); return *this;} 213 214 /** 215 * <p>The source region where the data is aggregated. </p> 216 */ WithAwsRegion(const char * value)217 inline ConfigRuleComplianceFilters& WithAwsRegion(const char* value) { SetAwsRegion(value); return *this;} 218 219 private: 220 221 Aws::String m_configRuleName; 222 bool m_configRuleNameHasBeenSet; 223 224 ComplianceType m_complianceType; 225 bool m_complianceTypeHasBeenSet; 226 227 Aws::String m_accountId; 228 bool m_accountIdHasBeenSet; 229 230 Aws::String m_awsRegion; 231 bool m_awsRegionHasBeenSet; 232 }; 233 234 } // namespace Model 235 } // namespace ConfigService 236 } // namespace Aws 237