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

Provides information about the rules attached to a rule group

See * Also:

AWS * API Reference

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

The action that WAF should take on a web request when it matches the criteria * defined in the rule.

*/ inline const AwsWafRegionalRuleGroupRulesActionDetails& GetAction() const{ return m_action; } /** *

The action that WAF should take on a web request when it matches the criteria * defined in the rule.

*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *

The action that WAF should take on a web request when it matches the criteria * defined in the rule.

*/ inline void SetAction(const AwsWafRegionalRuleGroupRulesActionDetails& value) { m_actionHasBeenSet = true; m_action = value; } /** *

The action that WAF should take on a web request when it matches the criteria * defined in the rule.

*/ inline void SetAction(AwsWafRegionalRuleGroupRulesActionDetails&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *

The action that WAF should take on a web request when it matches the criteria * defined in the rule.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithAction(const AwsWafRegionalRuleGroupRulesActionDetails& value) { SetAction(value); return *this;} /** *

The action that WAF should take on a web request when it matches the criteria * defined in the rule.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithAction(AwsWafRegionalRuleGroupRulesActionDetails&& value) { SetAction(std::move(value)); return *this;} /** *

If you define more than one rule in a web ACL, WAF evaluates each request * against the rules in order based on the value of Priority.

*/ inline int GetPriority() const{ return m_priority; } /** *

If you define more than one rule in a web ACL, WAF evaluates each request * against the rules in order based on the value of Priority.

*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *

If you define more than one rule in a web ACL, WAF evaluates each request * against the rules in order based on the value of Priority.

*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *

If you define more than one rule in a web ACL, WAF evaluates each request * against the rules in order based on the value of Priority.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithPriority(int value) { SetPriority(value); return *this;} /** *

The ID for a rule.

*/ inline const Aws::String& GetRuleId() const{ return m_ruleId; } /** *

The ID for a rule.

*/ inline bool RuleIdHasBeenSet() const { return m_ruleIdHasBeenSet; } /** *

The ID for a rule.

*/ inline void SetRuleId(const Aws::String& value) { m_ruleIdHasBeenSet = true; m_ruleId = value; } /** *

The ID for a rule.

*/ inline void SetRuleId(Aws::String&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::move(value); } /** *

The ID for a rule.

*/ inline void SetRuleId(const char* value) { m_ruleIdHasBeenSet = true; m_ruleId.assign(value); } /** *

The ID for a rule.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithRuleId(const Aws::String& value) { SetRuleId(value); return *this;} /** *

The ID for a rule.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithRuleId(Aws::String&& value) { SetRuleId(std::move(value)); return *this;} /** *

The ID for a rule.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithRuleId(const char* value) { SetRuleId(value); return *this;} /** *

The type of rule in the rule group.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of rule in the rule group.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of rule in the rule group.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of rule in the rule group.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of rule in the rule group.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of rule in the rule group.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of rule in the rule group.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of rule in the rule group.

*/ inline AwsWafRegionalRuleGroupRulesDetails& WithType(const char* value) { SetType(value); return *this;} private: AwsWafRegionalRuleGroupRulesActionDetails m_action; bool m_actionHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; Aws::String m_ruleId; bool m_ruleIdHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws