aws-sdk-wafv2 1.6.1 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 74e014fca8307c8c91cc8b574384bb8251dc7a4305d7708755d537e6a94a28ab
4
- data.tar.gz: d185c5eb15490fc40218b3f44a76c6363441e14c2f1ace5bd6393e27c9f76557
3
+ metadata.gz: ff50a359fd83741aabfa200f488afa1327e4bbf156ba3b70a2a8ec9f10d50828
4
+ data.tar.gz: 0df2ab0ec3481e8dd8b341222a95ff1c96387d79096c8fefd6903adab9f5fa2e
5
5
  SHA512:
6
- metadata.gz: 1b4bd6d6721e9097723da9b4e077a50b0a2fa60beb18e3aa4467eda9a5ffc4d3c2b24c3e777bd883ee9c0fefb7519fd6838efb07dd51cc04b54a70465b6dffb4
7
- data.tar.gz: c2339044da229d3b3599b3ef521a136453cfe38a3e7d99e45d11754fe560dd36e9c0d8e135c66a0da04e1bc9136b353e64b08321a2a896ac0387d172f5c1ef7e
6
+ metadata.gz: 8fab0eace0ca143c557c9b20b5a82ecc5d4ba4f50f492c6817ac9af70af3e2208819db2763f8ad8f480db1085380e730b9997261ce48e41f59fe5c63108cdf9d
7
+ data.tar.gz: f0f9d22c7cf474211f9bdd921231a09c4dfca74935678cf84223a9d975bd4502cf264bfbb3d1cf609cc6f474a8c8478c85e05187d9c313e10b14751425b8c8cf
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -42,9 +44,9 @@ require_relative 'aws-sdk-wafv2/customizations'
42
44
  #
43
45
  # See {Errors} for more information.
44
46
  #
45
- # @service
47
+ # @!group service
46
48
  module Aws::WAFV2
47
49
 
48
- GEM_VERSION = '1.6.1'
50
+ GEM_VERSION = '1.11.0'
49
51
 
50
52
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -83,13 +85,28 @@ module Aws::WAFV2
83
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
84
86
  # credentials.
85
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
86
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
87
103
  # from an EC2 IMDS on an EC2 instance.
88
104
  #
89
- # * `Aws::SharedCredentials` - Used for loading credentials from a
90
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
91
107
  #
92
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
93
110
  #
94
111
  # When `:credentials` are not configured directly, the following
95
112
  # locations will be searched for credentials:
@@ -99,10 +116,10 @@ module Aws::WAFV2
99
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
100
117
  # * `~/.aws/credentials`
101
118
  # * `~/.aws/config`
102
- # * EC2 IMDS instance profile - When used by default, the timeouts are
103
- # very aggressive. Construct and pass an instance of
104
- # `Aws::InstanceProfileCredentails` to enable retries and extended
105
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
106
123
  #
107
124
  # @option options [required, String] :region
108
125
  # The AWS region to connect to. The configured `:region` is
@@ -541,6 +558,10 @@ module Aws::WAFV2
541
558
  # },
542
559
  # geo_match_statement: {
543
560
  # 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
561
+ # forwarded_ip_config: {
562
+ # header_name: "ForwardedIPHeaderName", # required
563
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
564
+ # },
544
565
  # },
545
566
  # rule_group_reference_statement: {
546
567
  # arn: "ResourceArn", # required
@@ -552,6 +573,11 @@ module Aws::WAFV2
552
573
  # },
553
574
  # ip_set_reference_statement: {
554
575
  # arn: "ResourceArn", # required
576
+ # ip_set_forwarded_ip_config: {
577
+ # header_name: "ForwardedIPHeaderName", # required
578
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
579
+ # position: "FIRST", # required, accepts FIRST, LAST, ANY
580
+ # },
555
581
  # },
556
582
  # regex_pattern_set_reference_statement: {
557
583
  # arn: "ResourceArn", # required
@@ -582,10 +608,14 @@ module Aws::WAFV2
582
608
  # },
583
609
  # rate_based_statement: {
584
610
  # limit: 1, # required
585
- # aggregate_key_type: "IP", # required, accepts IP
611
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
586
612
  # scope_down_statement: {
587
613
  # # recursive Statement
588
614
  # },
