aws-sdk-shield 1.29.0 → 1.34.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: d7a45988d874990055ef49cd9ad5da7d733be1bd6a150c19a30bf59a4fbbf237
4
- data.tar.gz: 12fd63a32d0f0b30dd2b5932180a2ee3d8ff93054af13b132c8e81bc72bd71fe
3
+ metadata.gz: 3ac82a17cacca4b5a293b83132ff40d0fe0359bdc28c1d97b72d725daf54c599
4
+ data.tar.gz: 7b8ffa6b55123f76e49085a6bce2b572fb7124ae51e7730ba41dc9210ab65303
5
5
  SHA512:
6
- metadata.gz: a630e0a4bd3cfe9001b5207e4f9821412ceb4f4a8233a3a1519485865503433ccccd82aec3b04578779d609796ccd2b51e6d5d7364ffdede7f1ad3a7b67491bb
7
- data.tar.gz: 00bd8b5e04a314b90a3ea86c73f563e2594e14192346b56934a36688a051df216e6372b2b45fcc973ffbe71bb441a16e68552f28c550ebacc9e3e4ce77f3a28d
6
+ metadata.gz: 2376b0ecc10e43857687117258e970390860f492a958f987c904546b55b8a0e65b9d52d1791e7a38292b34592688f639914e0df6ab842f362ed4dfc69681b43e
7
+ data.tar.gz: 7ac5d4cd1e504ba48221131e7025b319a451e0a5a01d5054f416ea2f0e5e493015fabe1cca4a65ef5e0ff1110a87996572bf156cf9b24ed816575354bf6aa007
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-shield/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::Shield
49
50
 
50
- GEM_VERSION = '1.29.0'
51
+ GEM_VERSION = '1.34.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::Shield
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::Shield
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -592,6 +607,71 @@ module Aws::Shield
592
607
  req.send_request(options)
593
608
  end
594
609
 
610
+ # Creates a grouping of protected resources so they can be handled as a
611
+ # collective. This resource grouping improves the accuracy of detection
612
+ # and reduces false positives.
613
+ #
614
+ # @option params [required, String] :protection_group_id
615
+ # The name of the protection group. You use this to identify the
616
+ # protection group in lists and to manage the protection group, for
617
+ # example to update, delete, or describe it.
618
+ #
619
+ # @option params [required, String] :aggregation
620
+ # Defines how AWS Shield combines resource data for the group in order
621
+ # to detect, mitigate, and report events.
622
+ #
623
+ # * Sum - Use the total traffic across the group. This is a good choice
624
+ # for most cases. Examples include Elastic IP addresses for EC2
625
+ # instances that scale manually or automatically.
626
+ #
627
+ # * Mean - Use the average of the traffic across the group. This is a
628
+ # good choice for resources that share traffic uniformly. Examples
629
+ # include accelerators and load balancers.
630
+ #
631
+ # * Max - Use the highest traffic from each resource. This is useful for
632
+ # resources that don't share traffic and for resources that share
633
+ # that traffic in a non-uniform way. Examples include CloudFront
634
+ # distributions and origin resources for CloudFront distributions.
635
+ #
636
+ # @option params [required, String] :pattern
637
+ # The criteria to use to choose the protected resources for inclusion in
638
+ # the group. You can include all resources that have protections,
639
+ # provide a list of resource Amazon Resource Names (ARNs), or include
640
+ # all resources of a specified resource type.
641
+ #
642
+ # @option params [String] :resource_type
643
+ # The resource type to include in the protection group. All protected
644
+ # resources of this type are included in the protection group. Newly
645
+ # protected resources of this type are automatically added to the group.
646
+ # You must set this when you set `Pattern` to `BY_RESOURCE_TYPE` and you
647
+ # must not set it for any other `Pattern` setting.
648
+ #
649
+ # @option params [Array<String>] :members
650
+ # The Amazon Resource Names (ARNs) of the resources to include in the
651
+ # protection group. You must set this when you set `Pattern` to
652
+ # `ARBITRARY` and you must not set it for any other `Pattern` setting.
653
+ #
654
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
655
+ #
656
+ # @example Request syntax with placeholder values
657
+ #
658
+ # resp = client.create_protection_group({
659
+ # protection_group_id: "ProtectionGroupId", # required
660
+ # aggregation: "SUM", # required, accepts SUM, MEAN, MAX
661
+ # pattern: "ALL", # required, accepts ALL, ARBITRARY, BY_RESOURCE_TYPE
662
+ # resource_type: "CLOUDFRONT_DISTRIBUTION", # accepts CLOUDFRONT_DISTRIBUTION, ROUTE_53_HOSTED_ZONE, ELASTIC_IP_ALLOCATION, CLASSIC_LOAD_BALANCER, APPLICATION_LOAD_BALANCER, GLOBAL_ACCELERATOR
663
+ # members: ["ResourceArn"],
664
+ # })
665
+ #
666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtectionGroup AWS API Documentation
667
+ #
668
+ # @overload create_protection_group(params = {})
669
+ # @param [Hash] params ({})
670
+ def create_protection_group(params = {}, options = {})
671
+ req = build_request(:create_protection_group, params)
672
+ req.send_request(options)
673
+ end
674
+
595
675
  # Activates AWS Shield Advanced for an account.
