/** * 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 Amazon Web Services resource and indicates whether it complies * with the Config rule that it was evaluated against.

See Also:

* AWS * API Reference

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

The evaluated compliance resource type. Config accepts * AWS::::Account resource type.

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

The evaluated compliance resource type. Config accepts * AWS::::Account resource type.

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

The evaluated compliance resource type. Config accepts * AWS::::Account resource type.

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

The evaluated compliance resource type. Config accepts * AWS::::Account resource type.

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

The evaluated compliance resource type. Config accepts * AWS::::Account resource type.

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

The evaluated compliance resource type. Config accepts * AWS::::Account resource type.

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

The evaluated compliance resource type. Config accepts * AWS::::Account resource type.

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

The evaluated compliance resource type. Config accepts * AWS::::Account resource type.

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

The evaluated compliance resource ID. Config accepts only Amazon Web Services * account ID.

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

The evaluated compliance resource ID. Config accepts only Amazon Web Services * account ID.

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

The evaluated compliance resource ID. Config accepts only Amazon Web Services * account ID.

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

The evaluated compliance resource ID. Config accepts only Amazon Web Services * account ID.

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

The evaluated compliance resource ID. Config accepts only Amazon Web Services * account ID.

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

The evaluated compliance resource ID. Config accepts only Amazon Web Services * account ID.

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

The evaluated compliance resource ID. Config accepts only Amazon Web Services * account ID.

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

The evaluated compliance resource ID. Config accepts only Amazon Web Services * account ID.

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

The compliance of the Amazon Web Services resource. The valid values are * COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

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

The compliance of the Amazon Web Services resource. The valid values are * COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

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

The compliance of the Amazon Web Services resource. The valid values are * COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

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

The compliance of the Amazon Web Services resource. The valid values are * COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

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

The compliance of the Amazon Web Services resource. The valid values are * COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

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

The compliance of the Amazon Web Services resource. The valid values are * COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

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

Supplementary information about the reason of compliance. For example, this * task was completed on a specific date.

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

Supplementary information about the reason of compliance. For example, this * task was completed on a specific date.

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

Supplementary information about the reason of compliance. For example, this * task was completed on a specific date.

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

Supplementary information about the reason of compliance. For example, this * task was completed on a specific date.

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

Supplementary information about the reason of compliance. For example, this * task was completed on a specific date.

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

Supplementary information about the reason of compliance. For example, this * task was completed on a specific date.

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

Supplementary information about the reason of compliance. For example, this * task was completed on a specific date.

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

Supplementary information about the reason of compliance. For example, this * task was completed on a specific date.

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

The time when the compliance was recorded.

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

The time when the compliance was recorded.

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

The time when the compliance was recorded.

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

The time when the compliance was recorded.

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

The time when the compliance was recorded.

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

The time when the compliance was recorded.

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