web-acl resource¶
Source: internal/service/wafv2/web_acl_types.go:578
Example usage:
imports: {
aws-wafv2: 'github.com/cloudboss/unobin-library-aws//service/wafv2'
}
resources: {
example: aws-wafv2.web-acl {
# Set input fields here.
}
}
Inputs¶
application-config
optional(object)
optional(
object({
attributes: list(
object({
name: string
values: list(string)
})
)
})
)
association-config
optional(object)
optional(
object({
request-body: object({
api-gateway: optional(
object({
default-size-inspection-limit: string
})
)
app-runner-service: optional(
object({
default-size-inspection-limit: string
})
)
cloudfront: optional(
object({
default-size-inspection-limit: string
})
)
cognito-user-pool: optional(
object({
default-size-inspection-limit: string
})
)
verified-access-instance: optional(
object({
default-size-inspection-limit: string
})
)
})
})
)
captcha-config
optional(object)
optional(
object({
immunity-time-property: optional(
object({
immunity-time: integer
})
)
})
)
challenge-config
optional(object)
optional(
object({
immunity-time-property: optional(
object({
immunity-time: integer
})
)
})
)
custom-response-bodies
optional(map(object))
optional(
map(
object({
content: string
content-type: string
})
)
)
data-protection-config
optional(object)
optional(
object({
data-protections: list(
object({
action: string
exclude-rate-based-details: boolean
exclude-rule-match-details: boolean
field: object({
field-keys: optional(list(string))
field-type: string
})
})
)
})
)
on-source-ddos-protection-config
optional(object)
optional(
object({
alb-low-reputation-mode: string
})
)
name
optional(string)
scope
string
default-action
object
object({
allow: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
block: optional(
object({
custom-response: optional(
object({
response-code: integer
custom-response-body-key: optional(string)
response-headers: optional(
list(
object({
name: string
value: string
})
)
)
})
)
})
)
})
visibility-config
object
object({
cloudwatch-metrics-enabled: boolean
metric-name: string
sampled-requests-enabled: boolean
})
description
optional(string)
rules
optional(list(object))
optional(
list(
object({
action: optional(
object({
allow: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
block: optional(
object({
custom-response: optional(
object({
response-code: integer
custom-response-body-key: optional(string)
response-headers: optional(
list(
object({
name: string
value: string
})
)
)
})
)
})
)
captcha: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
challenge: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
count: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
})
)
captcha-config: optional(
object({
immunity-time-property: optional(
object({
immunity-time: integer
})
)
})
)
challenge-config: optional(
object({
immunity-time-property: optional(
object({
immunity-time: integer
})
)
})
)
name: string
override-action: optional(
object({
count: optional(object({}))
none: optional(object({}))
})
)
priority: integer
rule-labels: optional(
list(
object({
name: string
})
)
)
statement: object({
and-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
and-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
managed-rule-group-statement: optional(
object({
excluded-rules: optional(
list(
object({
name: string
})
)
)
managed-rule-group-configs: optional(
list(
object({
aws-managed-rules-acfp-rule-set: optional(
object({
creation-path: string
enable-regex-in-path: optional(boolean)
registration-page-path: string
request-inspection: optional(
object({
address-fields: optional(
object({
identifiers: list(string)
})
)
email-field: optional(
object({
identifier: string
})
)
password-field: optional(
object({
identifier: string
})
)
payload-type: string
phone-number-fields: optional(
object({
identifiers: list(string)
})
)
username-field: optional(
object({
identifier: string
})
)
})
)
response-inspection: optional(
object({
body-contains: optional(
object({
failure-strings: optional(list(string))
success-strings: optional(list(string))
})
)
header: optional(
object({
failure-values: optional(list(string))
name: string
success-values: optional(list(string))
})
)
json: optional(
object({
failure-values: optional(list(string))
identifier: string
success-values: optional(list(string))
})
)
status-code: optional(
object({
failure-codes: optional(list(integer))
success-codes: optional(list(integer))
})
)
})
)
})
)
aws-managed-rules-atp-rule-set: optional(
object({
enable-regex-in-path: optional(boolean)
login-path: string
request-inspection: optional(
object({
password-field: optional(
object({
identifier: string
})
)
payload-type: string
username-field: optional(
object({
identifier: string
})
)
})
)
response-inspection: optional(
object({
body-contains: optional(
object({
failure-strings: optional(list(string))
success-strings: optional(list(string))
})
)
header: optional(
object({
failure-values: optional(list(string))
name: string
success-values: optional(list(string))
})
)
json: optional(
object({
failure-values: optional(list(string))
identifier: string
success-values: optional(list(string))
})
)
status-code: optional(
object({
failure-codes: optional(list(integer))
success-codes: optional(list(integer))
})
)
})
)
})
)
aws-managed-rules-anti-ddos-rule-set: optional(
object({
client-side-action-config: optional(
object({
challenge: optional(
object({
exempt-uri-regular-expressions: optional(
list(
object({
regex-string: string
})
)
)
sensitivity: optional(string)
usage-of-action: string
})
)
})
)
sensitivity-to-block: optional(string)
})
)
aws-managed-rules-bot-control-rule-set: optional(
object({
enable-machine-learning: optional(boolean)
inspection-level: string
})
)
login-path: optional(string)
password-field: optional(
object({
identifier: string
})
)
payload-type: optional(string)
username-field: optional(
object({
identifier: string
})
)
})
)
)
name: string
rule-action-overrides: optional(
list(
object({
action-to-use: object({
allow: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
block: optional(
object({
custom-response: optional(
object({
response-code: integer
custom-response-body-key: optional(string)
response-headers: optional(
list(
object({
name: string
value: string
})
)
)
})
)
})
)
captcha: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
challenge: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
count: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
})
name: string
})
)
)
scope-down-statement: optional(
object({
and-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
vendor-name: string
version: optional(string)
})
)
rate-based-statement: optional(
object({
aggregate-key-type: string
custom-keys: optional(
list(
object({
asn: optional(object({}))
cookie: optional(
object({
name: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
forwarded-ip: optional(object({}))
http-method: optional(object({}))
header: optional(
object({
name: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
ip: optional(object({}))
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
label-namespace: optional(
object({
namespace: string
})
)
query-argument: optional(
object({
name: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
query-string: optional(
object({
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
uri-path: optional(
object({
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
)
evaluation-window-sec: optional(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
limit: integer
scope-down-statement: optional(
object({
and-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
and-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
not-statement: optional(
object({
statement: object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
})
)
or-statement: optional(
object({
statements: list(
object({
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
asn-match-statement: optional(
object({
asn-list: list(integer)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
byte-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
positional-constraint: string
search-string: optional(string)
search-string-base64: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
geo-match-statement: optional(
object({
country-codes: list(string)
forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
})
)
})
)
ip-set-reference-statement: optional(
object({
arn: string
ip-set-forwarded-ip-config: optional(
object({
fallback-behavior: string
header-name: string
position: string
})
)
})
)
label-match-statement: optional(
object({
key: string
scope: string
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
)
})
)
regex-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
regex-string: string
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
regex-pattern-set-reference-statement: optional(
object({
arn: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
rule-group-reference-statement: optional(
object({
arn: string
excluded-rules: optional(
list(
object({
name: string
})
)
)
rule-action-overrides: optional(
list(
object({
action-to-use: object({
allow: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
block: optional(
object({
custom-response: optional(
object({
response-code: integer
custom-response-body-key: optional(string)
response-headers: optional(
list(
object({
name: string
value: string
})
)
)
})
)
})
)
captcha: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
challenge: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
count: optional(
object({
custom-request-handling: optional(
object({
insert-headers: list(
object({
name: string
value: string
})
)
})
)
})
)
})
name: string
})
)
)
})
)
size-constraint-statement: optional(
object({
comparison-operator: string
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
size: integer
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
sqli-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
sensitivity-level: optional(string)
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
xss-match-statement: optional(
object({
field-to-match: object({
all-query-arguments: optional(object({}))
body: optional(
object({
oversize-handling: optional(string)
})
)
cookies: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-cookies: optional(list(string))
included-cookies: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
header-order: optional(
object({
oversize-handling: string
})
)
headers: optional(
object({
match-pattern: object({
all: optional(object({}))
excluded-headers: optional(list(string))
included-headers: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
ja3-fingerprint: optional(
object({
fallback-behavior: string
})
)
ja4-fingerprint: optional(
object({
fallback-behavior: string
})
)
json-body: optional(
object({
invalid-fallback-behavior: optional(string)
match-pattern: object({
all: optional(object({}))
included-paths: optional(list(string))
})
match-scope: string
oversize-handling: string
})
)
method: optional(object({}))
query-string: optional(object({}))
single-header: optional(
object({
name: string
})
)
single-query-argument: optional(
object({
name: string
})
)
uri-fragment: optional(
object({
fallback-behavior: optional(string)
})
)
uri-path: optional(object({}))
})
text-transformations: list(
object({
priority: integer
type: string
})
)
})
)
})
visibility-config: object({
cloudwatch-metrics-enabled: boolean
metric-name: string
sampled-requests-enabled: boolean
})
})
)
)
token-domains
optional(list(string))
tags
optional(map(string))
Input Constraints¶
This kind declares no extra input constraints.
Outputs¶
arn
string
id
string
capacity
integer
label-namespace
string
application-integration-url
optional(string)
lock-token
string