615
+ # forwarded_ip_config: {
616
+ # header_name: "ForwardedIPHeaderName", # required
617
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
618
+ # },
589
619
  # },
590
620
  # and_statement: {
591
621
  # statements: [ # required
@@ -1043,6 +1073,10 @@ module Aws::WAFV2
1043
1073
  # },
1044
1074
  # geo_match_statement: {
1045
1075
  # 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
1076
+ # forwarded_ip_config: {
1077
+ # header_name: "ForwardedIPHeaderName", # required
1078
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1079
+ # },
1046
1080
  # },
1047
1081
  # rule_group_reference_statement: {
1048
1082
  # arn: "ResourceArn", # required
@@ -1054,6 +1088,11 @@ module Aws::WAFV2
1054
1088
  # },
1055
1089
  # ip_set_reference_statement: {
1056
1090
  # arn: "ResourceArn", # required
1091
+ # ip_set_forwarded_ip_config: {
1092
+ # header_name: "ForwardedIPHeaderName", # required
1093
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1094
+ # position: "FIRST", # required, accepts FIRST, LAST, ANY
1095
+ # },
1057
1096
  # },
1058
1097
  # regex_pattern_set_reference_statement: {
1059
1098
  # arn: "ResourceArn", # required
@@ -1084,10 +1123,14 @@ module Aws::WAFV2
1084
1123
  # },
1085
1124
  # rate_based_statement: {
1086
1125
  # limit: 1, # required
1087
- # aggregate_key_type: "IP", # required, accepts IP
1126
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
1088
1127
  # scope_down_statement: {
1089
1128
  # # recursive Statement
1090
1129
  # },
1130
+ # forwarded_ip_config: {
1131
+ # header_name: "ForwardedIPHeaderName", # required
1132
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1133
+ # },
1091
1134
  # },
1092
1135
  # and_statement: {
1093
1136
  # statements: [ # required
@@ -1361,6 +1404,10 @@ module Aws::WAFV2
1361
1404
  # },
1362
1405
  # geo_match_statement: {
1363
1406
  # 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
1407
+ # forwarded_ip_config: {
1408
+ # header_name: "ForwardedIPHeaderName", # required
1409
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1410
+ # },
1364
1411
  # },
1365
1412
  # rule_group_reference_statement: {
1366
1413
  # arn: "ResourceArn", # required
@@ -1372,6 +1419,11 @@ module Aws::WAFV2
1372
1419
  # },
1373
1420
  # ip_set_reference_statement: {
1374
1421
  # arn: "ResourceArn", # required
1422
+ # ip_set_forwarded_ip_config: {
1423
+ # header_name: "ForwardedIPHeaderName", # required
1424
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1425
+ # position: "FIRST", # required, accepts FIRST, LAST, ANY
1426
+ # },
1375
1427
  # },
1376
1428
  # regex_pattern_set_reference_statement: {
1377
1429
  # arn: "ResourceArn", # required
@@ -1402,10 +1454,14 @@ module Aws::WAFV2
1402
1454
  # },
1403
1455
  # rate_based_statement: {
1404
1456
  # limit: 1, # required
1405
- # aggregate_key_type: "IP", # required, accepts IP
1457
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
1406
1458
  # scope_down_statement: {
1407
1459
  # # recursive Statement
1408
1460
  # },
1461
+ # forwarded_ip_config: {
1462
+ # header_name: "ForwardedIPHeaderName", # required
1463
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1464
+ # },
1409
1465
  # },
1410
1466
  # and_statement: {
1411
1467
  # statements: [ # required
@@ -2071,6 +2127,7 @@ module Aws::WAFV2
2071
2127
  # resp.logging_configuration.redacted_fields #=> Array
2072
2128
  # resp.logging_configuration.redacted_fields[0].single_header.name #=> String
2073
2129
  # resp.logging_configuration.redacted_fields[0].single_query_argument.name #=> String
2130
+ # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
2074
2131
  #
2075
2132
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetLoggingConfiguration AWS API Documentation
2076
2133
  #
@@ -2336,10 +2393,15 @@ module Aws::WAFV2
2336
2393
  # resp.rule_group.rules[0].statement.size_constraint_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2337
2394
  # resp.rule_group.rules[0].statement.geo_match_statement.country_codes #=> Array
2338
2395
  # resp.rule_group.rules[0].statement.geo_match_statement.country_codes[0] #=> String, one of "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"
2396
+ # resp.rule_group.rules[0].statement.geo_match_statement.forwarded_ip_config.header_name #=> String
2397
+ # resp.rule_group.rules[0].statement.geo_match_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2339
2398
  # resp.rule_group.rules[0].statement.rule_group_reference_statement.arn #=> String
2340
2399
  # resp.rule_group.rules[0].statement.rule_group_reference_statement.excluded_rules #=> Array
2341
2400
  # resp.rule_group.rules[0].statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2342
2401
  # resp.rule_group.rules[0].statement.ip_set_reference_statement.arn #=> String
2402
+ # resp.rule_group.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.header_name #=> String
2403
+ # resp.rule_group.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2404
+ # resp.rule_group.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.position #=> String, one of "FIRST", "LAST", "ANY"
2343
2405
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2344
2406
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2345
2407
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
@@ -2347,8 +2409,10 @@ module Aws::WAFV2
2347
2409
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2348
2410
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2349
2411
  # resp.rule_group.rules[0].statement.rate_based_statement.limit #=> Integer
2350
- # resp.rule_group.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP"
2412
+ # resp.rule_group.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
2351
2413
  # resp.rule_group.rules[0].statement.rate_based_statement.scope_down_statement #=> Types::Statement
2414
+ # resp.rule_group.rules[0].statement.rate_based_statement.forwarded_ip_config.header_name #=> String
2415
+ # resp.rule_group.rules[0].statement.rate_based_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2352
2416
  # resp.rule_group.rules[0].statement.and_statement.statements #=> Array
2353
2417
  # resp.rule_group.rules[0].statement.and_statement.statements[0] #=> Types::Statement
2354
2418
  # resp.rule_group.rules[0].statement.or_statement.statements #=> Array
@@ -2423,7 +2487,8 @@ module Aws::WAFV2
2423
2487
  # @option params [required, Types::TimeWindow] :time_window
2424
2488
  # The start date and time and the end date and time of the range for
2425
2489
  # which you want `GetSampledRequests` to return a sample of requests.
2426
- # Specify the date and time in the following format:
2490
+ # You must specify the times in Coordinated Universal Time (UTC) format.
2491
+ # UTC format includes the special designator, `Z`. For example,
2427
2492
  # `"2016-09-27T14:50Z"`. You can specify any time range in the previous
2428
2493
  # three hours.
2429
2494
  #
@@ -2564,10 +2629,15 @@ module Aws::WAFV2
2564
2629
  # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2565
2630
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes #=> Array
2566
2631
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes[0] #=> String, one of "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"
2632
+ # resp.web_acl.rules[0].statement.geo_match_statement.forwarded_ip_config.header_name #=> String
2633
+ # resp.web_acl.rules[0].statement.geo_match_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2567
2634
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.arn #=> String
2568
2635
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.excluded_rules #=> Array
2569
2636
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2570
2637
  # resp.web_acl.rules[0].statement.ip_set_reference_statement.arn #=> String
2638
+ # resp.web_acl.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.header_name #=> String
2639
+ # resp.web_acl.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2640
+ # resp.web_acl.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.position #=> String, one of "FIRST", "LAST", "ANY"
2571
2641
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2572
2642
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2573
2643
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
@@ -2575,8 +2645,10 @@ module Aws::WAFV2
2575
2645
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2576
2646
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2577
2647
  # resp.web_acl.rules[0].statement.rate_based_statement.limit #=> Integer
2578
- # resp.web_acl.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP"
2648
+ # resp.web_acl.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
2579
2649
  # resp.web_acl.rules[0].statement.rate_based_statement.scope_down_statement #=> Types::Statement
2650
+ # resp.web_acl.rules[0].statement.rate_based_statement.forwarded_ip_config.header_name #=> String
2651
+ # resp.web_acl.rules[0].statement.rate_based_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2580
2652
  # resp.web_acl.rules[0].statement.and_statement.statements #=> Array
2581
2653
  # resp.web_acl.rules[0].statement.and_statement.statements[0] #=> Types::Statement
