aws-sdk-shield 1.48.0 → 1.50.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.
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