aws-sdk-wafv2 1.33.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -352,6 +352,18 @@ module Aws::WAFV2
352
352
  # scope_down_statement: {
353
353
  # # recursive Statement
354
354
  # },
355
+ # managed_rule_group_configs: [
356
+ # {
357
+ # login_path: "LoginPathString",
358
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
359
+ # username_field: {
360
+ # identifier: "FieldIdentifier", # required
361
+ # },
362
+ # password_field: {
363
+ # identifier: "FieldIdentifier", # required
364
+ # },
365
+ # },
366
+ # ],
355
367
  # },
356
368
  # label_match_statement: {
357
369
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -1034,6 +1046,18 @@ module Aws::WAFV2
1034
1046
  # scope_down_statement: {
1035
1047
  # # recursive Statement
1036
1048
  # },
1049
+ # managed_rule_group_configs: [
1050
+ # {
1051
+ # login_path: "LoginPathString",
1052
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
1053
+ # username_field: {
1054
+ # identifier: "FieldIdentifier", # required
1055
+ # },
1056
+ # password_field: {
1057
+ # identifier: "FieldIdentifier", # required
1058
+ # },
1059
+ # },
1060
+ # ],
1037
1061
  # },
1038
1062
  # label_match_statement: {
1039
1063
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -1312,11 +1336,12 @@ module Aws::WAFV2
1312
1336
  # @return [String]
1313
1337
  #
1314
1338
  # @!attribute [rw] addresses
1315
- # Contains an array of strings that specify one or more IP addresses
1316
- # or blocks of IP addresses in Classless Inter-Domain Routing (CIDR)
1317
- # notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.
1339
+ # Contains an array of strings that specifies zero or more IP
1340
+ # addresses or blocks of IP addresses in Classless Inter-Domain
1341
+ # Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges
1342
+ # except for /0.
1318
1343
  #
1319
- # Examples:
1344
+ # Example address strings:
1320
1345
  #
1321
1346
  # * To configure WAF to allow, block, or count requests that
1322
1347
  # originated from the IP address 192.0.2.44, specify
@@ -1340,6 +1365,17 @@ module Aws::WAFV2
1340
1365
  # For more information about CIDR notation, see the Wikipedia entry
1341
1366
  # [Classless Inter-Domain Routing][1].
1342
1367
  #
1368
+ # Example JSON `Addresses` specifications:
1369
+ #
1370
+ # * Empty array: `"Addresses": []`
1371
+ #
1372
+ # * Array with one address: `"Addresses": ["192.0.2.44/32"]`
1373
+ #
1374
+ # * Array with three addresses: `"Addresses": ["192.0.2.44/32",
1375
+ # "192.0.2.0/24", "192.0.0.0/16"]`
1376
+ #
1377
+ # * INVALID specification: `"Addresses": [""]` INVALID
1378
+ #
1343
1379
  #
1344
1380
  #
1345
1381
  # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
@@ -1715,6 +1751,18 @@ module Aws::WAFV2
1715
1751
  # scope_down_statement: {
1716
1752
  # # recursive Statement
1717
1753
  # },
1754
+ # managed_rule_group_configs: [
1755
+ # {
1756
+ # login_path: "LoginPathString",
1757
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
1758
+ # username_field: {
1759
+ # identifier: "FieldIdentifier", # required
1760
+ # },
1761
+ # password_field: {
1762
+ # identifier: "FieldIdentifier", # required
1763
+ # },
1764
+ # },
1765
+ # ],
1718
1766
  # },
1719
1767
  # label_match_statement: {
1720
1768
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -2242,6 +2290,18 @@ module Aws::WAFV2
2242
2290
  # scope_down_statement: {
2243
2291
  # # recursive Statement
2244
2292
  # },
2293
+ # managed_rule_group_configs: [
2294
+ # {
2295
+ # login_path: "LoginPathString",
2296
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
2297
+ # username_field: {
2298
+ # identifier: "FieldIdentifier", # required
2299
+ # },
2300
+ # password_field: {
2301
+ # identifier: "FieldIdentifier", # required
2302
+ # },
2303
+ # },
2304
+ # ],
2245
2305
  # },
2246
2306
  # label_match_statement: {
2247
2307
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -3605,6 +3665,44 @@ module Aws::WAFV2
3605
3665
  include Aws::Structure
3606
3666
  end
