aws-sdk-wafv2 1.8.0 → 1.13.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: 61d0df9e080516330ba603b141d4b1e39ed89c6899502b9a28a3914ab49f626b
4
- data.tar.gz: 7b5207686c843b655b455d5a2f7b25226c913f0a861e52b5c58233a6b743197b
3
+ metadata.gz: d5259ded8f6349733207f5c9ef63a0d901d5f6215f8e5b889d1263ead5c64d62
4
+ data.tar.gz: 3b0c27bbb05b59bbfeee8ee9f1c4acb1f4c2fd02e71d65a18253a6f8db74d0cc
5
5
  SHA512:
6
- metadata.gz: 84ef701f5487386541c792ce0286b65de4eb8ab1084f30dcb391ecb5695aa3829d01d5f5949ed6502f14159c8eeddbe19e70c2e65e87a49fc1c182f1c3c3a483
7
- data.tar.gz: c9b89c433346bfd803051241750e173f37034a7988841354f32784b194479cff2be4a1650870bca0305ae4520c2fdfd810aa8b216a0b715567107183cc24f84f
6
+ metadata.gz: 39ef4d3c011cd27feb4e05dccb58934e61e5f9ae6c3521f05bcac5d45bdece346c5b0117cefc33fb5af724a6b61bd6dec017a8e97f8c4e3a4dd4f759d7293c18
7
+ data.tar.gz: a4904f964d46a5a244800d5dff30e30a537b21f8a9949fb683a8e8263bc295fdfb8287e7ea030834123b279583dd22c1fa1cd02e841c0547399800fa2db75e3d
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-wafv2/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::WAFV2
49
50
 
50
- GEM_VERSION = '1.8.0'
51
+ GEM_VERSION = '1.13.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::WAFV2
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
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
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::WAFV2
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # 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.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -543,6 +558,10 @@ module Aws::WAFV2
543
558
  # },
544
559
  # geo_match_statement: {
545
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
+ # },
546
565
  # },
547
566
  # rule_group_reference_statement: {
548
567
  # arn: "ResourceArn", # required
@@ -554,6 +573,11 @@ module Aws::WAFV2
554
573
  # },
555
574
  # ip_set_reference_statement: {
556
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
+ # },
557
581
  # },
558
582
  # regex_pattern_set_reference_statement: {
559
583
  # arn: "ResourceArn", # required
@@ -584,10 +608,14 @@ module Aws::WAFV2
584
608
  # },
585
609
  # rate_based_statement: {
586
610
  # limit: 1, # required
587
- # aggregate_key_type: "IP", # required, accepts IP
611
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
588
612
  # scope_down_statement: {
589
613
  # # recursive Statement
590
614
  # },
615
+ # forwarded_ip_config: {
616
+ # header_name: "ForwardedIPHeaderName", # required
617
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
618
+ # },
591
619
  # },
592
620
  # and_statement: {
593
621
  # statements: [ # required
@@ -1045,6 +1073,10 @@ module Aws::WAFV2
1045
1073
  # },
1046
1074
  # geo_match_statement: {
1047
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
+ # },
1048
1080
  # },
1049
1081
  # rule_group_reference_statement: {
1050
1082
  # arn: "ResourceArn", # required
@@ -1056,6 +1088,11 @@ module Aws::WAFV2
1056
1088
  # },
1057
1089
  # ip_set_reference_statement: {
1058
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
+ # },
1059
1096
  # },
1060
1097
  # regex_pattern_set_reference_statement: {
1061
1098
  # arn: "ResourceArn", # required
@@ -1086,10 +1123,14 @@ module Aws::WAFV2
1086
1123
  # },
1087
1124
  # rate_based_statement: {
1088
1125
  # limit: 1, # required
1089
- # aggregate_key_type: "IP", # required, accepts IP
1126
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
1090
1127
  # scope_down_statement: {
1091
1128
  # # recursive Statement
1092
1129
  # },
1130
+ # forwarded_ip_config: {
1131
+ # header_name: "ForwardedIPHeaderName", # required
1132
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1133
+ # },
1093
1134
  # },
1094
1135
  # and_statement: {
1095
1136
  # statements: [ # required
@@ -1363,6 +1404,10 @@ module Aws::WAFV2
1363
1404
  # },
1364
1405
  # geo_match_statement: {
1365
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
+ # },
1366
1411
  # },
1367
1412
  # rule_group_reference_statement: {
1368
1413
  # arn: "ResourceArn", # required
@@ -1374,6 +1419,11 @@ module Aws::WAFV2
1374
1419
  # },
1375
1420
  # ip_set_reference_statement: {
1376
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
+ # },
1377
1427
  # },
1378
1428
  # regex_pattern_set_reference_statement: {
1379
1429
  # arn: "ResourceArn", # required
@@ -1404,10 +1454,14 @@ module Aws::WAFV2
1404
1454
  # },
