/** * 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 SecurityHub { namespace Model { /** *

Details about the rule group.

See Also:

AWS * API Reference

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

Additional settings to use in the specified rules.

*/ inline const RuleGroupVariables& GetRuleVariables() const{ return m_ruleVariables; } /** *

Additional settings to use in the specified rules.

*/ inline bool RuleVariablesHasBeenSet() const { return m_ruleVariablesHasBeenSet; } /** *

Additional settings to use in the specified rules.

*/ inline void SetRuleVariables(const RuleGroupVariables& value) { m_ruleVariablesHasBeenSet = true; m_ruleVariables = value; } /** *

Additional settings to use in the specified rules.

*/ inline void SetRuleVariables(RuleGroupVariables&& value) { m_ruleVariablesHasBeenSet = true; m_ruleVariables = std::move(value); } /** *

Additional settings to use in the specified rules.

*/ inline RuleGroupDetails& WithRuleVariables(const RuleGroupVariables& value) { SetRuleVariables(value); return *this;} /** *

Additional settings to use in the specified rules.

*/ inline RuleGroupDetails& WithRuleVariables(RuleGroupVariables&& value) { SetRuleVariables(std::move(value)); return *this;} /** *

The rules and actions for the rule group.

For stateful rule groups, * can contain RulesString, RulesSourceList, or * StatefulRules.

For stateless rule groups, contains * StatelessRulesAndCustomActions.

*/ inline const RuleGroupSource& GetRulesSource() const{ return m_rulesSource; } /** *

The rules and actions for the rule group.

For stateful rule groups, * can contain RulesString, RulesSourceList, or * StatefulRules.

For stateless rule groups, contains * StatelessRulesAndCustomActions.

*/ inline bool RulesSourceHasBeenSet() const { return m_rulesSourceHasBeenSet; } /** *

The rules and actions for the rule group.

For stateful rule groups, * can contain RulesString, RulesSourceList, or * StatefulRules.

For stateless rule groups, contains * StatelessRulesAndCustomActions.

*/ inline void SetRulesSource(const RuleGroupSource& value) { m_rulesSourceHasBeenSet = true; m_rulesSource = value; } /** *

The rules and actions for the rule group.

For stateful rule groups, * can contain RulesString, RulesSourceList, or * StatefulRules.

For stateless rule groups, contains * StatelessRulesAndCustomActions.

*/ inline void SetRulesSource(RuleGroupSource&& value) { m_rulesSourceHasBeenSet = true; m_rulesSource = std::move(value); } /** *

The rules and actions for the rule group.

For stateful rule groups, * can contain RulesString, RulesSourceList, or * StatefulRules.

For stateless rule groups, contains * StatelessRulesAndCustomActions.

*/ inline RuleGroupDetails& WithRulesSource(const RuleGroupSource& value) { SetRulesSource(value); return *this;} /** *

The rules and actions for the rule group.

For stateful rule groups, * can contain RulesString, RulesSourceList, or * StatefulRules.

For stateless rule groups, contains * StatelessRulesAndCustomActions.

*/ inline RuleGroupDetails& WithRulesSource(RuleGroupSource&& value) { SetRulesSource(std::move(value)); return *this;} private: RuleGroupVariables m_ruleVariables; bool m_ruleVariablesHasBeenSet = false; RuleGroupSource m_rulesSource; bool m_rulesSourceHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws