aws-sdk-shield 1.48.0 → 1.50.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: de863a23f6f01d52119af415d7e0ee2a85fdad3b23fc70754e11eecfc5c1abcb
4
- data.tar.gz: bbc5c95481c7e9f6cc7d3fdbb6d0f796dccaffd8376bd6fbf6c8b8b1399d3f3e
3
+ metadata.gz: 687b15b2d2ef4603a47582bfc888f4e750aac8aa0df3d52949f50bb6b9b9f008
4
+ data.tar.gz: c149164ab4bc44c319c65feeac3e8b80dfe3c3f5855c187ddd626f8e1ae80766
5
5
  SHA512:
6
- metadata.gz: acfb2a9d7f7a73b6cf0c61bb1660978ab64b564b237f1fd775fdc5388e6bce173d157ab8d451c697b9fe15f7aa3e6b5b5eb8a6e639765170b664699234e83a0d
7
- data.tar.gz: ee2464b28e34feead2b114d8f130b52ca43dcad6b19fb5c7f11c9de0f5feeb789358647e36bc9bf451626a5cbf5957dd92ecc28381ee6b2de900eae1c4bb0734
6
+ metadata.gz: 86db80667efe5d4597d014f1d682dafb798fd3e65ffeeeffb02af29a89e3663ea1ab010b0d6646fecfbdbb1a07e36d02ef408237cb73d07bfab66692458cbe6f
7
+ data.tar.gz: 6ac2525d465a1d95d29873b828e5ac729a0ab1aa43d6896f645c1733387801e7a3c89d10b45fc74e07f673677da604c7e196bbac9d19628833f3f8f99b86ba83
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.50.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.49.0 (2022-07-29)
10
+ ------------------
11
+
12
+ * Feature - AWS Shield Advanced now supports filtering for ListProtections and ListProtectionGroups.
13
+
4
14
  1.48.0 (2022-02-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.48.0
1
+ 1.50.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:shield)
@@ -79,8 +79,9 @@ module Aws::Shield
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::Shield::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::Shield
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::Shield
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::Shield::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Shield::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -372,8 +389,8 @@ module Aws::Shield
372
389
  #
373
390
  #
374
391
  #
375
- # [1]: https://docs.aws.amazon.com/premiumsupport/business-support/
376
- # [2]: https://docs.aws.amazon.com/premiumsupport/enterprise-support/
392
+ # [1]: http://aws.amazon.com/premiumsupport/business-support/
393
+ # [2]: http://aws.amazon.com/premiumsupport/enterprise-support/
377
394
  #
378
395
  # @option params [required, String] :log_bucket
379
396
  # The Amazon S3 bucket that contains the logs that you want to share.
@@ -433,8 +450,8 @@ module Aws::Shield
433
450
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html
434
451
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html
435
452
  # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html
436
- # [5]: https://docs.aws.amazon.com/premiumsupport/business-support/
437
- # [6]: https://docs.aws.amazon.com/premiumsupport/enterprise-support/
453
+ # [5]: http://aws.amazon.com/premiumsupport/business-support/
454
+ # [6]: http://aws.amazon.com/premiumsupport/enterprise-support/
438
455
  #
439
456
  # @option params [required, String] :role_arn
440
457
  # The Amazon Resource Name (ARN) of the role the SRT will use to access
@@ -563,9 +580,11 @@ module Aws::Shield
563
580
  end
564
581
 
565
582
  # Enables Shield Advanced for a specific Amazon Web Services resource.
566
- # The resource can be an Amazon CloudFront distribution, Elastic Load
567
- # Balancing load balancer, Global Accelerator accelerator, Elastic IP
568
- # Address, or an Amazon Route 53 hosted zone.
583
+ # The resource can be an Amazon CloudFront distribution, Amazon Route 53
584
+ # hosted zone, Global Accelerator standard accelerator, Elastic IP
585
+ # Address, Application Load Balancer, or a Classic Load Balancer. You
586
+ # can protect Amazon EC2 instances and Network Load Balancers by
587
+ # association with protected Amazon EC2 Elastic IP addresses.
569
588
  #
570
589
  # You can add protection to only a single resource with each
571
590
  # `CreateProtection` request. You can add protection to multiple
@@ -599,7 +618,7 @@ module Aws::Shield
599
618
  # * For an Amazon CloudFront distribution:
600
619
  # `arn:aws:cloudfront::account-id:distribution/distribution-id `
601
620
  #
602
- # * For an Global Accelerator accelerator:
621
+ # * For an Global Accelerator standard accelerator:
603
622
  # `arn:aws:globalaccelerator::account-id:accelerator/accelerator-id `
604
623
  #
605
624
  # * For Amazon Route 53: `arn:aws:route53:::hostedzone/hosted-zone-id `
@@ -717,7 +736,13 @@ module Aws::Shield
717
736
 
718
737
  # Activates Shield Advanced for an account.
719
738
  #
720
- # When you initally create a subscription, your subscription is set to
739
+ # <note markdown="1"> For accounts that are members of an Organizations organization, Shield
740
+ # Advanced subscriptions are billed against the organization's payer
741
+ # account, regardless of whether the payer account itself is subscribed.
742
+ #
743
+ # </note>
744
+ #
745
+ # When you initially create a subscription, your subscription is set to
721
746
  # be automatically renewed at the end of the existing subscription
722
747
  # period. You can change this by submitting an `UpdateSubscription`
723
748
  # request.
@@ -952,15 +977,14 @@ module Aws::Shield
952
977
  # Lists the details of a Protection object.
953
978
  #
954
979
  # @option params [String] :protection_id
955
- # The unique identifier (ID) for the Protection object that is
956
- # described. When submitting the `DescribeProtection` request you must
957
- # provide either the `ResourceArn` or the `ProtectionID`, but not both.
980
+ # The unique identifier (ID) for the Protection object to describe. You
981
+ # must provide either the `ResourceArn` of the protected resource or the
982
+ # `ProtectionID` of the protection, but not both.
958
983
  #
959
984
  # @option params [String] :resource_arn
960
- # The ARN (Amazon Resource Name) of the Amazon Web Services resource for
961
- # the Protection object that is described. When submitting the
962
- # `DescribeProtection` request you must provide either the `ResourceArn`
963
- # or the `ProtectionID`, but not both.
985
+ # The ARN (Amazon Resource Name) of the protected Amazon Web Services
986
+ # resource. You must provide either the `ResourceArn` of the protected
987
+ # resource or the `ProtectionID` of the protection, but not both.
964
988
  #
965
989
  # @return [Types::DescribeProtectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
966
990
  #
@@ -1062,12 +1086,12 @@ module Aws::Shield
1062
1086
  end
1063
1087
 
1064
1088
  # Disable the Shield Advanced automatic application layer DDoS
1065
- # mitigation feature for the resource. This stops Shield Advanced from
1066
- # creating, verifying, and applying WAF rules for attacks that it
1067
- # detects for the resource.
1089
+ # mitigation feature for the protected resource. This stops Shield
1090
+ # Advanced from creating, verifying, and applying WAF rules for attacks
1091
+ # that it detects for the resource.
1068
1092
  #
1069
1093
  # @option params [required, String] :resource_arn
1070
- # The ARN (Amazon Resource Name) of the resource.
1094
+ # The ARN (Amazon Resource Name) of the protected resource.
1071
1095
  #
1072
1096
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1073
1097
  #
@@ -1179,9 +1203,10 @@ module Aws::Shield
1179
1203
  end
1180
1204
 
1181
1205
  # Enable the Shield Advanced automatic application layer DDoS mitigation
1182
- # for the resource.
1206
+ # for the protected resource.
1183
1207
  #
1184
- # <note markdown="1"> This feature is available for Amazon CloudFront distributions only.
1208
+ # <note markdown="1"> This feature is available for Amazon CloudFront distributions and
1209
+ # Application Load Balancers only.
1185
1210
  #
1186
1211
  # </note>
1187
1212
  #
@@ -1192,19 +1217,21 @@ module Aws::Shield
1192
1217
  # mitigation works and the requirements for using it, see [Shield
1193
1218
  # Advanced automatic application layer DDoS mitigation][1].
1194
1219
  #
1195
- # Don't use this action to make changes to automatic mitigation
1220
+ # <note markdown="1"> Don't use this action to make changes to automatic mitigation
1196
1221
  # settings when it's already enabled for a resource. Instead, use
1197
1222
  # UpdateApplicationLayerAutomaticResponse.
1198
1223
  #
1224
+ # </note>
1225
+ #
1199
1226
  # To use this feature, you must associate a web ACL with the protected
1200
1227
  # resource. The web ACL must be created using the latest version of WAF
