/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ConfigService { namespace Model { /** *

Identifies an AWS resource and indicates whether it complies with the AWS * Config rule that it was evaluated against.

See Also:

AWS * API Reference

*/ class AWS_CONFIGSERVICE_API Evaluation { public: Evaluation(); Evaluation(Aws::Utils::Json::JsonView jsonValue); Evaluation& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The type of AWS resource that was evaluated.

*/ inline const Aws::String& GetComplianceResourceType() const{ return m_complianceResourceType; } /** *

The type of AWS resource that was evaluated.

*/ inline bool ComplianceResourceTypeHasBeenSet() const { return m_complianceResourceTypeHasBeenSet; } /** *

The type of AWS resource that was evaluated.

*/ inline void SetComplianceResourceType(const Aws::String& value) { m_complianceResourceTypeHasBeenSet = true; m_complianceResourceType = value; } /** *

The type of AWS resource that was evaluated.

*/ inline void SetComplianceResourceType(Aws::String&& value) { m_complianceResourceTypeHasBeenSet = true; m_complianceResourceType = std::move(value); } /** *

The type of AWS resource that was evaluated.

*/ inline void SetComplianceResourceType(const char* value) { m_complianceResourceTypeHasBeenSet = true; m_complianceResourceType.assign(value); } /** *

The type of AWS resource that was evaluated.

*/ inline Evaluation& WithComplianceResourceType(const Aws::String& value) { SetComplianceResourceType(value); return *this;} /** *

The type of AWS resource that was evaluated.

*/ inline Evaluation& WithComplianceResourceType(Aws::String&& value) { SetComplianceResourceType(std::move(value)); return *this;} /** *

The type of AWS resource that was evaluated.

*/ inline Evaluation& WithComplianceResourceType(const char* value) { SetComplianceResourceType(value); return *this;} /** *

The ID of the AWS resource that was evaluated.

*/ inline const Aws::String& GetComplianceResourceId() const{ return m_complianceResourceId; } /** *

The ID of the AWS resource that was evaluated.

*/ inline bool ComplianceResourceIdHasBeenSet() const { return m_complianceResourceIdHasBeenSet; } /** *

The ID of the AWS resource that was evaluated.

*/ inline void SetComplianceResourceId(const Aws::String& value) { m_complianceResourceIdHasBeenSet = true; m_complianceResourceId = value; } /** *

The ID of the AWS resource that was evaluated.

*/ inline void SetComplianceResourceId(Aws::String&& value) { m_complianceResourceIdHasBeenSet = true; m_complianceResourceId = std::move(value); } /** *

The ID of the AWS resource that was evaluated.

*/ inline void SetComplianceResourceId(const char* value) { m_complianceResourceIdHasBeenSet = true; m_complianceResourceId.assign(value); } /** *

The ID of the AWS resource that was evaluated.

*/ inline Evaluation& WithComplianceResourceId(const Aws::String& value) { SetComplianceResourceId(value); return *this;} /** *

The ID of the AWS resource that was evaluated.

*/ inline Evaluation& WithComplianceResourceId(Aws::String&& value) { SetComplianceResourceId(std::move(value)); return *this;} /** *

The ID of the AWS resource that was evaluated.

*/ inline Evaluation& WithComplianceResourceId(const char* value) { SetComplianceResourceId(value); return *this;} /** *

Indicates whether the AWS resource complies with the AWS Config rule that it * was evaluated against.

For the Evaluation data type, AWS * Config supports only the COMPLIANT, NON_COMPLIANT, and * NOT_APPLICABLE values. AWS Config does not support the * INSUFFICIENT_DATA value for this data type.

Similarly, AWS * Config does not accept INSUFFICIENT_DATA as the value for * ComplianceType from a PutEvaluations request. For * example, an AWS Lambda function for a custom AWS Config rule cannot pass an * INSUFFICIENT_DATA value to AWS Config.

*/ inline const ComplianceType& GetComplianceType() const{ return m_complianceType; } /** *

Indicates whether the AWS resource complies with the AWS Config rule that it * was evaluated against.

For the Evaluation data type, AWS * Config supports only the COMPLIANT, NON_COMPLIANT, and * NOT_APPLICABLE values. AWS Config does not support the * INSUFFICIENT_DATA value for this data type.

Similarly, AWS * Config does not accept INSUFFICIENT_DATA as the value for * ComplianceType from a PutEvaluations request. For * example, an AWS Lambda function for a custom AWS Config rule cannot pass an * INSUFFICIENT_DATA value to AWS Config.

*/ inline bool ComplianceTypeHasBeenSet() const { return m_complianceTypeHasBeenSet; } /** *

Indicates whether the AWS resource complies with the AWS Config rule that it * was evaluated against.

For the Evaluation data type, AWS * Config supports only the COMPLIANT, NON_COMPLIANT, and * NOT_APPLICABLE values. AWS Config does not support the * INSUFFICIENT_DATA value for this data type.

Similarly, AWS * Config does not accept INSUFFICIENT_DATA as the value for * ComplianceType from a PutEvaluations request. For * example, an AWS Lambda function for a custom AWS Config rule cannot pass an * INSUFFICIENT_DATA value to AWS Config.

*/ inline void SetComplianceType(const ComplianceType& value) { m_complianceTypeHasBeenSet = true; m_complianceType = value; } /** *

Indicates whether the AWS resource complies with the AWS Config rule that it * was evaluated against.

For the Evaluation data type, AWS * Config supports only the COMPLIANT, NON_COMPLIANT, and * NOT_APPLICABLE values. AWS Config does not support the * INSUFFICIENT_DATA value for this data type.

Similarly, AWS * Config does not accept INSUFFICIENT_DATA as the value for * ComplianceType from a PutEvaluations request. For * example, an AWS Lambda function for a custom AWS Config rule cannot pass an * INSUFFICIENT_DATA value to AWS Config.

*/ inline void SetComplianceType(ComplianceType&& value) { m_complianceTypeHasBeenSet = true; m_complianceType = std::move(value); } /** *

Indicates whether the AWS resource complies with the AWS Config rule that it * was evaluated against.

For the Evaluation data type, AWS * Config supports only the COMPLIANT, NON_COMPLIANT, and * NOT_APPLICABLE values. AWS Config does not support the * INSUFFICIENT_DATA value for this data type.

Similarly, AWS * Config does not accept INSUFFICIENT_DATA as the value for * ComplianceType from a PutEvaluations request. For * example, an AWS Lambda function for a custom AWS Config rule cannot pass an * INSUFFICIENT_DATA value to AWS Config.

*/ inline Evaluation& WithComplianceType(const ComplianceType& value) { SetComplianceType(value); return *this;} /** *

Indicates whether the AWS resource complies with the AWS Config rule that it * was evaluated against.

For the Evaluation data type, AWS * Config supports only the COMPLIANT, NON_COMPLIANT, and * NOT_APPLICABLE values. AWS Config does not support the * INSUFFICIENT_DATA value for this data type.

Similarly, AWS * Config does not accept INSUFFICIENT_DATA as the value for * ComplianceType from a PutEvaluations request. For * example, an AWS Lambda function for a custom AWS Config rule cannot pass an * INSUFFICIENT_DATA value to AWS Config.

*/ inline Evaluation& WithComplianceType(ComplianceType&& value) { SetComplianceType(std::move(value)); return *this;} /** *

Supplementary information about how the evaluation determined the * compliance.

*/ inline const Aws::String& GetAnnotation() const{ return m_annotation; } /** *

Supplementary information about how the evaluation determined the * compliance.

*/ inline bool AnnotationHasBeenSet() const { return m_annotationHasBeenSet; } /** *

Supplementary information about how the evaluation determined the * compliance.

*/ inline void SetAnnotation(const Aws::String& value) { m_annotationHasBeenSet = true; m_annotation = value; } /** *

Supplementary information about how the evaluation determined the * compliance.

*/ inline void SetAnnotation(Aws::String&& value) { m_annotationHasBeenSet = true; m_annotation = std::move(value); } /** *

Supplementary information about how the evaluation determined the * compliance.

*/ inline void SetAnnotation(const char* value) { m_annotationHasBeenSet = true; m_annotation.assign(value); } /** *

Supplementary information about how the evaluation determined the * compliance.

*/ inline Evaluation& WithAnnotation(const Aws::String& value) { SetAnnotation(value); return *this;} /** *

Supplementary information about how the evaluation determined the * compliance.

*/ inline Evaluation& WithAnnotation(Aws::String&& value) { SetAnnotation(std::move(value)); return *this;} /** *

Supplementary information about how the evaluation determined the * compliance.

*/ inline Evaluation& WithAnnotation(const char* value) { SetAnnotation(value); return *this;} /** *

The time of the event in AWS Config that triggered the evaluation. For * event-based evaluations, the time indicates when AWS Config created the * configuration item that triggered the evaluation. For periodic evaluations, the * time indicates when AWS Config triggered the evaluation at the frequency that * you specified (for example, every 24 hours).

*/ inline const Aws::Utils::DateTime& GetOrderingTimestamp() const{ return m_orderingTimestamp; } /** *

The time of the event in AWS Config that triggered the evaluation. For * event-based evaluations, the time indicates when AWS Config created the * configuration item that triggered the evaluation. For periodic evaluations, the * time indicates when AWS Config triggered the evaluation at the frequency that * you specified (for example, every 24 hours).

*/ inline bool OrderingTimestampHasBeenSet() const { return m_orderingTimestampHasBeenSet; } /** *

The time of the event in AWS Config that triggered the evaluation. For * event-based evaluations, the time indicates when AWS Config created the * configuration item that triggered the evaluation. For periodic evaluations, the * time indicates when AWS Config triggered the evaluation at the frequency that * you specified (for example, every 24 hours).

*/ inline void SetOrderingTimestamp(const Aws::Utils::DateTime& value) { m_orderingTimestampHasBeenSet = true; m_orderingTimestamp = value; } /** *

The time of the event in AWS Config that triggered the evaluation. For * event-based evaluations, the time indicates when AWS Config created the * configuration item that triggered the evaluation. For periodic evaluations, the * time indicates when AWS Config triggered the evaluation at the frequency that * you specified (for example, every 24 hours).

*/ inline void SetOrderingTimestamp(Aws::Utils::DateTime&& value) { m_orderingTimestampHasBeenSet = true; m_orderingTimestamp = std::move(value); } /** *

The time of the event in AWS Config that triggered the evaluation. For * event-based evaluations, the time indicates when AWS Config created the * configuration item that triggered the evaluation. For periodic evaluations, the * time indicates when AWS Config triggered the evaluation at the frequency that * you specified (for example, every 24 hours).

*/ inline Evaluation& WithOrderingTimestamp(const Aws::Utils::DateTime& value) { SetOrderingTimestamp(value); return *this;} /** *

The time of the event in AWS Config that triggered the evaluation. For * event-based evaluations, the time indicates when AWS Config created the * configuration item that triggered the evaluation. For periodic evaluations, the * time indicates when AWS Config triggered the evaluation at the frequency that * you specified (for example, every 24 hours).

*/ inline Evaluation& WithOrderingTimestamp(Aws::Utils::DateTime&& value) { SetOrderingTimestamp(std::move(value)); return *this;} private: Aws::String m_complianceResourceType; bool m_complianceResourceTypeHasBeenSet; Aws::String m_complianceResourceId; bool m_complianceResourceIdHasBeenSet; ComplianceType m_complianceType; bool m_complianceTypeHasBeenSet; Aws::String m_annotation; bool m_annotationHasBeenSet; Aws::Utils::DateTime m_orderingTimestamp; bool m_orderingTimestampHasBeenSet; }; } // namespace Model } // namespace ConfigService } // namespace Aws