3607
3667
 
3668
+ # @note When making an API call, you may pass GenerateMobileSdkReleaseUrlRequest
3669
+ # data as a hash:
3670
+ #
3671
+ # {
3672
+ # platform: "IOS", # required, accepts IOS, ANDROID
3673
+ # release_version: "VersionKeyString", # required
3674
+ # }
3675
+ #
3676
+ # @!attribute [rw] platform
3677
+ # The device platform.
3678
+ # @return [String]
3679
+ #
3680
+ # @!attribute [rw] release_version
3681
+ # The release version. For the latest available version, specify
3682
+ # `LATEST`.
3683
+ # @return [String]
3684
+ #
3685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GenerateMobileSdkReleaseUrlRequest AWS API Documentation
3686
+ #
3687
+ class GenerateMobileSdkReleaseUrlRequest < Struct.new(
3688
+ :platform,
3689
+ :release_version)
3690
+ SENSITIVE = []
3691
+ include Aws::Structure
3692
+ end
3693
+
3694
+ # @!attribute [rw] url
3695
+ # The presigned download URL for the specified SDK release.
3696
+ # @return [String]
3697
+ #
3698
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GenerateMobileSdkReleaseUrlResponse AWS API Documentation
3699
+ #
3700
+ class GenerateMobileSdkReleaseUrlResponse < Struct.new(
3701
+ :url)
3702
+ SENSITIVE = []
3703
+ include Aws::Structure
3704
+ end
3705
+
3608
3706
  # A rule statement used to identify web requests based on country of
3609
3707
  # origin.
3610
3708
  #
@@ -3820,6 +3918,45 @@ module Aws::WAFV2
3820
3918
  include Aws::Structure
3821
3919
  end
3822
3920
 
3921
+ # @note When making an API call, you may pass GetMobileSdkReleaseRequest
3922
+ # data as a hash:
3923
+ #
3924
+ # {
3925
+ # platform: "IOS", # required, accepts IOS, ANDROID
3926
+ # release_version: "VersionKeyString", # required
3927
+ # }
3928
+ #
3929
+ # @!attribute [rw] platform
3930
+ # The device platform.
3931
+ # @return [String]
3932
+ #
3933
+ # @!attribute [rw] release_version
3934
+ # The release version. For the latest available version, specify
3935
+ # `LATEST`.
3936
+ # @return [String]
3937
+ #
3938
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetMobileSdkReleaseRequest AWS API Documentation
3939
+ #
3940
+ class GetMobileSdkReleaseRequest < Struct.new(
3941
+ :platform,
3942
+ :release_version)
3943
+ SENSITIVE = []
3944
+ include Aws::Structure
3945
+ end
3946
+
3947
+ # @!attribute [rw] mobile_sdk_release
3948
+ # Information for a specified SDK release, including release notes and
3949
+ # tags.
3950
+ # @return [Types::MobileSdkRelease]
3951
+ #
3952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetMobileSdkReleaseResponse AWS API Documentation
3953
+ #
3954
+ class GetMobileSdkReleaseResponse < Struct.new(
3955
+ :mobile_sdk_release)
3956
+ SENSITIVE = []
3957
+ include Aws::Structure
3958
+ end
3959
+
3823
3960
  # @note When making an API call, you may pass GetPermissionPolicyRequest
3824
3961
  # data as a hash:
3825
3962
  #
@@ -4269,11 +4406,26 @@ module Aws::WAFV2
4269
4406
  # that operation.
4270
4407
  # @return [String]
4271
4408
  #
4409
+ # @!attribute [rw] application_integration_url
4410
+ # The URL to use in SDK integrations with Amazon Web Services managed
4411
+ # rule groups. For example, you can use the integration SDKs with the
4412
+ # account takeover prevention managed rule group
4413
+ # `AWSManagedRulesATPRuleSet`. This is only populated if you are using
4414
+ # a rule group in your web ACL that integrates with your applications
4415
+ # in this way. For more information, see [WAF client application
4416
+ # integration][1] in the *WAF Developer Guide*.
4417
+ #
4418
+ #
4419
+ #
4420
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html
4421
+ # @return [String]
4422
+ #
4272
4423
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACLResponse AWS API Documentation
4273
4424
  #
4274
4425
  class GetWebACLResponse < Struct.new(
4275
4426
  :web_acl,
4276
- :lock_token)
4427
+ :lock_token,
4428
+ :application_integration_url)
4277
4429
  SENSITIVE = []
4278
4430
  include Aws::Structure
4279
4431
  end
@@ -4358,7 +4510,7 @@ module Aws::WAFV2
4358
4510
  include Aws::Structure
4359
4511
  end
4360
4512
 
4361
- # Contains one or more IP addresses or blocks of IP addresses specified
4513
+ # Contains zero or more IP addresses or blocks of IP addresses specified
4362
4514
  # in Classless Inter-Domain Routing (CIDR) notation. WAF supports all
4363
4515
  # IPv4 and IPv6 CIDR ranges except for /0. For information about CIDR
4364
4516
  # notation, see the Wikipedia entry [Classless Inter-Domain Routing][1].
@@ -4395,11 +4547,12 @@ module Aws::WAFV2
4395
4547
  # @return [String]
4396
4548
  #
4397
4549
  # @!attribute [rw] addresses
4398
- # Contains an array of strings that specify one or more IP addresses
4399
- # or blocks of IP addresses in Classless Inter-Domain Routing (CIDR)
4400
- # notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.
4550
+ # Contains an array of strings that specifies zero or more IP
4551
+ # addresses or blocks of IP addresses in Classless Inter-Domain
4552
+ # Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges
4553
+ # except for /0.
4401
4554
  #
4402
- # Examples:
4555
+ # Example address strings:
4403
4556
  #
4404
4557
  # * To configure WAF to allow, block, or count requests that
4405
4558
  # originated from the IP address 192.0.2.44, specify
@@ -4423,6 +4576,17 @@ module Aws::WAFV2
4423
4576
  # For more information about CIDR notation, see the Wikipedia entry
4424
4577
  # [Classless Inter-Domain Routing][1].
4425
4578
  #
4579
+ # Example JSON `Addresses` specifications:
4580
+ #
4581
+ # * Empty array: `"Addresses": []`
4582
+ #
4583
+ # * Array with one address: `"Addresses": ["192.0.2.44/32"]`
4584
+ #
4585
+ # * Array with three addresses: `"Addresses": ["192.0.2.44/32",
4586
+ # "192.0.2.0/24", "192.0.0.0/16"]`
4587
+ #
4588
+ # * INVALID specification: `"Addresses": [""]` INVALID
4589
+ #
4426
4590
  #
4427
4591
  #
4428
4592
  # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
@@ -5257,6 +5421,65 @@ module Aws::WAFV2
5257
5421
  include Aws::Structure
5258
5422
  end
5259
5423
 
5424
+ # @note When making an API call, you may pass ListMobileSdkReleasesRequest
5425
+ # data as a hash:
5426
+ #
5427
+ # {
5428
+ # platform: "IOS", # required, accepts IOS, ANDROID
5429
+ # next_marker: "NextMarker",
5430
+ # limit: 1,
5431
+ # }
5432
+ #
5433
+ # @!attribute [rw] platform
5434
+ # The device platform to retrieve the list for.
5435
+ # @return [String]
5436
+ #
5437
+ # @!attribute [rw] next_marker
5438
+ # When you request a list of objects with a `Limit` setting, if the
5439
+ # number of objects that are still available for retrieval exceeds the
5440
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
5441
+ # the next batch of objects, provide the marker from the prior call in
5442
+ # your next request.
5443
+ # @return [String]
5444
+ #
5445
+ # @!attribute [rw] limit
5446
+ # The maximum number of objects that you want WAF to return for this
5447
+ # request. If more objects are available, in the response, WAF
5448
+ # provides a `NextMarker` value that you can use in a subsequent call
5449
+ # to get the next batch of objects.
5450
+ # @return [Integer]
5451
+ #
5452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListMobileSdkReleasesRequest AWS API Documentation
5453
+ #
5454
+ class ListMobileSdkReleasesRequest < Struct.new(
5455
+ :platform,
5456
+ :next_marker,
5457
+ :limit)
5458
+ SENSITIVE = []
5459
+ include Aws::Structure
5460
+ end
5461
+
5462
+ # @!attribute [rw] release_summaries
5463
+ # High level information for the available SDK releases.
5464
+ # @return [Array<Types::ReleaseSummary>]
5465
+ #
5466
+ # @!attribute [rw] next_marker
5467
+ # When you request a list of objects with a `Limit` setting, if the
5468
+ # number of objects that are still available for retrieval exceeds the
5469
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
5470
+ # the next batch of objects, provide the marker from the prior call in
5471
+ # your next request.
5472
+ # @return [String]
5473
+ #
5474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListMobileSdkReleasesResponse AWS API Documentation
5475
+ #
5476
+ class ListMobileSdkReleasesResponse < Struct.new(
5477
+ :release_summaries,
5478
+ :next_marker)
5479
+ SENSITIVE = []
5480
+ include Aws::Structure
5481
+ end
5482
+
5260
5483
  # @note When making an API call, you may pass ListRegexPatternSetsRequest
5261
5484
  # data as a hash:
5262
5485
  #
@@ -5569,8 +5792,32 @@ module Aws::WAFV2
5569
5792
  # and you can specify filters so that you log only a subset of the
5570
5793
  # logging records.
5571
5794
  #
5572
- # For information about configuring web ACL logging destinations, see
5573
- # [Logging web ACL traffic information][1] in the *WAF Developer Guide*.
5795
+ # <note markdown="1"> You can define one logging destination per web ACL.
5796
+ #
5797
+ # </note>
5798
+ #
5799
+ # You can access information about the traffic that WAF inspects using
5800
+ # the following steps:
5801
+ #
5802
+ # 1. Create your logging destination. You can use an Amazon CloudWatch
5803
+ # Logs log group, an Amazon Simple Storage Service (Amazon S3)
5804
+ # bucket, or an Amazon Kinesis Data Firehose. For information about
5805
+ # configuring logging destinations and the permissions that are
5806
+ # required for each, see [Logging web ACL traffic information][1] in
5807
+ # the *WAF Developer Guide*.
5808
+ #
5809
+ # 2. Associate your logging destination to your web ACL using a
5810
+ # `PutLoggingConfiguration` request.
5811
+ #
5812
+ # When you successfully enable logging using a `PutLoggingConfiguration`
5813
+ # request, WAF creates an additional role or policy that is required to
5814
+ # write logs to the logging destination. For an Amazon CloudWatch Logs
5815
+ # log group, WAF creates a resource policy on the log group. For an
5816
+ # Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis
5817
+ # Data Firehose, WAF creates a service-linked role.
5818
+ #
5819
+ # For additional information about web ACL logging, see [Logging web ACL
5820
+ # traffic information][1] in the *WAF Developer Guide*.
5574
5821
  #
5575
5822
  #
5576
5823
  #
@@ -5639,8 +5886,12 @@ module Aws::WAFV2
5639
5886
  # @return [String]
5640
5887
  #
5641
5888
  # @!attribute [rw] log_destination_configs
5642
- # The Amazon Resource Names (ARNs) of the logging destinations that
5643
- # you want to associate with the web ACL.
5889
+ # The logging destination configuration that you want to associate
5890
+ # with the web ACL.
5891
+ #
5892
+ # <note markdown="1"> You can associate one logging destination to a web ACL.
5893
+ #
5894
+ # </note>
5644
5895
  # @return [Array<String>]
5645
5896
  #
5646
5897
  # @!attribute [rw] redacted_fields
@@ -5726,6 +5977,57 @@ module Aws::WAFV2
5726
5977
  include Aws::Structure
5727
5978
  end
5728
5979
 
5980
+ # Additional information that's used by a managed rule group. Most
5981
+ # managed rule groups don't require this.
5982
+ #
5983
+ # Use this for the account takeover prevention managed rule group
5984
+ # `AWSManagedRulesATPRuleSet`, to provide information about the sign-in
5985
+ # page of your application.
5986
+ #
5987
+ # @note When making an API call, you may pass ManagedRuleGroupConfig
5988
+ # data as a hash:
5989
+ #
5990
+ # {
5991
+ # login_path: "LoginPathString",
5992
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
5993
+ # username_field: {
5994
+ # identifier: "FieldIdentifier", # required
5995
+ # },
5996
+ # password_field: {
5997
+ # identifier: "FieldIdentifier", # required
5998
+ # },
5999
+ # }
6000
+ #
6001
+ # @!attribute [rw] login_path
6002
+ # The path of the login endpoint for your application. For example,
6003
+ # for the URL `https://example.com/web/login`, you would provide the
6004
+ # path `/web/login`.
6005
+ # @return [String]
6006
+ #
6007
+ # @!attribute [rw] payload_type
6008
+ # The payload type for your login endpoint, either JSON or form
6009
+ # encoded.
6010
+ # @return [String]
6011
+ #
6012
+ # @!attribute [rw] username_field
6013
+ # Details about your login page username field.
6014
+ # @return [Types::UsernameField]
6015
+ #
6016
+ # @!attribute [rw] password_field
6017
+ # Details about your login page password field.
6018
+ # @return [Types::PasswordField]
6019
+ #
6020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleGroupConfig AWS API Documentation
6021
+ #
6022
+ class ManagedRuleGroupConfig < Struct.new(
6023
+ :login_path,
6024
+ :payload_type,
6025
+ :username_field,
6026
+ :password_field)
6027
+ SENSITIVE = []
6028
+ include Aws::Structure
6029
+ end
6030
+
5729
6031
  # A rule statement used to run the rules that are defined in a managed
5730
6032
  # rule group. To use this, provide the vendor name and the name of the
5731
6033
  # rule group in this statement. You can retrieve the required names by
@@ -5993,6 +6295,18 @@ module Aws::WAFV2
5993
6295
  # scope_down_statement: {
5994
6296
  # # recursive Statement
5995
6297
  # },
6298
+ # managed_rule_group_configs: [
6299
+ # {
6300
+ # login_path: "LoginPathString",
6301
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
6302
+ # username_field: {
6303
+ # identifier: "FieldIdentifier", # required
6304
+ # },
6305
+ # password_field: {
6306
+ # identifier: "FieldIdentifier", # required
6307
+ # },
6308
+ # },
6309
+ # ],
5996
6310
  # },
5997
6311
  # label_match_statement: {
5998
6312
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -6035,6 +6349,18 @@ module Aws::WAFV2
6035
6349
  # ],
6036
6350
  # },
6037
6351
  # },
6352
+ # managed_rule_group_configs: [
6353
+ # {
6354
+ # login_path: "LoginPathString",
6355
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
6356
+ # username_field: {
6357
+ # identifier: "FieldIdentifier", # required
6358
+ # },
6359
+ # password_field: {
6360
+ # identifier: "FieldIdentifier", # required
6361
+ # },
6362
+ # },
6363
+ # ],
6038
6364
  # }
6039
6365
  #
6040
6366
  # @!attribute [rw] vendor_name
@@ -6072,6 +6398,15 @@ module Aws::WAFV2
6072
6398
  # can for a rule statement.
6073
6399
  # @return [Types::Statement]
6074
6400
  #
6401
+ # @!attribute [rw] managed_rule_group_configs
6402
+ # Additional information that's used by a managed rule group. Most
6403
+ # managed rule groups don't require this.
6404
+ #
6405
+ # Use this for the account takeover prevention managed rule group
6406
+ # `AWSManagedRulesATPRuleSet`, to provide information about the
6407
+ # sign-in page of your application.
6408
+ # @return [Array<Types::ManagedRuleGroupConfig>]
6409
+ #
6075
6410
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleGroupStatement AWS API Documentation
6076
6411
  #
6077
6412
  class ManagedRuleGroupStatement < Struct.new(
@@ -6079,7 +6414,8 @@ module Aws::WAFV2
6079
6414
  :name,
6080
6415
  :version,
6081
6416
  :excluded_rules,
6082
- :scope_down_statement)
6417
+ :scope_down_statement,
6418
+ :managed_rule_group_configs)
6083
6419
  SENSITIVE = []
6084
6420
  include Aws::Structure
6085
6421
  end
@@ -6382,6 +6718,46 @@ module Aws::WAFV2
6382
6718
  #
6383
6719
  class Method < Aws::EmptyStructure; end
6384
6720
 
6721
+ # Information for a release of the mobile SDK, including release notes
6722
+ # and tags.
6723
+ #
6724
+ # The mobile SDK is not generally available. Customers who have access
6725
+ # to the mobile SDK can use it to establish and manage Security Token
6726
+ # Service (STS) security tokens for use in HTTP(S) requests from a
6727
+ # mobile device to WAF. For more information, see [WAF client
6728
+ # application integration][1] in the *WAF Developer Guide*.
6729
+ #
6730
+ #
6731
+ #
6732
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html
6733
+ #
6734
+ # @!attribute [rw] release_version
6735
+ # The release version.
6736
+ # @return [String]
6737
+ #
6738
+ # @!attribute [rw] timestamp
6739
+ # The timestamp of the release.
6740
+ # @return [Time]
6741
+ #
6742
+ # @!attribute [rw] release_notes
6743
+ # Notes describing the release.
6744
+ # @return [String]
6745
+ #
6746
+ # @!attribute [rw] tags
6747
+ # Tags that are associated with the release.
6748
+ # @return [Array<Types::Tag>]
6749
+ #
6750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/MobileSdkRelease AWS API Documentation
6751
+ #
6752
+ class MobileSdkRelease < Struct.new(
6753
+ :release_version,
6754
+ :timestamp,
6755
+ :release_notes,
6756
+ :tags)
6757
+ SENSITIVE = []
6758
+ include Aws::Structure
6759
+ end
6760
+
6385
6761
  # Specifies that WAF should do nothing. This is used for the
6386
6762
  # `OverrideAction` setting on a Rule when the rule uses a rule group
6387
6763
  # reference statement.
@@ -6650,6 +7026,18 @@ module Aws::WAFV2
6650
7026
  # scope_down_statement: {
6651
7027
  # # recursive Statement
6652
7028
  # },
7029
+ # managed_rule_group_configs: [
7030
+ # {
7031
+ # login_path: "LoginPathString",
7032
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
7033
+ # username_field: {
7034
+ # identifier: "FieldIdentifier", # required
7035
+ # },
7036
+ # password_field: {
7037
+ # identifier: "FieldIdentifier", # required
7038
+ # },
7039
+ # },
7040
+ # ],
6653
7041
  # },
6654
7042
  # label_match_statement: {
6655
7043
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -6957,6 +7345,18 @@ module Aws::WAFV2
6957
7345
  # scope_down_statement: {
6958
7346
  # # recursive Statement
6959
7347
  # },
7348
+ # managed_rule_group_configs: [
7349
+ # {
7350
+ # login_path: "LoginPathString",
7351
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
7352
+ # username_field: {
7353
+ # identifier: "FieldIdentifier", # required
7354
+ # },
7355
+ # password_field: {
7356
+ # identifier: "FieldIdentifier", # required
7357
+ # },
7358
+ # },
7359
+ # ],
6960
7360
  # },
6961
7361
  # label_match_statement: {
6962
7362
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -7073,6 +7473,28 @@ module Aws::WAFV2
7073
7473
  include Aws::Structure
7074
7474
  end
7075
7475
 
7476
+ # Details about your login page password field, used in a
7477
+ # `ManagedRuleGroupConfig`.
7478
+ #
7479
+ # @note When making an API call, you may pass PasswordField
7480
+ # data as a hash:
7481
+ #
7482
+ # {
7483
+ # identifier: "FieldIdentifier", # required
7484
+ # }
7485
+ #
7486
+ # @!attribute [rw] identifier
7487
+ # The name of the password field. For example `/form/password`.
7488
+ # @return [String]
7489
+ #
7490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PasswordField AWS API Documentation
7491
+ #
7492
+ class PasswordField < Struct.new(
7493
+ :identifier)
7494
+ SENSITIVE = []
7495
+ include Aws::Structure
7496
+ end
7497
+
7076
7498
  # @note When making an API call, you may pass PutLoggingConfigurationRequest
7077
7499
  # data as a hash:
7078
7500
  #
@@ -7615,6 +8037,18 @@ module Aws::WAFV2
7615
8037
  # scope_down_statement: {
7616
8038
  # # recursive Statement
7617
8039
  # },
8040
+ # managed_rule_group_configs: [
8041
+ # {
8042
+ # login_path: "LoginPathString",
8043
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
8044
+ # username_field: {
8045
+ # identifier: "FieldIdentifier", # required
8046
+ # },
8047
+ # password_field: {
8048
+ # identifier: "FieldIdentifier", # required
8049
+ # },
8050
+ # },
8051
+ # ],
7618
8052
  # },
7619
8053
  # label_match_statement: {
7620
8054
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -7998,6 +8432,25 @@ module Aws::WAFV2
7998
8432
  include Aws::Structure
7999
8433
  end
8000
8434
 
8435
+ # High level information for an SDK release.
8436
+ #
8437
+ # @!attribute [rw] release_version
8438
+ # The release version.
8439
+ # @return [String]
8440
+ #
8441
+ # @!attribute [rw] timestamp
8442
+ # The timestamp of the release.
8443
+ # @return [Time]
8444
+ #
8445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ReleaseSummary AWS API Documentation
8446
+ #
8447
+ class ReleaseSummary < Struct.new(
8448
+ :release_version,
8449
+ :timestamp)
8450
+ SENSITIVE = []
8451
+ include Aws::Structure
8452
+ end
8453
+
8001
8454
  # A single rule, which you can use in a WebACL or RuleGroup to identify
8002
8455
  # web requests that you want to allow, block, or count. Each rule
8003
8456
  # includes one top-level Statement that WAF uses to identify matching
@@ -8255,6 +8708,18 @@ module Aws::WAFV2
8255
8708
  # scope_down_statement: {
8256
8709
  # # recursive Statement
8257
8710
  # },
8711
+ # managed_rule_group_configs: [
8712
+ # {
8713
+ # login_path: "LoginPathString",
8714
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
8715
+ # username_field: {
8716
+ # identifier: "FieldIdentifier", # required
8717
+ # },
8718
+ # password_field: {
8719
+ # identifier: "FieldIdentifier", # required
8720
+ # },
8721
+ # },
8722
+ # ],
8258
8723
  # },
8259
8724
  # label_match_statement: {
8260
8725
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -9535,6 +10000,18 @@ module Aws::WAFV2
9535
10000
  # scope_down_statement: {
9536
10001
  # # recursive Statement
9537
10002
  # },
10003
+ # managed_rule_group_configs: [
10004
+ # {
10005
+ # login_path: "LoginPathString",
10006
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
10007
+ # username_field: {
10008
+ # identifier: "FieldIdentifier", # required
10009
+ # },
10010
+ # password_field: {
10011
+ # identifier: "FieldIdentifier", # required
10012
+ # },
10013
+ # },
10014
+ # ],
9538
10015
  # },
9539
10016
  # label_match_statement: {
9540
10017
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -9824,6 +10301,18 @@ module Aws::WAFV2
9824
10301
  # scope_down_statement: {
9825
10302
  # # recursive Statement
9826
10303
  # },
10304
+ # managed_rule_group_configs: [
10305
+ # {
10306
+ # login_path: "LoginPathString",
10307
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
10308
+ # username_field: {
10309
+ # identifier: "FieldIdentifier", # required
10310
+ # },
10311
+ # password_field: {
10312
+ # identifier: "FieldIdentifier", # required
10313
+ # },
10314
+ # },
10315
+ # ],
9827
10316
  # },
9828
10317
  # label_match_statement: {
9829
10318
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -10110,6 +10599,18 @@ module Aws::WAFV2
10110
10599
  # scope_down_statement: {
10111
10600
  # # recursive Statement
10112
10601
  # },
10602
+ # managed_rule_group_configs: [
10603
+ # {
10604
+ # login_path: "LoginPathString",
10605
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
10606
+ # username_field: {
10607
+ # identifier: "FieldIdentifier", # required
10608
+ # },
10609
+ # password_field: {
10610
+ # identifier: "FieldIdentifier", # required
10611
+ # },
10612
+ # },
10613
+ # ],
10113
10614
  # },
10114
10615
  # label_match_statement: {
10115
10616
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -10399,6 +10900,18 @@ module Aws::WAFV2
10399
10900
  # scope_down_statement: {
10400
10901
  # # recursive Statement
10401
10902
  # },
10903
+ # managed_rule_group_configs: [
10904
+ # {
10905
+ # login_path: "LoginPathString",
10906
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
10907
+ # username_field: {
10908
+ # identifier: "FieldIdentifier", # required
10909
+ # },
10910
+ # password_field: {
10911
+ # identifier: "FieldIdentifier", # required
10912
+ # },
10913
+ # },
10914
+ # ],
10402
10915
  # },
10403
10916
  # label_match_statement: {
10404
10917
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -10729,6 +11242,18 @@ module Aws::WAFV2
10729
11242
  # ],
10730
11243
  # },
10731
11244
  # },
11245
+ # managed_rule_group_configs: [
11246
+ # {
11247
+ # login_path: "LoginPathString",
11248
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
11249
+ # username_field: {
11250
+ # identifier: "FieldIdentifier", # required
11251
+ # },
11252
+ # password_field: {
11253
+ # identifier: "FieldIdentifier", # required
11254
+ # },
11255
+ # },
11256
+ # ],
10732
11257
  # },
10733
11258
  # label_match_statement: {
10734
11259
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -11363,11 +11888,12 @@ module Aws::WAFV2
11363
11888
  # @return [String]
11364
11889
  #
11365
11890
  # @!attribute [rw] addresses
11366
- # Contains an array of strings that specify one or more IP addresses
11367
- # or blocks of IP addresses in Classless Inter-Domain Routing (CIDR)
11368
- # notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.
11891
+ # Contains an array of strings that specifies zero or more IP
11892
+ # addresses or blocks of IP addresses in Classless Inter-Domain
11893
+ # Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges
11894
+ # except for /0.
11369
11895
  #
11370
- # Examples:
11896
+ # Example address strings:
11371
11897
  #
11372
11898
  # * To configure WAF to allow, block, or count requests that
11373
11899
  # originated from the IP address 192.0.2.44, specify
@@ -11391,6 +11917,17 @@ module Aws::WAFV2
11391
11917
  # For more information about CIDR notation, see the Wikipedia entry
11392
11918
  # [Classless Inter-Domain Routing][1].
11393
11919
  #
11920
+ # Example JSON `Addresses` specifications:
11921
+ #
11922
+ # * Empty array: `"Addresses": []`
11923
+ #
11924
+ # * Array with one address: `"Addresses": ["192.0.2.44/32"]`
11925
+ #
11926
+ # * Array with three addresses: `"Addresses": ["192.0.2.44/32",
11927
+ # "192.0.2.0/24", "192.0.0.0/16"]`
11928
+ #
11929
+ # * INVALID specification: `"Addresses": [""]` INVALID
11930
+ #
11394
11931
  #
11395
11932
  #
11396
11933
  # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
@@ -11894,6 +12431,18 @@ module Aws::WAFV2
11894
12431
  # scope_down_statement: {
11895
12432
  # # recursive Statement
11896
12433
  # },
12434
+ # managed_rule_group_configs: [
12435
+ # {
12436
+ # login_path: "LoginPathString",
12437
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
12438
+ # username_field: {
12439
+ # identifier: "FieldIdentifier", # required
12440
+ # },
12441
+ # password_field: {
12442
+ # identifier: "FieldIdentifier", # required
12443
+ # },
12444
+ # },
12445
+ # ],
11897
12446
  # },
11898
12447
  # label_match_statement: {
11899
12448
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -12411,6 +12960,18 @@ module Aws::WAFV2
12411
12960
  # scope_down_statement: {
12412
12961
  # # recursive Statement
12413
12962
  # },
12963
+ # managed_rule_group_configs: [
12964
+ # {
12965
+ # login_path: "LoginPathString",
12966
+ # payload_type: "JSON", # accepts JSON, FORM_ENCODED
12967
+ # username_field: {
12968
+ # identifier: "FieldIdentifier", # required
12969
+ # },
12970
+ # password_field: {
12971
+ # identifier: "FieldIdentifier", # required
12972
+ # },
12973
+ # },
12974
+ # ],
12414
12975
  # },
12415
12976
  # label_match_statement: {
12416
12977
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
@@ -12679,6 +13240,28 @@ module Aws::WAFV2
12679
13240
  #
12680
13241
  class UriPath < Aws::EmptyStructure; end
12681
13242
 
13243
+ # Details about your login page username field, used in a
13244
+ # `ManagedRuleGroupConfig`.
13245
+ #
13246
+ # @note When making an API call, you may pass UsernameField
13247
+ # data as a hash:
13248
+ #
13249
+ # {
13250
+ # identifier: "FieldIdentifier", # required
13251
+ # }
13252
+ #
13253
+ # @!attribute [rw] identifier
13254
+ # The name of the username field. For example `/form/username`.
13255
+ # @return [String]
13256
+ #
13257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UsernameField AWS API Documentation
13258
+ #
13259
+ class UsernameField < Struct.new(
13260
+ :identifier)
13261
+ SENSITIVE = []
13262
+ include Aws::Structure
13263
+ end
13264
+
12682
13265
  # A version of the named managed rule group, that the rule group's
12683
13266
  # vendor publishes for use by customers.
12684
13267
  #