1201
1228
  # (v2). You can associate the web ACL through the Shield Advanced
1202
1229
  # console at [https://console.aws.amazon.com/wafv2/shieldv2#/][2]. For
1203
- # more information, see [Getting Started with Shield Advanced][3].
1204
- #
1205
- # You can also do this through the WAF console or the WAF API, but you
1206
- # must manage Shield Advanced automatic mitigation through Shield
1207
- # Advanced. For information about WAF, see [WAF Developer Guide][4].
1230
+ # more information, see [Getting Started with Shield Advanced][3]. You
1231
+ # can also associate the web ACL to the resource through the WAF console
1232
+ # or the WAF API, but you must manage Shield Advanced automatic
1233
+ # mitigation through Shield Advanced. For information about WAF, see
1234
+ # [WAF Developer Guide][4].
1208
1235
  #
1209
1236
  #
1210
1237
  #
@@ -1214,7 +1241,7 @@ module Aws::Shield
1214
1241
  # [4]: https://docs.aws.amazon.com/waf/latest/developerguide/
1215
1242
  #
1216
1243
  # @option params [required, String] :resource_arn
1217
- # The ARN (Amazon Resource Name) of the resource.
1244
+ # The ARN (Amazon Resource Name) of the protected resource.
1218
1245
  #
1219
1246
  # @option params [required, Types::ResponseAction] :action
1220
1247
  # Specifies the action setting that Shield Advanced should use in the
@@ -1380,7 +1407,9 @@ module Aws::Shield
1380
1407
  req.send_request(options)
1381
1408
  end
1382
1409
 
1383
- # Retrieves the ProtectionGroup objects for the account.
1410
+ # Retrieves ProtectionGroup objects for the account. You can retrieve
1411
+ # all protection groups or you can provide filtering criteria and
1412
+ # retrieve just the subset of protection groups that match the criteria.
1384
1413
  #
1385
1414
  # @option params [String] :next_token
1386
1415
  # When you request a list of objects from Shield Advanced, if the
@@ -1409,6 +1438,14 @@ module Aws::Shield
1409
1438
  #
1410
1439
  # The default setting is 20.
1411
1440
  #
1441
+ # @option params [Types::InclusionProtectionGroupFilters] :inclusion_filters
1442
+ # Narrows the set of protection groups that the call retrieves. You can
1443
+ # retrieve a single protection group by its name and you can retrieve
1444
+ # all protection groups that are configured with specific pattern or
1445
+ # aggregation settings. You can provide up to one criteria per filter
1446
+ # type. Shield Advanced returns the protection groups that exactly match
1447
+ # all of the search criteria that you provide.
1448
+ #
1412
1449
  # @return [Types::ListProtectionGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1413
1450
  #
1414
1451
  # * {Types::ListProtectionGroupsResponse#protection_groups #protection_groups} => Array&lt;Types::ProtectionGroup&gt;
@@ -1421,6 +1458,12 @@ module Aws::Shield
1421
1458
  # resp = client.list_protection_groups({
1422
1459
  # next_token: "Token",
1423
1460
  # max_results: 1,
1461
+ # inclusion_filters: {
1462
+ # protection_group_ids: ["ProtectionGroupId"],
1463
+ # patterns: ["ALL"], # accepts ALL, ARBITRARY, BY_RESOURCE_TYPE
1464
+ # resource_types: ["CLOUDFRONT_DISTRIBUTION"], # accepts CLOUDFRONT_DISTRIBUTION, ROUTE_53_HOSTED_ZONE, ELASTIC_IP_ALLOCATION, CLASSIC_LOAD_BALANCER, APPLICATION_LOAD_BALANCER, GLOBAL_ACCELERATOR
1465
+ # aggregations: ["SUM"], # accepts SUM, MEAN, MAX
1466
+ # },
1424
1467
  # })
1425
1468
  #
1426
1469
  # @example Response structure
@@ -1444,7 +1487,9 @@ module Aws::Shield
1444
1487
  req.send_request(options)
1445
1488
  end
1446
1489
 
1447
- # Lists all Protection objects for the account.
1490
+ # Retrieves Protection objects for the account. You can retrieve all
1491
+ # protections or you can provide filtering criteria and retrieve just
1492
+ # the subset of protections that match the criteria.
1448
1493
  #
1449
1494
  # @option params [String] :next_token
1450
1495
  # When you request a list of objects from Shield Advanced, if the
