class Aws::ElasticLoadBalancingV2::Types::RuleCondition

Information about a condition for a rule.

Each rule can optionally include up to one of each of the following conditions: `http-request-method`, `host-header`, `path-pattern`, and `source-ip`. Each rule can also optionally include one or more of each of the following conditions: `http-header` and `query-string`.

@note When making an API call, you may pass RuleCondition

data as a hash:

    {
      field: "ConditionFieldName",
      values: ["StringValue"],
      host_header_config: {
        values: ["StringValue"],
      },
      path_pattern_config: {
        values: ["StringValue"],
      },
      http_header_config: {
        http_header_name: "HttpHeaderConditionName",
        values: ["StringValue"],
      },
      query_string_config: {
        values: [
          {
            key: "StringValue",
            value: "StringValue",
          },
        ],
      },
      http_request_method_config: {
        values: ["StringValue"],
      },
      source_ip_config: {
        values: ["StringValue"],
      },
    }

@!attribute [rw] field

The field in the HTTP request. The following are the possible
values:

* `http-header`

* `http-request-method`

* `host-header`

* `path-pattern`

* `query-string`

* `source-ip`
@return [String]

@!attribute [rw] values

The condition value. Specify only when `Field` is `host-header` or
`path-pattern`. Alternatively, to specify multiple host names or
multiple path patterns, use `HostHeaderConfig` or
`PathPatternConfig`.

If `Field` is `host-header` and you are not using
`HostHeaderConfig`, you can specify a single host name (for example,
my.example.com) in `Values`. A host name is case insensitive, can be
up to 128 characters in length, and can contain any of the following
characters.

* A-Z, a-z, 0-9

* \- .

* * (matches 0 or more characters)

* ? (matches exactly 1 character)

If `Field` is `path-pattern` and you are not using
`PathPatternConfig`, you can specify a single path pattern (for
example, /img/*) in `Values`. A path pattern is case-sensitive, can
be up to 128 characters in length, and can contain any of the
following characters.

* A-Z, a-z, 0-9

* \_ - . $ / ~ " ' @ : +

* & (using &)

* * (matches 0 or more characters)

* ? (matches exactly 1 character)
@return [Array<String>]

@!attribute [rw] host_header_config

Information for a host header condition. Specify only when `Field`
is `host-header`.
@return [Types::HostHeaderConditionConfig]

@!attribute [rw] path_pattern_config

Information for a path pattern condition. Specify only when `Field`
is `path-pattern`.
@return [Types::PathPatternConditionConfig]

@!attribute [rw] http_header_config

Information for an HTTP header condition. Specify only when `Field`
is `http-header`.
@return [Types::HttpHeaderConditionConfig]

@!attribute [rw] query_string_config

Information for a query string condition. Specify only when `Field`
is `query-string`.
@return [Types::QueryStringConditionConfig]

@!attribute [rw] http_request_method_config

Information for an HTTP method condition. Specify only when `Field`
is `http-request-method`.
@return [Types::HttpRequestMethodConditionConfig]

@!attribute [rw] source_ip_config

Information for a source IP condition. Specify only when `Field` is
`source-ip`.
@return [Types::SourceIpConditionConfig]

@see docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RuleCondition AWS API Documentation

Constants

SENSITIVE