2582
2654
  # resp.web_acl.rules[0].statement.or_statement.statements #=> Array
@@ -2692,10 +2764,15 @@ module Aws::WAFV2
2692
2764
  # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2693
2765
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes #=> Array
2694
2766
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes[0] #=> String, one of "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"
2767
+ # resp.web_acl.rules[0].statement.geo_match_statement.forwarded_ip_config.header_name #=> String
2768
+ # resp.web_acl.rules[0].statement.geo_match_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2695
2769
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.arn #=> String
2696
2770
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.excluded_rules #=> Array
2697
2771
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2698
2772
  # resp.web_acl.rules[0].statement.ip_set_reference_statement.arn #=> String
2773
+ # resp.web_acl.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.header_name #=> String
2774
+ # resp.web_acl.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2775
+ # resp.web_acl.rules[0].statement.ip_set_reference_statement.ip_set_forwarded_ip_config.position #=> String, one of "FIRST", "LAST", "ANY"
2699
2776
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2700
2777
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2701
2778
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
@@ -2703,8 +2780,10 @@ module Aws::WAFV2
2703
2780
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2704
2781
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2705
2782
  # resp.web_acl.rules[0].statement.rate_based_statement.limit #=> Integer
2706
- # resp.web_acl.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP"
2783
+ # resp.web_acl.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
2707
2784
  # resp.web_acl.rules[0].statement.rate_based_statement.scope_down_statement #=> Types::Statement
2785
+ # resp.web_acl.rules[0].statement.rate_based_statement.forwarded_ip_config.header_name #=> String
2786
+ # resp.web_acl.rules[0].statement.rate_based_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2708
2787
  # resp.web_acl.rules[0].statement.and_statement.statements #=> Array
2709
2788
  # resp.web_acl.rules[0].statement.and_statement.statements[0] #=> Types::Statement
2710
2789
  # resp.web_acl.rules[0].statement.or_statement.statements #=> Array
@@ -2962,6 +3041,7 @@ module Aws::WAFV2
2962
3041
  # resp.logging_configurations[0].redacted_fields #=> Array
2963
3042
  # resp.logging_configurations[0].redacted_fields[0].single_header.name #=> String
2964
3043
  # resp.logging_configurations[0].redacted_fields[0].single_query_argument.name #=> String
3044
+ # resp.logging_configurations[0].managed_by_firewall_manager #=> Boolean
2965
3045
  # resp.next_marker #=> String
2966
3046
  #
2967
3047
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListLoggingConfigurations AWS API Documentation
@@ -3173,7 +3253,16 @@ module Aws::WAFV2
3173
3253
  #
3174
3254
  # </note>
3175
3255
  #
3176
- # Retrieves the TagInfoForResource for the specified resource.
3256
+ # Retrieves the TagInfoForResource for the specified resource. Tags are
3257
+ # key:value pairs that you can use to categorize and manage your
3258
+ # resources, for purposes like billing. For example, you might set the
3259
+ # tag key to "customer" and the value to the customer name or ID. You
3260
+ # can specify one or more tags to add to each AWS resource, up to 50
3261
+ # tags for a resource.
3262
+ #
3263
+ # You can tag the AWS resources that you manage through AWS WAF: web
3264
+ # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
3265
+ # or view tags through the AWS WAF console.
3177
3266
  #
3178
3267
  #
3179
3268
  #
@@ -3316,6 +3405,9 @@ module Aws::WAFV2
3316
3405
  # you are operating. If you are capturing logs for Amazon
3317
3406
  # CloudFront, always create the firehose in US East (N. Virginia).
3318
3407
  #
3408
+ # Give the data firehose a name that starts with the prefix
3409
+ # `aws-waf-logs-`. For example, `aws-waf-logs-us-east-2-analytics`.
3410
+ #
3319
3411
  # <note markdown="1"> Do not create the data firehose using a `Kinesis stream` as your
3320
3412
  # source.
3321
3413
  #
@@ -3367,6 +3459,7 @@ module Aws::WAFV2
3367
3459
  # },
3368
3460
  # },
3369
3461
  # ],
3462
+ # managed_by_firewall_manager: false,
3370
3463
  # },
3371
3464
  # })
3372
3465
  #
@@ -3378,6 +3471,7 @@ module Aws::WAFV2
3378
3471
  # resp.logging_configuration.redacted_fields #=> Array
3379
3472
  # resp.logging_configuration.redacted_fields[0].single_header.name #=> String
3380
3473
  # resp.logging_configuration.redacted_fields[0].single_query_argument.name #=> String
3474
+ # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
3381
3475
  #
3382
3476
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration AWS API Documentation
3383
3477
  #
@@ -3458,10 +3552,15 @@ module Aws::WAFV2
3458
3552
  # </note>
3459
3553
  #
3460
3554
  # Associates tags with the specified AWS resource. Tags are key:value
3461
- # pairs that you can associate with AWS resources. For example, the tag
3462
- # key might be "customer" and the tag value might be "companyA." You
3463
- # can specify one or more tags to add to each container. You can add up
3464
- # to 50 tags to each AWS resource.
3555
+ # pairs that you can use to categorize and manage your resources, for
3556
+ # purposes like billing. For example, you might set the tag key to
3557
+ # "customer" and the value to the customer name or ID. You can specify
3558
+ # one or more tags to add to each AWS resource, up to 50 tags for a
3559
+ # resource.
3560
+ #
3561
+ # You can tag the AWS resources that you manage through AWS WAF: web
3562
+ # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
3563
+ # or view tags through the AWS WAF console.
3465
3564
  #
3466
3565
  #
3467
3566
  #
@@ -3921,6 +4020,10 @@ module Aws::WAFV2
3921
4020
  # },
3922
4021
  # geo_match_statement: {
3923
4022
  # 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
4023
+ # forwarded_ip_config: {
4024
+ # header_name: "ForwardedIPHeaderName", # required
4025
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
4026
+ # },
3924
4027
  # },
3925
4028
  # rule_group_reference_statement: {
3926
4029
  # arn: "ResourceArn", # required
@@ -3932,6 +4035,11 @@ module Aws::WAFV2
3932
4035
  # },
3933
4036
  # ip_set_reference_statement: {
3934
4037
  # arn: "ResourceArn", # required
4038
+ # ip_set_forwarded_ip_config: {
4039
+ # header_name: "ForwardedIPHeaderName", # required
4040
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
4041
+ # position: "FIRST", # required, accepts FIRST, LAST, ANY
4042
+ # },
3935
4043
  # },
3936
4044
  # regex_pattern_set_reference_statement: {
3937
4045
  # arn: "ResourceArn", # required
@@ -3962,10 +4070,14 @@ module Aws::WAFV2
3962
4070
  # },
3963
4071
  # rate_based_statement: {
3964
4072
  # limit: 1, # required
3965
- # aggregate_key_type: "IP", # required, accepts IP
4073
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
3966
4074
  # scope_down_statement: {
3967
4075
  # # recursive Statement
3968
4076
  # },
4077
+ # forwarded_ip_config: {
4078
+ # header_name: "ForwardedIPHeaderName", # required
4079
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
4080
+ # },
3969
4081
  # },
3970
4082
  # and_statement: {
3971
4083
  # statements: [ # required
@@ -4243,6 +4355,10 @@ module Aws::WAFV2
4243
4355
  # },
4244
4356
  # geo_match_statement: {
4245
4357
  # 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
4358
+ # forwarded_ip_config: {
4359
+ # header_name: "ForwardedIPHeaderName", # required
4360
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
4361
+ # },
4246
4362
  # },
4247
4363
  # rule_group_reference_statement: {
4248
4364
  # arn: "ResourceArn", # required
@@ -4254,6 +4370,11 @@ module Aws::WAFV2
4254
4370
  # },
4255
4371
  # ip_set_reference_statement: {
4256
4372
  # arn: "ResourceArn", # required
4373
+ # ip_set_forwarded_ip_config: {
4374
+ # header_name: "ForwardedIPHeaderName", # required
4375
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
4376
+ # position: "FIRST", # required, accepts FIRST, LAST, ANY
4377
+ # },
4257
4378
  # },
4258
4379
  # regex_pattern_set_reference_statement: {
4259
4380
  # arn: "ResourceArn", # required
@@ -4284,10 +4405,14 @@ module Aws::WAFV2
4284
4405
  # },
4285
4406
  # rate_based_statement: {
