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/EvaluationResultIdentifier.h> 9 #include <aws/config/model/ComplianceType.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/core/utils/memory/stl/AWSString.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace ConfigService 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>The details of an Config evaluation. Provides the Amazon Web Services 31 * resource that was evaluated, the compliance of the resource, related time 32 * stamps, and supplementary information.</p><p><h3>See Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/EvaluationResult">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_CONFIGSERVICE_API EvaluationResult 37 { 38 public: 39 EvaluationResult(); 40 EvaluationResult(Aws::Utils::Json::JsonView jsonValue); 41 EvaluationResult& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>Uniquely identifies the evaluation result.</p> 47 */ GetEvaluationResultIdentifier()48 inline const EvaluationResultIdentifier& GetEvaluationResultIdentifier() const{ return m_evaluationResultIdentifier; } 49 50 /** 51 * <p>Uniquely identifies the evaluation result.</p> 52 */ EvaluationResultIdentifierHasBeenSet()53 inline bool EvaluationResultIdentifierHasBeenSet() const { return m_evaluationResultIdentifierHasBeenSet; } 54 55 /** 56 * <p>Uniquely identifies the evaluation result.</p> 57 */ SetEvaluationResultIdentifier(const EvaluationResultIdentifier & value)58 inline void SetEvaluationResultIdentifier(const EvaluationResultIdentifier& value) { m_evaluationResultIdentifierHasBeenSet = true; m_evaluationResultIdentifier = value; } 59 60 /** 61 * <p>Uniquely identifies the evaluation result.</p> 62 */ SetEvaluationResultIdentifier(EvaluationResultIdentifier && value)63 inline void SetEvaluationResultIdentifier(EvaluationResultIdentifier&& value) { m_evaluationResultIdentifierHasBeenSet = true; m_evaluationResultIdentifier = std::move(value); } 64 65 /** 66 * <p>Uniquely identifies the evaluation result.</p> 67 */ WithEvaluationResultIdentifier(const EvaluationResultIdentifier & value)68 inline EvaluationResult& WithEvaluationResultIdentifier(const EvaluationResultIdentifier& value) { SetEvaluationResultIdentifier(value); return *this;} 69 70 /** 71 * <p>Uniquely identifies the evaluation result.</p> 72 */ WithEvaluationResultIdentifier(EvaluationResultIdentifier && value)73 inline EvaluationResult& WithEvaluationResultIdentifier(EvaluationResultIdentifier&& value) { SetEvaluationResultIdentifier(std::move(value)); return *this;} 74 75 76 /** 77 * <p>Indicates whether the Amazon Web Services resource complies with the Config 78 * rule that evaluated it.</p> <p>For the <code>EvaluationResult</code> data type, 79 * Config supports only the <code>COMPLIANT</code>, <code>NON_COMPLIANT</code>, and 80 * <code>NOT_APPLICABLE</code> values. Config does not support the 81 * <code>INSUFFICIENT_DATA</code> value for the <code>EvaluationResult</code> data 82 * type.</p> 83 */ GetComplianceType()84 inline const ComplianceType& GetComplianceType() const{ return m_complianceType; } 85 86 /** 87 * <p>Indicates whether the Amazon Web Services resource complies with the Config 88 * rule that evaluated it.</p> <p>For the <code>EvaluationResult</code> data type, 89 * Config supports only the <code>COMPLIANT</code>, <code>NON_COMPLIANT</code>, and 90 * <code>NOT_APPLICABLE</code> values. Config does not support the 91 * <code>INSUFFICIENT_DATA</code> value for the <code>EvaluationResult</code> data 92 * type.</p> 93 */ ComplianceTypeHasBeenSet()94 inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; } 95 96 /** 97 * <p>Indicates whether the Amazon Web Services resource complies with the Config 98 * rule that evaluated it.</p> <p>For the <code>EvaluationResult</code> data type, 99 * Config supports only the <code>COMPLIANT</code>, <code>NON_COMPLIANT</code>, and 100 * <code>NOT_APPLICABLE</code> values. Config does not support the 101 * <code>INSUFFICIENT_DATA</code> value for the <code>EvaluationResult</code> data 102 * type.</p> 103 */ SetComplianceType(const ComplianceType & value)104 inline void SetComplianceType(const ComplianceType& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; } 105 106 /** 107 * <p>Indicates whether the Amazon Web Services resource complies with the Config 108 * rule that evaluated it.</p> <p>For the <code>EvaluationResult</code> data type, 109 * Config supports only the <code>COMPLIANT</code>, <code>NON_COMPLIANT</code>, and 110 * <code>NOT_APPLICABLE</code> values. Config does not support the 111 * <code>INSUFFICIENT_DATA</code> value for the <code>EvaluationResult</code> data 112 * type.</p> 113 */ SetComplianceType(ComplianceType && value)114 inline void SetComplianceType(ComplianceType&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); } 115 116 /** 117 * <p>Indicates whether the Amazon Web Services resource complies with the Config 118 * rule that evaluated it.</p> <p>For the <code>EvaluationResult</code> data type, 119 * Config supports only the <code>COMPLIANT</code>, <code>NON_COMPLIANT</code>, and 120 * <code>NOT_APPLICABLE</code> values. Config does not support the 121 * <code>INSUFFICIENT_DATA</code> value for the <code>EvaluationResult</code> data 122 * type.</p> 123 */ WithComplianceType(const ComplianceType & value)124 inline EvaluationResult& WithComplianceType(const ComplianceType& value) { SetComplianceType(value); return *this;} 125 126 /** 127 * <p>Indicates whether the Amazon Web Services resource complies with the Config 128 * rule that evaluated it.</p> <p>For the <code>EvaluationResult</code> data type, 129 * Config supports only the <code>COMPLIANT</code>, <code>NON_COMPLIANT</code>, and 130 * <code>NOT_APPLICABLE</code> values. Config does not support the 131 * <code>INSUFFICIENT_DATA</code> value for the <code>EvaluationResult</code> data 132 * type.</p> 133 */ WithComplianceType(ComplianceType && value)134 inline EvaluationResult& WithComplianceType(ComplianceType&& value) { SetComplianceType(std::move(value)); return *this;} 135 136 137 /** 138 * <p>The time when Config recorded the evaluation result.</p> 139 */ GetResultRecordedTime()140 inline const Aws::Utils::DateTime& GetResultRecordedTime() const{ return m_resultRecordedTime; } 141 142 /** 143 * <p>The time when Config recorded the evaluation result.</p> 144 */ ResultRecordedTimeHasBeenSet()145 inline bool ResultRecordedTimeHasBeenSet() const { return m_resultRecordedTimeHasBeenSet; } 146 147 /** 148 * <p>The time when Config recorded the evaluation result.</p> 149 */ SetResultRecordedTime(const Aws::Utils::DateTime & value)150 inline void SetResultRecordedTime(const Aws::Utils::DateTime& value) { m_resultRecordedTimeHasBeenSet = true; m_resultRecordedTime = value; } 151 152 /** 153 * <p>The time when Config recorded the evaluation result.</p> 154 */ SetResultRecordedTime(Aws::Utils::DateTime && value)155 inline void SetResultRecordedTime(Aws::Utils::DateTime&& value) { m_resultRecordedTimeHasBeenSet = true; m_resultRecordedTime = std::move(value); } 156 157 /** 158 * <p>The time when Config recorded the evaluation result.</p> 159 */ WithResultRecordedTime(const Aws::Utils::DateTime & value)160 inline EvaluationResult& WithResultRecordedTime(const Aws::Utils::DateTime& value) { SetResultRecordedTime(value); return *this;} 161 162 /** 163 * <p>The time when Config recorded the evaluation result.</p> 164 */ WithResultRecordedTime(Aws::Utils::DateTime && value)165 inline EvaluationResult& WithResultRecordedTime(Aws::Utils::DateTime&& value) { SetResultRecordedTime(std::move(value)); return *this;} 166 167 168 /** 169 * <p>The time when the Config rule evaluated the Amazon Web Services resource.</p> 170 */ GetConfigRuleInvokedTime()171 inline const Aws::Utils::DateTime& GetConfigRuleInvokedTime() const{ return m_configRuleInvokedTime; } 172 173 /** 174 * <p>The time when the Config rule evaluated the Amazon Web Services resource.</p> 175 */ ConfigRuleInvokedTimeHasBeenSet()176 inline bool ConfigRuleInvokedTimeHasBeenSet() const { return m_configRuleInvokedTimeHasBeenSet; } 177 178 /** 179 * <p>The time when the Config rule evaluated the Amazon Web Services resource.</p> 180 */ SetConfigRuleInvokedTime(const Aws::Utils::DateTime & value)181 inline void SetConfigRuleInvokedTime(const Aws::Utils::DateTime& value) { m_configRuleInvokedTimeHasBeenSet = true; m_configRuleInvokedTime = value; } 182 183 /** 184 * <p>The time when the Config rule evaluated the Amazon Web Services resource.</p> 185 */ SetConfigRuleInvokedTime(Aws::Utils::DateTime && value)186 inline void SetConfigRuleInvokedTime(Aws::Utils::DateTime&& value) { m_configRuleInvokedTimeHasBeenSet = true; m_configRuleInvokedTime = std::move(value); } 187 188 /** 189 * <p>The time when the Config rule evaluated the Amazon Web Services resource.</p> 190 */ WithConfigRuleInvokedTime(const Aws::Utils::DateTime & value)191 inline EvaluationResult& WithConfigRuleInvokedTime(const Aws::Utils::DateTime& value) { SetConfigRuleInvokedTime(value); return *this;} 192 193 /** 194 * <p>The time when the Config rule evaluated the Amazon Web Services resource.</p> 195 */ WithConfigRuleInvokedTime(Aws::Utils::DateTime && value)196 inline EvaluationResult& WithConfigRuleInvokedTime(Aws::Utils::DateTime&& value) { SetConfigRuleInvokedTime(std::move(value)); return *this;} 197 198 199 /** 200 * <p>Supplementary information about how the evaluation determined the 201 * compliance.</p> 202 */ GetAnnotation()203 inline const Aws::String& GetAnnotation() const{ return m_annotation; } 204 205 /** 206 * <p>Supplementary information about how the evaluation determined the 207 * compliance.</p> 208 */ AnnotationHasBeenSet()209 inline bool AnnotationHasBeenSet() const { return m_annotationHasBeenSet; } 210 211 /** 212 * <p>Supplementary information about how the evaluation determined the 213 * compliance.</p> 214 */ SetAnnotation(const Aws::String & value)215 inline void SetAnnotation(const Aws::String& value) { m_annotationHasBeenSet = true; m_annotation = value; } 216 217 /** 218 * <p>Supplementary information about how the evaluation determined the 219 * compliance.</p> 220 */ SetAnnotation(Aws::String && value)221 inline void SetAnnotation(Aws::String&& value) { m_annotationHasBeenSet = true; m_annotation = std::move(value); } 222 223 /** 224 * <p>Supplementary information about how the evaluation determined the 225 * compliance.</p> 226 */ SetAnnotation(const char * value)227 inline void SetAnnotation(const char* value) { m_annotationHasBeenSet = true; m_annotation.assign(value); } 228 229 /** 230 * <p>Supplementary information about how the evaluation determined the 231 * compliance.</p> 232 */ WithAnnotation(const Aws::String & value)233 inline EvaluationResult& WithAnnotation(const Aws::String& value) { SetAnnotation(value); return *this;} 234 235 /** 236 * <p>Supplementary information about how the evaluation determined the 237 * compliance.</p> 238 */ WithAnnotation(Aws::String && value)239 inline EvaluationResult& WithAnnotation(Aws::String&& value) { SetAnnotation(std::move(value)); return *this;} 240 241 /** 242 * <p>Supplementary information about how the evaluation determined the 243 * compliance.</p> 244 */ WithAnnotation(const char * value)245 inline EvaluationResult& WithAnnotation(const char* value) { SetAnnotation(value); return *this;} 246 247 248 /** 249 * <p>An encrypted token that associates an evaluation with an Config rule. The 250 * token identifies the rule, the Amazon Web Services resource being evaluated, and 251 * the event that triggered the evaluation.</p> 252 */ GetResultToken()253 inline const Aws::String& GetResultToken() const{ return m_resultToken; } 254 255 /** 256 * <p>An encrypted token that associates an evaluation with an Config rule. The 257 * token identifies the rule, the Amazon Web Services resource being evaluated, and 258 * the event that triggered the evaluation.</p> 259 */ ResultTokenHasBeenSet()260 inline bool ResultTokenHasBeenSet() const { return m_resultTokenHasBeenSet; } 261 262 /** 263 * <p>An encrypted token that associates an evaluation with an Config rule. The 264 * token identifies the rule, the Amazon Web Services resource being evaluated, and 265 * the event that triggered the evaluation.</p> 266 */ SetResultToken(const Aws::String & value)267 inline void SetResultToken(const Aws::String& value) { m_resultTokenHasBeenSet = true; m_resultToken = value; } 268 269 /** 270 * <p>An encrypted token that associates an evaluation with an Config rule. The 271 * token identifies the rule, the Amazon Web Services resource being evaluated, and 272 * the event that triggered the evaluation.</p> 273 */ SetResultToken(Aws::String && value)274 inline void SetResultToken(Aws::String&& value) { m_resultTokenHasBeenSet = true; m_resultToken = std::move(value); } 275 276 /** 277 * <p>An encrypted token that associates an evaluation with an Config rule. The 278 * token identifies the rule, the Amazon Web Services resource being evaluated, and 279 * the event that triggered the evaluation.</p> 280 */ SetResultToken(const char * value)281 inline void SetResultToken(const char* value) { m_resultTokenHasBeenSet = true; m_resultToken.assign(value); } 282 283 /** 284 * <p>An encrypted token that associates an evaluation with an Config rule. The 285 * token identifies the rule, the Amazon Web Services resource being evaluated, and 286 * the event that triggered the evaluation.</p> 287 */ WithResultToken(const Aws::String & value)288 inline EvaluationResult& WithResultToken(const Aws::String& value) { SetResultToken(value); return *this;} 289 290 /** 291 * <p>An encrypted token that associates an evaluation with an Config rule. The 292 * token identifies the rule, the Amazon Web Services resource being evaluated, and 293 * the event that triggered the evaluation.</p> 294 */ WithResultToken(Aws::String && value)295 inline EvaluationResult& WithResultToken(Aws::String&& value) { SetResultToken(std::move(value)); return *this;} 296 297 /** 298 * <p>An encrypted token that associates an evaluation with an Config rule. The 299 * token identifies the rule, the Amazon Web Services resource being evaluated, and 300 * the event that triggered the evaluation.</p> 301 */ WithResultToken(const char * value)302 inline EvaluationResult& WithResultToken(const char* value) { SetResultToken(value); return *this;} 303 304 private: 305 306 EvaluationResultIdentifier m_evaluationResultIdentifier; 307 bool m_evaluationResultIdentifierHasBeenSet; 308 309 ComplianceType m_complianceType; 310 bool m_complianceTypeHasBeenSet; 311 312 Aws::Utils::DateTime m_resultRecordedTime; 313 bool m_resultRecordedTimeHasBeenSet; 314 315 Aws::Utils::DateTime m_configRuleInvokedTime; 316 bool m_configRuleInvokedTimeHasBeenSet; 317 318 Aws::String m_annotation; 319 bool m_annotationHasBeenSet; 320 321 Aws::String m_resultToken; 322 bool m_resultTokenHasBeenSet; 323 }; 324 325 } // namespace Model 326 } // namespace ConfigService 327 } // namespace Aws 328