aws-sdk-shield 1.31.0 → 1.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +248 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -0
- data/lib/aws-sdk-shield.rb +2 -2
- data/lib/aws-sdk-shield/client.rb +468 -17
- data/lib/aws-sdk-shield/client_api.rb +309 -1
- data/lib/aws-sdk-shield/errors.rb +21 -1
- data/lib/aws-sdk-shield/resource.rb +1 -1
- data/lib/aws-sdk-shield/types.rb +820 -38
- metadata +8 -5
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.36.0
|
data/lib/aws-sdk-shield.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# WARNING ABOUT GENERATED CODE
|
4
4
|
#
|
5
5
|
# This file is generated. See the contributing guide for more information:
|
6
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-shield/customizations'
|
|
48
48
|
# @!group service
|
49
49
|
module Aws::Shield
|
50
50
|
|
51
|
-
GEM_VERSION = '1.
|
51
|
+
GEM_VERSION = '1.36.0'
|
52
52
|
|
53
53
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# WARNING ABOUT GENERATED CODE
|
4
4
|
#
|
5
5
|
# This file is generated. See the contributing guide for more information:
|
6
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
@@ -583,6 +583,10 @@ module Aws::Shield
|
|
583
583
|
# * For an Elastic IP address:
|
584
584
|
# `arn:aws:ec2:region:account-id:eip-allocation/allocation-id `
|
585
585
|
#
|
586
|
+
# @option params [Array<Types::Tag>] :tags
|
587
|
+
# One or more tag key-value pairs for the Protection object that is
|
588
|
+
# created.
|
589
|
+
#
|
586
590
|
# @return [Types::CreateProtectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
587
591
|
#
|
588
592
|
# * {Types::CreateProtectionResponse#protection_id #protection_id} => String
|
@@ -592,6 +596,12 @@ module Aws::Shield
|
|
592
596
|
# resp = client.create_protection({
|
593
597
|
# name: "ProtectionName", # required
|
594
598
|
# resource_arn: "ResourceArn", # required
|
599
|
+
# tags: [
|
600
|
+
# {
|
601
|
+
# key: "TagKey",
|
602
|
+
# value: "TagValue",
|
603
|
+
# },
|
604
|
+
# ],
|
595
605
|
# })
|
596
606
|
#
|
597
607
|
# @example Response structure
|
@@ -607,6 +617,80 @@ module Aws::Shield
|
|
607
617
|
req.send_request(options)
|
608
618
|
end
|
609
619
|
|
620
|
+
# Creates a grouping of protected resources so they can be handled as a
|
621
|
+
# collective. This resource grouping improves the accuracy of detection
|
622
|
+
# and reduces false positives.
|
623
|
+
#
|
624
|
+
# @option params [required, String] :protection_group_id
|
625
|
+
# The name of the protection group. You use this to identify the
|
626
|
+
# protection group in lists and to manage the protection group, for
|
627
|
+
# example to update, delete, or describe it.
|
628
|
+
#
|
629
|
+
# @option params [required, String] :aggregation
|
630
|
+
# Defines how AWS Shield combines resource data for the group in order
|
631
|
+
# to detect, mitigate, and report events.
|
632
|
+
#
|
633
|
+
# * Sum - Use the total traffic across the group. This is a good choice
|
634
|
+
# for most cases. Examples include Elastic IP addresses for EC2
|
635
|
+
# instances that scale manually or automatically.
|
636
|
+
#
|
637
|
+
# * Mean - Use the average of the traffic across the group. This is a
|
638
|
+
# good choice for resources that share traffic uniformly. Examples
|
639
|
+
# include accelerators and load balancers.
|
640
|
+
#
|
641
|
+
# * Max - Use the highest traffic from each resource. This is useful for
|
642
|
+
# resources that don't share traffic and for resources that share
|
643
|
+
# that traffic in a non-uniform way. Examples include CloudFront
|
644
|
+
# distributions and origin resources for CloudFront distributions.
|
645
|
+
#
|
646
|
+
# @option params [required, String] :pattern
|
647
|
+
# The criteria to use to choose the protected resources for inclusion in
|
648
|
+
# the group. You can include all resources that have protections,
|
649
|
+
# provide a list of resource Amazon Resource Names (ARNs), or include
|
650
|
+
# all resources of a specified resource type.
|
651
|
+
#
|
652
|
+
# @option params [String] :resource_type
|
653
|
+
# The resource type to include in the protection group. All protected
|
654
|
+
# resources of this type are included in the protection group. Newly
|
655
|
+
# protected resources of this type are automatically added to the group.
|
656
|
+
# You must set this when you set `Pattern` to `BY_RESOURCE_TYPE` and you
|
657
|
+
# must not set it for any other `Pattern` setting.
|
658
|
+
#
|
659
|
+
# @option params [Array<String>] :members
|
660
|
+
# The Amazon Resource Names (ARNs) of the resources to include in the
|
661
|
+
# protection group. You must set this when you set `Pattern` to
|
662
|
+
# `ARBITRARY` and you must not set it for any other `Pattern` setting.
|
663
|
+
#
|
664
|
+
# @option params [Array<Types::Tag>] :tags
|
665
|
+
# One or more tag key-value pairs for the protection group.
|
666
|
+
#
|
667
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
668
|
+
#
|
669
|
+
# @example Request syntax with placeholder values
|
670
|
+
#
|
671
|
+
# resp = client.create_protection_group({
|
672
|
+
# protection_group_id: "ProtectionGroupId", # required
|
673
|
+
# aggregation: "SUM", # required, accepts SUM, MEAN, MAX
|
674
|
+
# pattern: "ALL", # required, accepts ALL, ARBITRARY, BY_RESOURCE_TYPE
|
675
|
+
# resource_type: "CLOUDFRONT_DISTRIBUTION", # accepts CLOUDFRONT_DISTRIBUTION, ROUTE_53_HOSTED_ZONE, ELASTIC_IP_ALLOCATION, CLASSIC_LOAD_BALANCER, APPLICATION_LOAD_BALANCER, GLOBAL_ACCELERATOR
|
676
|
+
# members: ["ResourceArn"],
|
677
|
+
# tags: [
|
678
|
+
# {
|
679
|
+
# key: "TagKey",
|
680
|
+
# value: "TagValue",
|
681
|
+
# },
|
682
|
+
# ],
|
683
|
+
# })
|
684
|
+
#
|
685
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtectionGroup AWS API Documentation
|
686
|
+
#
|
687
|
+
# @overload create_protection_group(params = {})
|
688
|
+
# @param [Hash] params ({})
|
689
|
+
def create_protection_group(params = {}, options = {})
|
690
|
+
req = build_request(:create_protection_group, params)
|
691
|
+
req.send_request(options)
|
692
|
+
end
|
693
|
+
|
610
694
|
# Activates AWS Shield Advanced for an account.
|
611
695
|
#
|
612
696
|
# When you initally create a subscription, your subscription is set to
|
@@ -647,6 +731,30 @@ module Aws::Shield
|
|
647
731
|
req.send_request(options)
|
648
732
|
end
|
649
733
|
|
734
|
+
# Removes the specified protection group.
|
735
|
+
#
|
736
|
+
# @option params [required, String] :protection_group_id
|
737
|
+
# The name of the protection group. You use this to identify the
|
738
|
+
# protection group in lists and to manage the protection group, for
|
739
|
+
# example to update, delete, or describe it.
|
740
|
+
#
|
741
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
742
|
+
#
|
743
|
+
# @example Request syntax with placeholder values
|
744
|
+
#
|
745
|
+
# resp = client.delete_protection_group({
|
746
|
+
# protection_group_id: "ProtectionGroupId", # required
|
747
|
+
# })
|
748
|
+
#
|
749
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtectionGroup AWS API Documentation
|
750
|
+
#
|
751
|
+
# @overload delete_protection_group(params = {})
|
752
|
+
# @param [Hash] params ({})
|
753
|
+
def delete_protection_group(params = {}, options = {})
|
754
|
+
req = build_request(:delete_protection_group, params)
|
755
|
+
req.send_request(options)
|
756
|
+
end
|
757
|
+
|
650
758
|
# Removes AWS Shield Advanced from an account. AWS Shield Advanced
|
651
759
|
# requires a 1-year subscription commitment. You cannot delete a
|
652
760
|
# subscription prior to the completion of that commitment.
|
@@ -729,6 +837,45 @@ module Aws::Shield
|
|
729
837
|
req.send_request(options)
|
730
838
|
end
|
731
839
|
|
840
|
+
# Provides information about the number and type of attacks AWS Shield
|
841
|
+
# has detected in the last year for all resources that belong to your
|
842
|
+
# account, regardless of whether you've defined Shield protections for
|
843
|
+
# them. This operation is available to Shield customers as well as to
|
844
|
+
# Shield Advanced customers.
|
845
|
+
#
|
846
|
+
# The operation returns data for the time range of midnight UTC, one
|
847
|
+
# year ago, to midnight UTC, today. For example, if the current time is
|
848
|
+
# `2020-10-26 15:39:32 PDT`, equal to `2020-10-26 22:39:32 UTC`, then
|
849
|
+
# the time range for the attack data returned is from `2019-10-26
|
850
|
+
# 00:00:00 UTC` to `2020-10-26 00:00:00 UTC`.
|
851
|
+
#
|
852
|
+
# The time range indicates the period covered by the attack statistics
|
853
|
+
# data items.
|
854
|
+
#
|
855
|
+
# @return [Types::DescribeAttackStatisticsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
856
|
+
#
|
857
|
+
# * {Types::DescribeAttackStatisticsResponse#time_range #time_range} => Types::TimeRange
|
858
|
+
# * {Types::DescribeAttackStatisticsResponse#data_items #data_items} => Array<Types::AttackStatisticsDataItem>
|
859
|
+
#
|
860
|
+
# @example Response structure
|
861
|
+
#
|
862
|
+
# resp.time_range.from_inclusive #=> Time
|
863
|
+
# resp.time_range.to_exclusive #=> Time
|
864
|
+
# resp.data_items #=> Array
|
865
|
+
# resp.data_items[0].attack_volume.bits_per_second.max #=> Float
|
866
|
+
# resp.data_items[0].attack_volume.packets_per_second.max #=> Float
|
867
|
+
# resp.data_items[0].attack_volume.requests_per_second.max #=> Float
|
868
|
+
# resp.data_items[0].attack_count #=> Integer
|
869
|
+
#
|
870
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeAttackStatistics AWS API Documentation
|
871
|
+
#
|
872
|
+
# @overload describe_attack_statistics(params = {})
|
873
|
+
# @param [Hash] params ({})
|
874
|
+
def describe_attack_statistics(params = {}, options = {})
|
875
|
+
req = build_request(:describe_attack_statistics, params)
|
876
|
+
req.send_request(options)
|
877
|
+
end
|
878
|
+
|
732
879
|
# Returns the current role and list of Amazon S3 log buckets used by the
|
733
880
|
# DDoS Response Team (DRT) to access your AWS account while assisting
|
734
881
|
# with attack mitigation.
|
@@ -809,6 +956,7 @@ module Aws::Shield
|
|
809
956
|
# resp.protection.resource_arn #=> String
|
810
957
|
# resp.protection.health_check_ids #=> Array
|
811
958
|
# resp.protection.health_check_ids[0] #=> String
|
959
|
+
# resp.protection.protection_arn #=> String
|
812
960
|
#
|
813
961
|
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtection AWS API Documentation
|
814
962
|
#
|
@@ -819,6 +967,42 @@ module Aws::Shield
|
|
819
967
|
req.send_request(options)
|
820
968
|
end
|
821
969
|
|
970
|
+
# Returns the specification for the specified protection group.
|
971
|
+
#
|
972
|
+
# @option params [required, String] :protection_group_id
|
973
|
+
# The name of the protection group. You use this to identify the
|
974
|
+
# protection group in lists and to manage the protection group, for
|
975
|
+
# example to update, delete, or describe it.
|
976
|
+
#
|
977
|
+
# @return [Types::DescribeProtectionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
978
|
+
#
|
979
|
+
# * {Types::DescribeProtectionGroupResponse#protection_group #protection_group} => Types::ProtectionGroup
|
980
|
+
#
|
981
|
+
# @example Request syntax with placeholder values
|
982
|
+
#
|
983
|
+
# resp = client.describe_protection_group({
|
984
|
+
# protection_group_id: "ProtectionGroupId", # required
|
985
|
+
# })
|
986
|
+
#
|
987
|
+
# @example Response structure
|
988
|
+
#
|
989
|
+
# resp.protection_group.protection_group_id #=> String
|
990
|
+
# resp.protection_group.aggregation #=> String, one of "SUM", "MEAN", "MAX"
|
991
|
+
# resp.protection_group.pattern #=> String, one of "ALL", "ARBITRARY", "BY_RESOURCE_TYPE"
|
992
|
+
# 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"
|
993
|
+
# resp.protection_group.members #=> Array
|
994
|
+
# resp.protection_group.members[0] #=> String
|
995
|
+
# resp.protection_group.protection_group_arn #=> String
|
996
|
+
#
|
997
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtectionGroup AWS API Documentation
|
998
|
+
#
|
999
|
+
# @overload describe_protection_group(params = {})
|
1000
|
+
# @param [Hash] params ({})
|
1001
|
+
def describe_protection_group(params = {}, options = {})
|
1002
|
+
req = build_request(:describe_protection_group, params)
|
1003
|
+
req.send_request(options)
|
1004
|
+
end
|
1005
|
+
|
822
1006
|
# Provides details about the AWS Shield Advanced subscription for an
|
823
1007
|
# account.
|
824
1008
|
#
|
@@ -836,6 +1020,12 @@ module Aws::Shield
|
|
836
1020
|
# resp.subscription.limits[0].type #=> String
|
837
1021
|
# resp.subscription.limits[0].max #=> Integer
|
838
1022
|
# resp.subscription.proactive_engagement_status #=> String, one of "ENABLED", "DISABLED", "PENDING"
|
1023
|
+
# resp.subscription.subscription_limits.protection_limits.protected_resource_type_limits #=> Array
|
1024
|
+
# resp.subscription.subscription_limits.protection_limits.protected_resource_type_limits[0].type #=> String
|
1025
|
+
# resp.subscription.subscription_limits.protection_limits.protected_resource_type_limits[0].max #=> Integer
|
1026
|
+
# resp.subscription.subscription_limits.protection_group_limits.max_protection_groups #=> Integer
|
1027
|
+
# resp.subscription.subscription_limits.protection_group_limits.pattern_type_limits.arbitrary_pattern_limits.max_members #=> Integer
|
1028
|
+
# resp.subscription.subscription_arn #=> String
|
839
1029
|
#
|
840
1030
|
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription AWS API Documentation
|
841
1031
|
#
|
@@ -1028,15 +1218,15 @@ module Aws::Shield
|
|
1028
1218
|
# `ListAttacksRequest`. Pass null if this is the first call.
|
1029
1219
|
#
|
1030
1220
|
# @option params [Integer] :max_results
|
1031
|
-
# The maximum number of AttackSummary objects to
|
1032
|
-
#
|
1221
|
+
# The maximum number of AttackSummary objects to return. If you leave
|
1222
|
+
# this blank, Shield Advanced returns the first 20 results.
|
1033
1223
|
#
|
1034
|
-
# This is a maximum value
|
1035
|
-
#
|
1036
|
-
#
|
1037
|
-
#
|
1038
|
-
#
|
1039
|
-
#
|
1224
|
+
# This is a maximum value. Shield Advanced might return the results in
|
1225
|
+
# smaller batches. That is, the number of objects returned could be less
|
1226
|
+
# than `MaxResults`, even if there are still more objects yet to return.
|
1227
|
+
# If there are more objects to return, Shield Advanced returns a value
|
1228
|
+
# in `NextToken` that you can use in your next request, to get the next
|
1229
|
+
# batch of objects.
|
1040
1230
|
#
|
1041
1231
|
# @return [Types::ListAttacksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1042
1232
|
#
|
@@ -1081,6 +1271,58 @@ module Aws::Shield
|
|
1081
1271
|
req.send_request(options)
|
1082
1272
|
end
|
1083
1273
|
|
1274
|
+
# Retrieves the ProtectionGroup objects for the account.
|
1275
|
+
#
|
1276
|
+
# @option params [String] :next_token
|
1277
|
+
# The next token value from a previous call to `ListProtectionGroups`.
|
1278
|
+
# Pass null if this is the first call.
|
1279
|
+
#
|
1280
|
+
# @option params [Integer] :max_results
|
1281
|
+
# The maximum number of ProtectionGroup objects to return. If you leave
|
1282
|
+
# this blank, Shield Advanced returns the first 20 results.
|
1283
|
+
#
|
1284
|
+
# This is a maximum value. Shield Advanced might return the results in
|
1285
|
+
# smaller batches. That is, the number of objects returned could be less
|
1286
|
+
# than `MaxResults`, even if there are still more objects yet to return.
|
1287
|
+
# If there are more objects to return, Shield Advanced returns a value
|
1288
|
+
# in `NextToken` that you can use in your next request, to get the next
|
1289
|
+
# batch of objects.
|
1290
|
+
#
|
1291
|
+
# @return [Types::ListProtectionGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1292
|
+
#
|
1293
|
+
# * {Types::ListProtectionGroupsResponse#protection_groups #protection_groups} => Array<Types::ProtectionGroup>
|
1294
|
+
# * {Types::ListProtectionGroupsResponse#next_token #next_token} => String
|
1295
|
+
#
|
1296
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1297
|
+
#
|
1298
|
+
# @example Request syntax with placeholder values
|
1299
|
+
#
|
1300
|
+
# resp = client.list_protection_groups({
|
1301
|
+
# next_token: "Token",
|
1302
|
+
# max_results: 1,
|
1303
|
+
# })
|
1304
|
+
#
|
1305
|
+
# @example Response structure
|
1306
|
+
#
|
1307
|
+
# resp.protection_groups #=> Array
|
1308
|
+
# resp.protection_groups[0].protection_group_id #=> String
|
1309
|
+
# resp.protection_groups[0].aggregation #=> String, one of "SUM", "MEAN", "MAX"
|
1310
|
+
# resp.protection_groups[0].pattern #=> String, one of "ALL", "ARBITRARY", "BY_RESOURCE_TYPE"
|
1311
|
+
# 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"
|
1312
|
+
# resp.protection_groups[0].members #=> Array
|
1313
|
+
# resp.protection_groups[0].members[0] #=> String
|
1314
|
+
# resp.protection_groups[0].protection_group_arn #=> String
|
1315
|
+
# resp.next_token #=> String
|
1316
|
+
#
|
1317
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtectionGroups AWS API Documentation
|
1318
|
+
#
|
1319
|
+
# @overload list_protection_groups(params = {})
|
1320
|
+
# @param [Hash] params ({})
|
1321
|
+
def list_protection_groups(params = {}, options = {})
|
1322
|
+
req = build_request(:list_protection_groups, params)
|
1323
|
+
req.send_request(options)
|
1324
|
+
end
|
1325
|
+
|
1084
1326
|
# Lists all Protection objects for the account.
|
1085
1327
|
#
|
1086
1328
|
# @option params [String] :next_token
|
@@ -1088,14 +1330,15 @@ module Aws::Shield
|
|
1088
1330
|
# `ListProtections`. Pass null if this is the first call.
|
1089
1331
|
#
|
1090
1332
|
# @option params [Integer] :max_results
|
1091
|
-
# The maximum number of Protection objects to
|
1092
|
-
#
|
1333
|
+
# The maximum number of Protection objects to return. If you leave this
|
1334
|
+
# blank, Shield Advanced returns the first 20 results.
|
1093
1335
|
#
|
1094
|
-
# This is a maximum value
|
1095
|
-
#
|
1096
|
-
#
|
1097
|
-
#
|
1098
|
-
#
|
1336
|
+
# This is a maximum value. Shield Advanced might return the results in
|
1337
|
+
# smaller batches. That is, the number of objects returned could be less
|
1338
|
+
# than `MaxResults`, even if there are still more objects yet to return.
|
1339
|
+
# If there are more objects to return, Shield Advanced returns a value
|
1340
|
+
# in `NextToken` that you can use in your next request, to get the next
|
1341
|
+
# batch of objects.
|
1099
1342
|
#
|
1100
1343
|
# @return [Types::ListProtectionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1101
1344
|
#
|
@@ -1119,6 +1362,7 @@ module Aws::Shield
|
|
1119
1362
|
# resp.protections[0].resource_arn #=> String
|
1120
1363
|
# resp.protections[0].health_check_ids #=> Array
|
1121
1364
|
# resp.protections[0].health_check_ids[0] #=> String
|
1365
|
+
# resp.protections[0].protection_arn #=> String
|
1122
1366
|
# resp.next_token #=> String
|
1123
1367
|
#
|
1124
1368
|
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtections AWS API Documentation
|
@@ -1130,6 +1374,148 @@ module Aws::Shield
|
|
1130
1374
|
req.send_request(options)
|
1131
1375
|
end
|
1132
1376
|
|
1377
|
+
# Retrieves the resources that are included in the protection group.
|
1378
|
+
#
|
1379
|
+
# @option params [required, String] :protection_group_id
|
1380
|
+
# The name of the protection group. You use this to identify the
|
1381
|
+
# protection group in lists and to manage the protection group, for
|
1382
|
+
# example to update, delete, or describe it.
|
1383
|
+
#
|
1384
|
+
# @option params [String] :next_token
|
1385
|
+
# The next token value from a previous call to
|
1386
|
+
# `ListResourcesInProtectionGroup`. Pass null if this is the first call.
|
1387
|
+
#
|
1388
|
+
# @option params [Integer] :max_results
|
1389
|
+
# The maximum number of resource ARN objects to return. If you leave
|
1390
|
+
# this blank, Shield Advanced returns the first 20 results.
|
1391
|
+
#
|
1392
|
+
# This is a maximum value. Shield Advanced might return the results in
|
1393
|
+
# smaller batches. That is, the number of objects returned could be less
|
1394
|
+
# than `MaxResults`, even if there are still more objects yet to return.
|
1395
|
+
# If there are more objects to return, Shield Advanced returns a value
|
1396
|
+
# in `NextToken` that you can use in your next request, to get the next
|
1397
|
+
# batch of objects.
|
1398
|
+
#
|
1399
|
+
# @return [Types::ListResourcesInProtectionGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1400
|
+
#
|
1401
|
+
# * {Types::ListResourcesInProtectionGroupResponse#resource_arns #resource_arns} => Array<String>
|
1402
|
+
# * {Types::ListResourcesInProtectionGroupResponse#next_token #next_token} => String
|
1403
|
+
#
|
1404
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1405
|
+
#
|
1406
|
+
# @example Request syntax with placeholder values
|
1407
|
+
#
|
1408
|
+
# resp = client.list_resources_in_protection_group({
|
1409
|
+
# protection_group_id: "ProtectionGroupId", # required
|
1410
|
+
# next_token: "Token",
|
1411
|
+
# max_results: 1,
|
1412
|
+
# })
|
1413
|
+
#
|
1414
|
+
# @example Response structure
|
1415
|
+
#
|
1416
|
+
# resp.resource_arns #=> Array
|
1417
|
+
# resp.resource_arns[0] #=> String
|
1418
|
+
# resp.next_token #=> String
|
1419
|
+
#
|
1420
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListResourcesInProtectionGroup AWS API Documentation
|
1421
|
+
#
|
1422
|
+
# @overload list_resources_in_protection_group(params = {})
|
1423
|
+
# @param [Hash] params ({})
|
1424
|
+
def list_resources_in_protection_group(params = {}, options = {})
|
1425
|
+
req = build_request(:list_resources_in_protection_group, params)
|
1426
|
+
req.send_request(options)
|
1427
|
+
end
|
1428
|
+
|
1429
|
+
# Gets information about AWS tags for a specified Amazon Resource Name
|
1430
|
+
# (ARN) in AWS Shield.
|
1431
|
+
#
|
1432
|
+
# @option params [required, String] :resource_arn
|
1433
|
+
# The Amazon Resource Name (ARN) of the resource to get tags for.
|
1434
|
+
#
|
1435
|
+
# @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1436
|
+
#
|
1437
|
+
# * {Types::ListTagsForResourceResponse#tags #tags} => Array<Types::Tag>
|
1438
|
+
#
|
1439
|
+
# @example Request syntax with placeholder values
|
1440
|
+
#
|
1441
|
+
# resp = client.list_tags_for_resource({
|
1442
|
+
# resource_arn: "ResourceArn", # required
|
1443
|
+
# })
|
1444
|
+
#
|
1445
|
+
# @example Response structure
|
1446
|
+
#
|
1447
|
+
# resp.tags #=> Array
|
1448
|
+
# resp.tags[0].key #=> String
|
1449
|
+
# resp.tags[0].value #=> String
|
1450
|
+
#
|
1451
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListTagsForResource AWS API Documentation
|
1452
|
+
#
|
1453
|
+
# @overload list_tags_for_resource(params = {})
|
1454
|
+
# @param [Hash] params ({})
|
1455
|
+
def list_tags_for_resource(params = {}, options = {})
|
1456
|
+
req = build_request(:list_tags_for_resource, params)
|
1457
|
+
req.send_request(options)
|
1458
|
+
end
|
1459
|
+
|
1460
|
+
# Adds or updates tags for a resource in AWS Shield.
|
1461
|
+
#
|
1462
|
+
# @option params [required, String] :resource_arn
|
1463
|
+
# The Amazon Resource Name (ARN) of the resource that you want to add or
|
1464
|
+
# update tags for.
|
1465
|
+
#
|
1466
|
+
# @option params [required, Array<Types::Tag>] :tags
|
1467
|
+
# The tags that you want to modify or add to the resource.
|
1468
|
+
#
|
1469
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1470
|
+
#
|
1471
|
+
# @example Request syntax with placeholder values
|
1472
|
+
#
|
1473
|
+
# resp = client.tag_resource({
|
1474
|
+
# resource_arn: "ResourceArn", # required
|
1475
|
+
# tags: [ # required
|
1476
|
+
# {
|
1477
|
+
# key: "TagKey",
|
1478
|
+
# value: "TagValue",
|
1479
|
+
# },
|
1480
|
+
# ],
|
1481
|
+
# })
|
1482
|
+
#
|
1483
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TagResource AWS API Documentation
|
1484
|
+
#
|
1485
|
+
# @overload tag_resource(params = {})
|
1486
|
+
# @param [Hash] params ({})
|
1487
|
+
def tag_resource(params = {}, options = {})
|
1488
|
+
req = build_request(:tag_resource, params)
|
1489
|
+
req.send_request(options)
|
1490
|
+
end
|
1491
|
+
|
1492
|
+
# Removes tags from a resource in AWS Shield.
|
1493
|
+
#
|
1494
|
+
# @option params [required, String] :resource_arn
|
1495
|
+
# The Amazon Resource Name (ARN) of the resource that you want to remove
|
1496
|
+
# tags from.
|
1497
|
+
#
|
1498
|
+
# @option params [required, Array<String>] :tag_keys
|
1499
|
+
# The tag key for each tag that you want to remove from the resource.
|
1500
|
+
#
|
1501
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1502
|
+
#
|
1503
|
+
# @example Request syntax with placeholder values
|
1504
|
+
#
|
1505
|
+
# resp = client.untag_resource({
|
1506
|
+
# resource_arn: "ResourceArn", # required
|
1507
|
+
# tag_keys: ["TagKey"], # required
|
1508
|
+
# })
|
1509
|
+
#
|
1510
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UntagResource AWS API Documentation
|
1511
|
+
#
|
1512
|
+
# @overload untag_resource(params = {})
|
1513
|
+
# @param [Hash] params ({})
|
1514
|
+
def untag_resource(params = {}, options = {})
|
1515
|
+
req = build_request(:untag_resource, params)
|
1516
|
+
req.send_request(options)
|
1517
|
+
end
|
1518
|
+
|
1133
1519
|
# Updates the details of the list of email addresses and phone numbers
|
1134
1520
|
# that the DDoS Response Team (DRT) can use to contact you if you have
|
1135
1521
|
# proactive engagement enabled, for escalations to the DRT and to
|
@@ -1167,6 +1553,71 @@ module Aws::Shield
|
|
1167
1553
|
req.send_request(options)
|
1168
1554
|
end
|
1169
1555
|
|
1556
|
+
# Updates an existing protection group. A protection group is a grouping
|
1557
|
+
# of protected resources so they can be handled as a collective. This
|
1558
|
+
# resource grouping improves the accuracy of detection and reduces false
|
1559
|
+
# positives.
|
1560
|
+
#
|
1561
|
+
# @option params [required, String] :protection_group_id
|
1562
|
+
# The name of the protection group. You use this to identify the
|
1563
|
+
# protection group in lists and to manage the protection group, for
|
1564
|
+
# example to update, delete, or describe it.
|
1565
|
+
#
|
1566
|
+
# @option params [required, String] :aggregation
|
1567
|
+
# Defines how AWS Shield combines resource data for the group in order
|
1568
|
+
# to detect, mitigate, and report events.
|
1569
|
+
#
|
1570
|
+
# * Sum - Use the total traffic across the group. This is a good choice
|
1571
|
+
# for most cases. Examples include Elastic IP addresses for EC2
|
1572
|
+
# instances that scale manually or automatically.
|
1573
|
+
#
|
1574
|
+
# * Mean - Use the average of the traffic across the group. This is a
|
1575
|
+
# good choice for resources that share traffic uniformly. Examples
|
1576
|
+
# include accelerators and load balancers.
|
1577
|
+
#
|
1578
|
+
# * Max - Use the highest traffic from each resource. This is useful for
|
1579
|
+
# resources that don't share traffic and for resources that share
|
1580
|
+
# that traffic in a non-uniform way. Examples include CloudFront
|
1581
|
+
# distributions and origin resources for CloudFront distributions.
|
1582
|
+
#
|
1583
|
+
# @option params [required, String] :pattern
|
1584
|
+
# The criteria to use to choose the protected resources for inclusion in
|
1585
|
+
# the group. You can include all resources that have protections,
|
1586
|
+
# provide a list of resource Amazon Resource Names (ARNs), or include
|
1587
|
+
# all resources of a specified resource type.
|
1588
|
+
#
|
1589
|
+
# @option params [String] :resource_type
|
1590
|
+
# The resource type to include in the protection group. All protected
|
1591
|
+
# resources of this type are included in the protection group. You must
|
1592
|
+
# set this when you set `Pattern` to `BY_RESOURCE_TYPE` and you must not
|
1593
|
+
# set it for any other `Pattern` setting.
|
1594
|
+
#
|
1595
|
+
# @option params [Array<String>] :members
|
1596
|
+
# The Amazon Resource Names (ARNs) of the resources to include in the
|
1597
|
+
# protection group. You must set this when you set `Pattern` to
|
1598
|
+
# `ARBITRARY` and you must not set it for any other `Pattern` setting.
|
1599
|
+
#
|
1600
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1601
|
+
#
|
1602
|
+
# @example Request syntax with placeholder values
|
1603
|
+
#
|
1604
|
+
# resp = client.update_protection_group({
|
1605
|
+
# protection_group_id: "ProtectionGroupId", # required
|
1606
|
+
# aggregation: "SUM", # required, accepts SUM, MEAN, MAX
|
1607
|
+
# pattern: "ALL", # required, accepts ALL, ARBITRARY, BY_RESOURCE_TYPE
|
1608
|
+
# resource_type: "CLOUDFRONT_DISTRIBUTION", # accepts CLOUDFRONT_DISTRIBUTION, ROUTE_53_HOSTED_ZONE, ELASTIC_IP_ALLOCATION, CLASSIC_LOAD_BALANCER, APPLICATION_LOAD_BALANCER, GLOBAL_ACCELERATOR
|
1609
|
+
# members: ["ResourceArn"],
|
1610
|
+
# })
|
1611
|
+
#
|
1612
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateProtectionGroup AWS API Documentation
|
1613
|
+
#
|
1614
|
+
# @overload update_protection_group(params = {})
|
1615
|
+
# @param [Hash] params ({})
|
1616
|
+
def update_protection_group(params = {}, options = {})
|
1617
|
+
req = build_request(:update_protection_group, params)
|
1618
|
+
req.send_request(options)
|
1619
|
+
end
|
1620
|
+
|
1170
1621
|
# Updates the details of an existing subscription. Only enter values for
|
1171
1622
|
# parameters you want to change. Empty parameters are not updated.
|
1172
1623
|
#
|
@@ -1208,7 +1659,7 @@ module Aws::Shield
|
|
1208
1659
|
params: params,
|
1209
1660
|
config: config)
|
1210
1661
|
context[:gem_name] = 'aws-sdk-shield'
|
1211
|
-
context[:gem_version] = '1.
|
1662
|
+
context[:gem_version] = '1.36.0'
|
1212
1663
|
Seahorse::Client::Request.new(handlers, context)
|
1213
1664
|
end
|
1214
1665
|
|