596
676
  #
597
677
  # When you initally create a subscription, your subscription is set to
@@ -632,6 +712,30 @@ module Aws::Shield
632
712
  req.send_request(options)
633
713
  end
634
714
 
715
+ # Removes the specified protection group.
716
+ #
717
+ # @option params [required, String] :protection_group_id
718
+ # The name of the protection group. You use this to identify the
719
+ # protection group in lists and to manage the protection group, for
720
+ # example to update, delete, or describe it.
721
+ #
722
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
723
+ #
724
+ # @example Request syntax with placeholder values
725
+ #
726
+ # resp = client.delete_protection_group({
727
+ # protection_group_id: "ProtectionGroupId", # required
728
+ # })
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtectionGroup AWS API Documentation
731
+ #
732
+ # @overload delete_protection_group(params = {})
733
+ # @param [Hash] params ({})
734
+ def delete_protection_group(params = {}, options = {})
735
+ req = build_request(:delete_protection_group, params)
736
+ req.send_request(options)
737
+ end
738
+
635
739
  # Removes AWS Shield Advanced from an account. AWS Shield Advanced
636
740
  # requires a 1-year subscription commitment. You cannot delete a
637
741
  # subscription prior to the completion of that commitment.
@@ -714,6 +818,45 @@ module Aws::Shield
714
818
  req.send_request(options)
715
819
  end
716
820
 
821
+ # Provides information about the number and type of attacks AWS Shield
822
+ # has detected in the last year for all resources that belong to your
823
+ # account, regardless of whether you've defined Shield protections for
824
+ # them. This operation is available to Shield customers as well as to
825
+ # Shield Advanced customers.
826
+ #
827
+ # The operation returns data for the time range of midnight UTC, one
828
+ # year ago, to midnight UTC, today. For example, if the current time is
829
+ # `2020-10-26 15:39:32 PDT`, equal to `2020-10-26 22:39:32 UTC`, then
830
+ # the time range for the attack data returned is from `2019-10-26
831
+ # 00:00:00 UTC` to `2020-10-26 00:00:00 UTC`.
832
+ #
833
+ # The time range indicates the period covered by the attack statistics
834
+ # data items.
835
+ #
836
+ # @return [Types::DescribeAttackStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
837
+ #
838
+ # * {Types::DescribeAttackStatisticsResponse#time_range #time_range} => Types::TimeRange
839
+ # * {Types::DescribeAttackStatisticsResponse#data_items #data_items} => Array&lt;Types::AttackStatisticsDataItem&gt;
840
+ #
841
+ # @example Response structure
842
+ #
843
+ # resp.time_range.from_inclusive #=> Time
844
+ # resp.time_range.to_exclusive #=> Time
845
+ # resp.data_items #=> Array
846
+ # resp.data_items[0].attack_volume.bits_per_second.max #=> Float
847
+ # resp.data_items[0].attack_volume.packets_per_second.max #=> Float
848
+ # resp.data_items[0].attack_volume.requests_per_second.max #=> Float
849
+ # resp.data_items[0].attack_count #=> Integer
850
+ #
851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeAttackStatistics AWS API Documentation
852
+ #
853
+ # @overload describe_attack_statistics(params = {})
854
+ # @param [Hash] params ({})
855
+ def describe_attack_statistics(params = {}, options = {})
856
+ req = build_request(:describe_attack_statistics, params)
857
+ req.send_request(options)
858
+ end
859
+
717
860
  # Returns the current role and list of Amazon S3 log buckets used by the
