Class: Aws::WAF::Types::Rule

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-waf/types.rb

Overview

<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

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#metric_nameString

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`.

Returns:

  • (String)


4194
4195
4196
4197
4198
4199
4200
4201
# File 'lib/aws-sdk-waf/types.rb', line 4194

class Rule < Struct.new(
  :rule_id,
  :name,
  :metric_name,
  :predicates)
  SENSITIVE = []
  include Aws::Structure
end

#nameString

The friendly name or description for the ‘Rule`. You can’t change the name of a ‘Rule` after you create it.

Returns:

  • (String)


4194
4195
4196
4197
4198
4199
4200
4201
# File 'lib/aws-sdk-waf/types.rb', line 4194

class Rule < Struct.new(
  :rule_id,
  :name,
  :metric_name,
  :predicates)
  SENSITIVE = []
  include Aws::Structure
end

#predicatesArray<Types::Predicate>

The ‘Predicates` object contains one `Predicate` element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a `Rule`.

Returns:



4194
4195
4196
4197
4198
4199
4200
4201
# File 'lib/aws-sdk-waf/types.rb', line 4194

class Rule < Struct.new(
  :rule_id,
  :name,
  :metric_name,
  :predicates)
  SENSITIVE = []
  include Aws::Structure
end

#rule_idString

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.

Returns:

  • (String)


4194
4195
4196
4197
4198
4199
4200
4201
# File 'lib/aws-sdk-waf/types.rb', line 4194

class Rule < Struct.new(
  :rule_id,
  :name,
  :metric_name,
  :predicates)
  SENSITIVE = []
  include Aws::Structure
end