/** * 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 AWS resource or AWS Config rule is compliant and * provides the number of contributors that affect the compliance.

See * Also:

AWS * API Reference

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

Indicates whether an AWS resource or AWS Config rule is compliant.

A * resource is compliant if it complies with all of the AWS 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.

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

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

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

Indicates whether an AWS resource or AWS Config rule is compliant.

A * resource is compliant if it complies with all of the AWS 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.

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

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

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

Indicates whether an AWS resource or AWS Config rule is compliant.

A * resource is compliant if it complies with all of the AWS 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.

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

For the Compliance data type, AWS Config supports only * COMPLIANT, NON_COMPLIANT, and * INSUFFICIENT_DATA values. AWS 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 AWS resource or AWS Config rule is compliant.

A * resource is compliant if it complies with all of the AWS 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.

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

For the Compliance data type, AWS Config supports only * COMPLIANT, NON_COMPLIANT, and * INSUFFICIENT_DATA values. AWS 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 AWS resource or AWS Config rule is compliant.

A * resource is compliant if it complies with all of the AWS 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.

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

For the Compliance data type, AWS Config supports only * COMPLIANT, NON_COMPLIANT, and * INSUFFICIENT_DATA values. AWS 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 AWS resource or AWS Config rule is compliant.

A * resource is compliant if it complies with all of the AWS 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.

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

For the Compliance data type, AWS Config supports only * COMPLIANT, NON_COMPLIANT, and * INSUFFICIENT_DATA values. AWS 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 AWS resources or AWS 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 AWS resources or AWS Config rules that cause a result of * NON_COMPLIANT, up to a maximum number.

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

The number of AWS resources or AWS 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 AWS resources or AWS 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 AWS resources or AWS 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 AWS resources or AWS 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; ComplianceContributorCount m_complianceContributorCount; bool m_complianceContributorCountHasBeenSet; }; } // namespace Model } // namespace ConfigService } // namespace Aws