aws-sdk-shield 1.29.0 → 1.34.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/lib/aws-sdk-shield.rb +3 -2
- data/lib/aws-sdk-shield/client.rb +375 -23
- data/lib/aws-sdk-shield/client_api.rb +231 -0
- data/lib/aws-sdk-shield/errors.rb +20 -0
- data/lib/aws-sdk-shield/types.rb +643 -35
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ac82a17cacca4b5a293b83132ff40d0fe0359bdc28c1d97b72d725daf54c599
|
4
|
+
data.tar.gz: 7b8ffa6b55123f76e49085a6bce2b572fb7124ae51e7730ba41dc9210ab65303
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2376b0ecc10e43857687117258e970390860f492a958f987c904546b55b8a0e65b9d52d1791e7a38292b34592688f639914e0df6ab842f362ed4dfc69681b43e
|
7
|
+
data.tar.gz: 7ac5d4cd1e504ba48221131e7025b319a451e0a5a01d5054f416ea2f0e5e493015fabe1cca4a65ef5e0ff1110a87996572bf156cf9b24ed816575354bf6aa007
|
data/lib/aws-sdk-shield.rb
CHANGED
@@ -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
|
-
#
|
48
|
+
# @!group service
|
48
49
|
module Aws::Shield
|
49
50
|
|
50
|
-
GEM_VERSION = '1.
|
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::
|
92
|
-
#
|
105
|
+
# * `Aws::ECSCredentials` - Used for loading credentials from
|
106
|
+
# instances running in ECS.
|
93
107
|
#
|
94
|
-
# * `Aws::
|
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
|
105
|
-
# very aggressive. Construct and pass an instance of
|
106
|
-
# `Aws::InstanceProfileCredentails`
|
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<Types::AttackStatisticsDataItem>
|
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
|
1017
|
-
#
|
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
|
1020
|
-
#
|
1021
|
-
#
|
1022
|
-
#
|
1023
|
-
#
|
1024
|
-
#
|
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<Types::ProtectionGroup>
|
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
|
1077
|
-
#
|
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
|
1080
|
-
#
|
1081
|
-
#
|
1082
|
-
#
|
1083
|
-
#
|
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<String>
|
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.
|
1548
|
+
context[:gem_version] = '1.34.0'
|
1197
1549
|
Seahorse::Client::Request.new(handlers, context)
|
1198
1550
|
end
|
1199
1551
|
|