4286
4407
  # limit: 1, # required
4287
- # aggregate_key_type: "IP", # required, accepts IP
4408
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
4288
4409
  # scope_down_statement: {
4289
4410
  # # recursive Statement
4290
4411
  # },
4412
+ # forwarded_ip_config: {
4413
+ # header_name: "ForwardedIPHeaderName", # required
4414
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
4415
+ # },
4291
4416
  # },
4292
4417
  # and_statement: {
4293
4418
  # statements: [ # required
@@ -4373,7 +4498,7 @@ module Aws::WAFV2
4373
4498
  params: params,
4374
4499
  config: config)
4375
4500
  context[:gem_name] = 'aws-sdk-wafv2'
4376
- context[:gem_version] = '1.6.1'
4501
+ context[:gem_version] = '1.11.0'
4377
4502
  Seahorse::Client::Request.new(handlers, context)
4378
4503
  end
4379
4504
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -64,11 +66,15 @@ module Aws::WAFV2
64
66
  ErrorReason = Shapes::StringShape.new(name: 'ErrorReason')
65
67
  ExcludedRule = Shapes::StructureShape.new(name: 'ExcludedRule')
66
68
  ExcludedRules = Shapes::ListShape.new(name: 'ExcludedRules')
69
+ FallbackBehavior = Shapes::StringShape.new(name: 'FallbackBehavior')
67
70
  FieldToMatch = Shapes::StructureShape.new(name: 'FieldToMatch')
68
71
  FieldToMatchData = Shapes::StringShape.new(name: 'FieldToMatchData')
69
72
  FirewallManagerRuleGroup = Shapes::StructureShape.new(name: 'FirewallManagerRuleGroup')
70
73
  FirewallManagerRuleGroups = Shapes::ListShape.new(name: 'FirewallManagerRuleGroups')
71
74
  FirewallManagerStatement = Shapes::StructureShape.new(name: 'FirewallManagerStatement')
75
+ ForwardedIPConfig = Shapes::StructureShape.new(name: 'ForwardedIPConfig')
76
+ ForwardedIPHeaderName = Shapes::StringShape.new(name: 'ForwardedIPHeaderName')
77
+ ForwardedIPPosition = Shapes::StringShape.new(name: 'ForwardedIPPosition')
72
78
  GeoMatchStatement = Shapes::StructureShape.new(name: 'GeoMatchStatement')
73
79
  GetIPSetRequest = Shapes::StructureShape.new(name: 'GetIPSetRequest')
74
80
  GetIPSetResponse = Shapes::StructureShape.new(name: 'GetIPSetResponse')
@@ -99,6 +105,7 @@ module Aws::WAFV2
99
105
  IPAddressVersion = Shapes::StringShape.new(name: 'IPAddressVersion')
100
106
  IPAddresses = Shapes::ListShape.new(name: 'IPAddresses')
101
107
  IPSet = Shapes::StructureShape.new(name: 'IPSet')
108
+ IPSetForwardedIPConfig = Shapes::StructureShape.new(name: 'IPSetForwardedIPConfig')
102
109
  IPSetReferenceStatement = Shapes::StructureShape.new(name: 'IPSetReferenceStatement')
103
110
  IPSetSummaries = Shapes::ListShape.new(name: 'IPSetSummaries')
104
111
  IPSetSummary = Shapes::StructureShape.new(name: 'IPSetSummary')
@@ -403,7 +410,12 @@ module Aws::WAFV2
403
410
  FirewallManagerStatement.add_member(:rule_group_reference_statement, Shapes::ShapeRef.new(shape: RuleGroupReferenceStatement, location_name: "RuleGroupReferenceStatement"))
404
411
  FirewallManagerStatement.struct_class = Types::FirewallManagerStatement
405
412
 
413
+ ForwardedIPConfig.add_member(:header_name, Shapes::ShapeRef.new(shape: ForwardedIPHeaderName, required: true, location_name: "HeaderName"))
414
+ ForwardedIPConfig.add_member(:fallback_behavior, Shapes::ShapeRef.new(shape: FallbackBehavior, required: true, location_name: "FallbackBehavior"))
415
+ ForwardedIPConfig.struct_class = Types::ForwardedIPConfig
416
+
406
417
  GeoMatchStatement.add_member(:country_codes, Shapes::ShapeRef.new(shape: CountryCodes, location_name: "CountryCodes"))