@@ -1473,6 +1518,14 @@ module Aws::Shield
1473
1518
  #
1474
1519
  # The default setting is 20.
1475
1520
  #
1521
+ # @option params [Types::InclusionProtectionFilters] :inclusion_filters
1522
+ # Narrows the set of protections that the call retrieves. You can
1523
+ # retrieve a single protection by providing its name or the ARN (Amazon
1524
+ # Resource Name) of its protected resource. You can also retrieve all
1525
+ # protections for a specific resource type. You can provide up to one
1526
+ # criteria per filter type. Shield Advanced returns protections that
1527
+ # exactly match all of the filter criteria that you provide.
1528
+ #
1476
1529
  # @return [Types::ListProtectionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1477
1530
  #
1478
1531
  # * {Types::ListProtectionsResponse#protections #protections} => Array&lt;Types::Protection&gt;
@@ -1485,6 +1538,11 @@ module Aws::Shield
1485
1538
  # resp = client.list_protections({
1486
1539
  # next_token: "Token",
1487
1540
  # max_results: 1,
1541
+ # inclusion_filters: {
1542
+ # resource_arns: ["ResourceArn"],
1543
+ # protection_names: ["ProtectionName"],
1544
+ # resource_types: ["CLOUDFRONT_DISTRIBUTION"], # accepts CLOUDFRONT_DISTRIBUTION, ROUTE_53_HOSTED_ZONE, ELASTIC_IP_ALLOCATION, CLASSIC_LOAD_BALANCER, APPLICATION_LOAD_BALANCER, GLOBAL_ACCELERATOR
1545
+ # },
1488
1546
  # })
1489
1547
  #
1490
1548
  # @example Response structure
@@ -1806,6 +1864,12 @@ module Aws::Shield
1806
1864
  # Updates the details of an existing subscription. Only enter values for
1807
1865
  # parameters you want to change. Empty parameters are not updated.
1808
1866
  #
1867
+ # <note markdown="1"> For accounts that are members of an Organizations organization, Shield
1868
+ # Advanced subscriptions are billed against the organization's payer
1869
+ # account, regardless of whether the payer account itself is subscribed.
1870
+ #
1871
+ # </note>
1872
+ #
1809
1873
  # @option params [String] :auto_renew
1810
1874
  # When you initally create a subscription, `AutoRenew` is set to
1811
1875
  # `ENABLED`. If `ENABLED`, the subscription will be automatically
@@ -1844,7 +1908,7 @@ module Aws::Shield
1844
1908
  params: params,
1845
1909
  config: config)
1846
1910
  context[:gem_name] = 'aws-sdk-shield'
1847
- context[:gem_version] = '1.48.0'
1911
+ context[:gem_version] = '1.50.0'
1848
1912
  Seahorse::Client::Request.new(handlers, context)
1849
1913
  end
1850
1914
 
@@ -95,6 +95,8 @@ module Aws::Shield
95
95
  HealthCheckArn = Shapes::StringShape.new(name: 'HealthCheckArn')
96
96
  HealthCheckId = Shapes::StringShape.new(name: 'HealthCheckId')
97
97
  HealthCheckIds = Shapes::ListShape.new(name: 'HealthCheckIds')
98
+ InclusionProtectionFilters = Shapes::StructureShape.new(name: 'InclusionProtectionFilters')
99
+ InclusionProtectionGroupFilters = Shapes::StructureShape.new(name: 'InclusionProtectionGroupFilters')
98
100
  Integer = Shapes::IntegerShape.new(name: 'Integer')
99
101
  InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
100
102
  InvalidOperationException = Shapes::StructureShape.new(name: 'InvalidOperationException')
@@ -128,23 +130,29 @@ module Aws::Shield
128
130
  PhoneNumber = Shapes::StringShape.new(name: 'PhoneNumber')
129
131
  ProactiveEngagementStatus = Shapes::StringShape.new(name: 'ProactiveEngagementStatus')
130
132
  ProtectedResourceType = Shapes::StringShape.new(name: 'ProtectedResourceType')
133
+ ProtectedResourceTypeFilters = Shapes::ListShape.new(name: 'ProtectedResourceTypeFilters')
131
134
  Protection = Shapes::StructureShape.new(name: 'Protection')
132
135
  ProtectionGroup = Shapes::StructureShape.new(name: 'ProtectionGroup')
133
136
  ProtectionGroupAggregation = Shapes::StringShape.new(name: 'ProtectionGroupAggregation')
137
+ ProtectionGroupAggregationFilters = Shapes::ListShape.new(name: 'ProtectionGroupAggregationFilters')
134
138
  ProtectionGroupArbitraryPatternLimits = Shapes::StructureShape.new(name: 'ProtectionGroupArbitraryPatternLimits')
135
139
  ProtectionGroupId = Shapes::StringShape.new(name: 'ProtectionGroupId')
140
+ ProtectionGroupIdFilters = Shapes::ListShape.new(name: 'ProtectionGroupIdFilters')
136
141
  ProtectionGroupLimits = Shapes::StructureShape.new(name: 'ProtectionGroupLimits')
137
142
  ProtectionGroupMembers = Shapes::ListShape.new(name: 'ProtectionGroupMembers')
138
143
  ProtectionGroupPattern = Shapes::StringShape.new(name: 'ProtectionGroupPattern')
144
+ ProtectionGroupPatternFilters = Shapes::ListShape.new(name: 'ProtectionGroupPatternFilters')
139
145
  ProtectionGroupPatternTypeLimits = Shapes::StructureShape.new(name: 'ProtectionGroupPatternTypeLimits')
140
146
  ProtectionGroups = Shapes::ListShape.new(name: 'ProtectionGroups')
141
147
  ProtectionId = Shapes::StringShape.new(name: 'ProtectionId')
142
148
  ProtectionLimits = Shapes::StructureShape.new(name: 'ProtectionLimits')
143
149
  ProtectionName = Shapes::StringShape.new(name: 'ProtectionName')
150
+ ProtectionNameFilters = Shapes::ListShape.new(name: 'ProtectionNameFilters')
144
151
  Protections = Shapes::ListShape.new(name: 'Protections')
145
152
  ResourceAlreadyExistsException = Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
146
153
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
147
154
  ResourceArnFilterList = Shapes::ListShape.new(name: 'ResourceArnFilterList')
155
+ ResourceArnFilters = Shapes::ListShape.new(name: 'ResourceArnFilters')
148
156
  ResourceArnList = Shapes::ListShape.new(name: 'ResourceArnList')
149
157
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
150
158
  ResponseAction = Shapes::StructureShape.new(name: 'ResponseAction')
@@ -398,6 +406,17 @@ module Aws::Shield
398
406
 
399
407
  HealthCheckIds.member = Shapes::ShapeRef.new(shape: HealthCheckId)
400
408
 
409
+ InclusionProtectionFilters.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceArnFilters, location_name: "ResourceArns"))
410
+ InclusionProtectionFilters.add_member(:protection_names, Shapes::ShapeRef.new(shape: ProtectionNameFilters, location_name: "ProtectionNames"))
411
+ InclusionProtectionFilters.add_member(:resource_types, Shapes::ShapeRef.new(shape: ProtectedResourceTypeFilters, location_name: "ResourceTypes"))
412
+ InclusionProtectionFilters.struct_class = Types::InclusionProtectionFilters
413
+
414
+ InclusionProtectionGroupFilters.add_member(:protection_group_ids, Shapes::ShapeRef.new(shape: ProtectionGroupIdFilters, location_name: "ProtectionGroupIds"))
415
+ InclusionProtectionGroupFilters.add_member(:patterns, Shapes::ShapeRef.new(shape: ProtectionGroupPatternFilters, location_name: "Patterns"))
416
+ InclusionProtectionGroupFilters.add_member(:resource_types, Shapes::ShapeRef.new(shape: ProtectedResourceTypeFilters, location_name: "ResourceTypes"))
417
+ InclusionProtectionGroupFilters.add_member(:aggregations, Shapes::ShapeRef.new(shape: ProtectionGroupAggregationFilters, location_name: "Aggregations"))
418
+ InclusionProtectionGroupFilters.struct_class = Types::InclusionProtectionGroupFilters
419
+
401
420
  InternalErrorException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
402
421
  InternalErrorException.struct_class = Types::InternalErrorException
403
422
 
@@ -439,6 +458,7 @@ module Aws::Shield
439
458
 
440
459
  ListProtectionGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
441
460
  ListProtectionGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
461
+ ListProtectionGroupsRequest.add_member(:inclusion_filters, Shapes::ShapeRef.new(shape: InclusionProtectionGroupFilters, location_name: "InclusionFilters"))
442
462
  ListProtectionGroupsRequest.struct_class = Types::ListProtectionGroupsRequest
443
463
 
444
464
  ListProtectionGroupsResponse.add_member(:protection_groups, Shapes::ShapeRef.new(shape: ProtectionGroups, required: true, location_name: "ProtectionGroups"))
@@ -447,6 +467,7 @@ module Aws::Shield
447
467
 
448
468
  ListProtectionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
449
469
  ListProtectionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
470
+ ListProtectionsRequest.add_member(:inclusion_filters, Shapes::ShapeRef.new(shape: InclusionProtectionFilters, location_name: "InclusionFilters"))
450
471
  ListProtectionsRequest.struct_class = Types::ListProtectionsRequest
451
472
 
452
473
  ListProtectionsResponse.add_member(:protections, Shapes::ShapeRef.new(shape: Protections, location_name: "Protections"))
@@ -484,6 +505,8 @@ module Aws::Shield
484
505
  OptimisticLockException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
485
506
  OptimisticLockException.struct_class = Types::OptimisticLockException
486
507
 
508
+ ProtectedResourceTypeFilters.member = Shapes::ShapeRef.new(shape: ProtectedResourceType)
509
+
487
510
  Protection.add_member(:id, Shapes::ShapeRef.new(shape: ProtectionId, location_name: "Id"))
488
511
  Protection.add_member(:name, Shapes::ShapeRef.new(shape: ProtectionName, location_name: "Name"))
489
512
  Protection.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ResourceArn"))
@@ -500,15 +523,21 @@ module Aws::Shield
500
523
  ProtectionGroup.add_member(:protection_group_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ProtectionGroupArn"))
501
524
  ProtectionGroup.struct_class = Types::ProtectionGroup
502
525
 
526
+ ProtectionGroupAggregationFilters.member = Shapes::ShapeRef.new(shape: ProtectionGroupAggregation)
527
+
503
528
  ProtectionGroupArbitraryPatternLimits.add_member(:max_members, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "MaxMembers"))
504
529
  ProtectionGroupArbitraryPatternLimits.struct_class = Types::ProtectionGroupArbitraryPatternLimits
505
530
 
531
+ ProtectionGroupIdFilters.member = Shapes::ShapeRef.new(shape: ProtectionGroupId)
532
+
506
533
  ProtectionGroupLimits.add_member(:max_protection_groups, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "MaxProtectionGroups"))
507
534
  ProtectionGroupLimits.add_member(:pattern_type_limits, Shapes::ShapeRef.new(shape: ProtectionGroupPatternTypeLimits, required: true, location_name: "PatternTypeLimits"))
508
535
  ProtectionGroupLimits.struct_class = Types::ProtectionGroupLimits
509
536
 
510
537
  ProtectionGroupMembers.member = Shapes::ShapeRef.new(shape: ResourceArn)
511
538
 
539
+ ProtectionGroupPatternFilters.member = Shapes::ShapeRef.new(shape: ProtectionGroupPattern)
540
+
512
541
  ProtectionGroupPatternTypeLimits.add_member(:arbitrary_pattern_limits, Shapes::ShapeRef.new(shape: ProtectionGroupArbitraryPatternLimits, required: true, location_name: "ArbitraryPatternLimits"))
513
542
  ProtectionGroupPatternTypeLimits.struct_class = Types::ProtectionGroupPatternTypeLimits
514
543
 
@@ -517,6 +546,8 @@ module Aws::Shield
517
546
  ProtectionLimits.add_member(:protected_resource_type_limits, Shapes::ShapeRef.new(shape: Limits, required: true, location_name: "ProtectedResourceTypeLimits"))
518
547
  ProtectionLimits.struct_class = Types::ProtectionLimits
519
548
 
549
+ ProtectionNameFilters.member = Shapes::ShapeRef.new(shape: ProtectionName)
550
+
520
551
  Protections.member = Shapes::ShapeRef.new(shape: Protection)
521
552
 
522
553
  ResourceAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -525,6 +556,8 @@ module Aws::Shield
525
556
 
526
557
  ResourceArnFilterList.member = Shapes::ShapeRef.new(shape: ResourceArn)
527
558
 
559
+ ResourceArnFilters.member = Shapes::ShapeRef.new(shape: ResourceArn)
560
+
528
561
  ResourceArnList.member = Shapes::ShapeRef.new(shape: ResourceArn)
529
562
 
530
563
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Shield
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end