/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Details for a rule in a WAF WebACL.See Also:
AWS
* API Reference
Specifies the action that CloudFront or AWS WAF takes when a web request * matches the conditions in the rule.
*/ inline const WafAction& GetAction() const{ return m_action; } /** *Specifies the action that CloudFront or AWS WAF takes when a web request * matches the conditions in the rule.
*/ inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; } /** *Specifies the action that CloudFront or AWS WAF takes when a web request * matches the conditions in the rule.
*/ inline void SetAction(const WafAction& value) { m_actionHasBeenSet = true; m_action = value; } /** *Specifies the action that CloudFront or AWS WAF takes when a web request * matches the conditions in the rule.
*/ inline void SetAction(WafAction&& value) { m_actionHasBeenSet = true; m_action = std::move(value); } /** *Specifies the action that CloudFront or AWS WAF takes when a web request * matches the conditions in the rule.
*/ inline AwsWafWebAclRule& WithAction(const WafAction& value) { SetAction(value); return *this;} /** *Specifies the action that CloudFront or AWS WAF takes when a web request * matches the conditions in the rule.
*/ inline AwsWafWebAclRule& WithAction(WafAction&& value) { SetAction(std::move(value)); return *this;} /** *Rules to exclude from a rule group.
*/ inline const Aws::VectorRules to exclude from a rule group.
*/ inline bool ExcludedRulesHasBeenSet() const { return m_excludedRulesHasBeenSet; } /** *Rules to exclude from a rule group.
*/ inline void SetExcludedRules(const Aws::VectorRules to exclude from a rule group.
*/ inline void SetExcludedRules(Aws::VectorRules to exclude from a rule group.
*/ inline AwsWafWebAclRule& WithExcludedRules(const Aws::VectorRules to exclude from a rule group.
*/ inline AwsWafWebAclRule& WithExcludedRules(Aws::VectorRules to exclude from a rule group.
*/ inline AwsWafWebAclRule& AddExcludedRules(const WafExcludedRule& value) { m_excludedRulesHasBeenSet = true; m_excludedRules.push_back(value); return *this; } /** *Rules to exclude from a rule group.
*/ inline AwsWafWebAclRule& AddExcludedRules(WafExcludedRule&& value) { m_excludedRulesHasBeenSet = true; m_excludedRules.push_back(std::move(value)); return *this; } /** *Use the OverrideAction to test your RuleGroup.
Any rule
* in a RuleGroup can potentially block a request. If you set the
* OverrideAction to None, the RuleGroup blocks a request
* if any individual rule in the RuleGroup matches the request and is configured to
* block that request.
However, if you first want to test the RuleGroup, set
* the OverrideAction to Count. The RuleGroup then
* overrides any block action specified by individual rules contained within the
* group. Instead of blocking matching requests, those requests are counted.
ActivatedRule|OverrideAction applies only when
* updating or adding a RuleGroup to a WebACL. In this case you do not use
* ActivatedRule|Action. For all other update requests,
* ActivatedRule|Action is used instead of
* ActivatedRule|OverrideAction.
Use the OverrideAction to test your RuleGroup.
Any rule
* in a RuleGroup can potentially block a request. If you set the
* OverrideAction to None, the RuleGroup blocks a request
* if any individual rule in the RuleGroup matches the request and is configured to
* block that request.
However, if you first want to test the RuleGroup, set
* the OverrideAction to Count. The RuleGroup then
* overrides any block action specified by individual rules contained within the
* group. Instead of blocking matching requests, those requests are counted.
ActivatedRule|OverrideAction applies only when
* updating or adding a RuleGroup to a WebACL. In this case you do not use
* ActivatedRule|Action. For all other update requests,
* ActivatedRule|Action is used instead of
* ActivatedRule|OverrideAction.
Use the OverrideAction to test your RuleGroup.
Any rule
* in a RuleGroup can potentially block a request. If you set the
* OverrideAction to None, the RuleGroup blocks a request
* if any individual rule in the RuleGroup matches the request and is configured to
* block that request.
However, if you first want to test the RuleGroup, set
* the OverrideAction to Count. The RuleGroup then
* overrides any block action specified by individual rules contained within the
* group. Instead of blocking matching requests, those requests are counted.
ActivatedRule|OverrideAction applies only when
* updating or adding a RuleGroup to a WebACL. In this case you do not use
* ActivatedRule|Action. For all other update requests,
* ActivatedRule|Action is used instead of
* ActivatedRule|OverrideAction.
Use the OverrideAction to test your RuleGroup.
Any rule
* in a RuleGroup can potentially block a request. If you set the
* OverrideAction to None, the RuleGroup blocks a request
* if any individual rule in the RuleGroup matches the request and is configured to
* block that request.
However, if you first want to test the RuleGroup, set
* the OverrideAction to Count. The RuleGroup then
* overrides any block action specified by individual rules contained within the
* group. Instead of blocking matching requests, those requests are counted.
ActivatedRule|OverrideAction applies only when
* updating or adding a RuleGroup to a WebACL. In this case you do not use
* ActivatedRule|Action. For all other update requests,
* ActivatedRule|Action is used instead of
* ActivatedRule|OverrideAction.
Use the OverrideAction to test your RuleGroup.
Any rule
* in a RuleGroup can potentially block a request. If you set the
* OverrideAction to None, the RuleGroup blocks a request
* if any individual rule in the RuleGroup matches the request and is configured to
* block that request.
However, if you first want to test the RuleGroup, set
* the OverrideAction to Count. The RuleGroup then
* overrides any block action specified by individual rules contained within the
* group. Instead of blocking matching requests, those requests are counted.
ActivatedRule|OverrideAction applies only when
* updating or adding a RuleGroup to a WebACL. In this case you do not use
* ActivatedRule|Action. For all other update requests,
* ActivatedRule|Action is used instead of
* ActivatedRule|OverrideAction.
Use the OverrideAction to test your RuleGroup.
Any rule
* in a RuleGroup can potentially block a request. If you set the
* OverrideAction to None, the RuleGroup blocks a request
* if any individual rule in the RuleGroup matches the request and is configured to
* block that request.
However, if you first want to test the RuleGroup, set
* the OverrideAction to Count. The RuleGroup then
* overrides any block action specified by individual rules contained within the
* group. Instead of blocking matching requests, those requests are counted.
ActivatedRule|OverrideAction applies only when
* updating or adding a RuleGroup to a WebACL. In this case you do not use
* ActivatedRule|Action. For all other update requests,
* ActivatedRule|Action is used instead of
* ActivatedRule|OverrideAction.
Specifies the order in which the rules in a WebACL are evaluated. Rules with
* a lower value for Priority are evaluated before rules with a higher
* value. The value must be a unique integer. If you add multiple rules to a
* WebACL, the values do not need to be consecutive.
Specifies the order in which the rules in a WebACL are evaluated. Rules with
* a lower value for Priority are evaluated before rules with a higher
* value. The value must be a unique integer. If you add multiple rules to a
* WebACL, the values do not need to be consecutive.
Specifies the order in which the rules in a WebACL are evaluated. Rules with
* a lower value for Priority are evaluated before rules with a higher
* value. The value must be a unique integer. If you add multiple rules to a
* WebACL, the values do not need to be consecutive.
Specifies the order in which the rules in a WebACL are evaluated. Rules with
* a lower value for Priority are evaluated before rules with a higher
* value. The value must be a unique integer. If you add multiple rules to a
* WebACL, the values do not need to be consecutive.
The identifier for a rule.
*/ inline const Aws::String& GetRuleId() const{ return m_ruleId; } /** *The identifier for a rule.
*/ inline bool RuleIdHasBeenSet() const { return m_ruleIdHasBeenSet; } /** *The identifier for a rule.
*/ inline void SetRuleId(const Aws::String& value) { m_ruleIdHasBeenSet = true; m_ruleId = value; } /** *The identifier for a rule.
*/ inline void SetRuleId(Aws::String&& value) { m_ruleIdHasBeenSet = true; m_ruleId = std::move(value); } /** *The identifier for a rule.
*/ inline void SetRuleId(const char* value) { m_ruleIdHasBeenSet = true; m_ruleId.assign(value); } /** *The identifier for a rule.
*/ inline AwsWafWebAclRule& WithRuleId(const Aws::String& value) { SetRuleId(value); return *this;} /** *The identifier for a rule.
*/ inline AwsWafWebAclRule& WithRuleId(Aws::String&& value) { SetRuleId(std::move(value)); return *this;} /** *The identifier for a rule.
*/ inline AwsWafWebAclRule& WithRuleId(const char* value) { SetRuleId(value); return *this;} /** *The rule type.
Valid values: REGULAR |
* RATE_BASED | GROUP
The default is
* REGULAR.
The rule type.
Valid values: REGULAR |
* RATE_BASED | GROUP
The default is
* REGULAR.
The rule type.
Valid values: REGULAR |
* RATE_BASED | GROUP
The default is
* REGULAR.
The rule type.
Valid values: REGULAR |
* RATE_BASED | GROUP
The default is
* REGULAR.
The rule type.
Valid values: REGULAR |
* RATE_BASED | GROUP
The default is
* REGULAR.
The rule type.
Valid values: REGULAR |
* RATE_BASED | GROUP
The default is
* REGULAR.
The rule type.
Valid values: REGULAR |
* RATE_BASED | GROUP
The default is
* REGULAR.
The rule type.
Valid values: REGULAR |
* RATE_BASED | GROUP
The default is
* REGULAR.