418
+ GeoMatchStatement.add_member(:forwarded_ip_config, Shapes::ShapeRef.new(shape: ForwardedIPConfig, location_name: "ForwardedIPConfig"))
407
419
  GeoMatchStatement.struct_class = Types::GeoMatchStatement
408
420
 
409
421
  GetIPSetRequest.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
@@ -506,7 +518,13 @@ module Aws::WAFV2
506
518
  IPSet.add_member(:addresses, Shapes::ShapeRef.new(shape: IPAddresses, required: true, location_name: "Addresses"))
507
519
  IPSet.struct_class = Types::IPSet
508
520
 
521
+ IPSetForwardedIPConfig.add_member(:header_name, Shapes::ShapeRef.new(shape: ForwardedIPHeaderName, required: true, location_name: "HeaderName"))
522
+ IPSetForwardedIPConfig.add_member(:fallback_behavior, Shapes::ShapeRef.new(shape: FallbackBehavior, required: true, location_name: "FallbackBehavior"))
523
+ IPSetForwardedIPConfig.add_member(:position, Shapes::ShapeRef.new(shape: ForwardedIPPosition, required: true, location_name: "Position"))
524
+ IPSetForwardedIPConfig.struct_class = Types::IPSetForwardedIPConfig
525
+
509
526
  IPSetReferenceStatement.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ARN"))
527
+ IPSetReferenceStatement.add_member(:ip_set_forwarded_ip_config, Shapes::ShapeRef.new(shape: IPSetForwardedIPConfig, location_name: "IPSetForwardedIPConfig"))
510
528
  IPSetReferenceStatement.struct_class = Types::IPSetReferenceStatement
511
529
 
512
530
  IPSetSummaries.member = Shapes::ShapeRef.new(shape: IPSetSummary)
@@ -593,6 +611,7 @@ module Aws::WAFV2
593
611
  LoggingConfiguration.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
594
612
  LoggingConfiguration.add_member(:log_destination_configs, Shapes::ShapeRef.new(shape: LogDestinationConfigs, required: true, location_name: "LogDestinationConfigs"))
595
613
  LoggingConfiguration.add_member(:redacted_fields, Shapes::ShapeRef.new(shape: RedactedFields, location_name: "RedactedFields"))
614
+ LoggingConfiguration.add_member(:managed_by_firewall_manager, Shapes::ShapeRef.new(shape: Boolean, location_name: "ManagedByFirewallManager"))
596
615
  LoggingConfiguration.struct_class = Types::LoggingConfiguration
597
616
 
598
617
  LoggingConfigurations.member = Shapes::ShapeRef.new(shape: LoggingConfiguration)
@@ -640,6 +659,7 @@ module Aws::WAFV2
640
659
  RateBasedStatement.add_member(:limit, Shapes::ShapeRef.new(shape: RateLimit, required: true, location_name: "Limit"))
641
660
  RateBasedStatement.add_member(:aggregate_key_type, Shapes::ShapeRef.new(shape: RateBasedStatementAggregateKeyType, required: true, location_name: "AggregateKeyType"))
642
661
  RateBasedStatement.add_member(:scope_down_statement, Shapes::ShapeRef.new(shape: Statement, location_name: "ScopeDownStatement"))
662
+ RateBasedStatement.add_member(:forwarded_ip_config, Shapes::ShapeRef.new(shape: ForwardedIPConfig, location_name: "ForwardedIPConfig"))
643
663
  RateBasedStatement.struct_class = Types::RateBasedStatement
644
664
 
645
665
  RateBasedStatementManagedKeysIPSet.add_member(:ip_address_version, Shapes::ShapeRef.new(shape: IPAddressVersion, location_name: "IPAddressVersion"))
@@ -1378,6 +1398,7 @@ module Aws::WAFV2
1378
1398
  o.errors << Shapes::ShapeRef.new(shape: WAFServiceLinkedRoleErrorException)
1379
1399
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1380
1400
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1401
+ o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
1381
1402
  end)
1382
1403
 
1383
1404
  api.add_operation(:put_permission_policy, Seahorse::Model::Operation.new.tap do |o|