/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The rules and actions for the rule group.See Also:
AWS
* API Reference
Stateful inspection criteria for a domain list rule group. A domain list rule * group determines access by specific protocols to specific domains.
*/ inline const RuleGroupSourceListDetails& GetRulesSourceList() const{ return m_rulesSourceList; } /** *Stateful inspection criteria for a domain list rule group. A domain list rule * group determines access by specific protocols to specific domains.
*/ inline bool RulesSourceListHasBeenSet() const { return m_rulesSourceListHasBeenSet; } /** *Stateful inspection criteria for a domain list rule group. A domain list rule * group determines access by specific protocols to specific domains.
*/ inline void SetRulesSourceList(const RuleGroupSourceListDetails& value) { m_rulesSourceListHasBeenSet = true; m_rulesSourceList = value; } /** *Stateful inspection criteria for a domain list rule group. A domain list rule * group determines access by specific protocols to specific domains.
*/ inline void SetRulesSourceList(RuleGroupSourceListDetails&& value) { m_rulesSourceListHasBeenSet = true; m_rulesSourceList = std::move(value); } /** *Stateful inspection criteria for a domain list rule group. A domain list rule * group determines access by specific protocols to specific domains.
*/ inline RuleGroupSource& WithRulesSourceList(const RuleGroupSourceListDetails& value) { SetRulesSourceList(value); return *this;} /** *Stateful inspection criteria for a domain list rule group. A domain list rule * group determines access by specific protocols to specific domains.
*/ inline RuleGroupSource& WithRulesSourceList(RuleGroupSourceListDetails&& value) { SetRulesSourceList(std::move(value)); return *this;} /** *Stateful inspection criteria, provided in Suricata compatible intrusion * prevention system (IPS) rules.
*/ inline const Aws::String& GetRulesString() const{ return m_rulesString; } /** *Stateful inspection criteria, provided in Suricata compatible intrusion * prevention system (IPS) rules.
*/ inline bool RulesStringHasBeenSet() const { return m_rulesStringHasBeenSet; } /** *Stateful inspection criteria, provided in Suricata compatible intrusion * prevention system (IPS) rules.
*/ inline void SetRulesString(const Aws::String& value) { m_rulesStringHasBeenSet = true; m_rulesString = value; } /** *Stateful inspection criteria, provided in Suricata compatible intrusion * prevention system (IPS) rules.
*/ inline void SetRulesString(Aws::String&& value) { m_rulesStringHasBeenSet = true; m_rulesString = std::move(value); } /** *Stateful inspection criteria, provided in Suricata compatible intrusion * prevention system (IPS) rules.
*/ inline void SetRulesString(const char* value) { m_rulesStringHasBeenSet = true; m_rulesString.assign(value); } /** *Stateful inspection criteria, provided in Suricata compatible intrusion * prevention system (IPS) rules.
*/ inline RuleGroupSource& WithRulesString(const Aws::String& value) { SetRulesString(value); return *this;} /** *Stateful inspection criteria, provided in Suricata compatible intrusion * prevention system (IPS) rules.
*/ inline RuleGroupSource& WithRulesString(Aws::String&& value) { SetRulesString(std::move(value)); return *this;} /** *Stateful inspection criteria, provided in Suricata compatible intrusion * prevention system (IPS) rules.
*/ inline RuleGroupSource& WithRulesString(const char* value) { SetRulesString(value); return *this;} /** *Suricata rule specifications.
*/ inline const Aws::VectorSuricata rule specifications.
*/ inline bool StatefulRulesHasBeenSet() const { return m_statefulRulesHasBeenSet; } /** *Suricata rule specifications.
*/ inline void SetStatefulRules(const Aws::VectorSuricata rule specifications.
*/ inline void SetStatefulRules(Aws::VectorSuricata rule specifications.
*/ inline RuleGroupSource& WithStatefulRules(const Aws::VectorSuricata rule specifications.
*/ inline RuleGroupSource& WithStatefulRules(Aws::VectorSuricata rule specifications.
*/ inline RuleGroupSource& AddStatefulRules(const RuleGroupSourceStatefulRulesDetails& value) { m_statefulRulesHasBeenSet = true; m_statefulRules.push_back(value); return *this; } /** *Suricata rule specifications.
*/ inline RuleGroupSource& AddStatefulRules(RuleGroupSourceStatefulRulesDetails&& value) { m_statefulRulesHasBeenSet = true; m_statefulRules.push_back(std::move(value)); return *this; } /** *The stateless rules and custom actions used by a stateless rule group.
*/ inline const RuleGroupSourceStatelessRulesAndCustomActionsDetails& GetStatelessRulesAndCustomActions() const{ return m_statelessRulesAndCustomActions; } /** *The stateless rules and custom actions used by a stateless rule group.
*/ inline bool StatelessRulesAndCustomActionsHasBeenSet() const { return m_statelessRulesAndCustomActionsHasBeenSet; } /** *The stateless rules and custom actions used by a stateless rule group.
*/ inline void SetStatelessRulesAndCustomActions(const RuleGroupSourceStatelessRulesAndCustomActionsDetails& value) { m_statelessRulesAndCustomActionsHasBeenSet = true; m_statelessRulesAndCustomActions = value; } /** *The stateless rules and custom actions used by a stateless rule group.
*/ inline void SetStatelessRulesAndCustomActions(RuleGroupSourceStatelessRulesAndCustomActionsDetails&& value) { m_statelessRulesAndCustomActionsHasBeenSet = true; m_statelessRulesAndCustomActions = std::move(value); } /** *The stateless rules and custom actions used by a stateless rule group.
*/ inline RuleGroupSource& WithStatelessRulesAndCustomActions(const RuleGroupSourceStatelessRulesAndCustomActionsDetails& value) { SetStatelessRulesAndCustomActions(value); return *this;} /** *The stateless rules and custom actions used by a stateless rule group.
*/ inline RuleGroupSource& WithStatelessRulesAndCustomActions(RuleGroupSourceStatelessRulesAndCustomActionsDetails&& value) { SetStatelessRulesAndCustomActions(std::move(value)); return *this;} private: RuleGroupSourceListDetails m_rulesSourceList; bool m_rulesSourceListHasBeenSet = false; Aws::String m_rulesString; bool m_rulesStringHasBeenSet = false; Aws::Vector