You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::WAFV2::Types::AndStatement
- Inherits:
-
Struct
- Object
- Struct
- Aws::WAFV2::Types::AndStatement
- Defined in:
- (unknown)
Overview
Note:
When passing AndStatement as input to an Aws::Client method, you can use a vanilla Hash:
{
statements: [ # required
{
byte_match_statement: {
search_string: "data", # required
field_to_match: { # required
single_header: {
name: "FieldToMatchData", # required
},
single_query_argument: {
name: "FieldToMatchData", # required
},
all_query_arguments: {
},
uri_path: {
},
query_string: {
},
body: {
},
method: {
},
},
text_transformations: [ # required
{
priority: 1, # required
type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
},
],
positional_constraint: "EXACTLY", # required, accepts EXACTLY, STARTS_WITH, ENDS_WITH, CONTAINS, CONTAINS_WORD
},
sqli_match_statement: {
field_to_match: { # required
single_header: {
name: "FieldToMatchData", # required
},
single_query_argument: {
name: "FieldToMatchData", # required
},
all_query_arguments: {
},
uri_path: {
},
query_string: {
},
body: {
},
method: {
},
},
text_transformations: [ # required
{
priority: 1, # required
type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
},
],
},
xss_match_statement: {
field_to_match: { # required
single_header: {
name: "FieldToMatchData", # required
},
single_query_argument: {
name: "FieldToMatchData", # required
},
all_query_arguments: {
},
uri_path: {
},
query_string: {
},
body: {
},
method: {
},
},
text_transformations: [ # required
{
priority: 1, # required
type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
},
],
},
size_constraint_statement: {
field_to_match: { # required
single_header: {
name: "FieldToMatchData", # required
},
single_query_argument: {
name: "FieldToMatchData", # required
},
all_query_arguments: {
},
uri_path: {
},
query_string: {
},
body: {
},
method: {
},
},
comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
size: 1, # required
text_transformations: [ # required
{
priority: 1, # required
type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
},
],
},
geo_match_statement: {
country_codes: ["AF"], # accepts AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, KH, CM, CA, CV, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MK, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SZ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW
forwarded_ip_config: {
header_name: "ForwardedIPHeaderName", # required
fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
},
},
rule_group_reference_statement: {
arn: "ResourceArn", # required
excluded_rules: [
{
name: "EntityName", # required
},
],
},
ip_set_reference_statement: {
arn: "ResourceArn", # required
ip_set_forwarded_ip_config: {
header_name: "ForwardedIPHeaderName", # required
fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
position: "FIRST", # required, accepts FIRST, LAST, ANY
},
},
regex_pattern_set_reference_statement: {
arn: "ResourceArn", # required
field_to_match: { # required
single_header: {
name: "FieldToMatchData", # required
},
single_query_argument: {
name: "FieldToMatchData", # required
},
all_query_arguments: {
},
uri_path: {
},
query_string: {
},
body: {
},
method: {
},
},
text_transformations: [ # required
{
priority: 1, # required
type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
},
],
},
rate_based_statement: {
limit: 1, # required
aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
scope_down_statement: {
# recursive Statement
},
forwarded_ip_config: {
header_name: "ForwardedIPHeaderName", # required
fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
},
},
and_statement: {
# recursive AndStatement
},
or_statement: {
statements: { # required
# recursive Statements
},
},
not_statement: {
statement: { # required
# recursive Statement
},
},
managed_rule_group_statement: {
vendor_name: "VendorName", # required
name: "EntityName", # required
excluded_rules: [
{
name: "EntityName", # required
},
],
},
},
],
}
This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement
.
Returned by:
Instance Attribute Summary collapse
-
#statements ⇒ Array<Types::Statement>
The statements to combine with AND logic.
Instance Attribute Details
#statements ⇒ Array<Types::Statement>
The statements to combine with AND logic. You can use any statements that can be nested.