1405
1455
  # rate_based_statement: {
1406
1456
  # limit: 1, # required
1407
- # aggregate_key_type: "IP", # required, accepts IP
1457
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
1408
1458
  # scope_down_statement: {
1409
1459
  # # recursive Statement
1410
1460
  # },
1461
+ # forwarded_ip_config: {
1462
+ # header_name: "ForwardedIPHeaderName", # required
1463
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1464
+ # },
1411
1465
  # },
1412
1466
  # and_statement: {
1413
1467
  # statements: [ # required
@@ -2073,6 +2127,7 @@ module Aws::WAFV2
2073
2127
  # resp.logging_configuration.redacted_fields #=> Array
2074
2128
  # resp.logging_configuration.redacted_fields[0].single_header.name #=> String
2075
2129
  # resp.logging_configuration.redacted_fields[0].single_query_argument.name #=> String
2130
+ # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
2076
2131
  #
2077
2132
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetLoggingConfiguration AWS API Documentation
2078
2133
  #
@@ -2338,10 +2393,15 @@ module Aws::WAFV2
2338
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"
2339
2394
  # resp.rule_group.rules[0].statement.geo_match_statement.country_codes #=> Array
2340
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"
2341
2398
  # resp.rule_group.rules[0].statement.rule_group_reference_statement.arn #=> String
2342
2399
  # resp.rule_group.rules[0].statement.rule_group_reference_statement.excluded_rules #=> Array
2343
2400
  # resp.rule_group.rules[0].statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2344
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"
2345
2405
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2346
2406
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2347
2407
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
@@ -2349,8 +2409,10 @@ module Aws::WAFV2
2349
2409
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2350
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"
2351
2411
  # resp.rule_group.rules[0].statement.rate_based_statement.limit #=> Integer
2352
- # 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"
2353
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"
2354
2416
  # resp.rule_group.rules[0].statement.and_statement.statements #=> Array
2355
2417
  # resp.rule_group.rules[0].statement.and_statement.statements[0] #=> Types::Statement
2356
2418
  # resp.rule_group.rules[0].statement.or_statement.statements #=> Array
@@ -2425,7 +2487,8 @@ module Aws::WAFV2
2425
2487
  # @option params [required, Types::TimeWindow] :time_window
2426
2488
  # The start date and time and the end date and time of the range for
2427
2489
  # which you want `GetSampledRequests` to return a sample of requests.
2428
- # 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,
2429
2492
  # `"2016-09-27T14:50Z"`. You can specify any time range in the previous
2430
2493
  # three hours.
2431
2494
  #
@@ -2566,10 +2629,15 @@ module Aws::WAFV2
2566
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"
2567
2630
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes #=> Array
2568
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"
2569
2634
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.arn #=> String
2570
2635
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.excluded_rules #=> Array
2571
2636
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2572
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"
2573
2641
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2574
2642
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2575
2643
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
@@ -2577,8 +2645,10 @@ module Aws::WAFV2
2577
2645
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2578
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"
2579
2647
  # resp.web_acl.rules[0].statement.rate_based_statement.limit #=> Integer
2580
- # 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"
2581
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"
2582
2652
  # resp.web_acl.rules[0].statement.and_statement.statements #=> Array
2583
2653
  # resp.web_acl.rules[0].statement.and_statement.statements[0] #=> Types::Statement
2584
2654
  # resp.web_acl.rules[0].statement.or_statement.statements #=> Array
@@ -2694,10 +2764,15 @@ module Aws::WAFV2
2694
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"
2695
2765
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes #=> Array
2696
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"
2697
2769
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.arn #=> String
2698
2770
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.excluded_rules #=> Array
2699
2771
  # resp.web_acl.rules[0].statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2700
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"
2701
2776
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2702
2777
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2703
2778
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
@@ -2705,8 +2780,10 @@ module Aws::WAFV2
2705
2780
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2706
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"
2707
2782
  # resp.web_acl.rules[0].statement.rate_based_statement.limit #=> Integer
2708
- # 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"
2709
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"
2710
2787
  # resp.web_acl.rules[0].statement.and_statement.statements #=> Array
2711
2788
  # resp.web_acl.rules[0].statement.and_statement.statements[0] #=> Types::Statement
2712
2789
  # resp.web_acl.rules[0].statement.or_statement.statements #=> Array
@@ -2964,6 +3041,7 @@ module Aws::WAFV2
2964
3041
  # resp.logging_configurations[0].redacted_fields #=> Array
2965
3042
  # resp.logging_configurations[0].redacted_fields[0].single_header.name #=> String
2966
3043
  # resp.logging_configurations[0].redacted_fields[0].single_query_argument.name #=> String
3044
+ # resp.logging_configurations[0].managed_by_firewall_manager #=> Boolean
2967
3045
  # resp.next_marker #=> String
2968
3046
  #
2969
3047
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListLoggingConfigurations AWS API Documentation
@@ -3175,7 +3253,16 @@ module Aws::WAFV2
3175
3253
  #
3176
3254
  # </note>
3177
3255
  #
3178
- # 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.
3179
3266
  #
3180
3267
  #
3181
3268
  #
@@ -3318,6 +3405,9 @@ module Aws::WAFV2
3318
3405
  # you are operating. If you are capturing logs for Amazon
3319
3406
  # CloudFront, always create the firehose in US East (N. Virginia).
3320
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
+ #
3321
3411
  # <note markdown="1"> Do not create the data firehose using a `Kinesis stream` as your
3322
3412
  # source.
3323
3413
  #
@@ -3369,6 +3459,7 @@ module Aws::WAFV2
3369
3459
  # },
3370
3460
  # },
3371
3461
  # ],
3462
+ # managed_by_firewall_manager: false,
3372
3463
  # },
3373
3464
  # })
3374
3465
  #
@@ -3380,6 +3471,7 @@ module Aws::WAFV2
3380
3471
  # resp.logging_configuration.redacted_fields #=> Array
3381
3472
  # resp.logging_configuration.redacted_fields[0].single_header.name #=> String
3382
3473
  # resp.logging_configuration.redacted_fields[0].single_query_argument.name #=> String
3474
+ # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
3383
3475
  #
3384
3476
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration AWS API Documentation
3385
3477
  #
@@ -3460,10 +3552,15 @@ module Aws::WAFV2
3460
3552
  # </note>
3461
3553
  #
3462
3554
  # Associates tags with the specified AWS resource. Tags are key:value
3463
- # pairs that you can associate with AWS resources. For example, the tag
3464
- # key might be "customer" and the tag value might be "companyA." You
3465
- # can specify one or more tags to add to each container. You can add up
3466
- # 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.
3467
3564
  #
3468
3565
  #
3469
3566
  #
@@ -3923,6 +4020,10 @@ module Aws::WAFV2
3923
4020
  # },
3924
4021
  # geo_match_statement: {
3925
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
+ # },
3926
4027
  # },
3927
4028
  # rule_group_reference_statement: {
3928
4029
  # arn: "ResourceArn", # required
@@ -3934,6 +4035,11 @@ module Aws::WAFV2
3934
4035
  # },
3935
4036
  # ip_set_reference_statement: {
3936
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
+ # },
3937
4043
  # },
3938
4044
  # regex_pattern_set_reference_statement: {
3939
4045
  # arn: "ResourceArn", # required
@@ -3964,10 +4070,14 @@ module Aws::WAFV2
3964
4070
  # },
3965
4071
  # rate_based_statement: {
3966
4072
  # limit: 1, # required
3967
- # aggregate_key_type: "IP", # required, accepts IP
4073
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
3968
4074
  # scope_down_statement: {
3969
4075
  # # recursive Statement
3970
4076
  # },
4077
+ # forwarded_ip_config: {
4078
+ # header_name: "ForwardedIPHeaderName", # required
4079
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
4080
+ # },
3971
4081
  # },
3972
4082
  # and_statement: {
3973
4083
  # statements: [ # required
@@ -4245,6 +4355,10 @@ module Aws::WAFV2
4245
4355
  # },
4246
4356
  # geo_match_statement: {
4247
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
+ # },
4248
4362
  # },
4249
4363
  # rule_group_reference_statement: {
4250
4364
  # arn: "ResourceArn", # required
@@ -4256,6 +4370,11 @@ module Aws::WAFV2
4256
4370
  # },
4257
4371
  # ip_set_reference_statement: {
4258
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
+ # },
4259
4378
  # },
4260
4379
  # regex_pattern_set_reference_statement: {
4261
4380
  # arn: "ResourceArn", # required
@@ -4286,10 +4405,14 @@ module Aws::WAFV2
4286
4405
  # },
4287
4406
  # rate_based_statement: {
4288
4407
  # limit: 1, # required
4289
- # aggregate_key_type: "IP", # required, accepts IP
4408
+ # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
4290
4409
  # scope_down_statement: {
4291
4410
  # # recursive Statement
4292
4411
  # },
4412
+ # forwarded_ip_config: {
4413
+ # header_name: "ForwardedIPHeaderName", # required
4414
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
4415
+ # },
4293
4416
  # },
4294
4417
  # and_statement: {
4295
4418
  # statements: [ # required
@@ -4375,7 +4498,7 @@ module Aws::WAFV2
4375
4498
  params: params,
4376
4499
  config: config)
4377
4500
  context[:gem_name] = 'aws-sdk-wafv2'
4378
- context[:gem_version] = '1.8.0'
4501
+ context[:gem_version] = '1.13.0'
4379
4502
  Seahorse::Client::Request.new(handlers, context)
4380
4503
  end
4381
4504
 
@@ -66,11 +66,15 @@ module Aws::WAFV2
66
66
  ErrorReason = Shapes::StringShape.new(name: 'ErrorReason')
67
67
  ExcludedRule = Shapes::StructureShape.new(name: 'ExcludedRule')
68
68
  ExcludedRules = Shapes::ListShape.new(name: 'ExcludedRules')
69
+ FallbackBehavior = Shapes::StringShape.new(name: 'FallbackBehavior')
69
70
  FieldToMatch = Shapes::StructureShape.new(name: 'FieldToMatch')
70
71
  FieldToMatchData = Shapes::StringShape.new(name: 'FieldToMatchData')
71
72
  FirewallManagerRuleGroup = Shapes::StructureShape.new(name: 'FirewallManagerRuleGroup')
72
73
  FirewallManagerRuleGroups = Shapes::ListShape.new(name: 'FirewallManagerRuleGroups')
73
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')
74
78
  GeoMatchStatement = Shapes::StructureShape.new(name: 'GeoMatchStatement')
75
79
  GetIPSetRequest = Shapes::StructureShape.new(name: 'GetIPSetRequest')
76
80
  GetIPSetResponse = Shapes::StructureShape.new(name: 'GetIPSetResponse')
@@ -101,6 +105,7 @@ module Aws::WAFV2
101
105
  IPAddressVersion = Shapes::StringShape.new(name: 'IPAddressVersion')
102
106
  IPAddresses = Shapes::ListShape.new(name: 'IPAddresses')
103
107
  IPSet = Shapes::StructureShape.new(name: 'IPSet')
108
+ IPSetForwardedIPConfig = Shapes::StructureShape.new(name: 'IPSetForwardedIPConfig')
104
109
  IPSetReferenceStatement = Shapes::StructureShape.new(name: 'IPSetReferenceStatement')
105
110
  IPSetSummaries = Shapes::ListShape.new(name: 'IPSetSummaries')
106
111
  IPSetSummary = Shapes::StructureShape.new(name: 'IPSetSummary')
@@ -405,7 +410,12 @@ module Aws::WAFV2
405
410
  FirewallManagerStatement.add_member(:rule_group_reference_statement, Shapes::ShapeRef.new(shape: RuleGroupReferenceStatement, location_name: "RuleGroupReferenceStatement"))
406
411
  FirewallManagerStatement.struct_class = Types::FirewallManagerStatement
407
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
+
408
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"))
409
419
  GeoMatchStatement.struct_class = Types::GeoMatchStatement
410
420
 
411
421
  GetIPSetRequest.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
@@ -508,7 +518,13 @@ module Aws::WAFV2
508
518
  IPSet.add_member(:addresses, Shapes::ShapeRef.new(shape: IPAddresses, required: true, location_name: "Addresses"))
509
519
  IPSet.struct_class = Types::IPSet
510
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
+
511
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"))
512
528
  IPSetReferenceStatement.struct_class = Types::IPSetReferenceStatement
513
529
 
514
530
  IPSetSummaries.member = Shapes::ShapeRef.new(shape: IPSetSummary)
@@ -595,6 +611,7 @@ module Aws::WAFV2
595
611
  LoggingConfiguration.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
596
612
  LoggingConfiguration.add_member(:log_destination_configs, Shapes::ShapeRef.new(shape: LogDestinationConfigs, required: true, location_name: "LogDestinationConfigs"))
597
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"))
598
615
  LoggingConfiguration.struct_class = Types::LoggingConfiguration
599
616
 
600
617
  LoggingConfigurations.member = Shapes::ShapeRef.new(shape: LoggingConfiguration)
@@ -642,6 +659,7 @@ module Aws::WAFV2
642
659
  RateBasedStatement.add_member(:limit, Shapes::ShapeRef.new(shape: RateLimit, required: true, location_name: "Limit"))
643
660
  RateBasedStatement.add_member(:aggregate_key_type, Shapes::ShapeRef.new(shape: RateBasedStatementAggregateKeyType, required: true, location_name: "AggregateKeyType"))
644
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"))
645
663
  RateBasedStatement.struct_class = Types::RateBasedStatement
646
664
 
647
665
  RateBasedStatementManagedKeysIPSet.add_member(:ip_address_version, Shapes::ShapeRef.new(shape: IPAddressVersion, location_name: "IPAddressVersion"))
@@ -1380,6 +1398,7 @@ module Aws::WAFV2
1380
1398
  o.errors << Shapes::ShapeRef.new(shape: WAFServiceLinkedRoleErrorException)
1381
1399
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1382
1400
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1401
+ o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
1383
1402
  end)
1384
1403
 
1385
1404
  api.add_operation(:put_permission_policy, Seahorse::Model::Operation.new.tap do |o|