/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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 that the value for
* a condition cannot be empty.See Also:
AWS
* API Reference
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
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
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
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
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
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
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
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
Information for a host header condition. Specify only when Field
* is host-header
.
Information for a host header condition. Specify only when Field
* is host-header
.
Information for a host header condition. Specify only when Field
* is host-header
.
Information for a host header condition. Specify only when Field
* is host-header
.
Information for a host header condition. Specify only when Field
* is host-header
.
Information for a host header condition. Specify only when Field
* is host-header
.
Information for a path pattern condition. Specify only when
* Field
is path-pattern
.
Information for a path pattern condition. Specify only when
* Field
is path-pattern
.
Information for a path pattern condition. Specify only when
* Field
is path-pattern
.
Information for a path pattern condition. Specify only when
* Field
is path-pattern
.
Information for a path pattern condition. Specify only when
* Field
is path-pattern
.
Information for a path pattern condition. Specify only when
* Field
is path-pattern
.
Information for an HTTP header condition. Specify only when
* Field
is http-header
.
Information for an HTTP header condition. Specify only when
* Field
is http-header
.
Information for an HTTP header condition. Specify only when
* Field
is http-header
.
Information for an HTTP header condition. Specify only when
* Field
is http-header
.
Information for an HTTP header condition. Specify only when
* Field
is http-header
.
Information for an HTTP header condition. Specify only when
* Field
is http-header
.
Information for a query string condition. Specify only when
* Field
is query-string
.
Information for a query string condition. Specify only when
* Field
is query-string
.
Information for a query string condition. Specify only when
* Field
is query-string
.
Information for a query string condition. Specify only when
* Field
is query-string
.
Information for a query string condition. Specify only when
* Field
is query-string
.
Information for a query string condition. Specify only when
* Field
is query-string
.
Information for an HTTP method condition. Specify only when
* Field
is http-request-method
.
Information for an HTTP method condition. Specify only when
* Field
is http-request-method
.
Information for an HTTP method condition. Specify only when
* Field
is http-request-method
.
Information for an HTTP method condition. Specify only when
* Field
is http-request-method
.
Information for an HTTP method condition. Specify only when
* Field
is http-request-method
.
Information for an HTTP method condition. Specify only when
* Field
is http-request-method
.
Information for a source IP condition. Specify only when Field
* is source-ip
.
Information for a source IP condition. Specify only when Field
* is source-ip
.
Information for a source IP condition. Specify only when Field
* is source-ip
.
Information for a source IP condition. Specify only when Field
* is source-ip
.
Information for a source IP condition. Specify only when Field
* is source-ip
.
Information for a source IP condition. Specify only when Field
* is source-ip
.