/** * 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 Config rule is compliant. A rule is compliant if all of * the resources that the rule evaluated comply with it. A rule is noncompliant if * any of these resources do not comply.

See Also:

AWS * API Reference

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

The name of the Config rule.

*/ inline const Aws::String& GetConfigRuleName() const{ return m_configRuleName; } /** *

The name of the Config rule.

*/ inline bool ConfigRuleNameHasBeenSet() const { return m_configRuleNameHasBeenSet; } /** *

The name of the Config rule.

*/ inline void SetConfigRuleName(const Aws::String& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = value; } /** *

The name of the Config rule.

*/ inline void SetConfigRuleName(Aws::String&& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = std::move(value); } /** *

The name of the Config rule.

*/ inline void SetConfigRuleName(const char* value) { m_configRuleNameHasBeenSet = true; m_configRuleName.assign(value); } /** *

The name of the Config rule.

*/ inline ComplianceByConfigRule& WithConfigRuleName(const Aws::String& value) { SetConfigRuleName(value); return *this;} /** *

The name of the Config rule.

*/ inline ComplianceByConfigRule& WithConfigRuleName(Aws::String&& value) { SetConfigRuleName(std::move(value)); return *this;} /** *

The name of the Config rule.

*/ inline ComplianceByConfigRule& WithConfigRuleName(const char* value) { SetConfigRuleName(value); return *this;} /** *

Indicates whether the Config rule is compliant.

*/ inline const Compliance& GetCompliance() const{ return m_compliance; } /** *

Indicates whether the Config rule is compliant.

*/ inline bool ComplianceHasBeenSet() const { return m_complianceHasBeenSet; } /** *

Indicates whether the Config rule is compliant.

*/ inline void SetCompliance(const Compliance& value) { m_complianceHasBeenSet = true; m_compliance = value; } /** *

Indicates whether the Config rule is compliant.

*/ inline void SetCompliance(Compliance&& value) { m_complianceHasBeenSet = true; m_compliance = std::move(value); } /** *

Indicates whether the Config rule is compliant.

*/ inline ComplianceByConfigRule& WithCompliance(const Compliance& value) { SetCompliance(value); return *this;} /** *

Indicates whether the Config rule is compliant.

*/ inline ComplianceByConfigRule& WithCompliance(Compliance&& value) { SetCompliance(std::move(value)); return *this;} private: Aws::String m_configRuleName; bool m_configRuleNameHasBeenSet = false; Compliance m_compliance; bool m_complianceHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws