class Aws::WAF::Types::Rule
<note markdown=“1”> This is **AWS WAF
Classic** documentation. For more information, see
- AWS
WAF
Classic][1 -
in the developer guide.
**For the latest version of AWS WAF**, use the AWS WAFV2 API and see
the [AWS WAF
Developer Guide]. With the latest version, AWS WAF
has a single set of endpoints for regional and global use.
</note>
A combination of ByteMatchSet
, IPSet
, and/or SqlInjectionMatchSet
objects that identify the web requests that you want to allow, block, or count. For example, you might create a `Rule` that includes the following predicates:
-
An `IPSet` that causes AWS
WAF
to search for web requests that originate from the IP address `192.0.2.44` -
A `ByteMatchSet` that causes AWS
WAF
to search for web requests for which the value of the `User-Agent` header is `BadBot`.
To match the settings in this `Rule`, a request must originate from `192.0.2.44` AND include a `User-Agent` header for which the value is `BadBot`.
[1]: docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html [2]: docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@!attribute [rw] rule_id
A unique identifier for a `Rule`. You use `RuleId` to get more information about a `Rule` (see GetRule), update a `Rule` (see UpdateRule), insert a `Rule` into a `WebACL` or delete a one from a `WebACL` (see UpdateWebACL), or delete a `Rule` from AWS WAF (see DeleteRule). `RuleId` is returned by CreateRule and by ListRules. @return [String]
@!attribute [rw] name
The friendly name or description for the `Rule`. You can't change the name of a `Rule` after you create it. @return [String]
@!attribute [rw] metric_name
A friendly name or description for the metrics for this `Rule`. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including "All" and "Default\_Action." You can't change `MetricName` after you create the `Rule`. @return [String]
@!attribute [rw] predicates
The `Predicates` object contains one `Predicate` element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a `Rule`. @return [Array<Types::Predicate>]
@see docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/Rule AWS API Documentation
Constants
- SENSITIVE