718
861
  # DDoS Response Team (DRT) to access your AWS account while assisting
719
862
  # with attack mitigation.
@@ -804,6 +947,41 @@ module Aws::Shield
804
947
  req.send_request(options)
805
948
  end
806
949
 
950
+ # Returns the specification for the specified protection group.
951
+ #
952
+ # @option params [required, String] :protection_group_id
953
+ # The name of the protection group. You use this to identify the
954
+ # protection group in lists and to manage the protection group, for
955
+ # example to update, delete, or describe it.
956
+ #
957
+ # @return [Types::DescribeProtectionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
958
+ #
959
+ # * {Types::DescribeProtectionGroupResponse#protection_group #protection_group} => Types::ProtectionGroup
960
+ #
961
+ # @example Request syntax with placeholder values
962
+ #
963
+ # resp = client.describe_protection_group({
964
+ # protection_group_id: "ProtectionGroupId", # required
965
+ # })
966
+ #
967
+ # @example Response structure
968
+ #
969
+ # resp.protection_group.protection_group_id #=> String
970
+ # resp.protection_group.aggregation #=> String, one of "SUM", "MEAN", "MAX"
971
+ # resp.protection_group.pattern #=> String, one of "ALL", "ARBITRARY", "BY_RESOURCE_TYPE"
972
+ # resp.protection_group.resource_type #=> String, one of "CLOUDFRONT_DISTRIBUTION", "ROUTE_53_HOSTED_ZONE", "ELASTIC_IP_ALLOCATION", "CLASSIC_LOAD_BALANCER", "APPLICATION_LOAD_BALANCER", "GLOBAL_ACCELERATOR"
973
+ # resp.protection_group.members #=> Array
974
+ # resp.protection_group.members[0] #=> String
975
+ #
976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtectionGroup AWS API Documentation
977
+ #
978
+ # @overload describe_protection_group(params = {})
979
+ # @param [Hash] params ({})
980
+ def describe_protection_group(params = {}, options = {})
981
+ req = build_request(:describe_protection_group, params)
982
+ req.send_request(options)
983
+ end
984
+
807
985
  # Provides details about the AWS Shield Advanced subscription for an
808
986
  # account.
809
987
  #
@@ -821,6 +999,11 @@ module Aws::Shield
821
999
  # resp.subscription.limits[0].type #=> String
822
1000
  # resp.subscription.limits[0].max #=> Integer
823
1001
  # resp.subscription.proactive_engagement_status #=> String, one of "ENABLED", "DISABLED", "PENDING"
1002
+ # resp.subscription.subscription_limits.protection_limits.protected_resource_type_limits #=> Array
1003
+ # resp.subscription.subscription_limits.protection_limits.protected_resource_type_limits[0].type #=> String
1004
+ # resp.subscription.subscription_limits.protection_limits.protected_resource_type_limits[0].max #=> Integer
1005
+ # resp.subscription.subscription_limits.protection_group_limits.max_protection_groups #=> Integer
1006
+ # resp.subscription.subscription_limits.protection_group_limits.pattern_type_limits.arbitrary_pattern_limits.max_members #=> Integer
824
1007
  #
825
1008
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription AWS API Documentation
826
1009
  #
@@ -1013,15 +1196,15 @@ module Aws::Shield
1013
1196
  # `ListAttacksRequest`. Pass null if this is the first call.
1014
1197
  #
1015
1198
  # @option params [Integer] :max_results
1016
- # The maximum number of AttackSummary objects to be returned. If this is
1017
- # left blank, the first 20 results will be returned.
1199
+ # The maximum number of AttackSummary objects to return. If you leave
1200
+ # this blank, Shield Advanced returns the first 20 results.
1018
1201
  #
1019
- # This is a maximum value; it is possible that AWS WAF will return the
1020
- # results in smaller batches. That is, the number of AttackSummary
1021
- # objects returned could be less than `MaxResults`, even if there are
1022
- # still more AttackSummary objects yet to return. If there are more
1023
- # AttackSummary objects to return, AWS WAF will always also return a
1024
- # `NextToken`.
1202
+ # This is a maximum value. Shield Advanced might return the results in
1203
+ # smaller batches. That is, the number of objects returned could be less
1204
+ # than `MaxResults`, even if there are still more objects yet to return.
1205
+ # If there are more objects to return, Shield Advanced returns a value
1206
+ # in `NextToken` that you can use in your next request, to get the next
1207
+ # batch of objects.
1025
1208
  #
1026
1209
  # @return [Types::ListAttacksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1027
1210
  #
@@ -1066,6 +1249,57 @@ module Aws::Shield
1066
1249
  req.send_request(options)
1067
1250
  end
1068
1251
 
1252
+ # Retrieves the ProtectionGroup objects for the account.
1253
+ #
1254
+ # @option params [String] :next_token
1255
+ # The next token value from a previous call to `ListProtectionGroups`.
1256
+ # Pass null if this is the first call.
1257
+ #
1258
+ # @option params [Integer] :max_results
1259
+ # The maximum number of ProtectionGroup objects to return. If you leave
1260
+ # this blank, Shield Advanced returns the first 20 results.
1261
+ #
1262
+ # This is a maximum value. Shield Advanced might return the results in
1263
+ # smaller batches. That is, the number of objects returned could be less
1264
+ # than `MaxResults`, even if there are still more objects yet to return.
1265
+ # If there are more objects to return, Shield Advanced returns a value
1266
+ # in `NextToken` that you can use in your next request, to get the next
1267
+ # batch of objects.
1268
+ #
1269
+ # @return [Types::ListProtectionGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1270
+ #
1271
+ # * {Types::ListProtectionGroupsResponse#protection_groups #protection_groups} => Array&lt;Types::ProtectionGroup&gt;
1272
+ # * {Types::ListProtectionGroupsResponse#next_token #next_token} => String
1273
+ #
1274
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1275
+ #
1276
+ # @example Request syntax with placeholder values
1277
+ #
1278
+ # resp = client.list_protection_groups({
1279
+ # next_token: "Token",
1280
+ # max_results: 1,
1281
+ # })
1282
+ #
1283
+ # @example Response structure
1284
+ #
1285
+ # resp.protection_groups #=> Array
1286
+ # resp.protection_groups[0].protection_group_id #=> String
1287
+ # resp.protection_groups[0].aggregation #=> String, one of "SUM", "MEAN", "MAX"
1288
+ # resp.protection_groups[0].pattern #=> String, one of "ALL", "ARBITRARY", "BY_RESOURCE_TYPE"
1289
+ # resp.protection_groups[0].resource_type #=> String, one of "CLOUDFRONT_DISTRIBUTION", "ROUTE_53_HOSTED_ZONE", "ELASTIC_IP_ALLOCATION", "CLASSIC_LOAD_BALANCER", "APPLICATION_LOAD_BALANCER", "GLOBAL_ACCELERATOR"
1290
+ # resp.protection_groups[0].members #=> Array
1291
+ # resp.protection_groups[0].members[0] #=> String
1292
+ # resp.next_token #=> String
1293
+ #
1294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtectionGroups AWS API Documentation
1295
+ #
1296
+ # @overload list_protection_groups(params = {})
1297
+ # @param [Hash] params ({})
1298
+ def list_protection_groups(params = {}, options = {})
1299
+ req = build_request(:list_protection_groups, params)
1300
+ req.send_request(options)
1301
+ end
1302
+
1069
1303
  # Lists all Protection objects for the account.
1070
1304
  #
1071
1305
  # @option params [String] :next_token
@@ -1073,14 +1307,15 @@ module Aws::Shield
1073
1307
  # `ListProtections`. Pass null if this is the first call.
1074
1308
  #
1075
1309
  # @option params [Integer] :max_results
1076
- # The maximum number of Protection objects to be returned. If this is
1077
- # left blank the first 20 results will be returned.
1310
+ # The maximum number of Protection objects to return. If you leave this
1311
+ # blank, Shield Advanced returns the first 20 results.
1078
1312
  #
1079
- # This is a maximum value; it is possible that AWS WAF will return the
1080
- # results in smaller batches. That is, the number of Protection objects
1081
- # returned could be less than `MaxResults`, even if there are still more
1082
- # Protection objects yet to return. If there are more Protection objects
1083
- # to return, AWS WAF will always also return a `NextToken`.
1313
+ # This is a maximum value. Shield Advanced might return the results in
1314
+ # smaller batches. That is, the number of objects returned could be less
1315
+ # than `MaxResults`, even if there are still more objects yet to return.
1316
+ # If there are more objects to return, Shield Advanced returns a value
1317
+ # in `NextToken` that you can use in your next request, to get the next
1318
+ # batch of objects.
1084
1319
  #
1085
1320
  # @return [Types::ListProtectionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1086
1321
  #
@@ -1115,6 +1350,58 @@ module Aws::Shield
1115
1350
  req.send_request(options)
1116
1351
  end
1117
1352
 
1353
+ # Retrieves the resources that are included in the protection group.
1354
+ #
1355
+ # @option params [required, String] :protection_group_id
1356
+ # The name of the protection group. You use this to identify the
1357
+ # protection group in lists and to manage the protection group, for
1358
+ # example to update, delete, or describe it.
1359
+ #
1360
+ # @option params [String] :next_token
1361
+ # The next token value from a previous call to
1362
+ # `ListResourcesInProtectionGroup`. Pass null if this is the first call.
1363
+ #
1364
+ # @option params [Integer] :max_results
1365
+ # The maximum number of resource ARN objects to return. If you leave
1366
+ # this blank, Shield Advanced returns the first 20 results.
1367
+ #
1368
+ # This is a maximum value. Shield Advanced might return the results in
1369
+ # smaller batches. That is, the number of objects returned could be less
1370
+ # than `MaxResults`, even if there are still more objects yet to return.
1371
+ # If there are more objects to return, Shield Advanced returns a value
1372
+ # in `NextToken` that you can use in your next request, to get the next
1373
+ # batch of objects.
1374
+ #
1375
+ # @return [Types::ListResourcesInProtectionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1376
+ #
1377
+ # * {Types::ListResourcesInProtectionGroupResponse#resource_arns #resource_arns} => Array&lt;String&gt;
1378
+ # * {Types::ListResourcesInProtectionGroupResponse#next_token #next_token} => String
1379
+ #
1380
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1381
+ #
1382
+ # @example Request syntax with placeholder values
1383
+ #
1384
+ # resp = client.list_resources_in_protection_group({
1385
+ # protection_group_id: "ProtectionGroupId", # required
1386
+ # next_token: "Token",
1387
+ # max_results: 1,
1388
+ # })
1389
+ #
1390
+ # @example Response structure
1391
+ #
1392
+ # resp.resource_arns #=> Array
1393
+ # resp.resource_arns[0] #=> String
1394
+ # resp.next_token #=> String
1395
+ #
1396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListResourcesInProtectionGroup AWS API Documentation
1397
+ #
1398
+ # @overload list_resources_in_protection_group(params = {})
1399
+ # @param [Hash] params ({})
1400
+ def list_resources_in_protection_group(params = {}, options = {})
1401
+ req = build_request(:list_resources_in_protection_group, params)
1402
+ req.send_request(options)
1403
+ end
1404
+
1118
1405
  # Updates the details of the list of email addresses and phone numbers
1119
1406
  # that the DDoS Response Team (DRT) can use to contact you if you have
1120
1407
  # proactive engagement enabled, for escalations to the DRT and to
@@ -1152,6 +1439,71 @@ module Aws::Shield
1152
1439
  req.send_request(options)
1153
1440
  end
1154
1441
 
1442
+ # Updates an existing protection group. A protection group is a grouping
1443
+ # of protected resources so they can be handled as a collective. This
1444
+ # resource grouping improves the accuracy of detection and reduces false
1445
+ # positives.
1446
+ #
1447
+ # @option params [required, String] :protection_group_id
1448
+ # The name of the protection group. You use this to identify the
1449
+ # protection group in lists and to manage the protection group, for
1450
+ # example to update, delete, or describe it.
1451
+ #
1452
+ # @option params [required, String] :aggregation
1453
+ # Defines how AWS Shield combines resource data for the group in order
1454
+ # to detect, mitigate, and report events.
1455
+ #
1456
+ # * Sum - Use the total traffic across the group. This is a good choice
1457
+ # for most cases. Examples include Elastic IP addresses for EC2
1458
+ # instances that scale manually or automatically.
1459
+ #
1460
+ # * Mean - Use the average of the traffic across the group. This is a
1461
+ # good choice for resources that share traffic uniformly. Examples
1462
+ # include accelerators and load balancers.
1463
+ #
1464
+ # * Max - Use the highest traffic from each resource. This is useful for
1465
+ # resources that don't share traffic and for resources that share
1466
+ # that traffic in a non-uniform way. Examples include CloudFront
1467
+ # distributions and origin resources for CloudFront distributions.
1468
+ #
1469
+ # @option params [required, String] :pattern
1470
+ # The criteria to use to choose the protected resources for inclusion in
1471
+ # the group. You can include all resources that have protections,
1472
+ # provide a list of resource Amazon Resource Names (ARNs), or include
1473
+ # all resources of a specified resource type.
1474
+ #
1475
+ # @option params [String] :resource_type
1476
+ # The resource type to include in the protection group. All protected
1477
+ # resources of this type are included in the protection group. You must
1478
+ # set this when you set `Pattern` to `BY_RESOURCE_TYPE` and you must not
1479
+ # set it for any other `Pattern` setting.
1480
+ #
1481
+ # @option params [Array<String>] :members
1482
+ # The Amazon Resource Names (ARNs) of the resources to include in the
1483
+ # protection group. You must set this when you set `Pattern` to
1484
+ # `ARBITRARY` and you must not set it for any other `Pattern` setting.
1485
+ #
1486
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1487
+ #
1488
+ # @example Request syntax with placeholder values
1489
+ #
1490
+ # resp = client.update_protection_group({
1491
+ # protection_group_id: "ProtectionGroupId", # required
1492
+ # aggregation: "SUM", # required, accepts SUM, MEAN, MAX
1493
+ # pattern: "ALL", # required, accepts ALL, ARBITRARY, BY_RESOURCE_TYPE
1494
+ # resource_type: "CLOUDFRONT_DISTRIBUTION", # accepts CLOUDFRONT_DISTRIBUTION, ROUTE_53_HOSTED_ZONE, ELASTIC_IP_ALLOCATION, CLASSIC_LOAD_BALANCER, APPLICATION_LOAD_BALANCER, GLOBAL_ACCELERATOR
1495
+ # members: ["ResourceArn"],
1496
+ # })
1497
+ #
1498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateProtectionGroup AWS API Documentation
1499
+ #
1500
+ # @overload update_protection_group(params = {})
1501
+ # @param [Hash] params ({})
1502
+ def update_protection_group(params = {}, options = {})
1503
+ req = build_request(:update_protection_group, params)
1504
+ req.send_request(options)
1505
+ end
1506
+
1155
1507
  # Updates the details of an existing subscription. Only enter values for
1156
1508
  # parameters you want to change. Empty parameters are not updated.
1157
1509
  #
@@ -1193,7 +1545,7 @@ module Aws::Shield
1193
1545
  params: params,
1194
1546
  config: config)
1195
1547
  context[:gem_name] = 'aws-sdk-shield'
1196
- context[:gem_version] = '1.29.0'
1548
+ context[:gem_version] = '1.34.0'
1197
1549
  Seahorse::Client::Request.new(handlers, context)
1198
1550
  end
1199
1551