/** * 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 the rule group. These rules * identify the web requests that you want to allow, block, or count. *

See Also:

AWS * API Reference

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

Provides information about what action WAF should take on a web request when * it matches the criteria defined in the rule.

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

Provides information about what action WAF should take on a web request when * it matches the criteria defined in the rule.

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

Provides information about what action WAF should take on a web request when * it matches the criteria defined in the rule.

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

Provides information about what action WAF should take on a web request when * it matches the criteria defined in the rule.

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

Provides information about what action WAF should take on a web request when * it matches the criteria defined in the rule.

*/ inline AwsWafRuleGroupRulesDetails& WithAction(const AwsWafRuleGroupRulesActionDetails& value) { SetAction(value); return *this;} /** *

Provides information about what action WAF should take on a web request when * it matches the criteria defined in the rule.

*/ inline AwsWafRuleGroupRulesDetails& WithAction(AwsWafRuleGroupRulesActionDetails&& 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 AwsWafRuleGroupRulesDetails& WithPriority(int value) { SetPriority(value); return *this;} /** *

The rule ID for a rule.

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

The rule ID for a rule.

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

The rule ID for a rule.

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

The rule ID for a rule.

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

The rule ID for a rule.

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

The rule ID for a rule.

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

The rule ID for a rule.

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

The rule ID for a rule.

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

The type of rule.

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

The type of rule.

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

The type of rule.

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

The type of rule.

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

The type of rule.

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

The type of rule.

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

The type of rule.

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

The type of rule.

*/ inline AwsWafRuleGroupRulesDetails& WithType(const char* value) { SetType(value); return *this;} private: AwsWafRuleGroupRulesActionDetails 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