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

The definition of the stateless rule.

See Also:

AWS * API Reference

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

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline const Aws::Vector& GetActions() const{ return m_actions; } /** *

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } /** *

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline void SetActions(const Aws::Vector& value) { m_actionsHasBeenSet = true; m_actions = value; } /** *

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline void SetActions(Aws::Vector&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); } /** *

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline RuleGroupSourceStatelessRuleDefinition& WithActions(const Aws::Vector& value) { SetActions(value); return *this;} /** *

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline RuleGroupSourceStatelessRuleDefinition& WithActions(Aws::Vector&& value) { SetActions(std::move(value)); return *this;} /** *

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline RuleGroupSourceStatelessRuleDefinition& AddActions(const Aws::String& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } /** *

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline RuleGroupSourceStatelessRuleDefinition& AddActions(Aws::String&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; } /** *

The actions to take on a packet that matches one of the stateless rule * definition's match attributes. You must specify a standard action * (aws:pass, aws:drop, or * aws:forward_to_sfe). You can then add custom actions.

*/ inline RuleGroupSourceStatelessRuleDefinition& AddActions(const char* value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } /** *

The criteria for Network Firewall to use to inspect an individual packet in a * stateless rule inspection.

*/ inline const RuleGroupSourceStatelessRuleMatchAttributes& GetMatchAttributes() const{ return m_matchAttributes; } /** *

The criteria for Network Firewall to use to inspect an individual packet in a * stateless rule inspection.

*/ inline bool MatchAttributesHasBeenSet() const { return m_matchAttributesHasBeenSet; } /** *

The criteria for Network Firewall to use to inspect an individual packet in a * stateless rule inspection.

*/ inline void SetMatchAttributes(const RuleGroupSourceStatelessRuleMatchAttributes& value) { m_matchAttributesHasBeenSet = true; m_matchAttributes = value; } /** *

The criteria for Network Firewall to use to inspect an individual packet in a * stateless rule inspection.

*/ inline void SetMatchAttributes(RuleGroupSourceStatelessRuleMatchAttributes&& value) { m_matchAttributesHasBeenSet = true; m_matchAttributes = std::move(value); } /** *

The criteria for Network Firewall to use to inspect an individual packet in a * stateless rule inspection.

*/ inline RuleGroupSourceStatelessRuleDefinition& WithMatchAttributes(const RuleGroupSourceStatelessRuleMatchAttributes& value) { SetMatchAttributes(value); return *this;} /** *

The criteria for Network Firewall to use to inspect an individual packet in a * stateless rule inspection.

*/ inline RuleGroupSourceStatelessRuleDefinition& WithMatchAttributes(RuleGroupSourceStatelessRuleMatchAttributes&& value) { SetMatchAttributes(std::move(value)); return *this;} private: Aws::Vector m_actions; bool m_actionsHasBeenSet = false; RuleGroupSourceStatelessRuleMatchAttributes m_matchAttributes; bool m_matchAttributesHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws