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

Indicates whether an Amazon Web Services resource or Config rule is compliant * and provides the number of contributors that affect the * compliance.

See Also:

AWS * API Reference

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

Indicates whether an Amazon Web Services resource or Config rule is * compliant.

A resource is compliant if it complies with all of the Config * rules that evaluate it. A resource is noncompliant if it does not comply with * one or more of these rules.

A rule is compliant if all of the resources * that the rule evaluates comply with it. A rule is noncompliant if any of these * resources do not comply.

Config returns the * INSUFFICIENT_DATA value when no evaluation results are available * for the Amazon Web Services resource or Config rule.

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

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

Indicates whether an Amazon Web Services resource or Config rule is * compliant.

A resource is compliant if it complies with all of the Config * rules that evaluate it. A resource is noncompliant if it does not comply with * one or more of these rules.

A rule is compliant if all of the resources * that the rule evaluates comply with it. A rule is noncompliant if any of these * resources do not comply.

Config returns the * INSUFFICIENT_DATA value when no evaluation results are available * for the Amazon Web Services resource or Config rule.

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

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

Indicates whether an Amazon Web Services resource or Config rule is * compliant.

A resource is compliant if it complies with all of the Config * rules that evaluate it. A resource is noncompliant if it does not comply with * one or more of these rules.

A rule is compliant if all of the resources * that the rule evaluates comply with it. A rule is noncompliant if any of these * resources do not comply.

Config returns the * INSUFFICIENT_DATA value when no evaluation results are available * for the Amazon Web Services resource or Config rule.

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

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

Indicates whether an Amazon Web Services resource or Config rule is * compliant.

A resource is compliant if it complies with all of the Config * rules that evaluate it. A resource is noncompliant if it does not comply with * one or more of these rules.

A rule is compliant if all of the resources * that the rule evaluates comply with it. A rule is noncompliant if any of these * resources do not comply.

Config returns the * INSUFFICIENT_DATA value when no evaluation results are available * for the Amazon Web Services resource or Config rule.

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

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

Indicates whether an Amazon Web Services resource or Config rule is * compliant.

A resource is compliant if it complies with all of the Config * rules that evaluate it. A resource is noncompliant if it does not comply with * one or more of these rules.

A rule is compliant if all of the resources * that the rule evaluates comply with it. A rule is noncompliant if any of these * resources do not comply.

Config returns the * INSUFFICIENT_DATA value when no evaluation results are available * for the Amazon Web Services resource or Config rule.

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

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

Indicates whether an Amazon Web Services resource or Config rule is * compliant.

A resource is compliant if it complies with all of the Config * rules that evaluate it. A resource is noncompliant if it does not comply with * one or more of these rules.

A rule is compliant if all of the resources * that the rule evaluates comply with it. A rule is noncompliant if any of these * resources do not comply.

Config returns the * INSUFFICIENT_DATA value when no evaluation results are available * for the Amazon Web Services resource or Config rule.

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

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

The number of Amazon Web Services resources or Config rules that cause a * result of NON_COMPLIANT, up to a maximum number.

*/ inline const ComplianceContributorCount& GetComplianceContributorCount() const{ return m_complianceContributorCount; } /** *

The number of Amazon Web Services resources or Config rules that cause a * result of NON_COMPLIANT, up to a maximum number.

*/ inline bool ComplianceContributorCountHasBeenSet() const { return m_complianceContributorCountHasBeenSet; } /** *

The number of Amazon Web Services resources or Config rules that cause a * result of NON_COMPLIANT, up to a maximum number.

*/ inline void SetComplianceContributorCount(const ComplianceContributorCount& value) { m_complianceContributorCountHasBeenSet = true; m_complianceContributorCount = value; } /** *

The number of Amazon Web Services resources or Config rules that cause a * result of NON_COMPLIANT, up to a maximum number.

*/ inline void SetComplianceContributorCount(ComplianceContributorCount&& value) { m_complianceContributorCountHasBeenSet = true; m_complianceContributorCount = std::move(value); } /** *

The number of Amazon Web Services resources or Config rules that cause a * result of NON_COMPLIANT, up to a maximum number.

*/ inline Compliance& WithComplianceContributorCount(const ComplianceContributorCount& value) { SetComplianceContributorCount(value); return *this;} /** *

The number of Amazon Web Services resources or Config rules that cause a * result of NON_COMPLIANT, up to a maximum number.

*/ inline Compliance& WithComplianceContributorCount(ComplianceContributorCount&& value) { SetComplianceContributorCount(std::move(value)); return *this;} private: ComplianceType m_complianceType; bool m_complianceTypeHasBeenSet = false; ComplianceContributorCount m_complianceContributorCount; bool m_complianceContributorCountHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws