aws-sdk-wafv2 1.33.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  #