/** * 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 { /** *

Compliance information of one or more Config rules within a conformance pack. * You can filter using Config rule names and compliance types.

See * Also:

AWS * API Reference

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

Name of the Config rule.

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

Name of the Config rule.

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

Name of the Config rule.

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

Name of the Config rule.

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

Name of the Config rule.

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

Name of the Config rule.

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

Name of the Config rule.

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

Name of the Config rule.

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

Compliance of the Config rule.

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

Compliance of the Config rule.

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

Compliance of the Config rule.

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

Compliance of the Config rule.

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

Compliance of the Config rule.

*/ inline ConformancePackRuleCompliance& WithComplianceType(const ConformancePackComplianceType& value) { SetComplianceType(value); return *this;} /** *

Compliance of the Config rule.

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

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline const Aws::Vector& GetControls() const{ return m_controls; } /** *

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline bool ControlsHasBeenSet() const { return m_controlsHasBeenSet; } /** *

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline void SetControls(const Aws::Vector& value) { m_controlsHasBeenSet = true; m_controls = value; } /** *

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline void SetControls(Aws::Vector&& value) { m_controlsHasBeenSet = true; m_controls = std::move(value); } /** *

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline ConformancePackRuleCompliance& WithControls(const Aws::Vector& value) { SetControls(value); return *this;} /** *

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline ConformancePackRuleCompliance& WithControls(Aws::Vector&& value) { SetControls(std::move(value)); return *this;} /** *

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline ConformancePackRuleCompliance& AddControls(const Aws::String& value) { m_controlsHasBeenSet = true; m_controls.push_back(value); return *this; } /** *

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline ConformancePackRuleCompliance& AddControls(Aws::String&& value) { m_controlsHasBeenSet = true; m_controls.push_back(std::move(value)); return *this; } /** *

Controls for the conformance pack. A control is a process to prevent or * detect problems while meeting objectives. A control can align with a specific * compliance regime or map to internal controls defined by an organization.

*/ inline ConformancePackRuleCompliance& AddControls(const char* value) { m_controlsHasBeenSet = true; m_controls.push_back(value); return *this; } private: Aws::String m_configRuleName; bool m_configRuleNameHasBeenSet = false; ConformancePackComplianceType m_complianceType; bool m_complianceTypeHasBeenSet = false; Aws::Vector m_controls; bool m_controlsHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws