aws-sdk-shield 1.22.0 → 1.27.1

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
- SHA1:
3
- metadata.gz: bf80c0a4bb5eba49b6f3d3bbac237a8b459c0a6d
4
- data.tar.gz: '018327507ab5013ec326504ce6dbadcfc1fc4677'
2
+ SHA256:
3
+ metadata.gz: ad088fd6dad043fadc94da09bc11bc69b5f8f2495fb8755fd751d6a767fb840c
4
+ data.tar.gz: ea4763f9c1da0f5c84516c7d9d3b7ba5bf6bd213db4724debcf948f5ec55d78b
5
5
  SHA512:
6
- metadata.gz: 45b02384d9db5782d0a73beb9cf8ccf072a3abfc6327154c7ddd3cbc39e5ca3039e2eabc5cb9add3516a9a4a2b1d7fbcc3e7017c5c4c8d7554b2f35ce241aa18
7
- data.tar.gz: a74eacd974c669c16e4a9704fa07d76a668767067974ae93e37a478e2e9e182c6e06c4e4a3e3f05cfbe85737d72c6b6e75eabbe452a325c9148b22c6915c5a7e
6
+ metadata.gz: 7a6dfc2fb22404f6fe07536d052cce02e592f606283d1b1a19210823beceddaff3e93f7b41a9944d345c1fcc19e172724711908f7c459df16ae1959181d08833
7
+ data.tar.gz: 41e5bc1f76945bdd72826287c6ac26eef446a1a4cd623ee7ebfb334c25f49151857bd991ec0fbeff569e984ec313d950171ff3cb8607634f2e25998913a96110
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-shield/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # shield = Aws::Shield::Client.new
28
+ # resp = shield.associate_drt_log_bucket(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from AWS Shield all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from AWS Shield are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::Shield::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all AWS Shield API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-shield/customizations'
42
45
  # @service
43
46
  module Aws::Shield
44
47
 
45
- GEM_VERSION = '1.22.0'
48
+ GEM_VERSION = '1.27.1'
46
49
 
47
50
  end
@@ -24,12 +24,25 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
30
 
30
31
  Aws::Plugins::GlobalConfiguration.add_identifier(:shield)
31
32
 
32
33
  module Aws::Shield
34
+ # An API client for Shield. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::Shield::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
33
46
  class Client < Seahorse::Client::Base
34
47
 
35
48
  include Aws::ClientStubs
@@ -57,6 +70,7 @@ module Aws::Shield
57
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
60
74
  add_plugin(Aws::Plugins::SignatureV4)
61
75
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
62
76
 
@@ -93,7 +107,7 @@ module Aws::Shield
93
107
  # @option options [required, String] :region
94
108
  # The AWS region to connect to. The configured `:region` is
95
109
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
97
111
  #
98
112
  # * `Aws.config[:region]`
99
113
  # * `ENV['AWS_REGION']`
@@ -108,6 +122,12 @@ module Aws::Shield
108
122
  # When set to `true`, a thread polling for endpoints will be running in
109
123
  # the background every 60 secs (default). Defaults to `false`.
110
124
  #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
111
131
  # @option options [Boolean] :client_side_monitoring (false)
112
132
  # When `true`, client-side metrics will be collected for all API requests from
113
133
  # this client.
@@ -132,6 +152,10 @@ module Aws::Shield
132
152
  # When `true`, an attempt is made to coerce request parameters into
133
153
  # the required types.
134
154
  #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
135
159
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
160
  # Set to true to disable SDK automatically adding host prefix
137
161
  # to default service endpoint when available.
@@ -139,7 +163,7 @@ module Aws::Shield
139
163
  # @option options [String] :endpoint
140
164
  # The client endpoint is normally constructed from the `:region`
141
165
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
143
167
  #
144
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +178,7 @@ module Aws::Shield
154
178
  # requests fetching endpoints information. Defaults to 60 sec.
155
179
  #
156
180
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
182
  #
159
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
184
  # The log formatter.
@@ -166,15 +190,29 @@ module Aws::Shield
166
190
  # The Logger instance to send log messages to. If this option
167
191
  # is not set, logging will be disabled.
168
192
  #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
169
199
  # @option options [String] :profile ("default")
170
200
  # Used when loading credentials from the shared credentials file
171
201
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
202
  #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
173
207
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
175
210
  #
176
211
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
178
216
  #
179
217
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
218
  #
@@ -182,11 +220,30 @@ module Aws::Shield
182
220
  # The maximum number of times to retry failed requests. Only
183
221
  # ~ 500 level server errors and certain ~ 400 level client errors
184
222
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
187
226
  #
188
227
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
190
247
  #
191
248
  # @option options [String] :secret_access_key
192
249
  #
@@ -219,16 +276,15 @@ module Aws::Shield
219
276
  # requests through. Formatted like 'http://proxy.com:123'.
220
277
  #
221
278
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
279
+ # seconds to wait when opening a HTTP session before raising a
223
280
  # `Timeout::Error`.
224
281
  #
225
282
  # @option options [Integer] :http_read_timeout (60) The default
226
283
  # number of seconds to wait for response data. This value can
227
- # safely be set
228
- # per-request on the session yeidled by {#session_for}.
284
+ # safely be set per-request on the session.
229
285
  #
230
286
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
287
+ # seconds a connection is allowed to sit idle before it is
232
288
  # considered stale. Stale connections are closed and removed
233
289
  # from the pool before making a request.
234
290
  #
@@ -237,7 +293,7 @@ module Aws::Shield
237
293
  # request body. This option has no effect unless the request has
238
294
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
295
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
296
+ # request on the session.
241
297
  #
242
298
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
299
  # HTTP debug output will be sent to the `:logger`.
@@ -264,7 +320,7 @@ module Aws::Shield
264
320
 
265
321
  # @!group API Operations
266
322
 
267
- # Authorizes the DDoS Response team (DRT) to access the specified Amazon
323
+ # Authorizes the DDoS Response Team (DRT) to access the specified Amazon
268
324
  # S3 bucket containing your AWS WAF logs. You can associate up to 10
269
325
  # Amazon S3 buckets with your subscription.
270
326
  #
@@ -297,7 +353,7 @@ module Aws::Shield
297
353
  req.send_request(options)
298
354
  end
299
355
 
300
- # Authorizes the DDoS Response team (DRT), using the specified role, to
356
+ # Authorizes the DDoS Response Team (DRT), using the specified role, to
301
357
  # access your AWS account to assist with DDoS attack mitigation during
302
358
  # potential attacks. This enables the DRT to inspect your AWS WAF
303
359
  # configuration and create or update AWS WAF rules and web ACLs.
@@ -409,6 +465,63 @@ module Aws::Shield
409
465
  req.send_request(options)
410
466
  end
411
467
 
468
+ # Initializes proactive engagement and sets the list of contacts for the
469
+ # DDoS Response Team (DRT) to use. You must provide at least one phone
470
+ # number in the emergency contact list.
471
+ #
472
+ # After you have initialized proactive engagement using this call, to
473
+ # disable or enable proactive engagement, use the calls
474
+ # `DisableProactiveEngagement` and `EnableProactiveEngagement`.
475
+ #
476
+ # <note markdown="1"> This call defines the list of email addresses and phone numbers that
477
+ # the DDoS Response Team (DRT) can use to contact you for escalations to
478
+ # the DRT and to initiate proactive customer support.
479
+ #
480
+ # The contacts that you provide in the request replace any contacts that
481
+ # were already defined. If you already have contacts defined and want to
482
+ # use them, retrieve the list using `DescribeEmergencyContactSettings`
483
+ # and then provide it to this call.
484
+ #
485
+ # </note>
486
+ #
487
+ # @option params [required, Array<Types::EmergencyContact>] :emergency_contact_list
488
+ # A list of email addresses and phone numbers that the DDoS Response
489
+ # Team (DRT) can use to contact you for escalations to the DRT and to
490
+ # initiate proactive customer support.
491
+ #
492
+ # To enable proactive engagement, the contact list must include at least
493
+ # one phone number.
494
+ #
495
+ # <note markdown="1"> The contacts that you provide here replace any contacts that were
496
+ # already defined. If you already have contacts defined and want to use
497
+ # them, retrieve the list using `DescribeEmergencyContactSettings` and
498
+ # then provide it here.
499
+ #
500
+ # </note>
501
+ #
502
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
503
+ #
504
+ # @example Request syntax with placeholder values
505
+ #
506
+ # resp = client.associate_proactive_engagement_details({
507
+ # emergency_contact_list: [ # required
508
+ # {
509
+ # email_address: "EmailAddress", # required
510
+ # phone_number: "PhoneNumber",
511
+ # contact_notes: "ContactNotes",
512
+ # },
513
+ # ],
514
+ # })
515
+ #
516
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateProactiveEngagementDetails AWS API Documentation
517
+ #
518
+ # @overload associate_proactive_engagement_details(params = {})
519
+ # @param [Hash] params ({})
520
+ def associate_proactive_engagement_details(params = {}, options = {})
521
+ req = build_request(:associate_proactive_engagement_details, params)
522
+ req.send_request(options)
523
+ end
524
+
412
525
  # Enables AWS Shield Advanced for a specific AWS resource. The resource
413
526
  # can be an Amazon CloudFront distribution, Elastic Load Balancing load
414
527
  # balancer, AWS Global Accelerator accelerator, Elastic IP Address, or
@@ -479,26 +592,11 @@ module Aws::Shield
479
592
 
480
593
  # Activates AWS Shield Advanced for an account.
481
594
  #
482
- # As part of this request you can specify `EmergencySettings` that
483
- # automaticaly grant the DDoS response team (DRT) needed permissions to
484
- # assist you during a suspected DDoS attack. For more information see
485
- # [Authorize the DDoS Response Team to Create Rules and Web ACLs on Your
486
- # Behalf][1].
487
- #
488
- # To use the services of the DRT, you must be subscribed to the
489
- # [Business Support plan][2] or the [Enterprise Support plan][3].
490
- #
491
595
  # When you initally create a subscription, your subscription is set to
492
596
  # be automatically renewed at the end of the existing subscription
493
597
  # period. You can change this by submitting an `UpdateSubscription`
494
598
  # request.
495
599
  #
496
- #
497
- #
498
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/authorize-DRT.html
499
- # [2]: https://aws.amazon.com/premiumsupport/business-support/
500
- # [3]: https://aws.amazon.com/premiumsupport/enterprise-support/
501
- #
502
600
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
503
601
  #
504
602
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateSubscription AWS API Documentation
@@ -615,7 +713,7 @@ module Aws::Shield
615
713
  end
616
714
 
617
715
  # Returns the current role and list of Amazon S3 log buckets used by the
618
- # DDoS Response team (DRT) to access your AWS account while assisting
716
+ # DDoS Response Team (DRT) to access your AWS account while assisting
619
717
  # with attack mitigation.
620
718
  #
621
719
  # @return [Types::DescribeDRTAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -638,8 +736,10 @@ module Aws::Shield
638
736
  req.send_request(options)
639
737
  end
640
738
 
641
- # Lists the email addresses that the DRT can use to contact you during a
642
- # suspected attack.
739
+ # A list of email addresses and phone numbers that the DDoS Response
740
+ # Team (DRT) can use to contact you if you have proactive engagement
741
+ # enabled, for escalations to the DRT and to initiate proactive customer
742
+ # support.
643
743
  #
644
744
  # @return [Types::DescribeEmergencyContactSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
645
745
  #
@@ -649,6 +749,8 @@ module Aws::Shield
649
749
  #
650
750
  # resp.emergency_contact_list #=> Array
651
751
  # resp.emergency_contact_list[0].email_address #=> String
752
+ # resp.emergency_contact_list[0].phone_number #=> String
753
+ # resp.emergency_contact_list[0].contact_notes #=> String
652
754
  #
653
755
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeEmergencyContactSettings AWS API Documentation
654
756
  #
@@ -716,6 +818,7 @@ module Aws::Shield
716
818
  # resp.subscription.limits #=> Array
717
819
  # resp.subscription.limits[0].type #=> String
718
820
  # resp.subscription.limits[0].max #=> Integer
821
+ # resp.subscription.proactive_engagement_status #=> String, one of "ENABLED", "DISABLED", "PENDING"
719
822
  #
720
823
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription AWS API Documentation
721
824
  #
@@ -726,7 +829,22 @@ module Aws::Shield
726
829
  req.send_request(options)
727
830
  end
728
831
 
729
- # Removes the DDoS Response team's (DRT) access to the specified Amazon
832
+ # Removes authorization from the DDoS Response Team (DRT) to notify
833
+ # contacts about escalations to the DRT and to initiate proactive
834
+ # customer support.
835
+ #
836
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
837
+ #
838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisableProactiveEngagement AWS API Documentation
839
+ #
840
+ # @overload disable_proactive_engagement(params = {})
841
+ # @param [Hash] params ({})
842
+ def disable_proactive_engagement(params = {}, options = {})
843
+ req = build_request(:disable_proactive_engagement, params)
844
+ req.send_request(options)
845
+ end
846
+
847
+ # Removes the DDoS Response Team's (DRT) access to the specified Amazon
730
848
  # S3 bucket containing your AWS WAF logs.
731
849
  #
732
850
  # To make a `DisassociateDRTLogBucket` request, you must be subscribed
@@ -761,7 +879,7 @@ module Aws::Shield
761
879
  req.send_request(options)
762
880
  end
763
881
 
764
- # Removes the DDoS Response team's (DRT) access to your AWS account.
882
+ # Removes the DDoS Response Team's (DRT) access to your AWS account.
765
883
  #
766
884
  # To make a `DisassociateDRTRole` request, you must be subscribed to the
767
885
  # [Business Support plan][1] or the [Enterprise Support plan][2].
@@ -826,6 +944,21 @@ module Aws::Shield
826
944
  req.send_request(options)
827
945
  end
828
946
 
947
+ # Authorizes the DDoS Response Team (DRT) to use email and phone to
948
+ # notify contacts about escalations to the DRT and to initiate proactive
949
+ # customer support.
950
+ #
951
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
952
+ #
953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EnableProactiveEngagement AWS API Documentation
954
+ #
955
+ # @overload enable_proactive_engagement(params = {})
956
+ # @param [Hash] params ({})
957
+ def enable_proactive_engagement(params = {}, options = {})
958
+ req = build_request(:enable_proactive_engagement, params)
959
+ req.send_request(options)
960
+ end
961
+
829
962
  # Returns the `SubscriptionState`, either `Active` or `Inactive`.
830
963
  #
831
964
  # @return [Types::GetSubscriptionStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -893,6 +1026,8 @@ module Aws::Shield
893
1026
  # * {Types::ListAttacksResponse#attack_summaries #attack_summaries} => Array&lt;Types::AttackSummary&gt;
894
1027
  # * {Types::ListAttacksResponse#next_token #next_token} => String
895
1028
  #
1029
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1030
+ #
896
1031
  # @example Request syntax with placeholder values
897
1032
  #
898
1033
  # resp = client.list_attacks({
@@ -950,6 +1085,8 @@ module Aws::Shield
950
1085
  # * {Types::ListProtectionsResponse#protections #protections} => Array&lt;Types::Protection&gt;
951
1086
  # * {Types::ListProtectionsResponse#next_token #next_token} => String
952
1087
  #
1088
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1089
+ #
953
1090
  # @example Request syntax with placeholder values
954
1091
  #
955
1092
  # resp = client.list_protections({
@@ -976,12 +1113,19 @@ module Aws::Shield
976
1113
  req.send_request(options)
977
1114
  end
978
1115
 
979
- # Updates the details of the list of email addresses that the DRT can
980
- # use to contact you during a suspected attack.
1116
+ # Updates the details of the list of email addresses and phone numbers
1117
+ # that the DDoS Response Team (DRT) can use to contact you if you have
1118
+ # proactive engagement enabled, for escalations to the DRT and to
1119
+ # initiate proactive customer support.
981
1120
  #
982
1121
  # @option params [Array<Types::EmergencyContact>] :emergency_contact_list
983
- # A list of email addresses that the DRT can use to contact you during a
984
- # suspected attack.
1122
+ # A list of email addresses and phone numbers that the DDoS Response
1123
+ # Team (DRT) can use to contact you if you have proactive engagement
1124
+ # enabled, for escalations to the DRT and to initiate proactive customer
1125
+ # support.
1126
+ #
1127
+ # If you have proactive engagement enabled, the contact list must
1128
+ # include at least one phone number.
985
1129
  #
986
1130
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
987
1131
  #
@@ -991,6 +1135,8 @@ module Aws::Shield
991
1135
  # emergency_contact_list: [
992
1136
  # {
993
1137
  # email_address: "EmailAddress", # required
1138
+ # phone_number: "PhoneNumber",
1139
+ # contact_notes: "ContactNotes",
994
1140
  # },
995
1141
  # ],
996
1142
  # })
@@ -1045,7 +1191,7 @@ module Aws::Shield
1045
1191
  params: params,
1046
1192
  config: config)
1047
1193
  context[:gem_name] = 'aws-sdk-shield'
1048
- context[:gem_version] = '1.22.0'
1194
+ context[:gem_version] = '1.27.1'
1049
1195
  Seahorse::Client::Request.new(handlers, context)
1050
1196
  end
1051
1197
 
@@ -19,6 +19,8 @@ module Aws::Shield
19
19
  AssociateDRTRoleResponse = Shapes::StructureShape.new(name: 'AssociateDRTRoleResponse')
20
20
  AssociateHealthCheckRequest = Shapes::StructureShape.new(name: 'AssociateHealthCheckRequest')
21
21
  AssociateHealthCheckResponse = Shapes::StructureShape.new(name: 'AssociateHealthCheckResponse')
22
+ AssociateProactiveEngagementDetailsRequest = Shapes::StructureShape.new(name: 'AssociateProactiveEngagementDetailsRequest')
23
+ AssociateProactiveEngagementDetailsResponse = Shapes::StructureShape.new(name: 'AssociateProactiveEngagementDetailsResponse')
22
24
  AttackDetail = Shapes::StructureShape.new(name: 'AttackDetail')
23
25
  AttackId = Shapes::StringShape.new(name: 'AttackId')
24
26
  AttackLayer = Shapes::StringShape.new(name: 'AttackLayer')
@@ -31,6 +33,7 @@ module Aws::Shield
31
33
  AttackVectorDescription = Shapes::StructureShape.new(name: 'AttackVectorDescription')
32
34
  AttackVectorDescriptionList = Shapes::ListShape.new(name: 'AttackVectorDescriptionList')
33
35
  AutoRenew = Shapes::StringShape.new(name: 'AutoRenew')
36
+ ContactNotes = Shapes::StringShape.new(name: 'ContactNotes')
34
37
  Contributor = Shapes::StructureShape.new(name: 'Contributor')
35
38
  CreateProtectionRequest = Shapes::StructureShape.new(name: 'CreateProtectionRequest')
36
39
  CreateProtectionResponse = Shapes::StructureShape.new(name: 'CreateProtectionResponse')
@@ -50,6 +53,8 @@ module Aws::Shield
50
53
  DescribeProtectionResponse = Shapes::StructureShape.new(name: 'DescribeProtectionResponse')
51
54
  DescribeSubscriptionRequest = Shapes::StructureShape.new(name: 'DescribeSubscriptionRequest')
52
55
  DescribeSubscriptionResponse = Shapes::StructureShape.new(name: 'DescribeSubscriptionResponse')
56
+ DisableProactiveEngagementRequest = Shapes::StructureShape.new(name: 'DisableProactiveEngagementRequest')
57
+ DisableProactiveEngagementResponse = Shapes::StructureShape.new(name: 'DisableProactiveEngagementResponse')
53
58
  DisassociateDRTLogBucketRequest = Shapes::StructureShape.new(name: 'DisassociateDRTLogBucketRequest')
54
59
  DisassociateDRTLogBucketResponse = Shapes::StructureShape.new(name: 'DisassociateDRTLogBucketResponse')
55
60
  DisassociateDRTRoleRequest = Shapes::StructureShape.new(name: 'DisassociateDRTRoleRequest')
@@ -61,6 +66,8 @@ module Aws::Shield
61
66
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
62
67
  EmergencyContact = Shapes::StructureShape.new(name: 'EmergencyContact')
63
68
  EmergencyContactList = Shapes::ListShape.new(name: 'EmergencyContactList')
69
+ EnableProactiveEngagementRequest = Shapes::StructureShape.new(name: 'EnableProactiveEngagementRequest')
70
+ EnableProactiveEngagementResponse = Shapes::StructureShape.new(name: 'EnableProactiveEngagementResponse')
64
71
  GetSubscriptionStateRequest = Shapes::StructureShape.new(name: 'GetSubscriptionStateRequest')
65
72
  GetSubscriptionStateResponse = Shapes::StructureShape.new(name: 'GetSubscriptionStateResponse')
66
73
  HealthCheckArn = Shapes::StringShape.new(name: 'HealthCheckArn')
@@ -90,6 +97,8 @@ module Aws::Shield
90
97
  MitigationList = Shapes::ListShape.new(name: 'MitigationList')
91
98
  NoAssociatedRoleException = Shapes::StructureShape.new(name: 'NoAssociatedRoleException')
92
99
  OptimisticLockException = Shapes::StructureShape.new(name: 'OptimisticLockException')
100
+ PhoneNumber = Shapes::StringShape.new(name: 'PhoneNumber')
101
+ ProactiveEngagementStatus = Shapes::StringShape.new(name: 'ProactiveEngagementStatus')
93
102
  Protection = Shapes::StructureShape.new(name: 'Protection')
94
103
  ProtectionId = Shapes::StringShape.new(name: 'ProtectionId')
95
104
  ProtectionName = Shapes::StringShape.new(name: 'ProtectionName')
@@ -142,6 +151,11 @@ module Aws::Shield
142
151
 
143
152
  AssociateHealthCheckResponse.struct_class = Types::AssociateHealthCheckResponse
144
153
 
154
+ AssociateProactiveEngagementDetailsRequest.add_member(:emergency_contact_list, Shapes::ShapeRef.new(shape: EmergencyContactList, required: true, location_name: "EmergencyContactList"))
155
+ AssociateProactiveEngagementDetailsRequest.struct_class = Types::AssociateProactiveEngagementDetailsRequest
156
+
157
+ AssociateProactiveEngagementDetailsResponse.struct_class = Types::AssociateProactiveEngagementDetailsResponse
158
+
145
159
  AttackDetail.add_member(:attack_id, Shapes::ShapeRef.new(shape: AttackId, location_name: "AttackId"))
146
160
  AttackDetail.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ResourceArn"))
147
161
  AttackDetail.add_member(:sub_resources, Shapes::ShapeRef.new(shape: SubResourceSummaryList, location_name: "SubResources"))
@@ -228,6 +242,10 @@ module Aws::Shield
228
242
  DescribeSubscriptionResponse.add_member(:subscription, Shapes::ShapeRef.new(shape: Subscription, location_name: "Subscription"))
229
243
  DescribeSubscriptionResponse.struct_class = Types::DescribeSubscriptionResponse
230
244
 
245
+ DisableProactiveEngagementRequest.struct_class = Types::DisableProactiveEngagementRequest
246
+
247
+ DisableProactiveEngagementResponse.struct_class = Types::DisableProactiveEngagementResponse
248
+
231
249
  DisassociateDRTLogBucketRequest.add_member(:log_bucket, Shapes::ShapeRef.new(shape: LogBucket, required: true, location_name: "LogBucket"))
232
250
  DisassociateDRTLogBucketRequest.struct_class = Types::DisassociateDRTLogBucketRequest
233
251
 
@@ -244,10 +262,16 @@ module Aws::Shield
244
262
  DisassociateHealthCheckResponse.struct_class = Types::DisassociateHealthCheckResponse
245
263
 
246
264
  EmergencyContact.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location_name: "EmailAddress"))
265
+ EmergencyContact.add_member(:phone_number, Shapes::ShapeRef.new(shape: PhoneNumber, location_name: "PhoneNumber"))
266
+ EmergencyContact.add_member(:contact_notes, Shapes::ShapeRef.new(shape: ContactNotes, location_name: "ContactNotes"))
247
267
  EmergencyContact.struct_class = Types::EmergencyContact
248
268
 
249
269
  EmergencyContactList.member = Shapes::ShapeRef.new(shape: EmergencyContact)
250
270
 
271
+ EnableProactiveEngagementRequest.struct_class = Types::EnableProactiveEngagementRequest
272
+
273
+ EnableProactiveEngagementResponse.struct_class = Types::EnableProactiveEngagementResponse
274
+
251
275
  GetSubscriptionStateRequest.struct_class = Types::GetSubscriptionStateRequest
252
276
 
253
277
  GetSubscriptionStateResponse.add_member(:subscription_state, Shapes::ShapeRef.new(shape: SubscriptionState, required: true, location_name: "SubscriptionState"))
@@ -345,6 +369,7 @@ module Aws::Shield
345
369
  Subscription.add_member(:time_commitment_in_seconds, Shapes::ShapeRef.new(shape: DurationInSeconds, location_name: "TimeCommitmentInSeconds"))
346
370
  Subscription.add_member(:auto_renew, Shapes::ShapeRef.new(shape: AutoRenew, location_name: "AutoRenew"))
347
371
  Subscription.add_member(:limits, Shapes::ShapeRef.new(shape: Limits, location_name: "Limits"))
372
+ Subscription.add_member(:proactive_engagement_status, Shapes::ShapeRef.new(shape: ProactiveEngagementStatus, location_name: "ProactiveEngagementStatus"))
348
373
  Subscription.struct_class = Types::Subscription
349
374
 
350
375
  SummarizedAttackVector.add_member(:vector_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VectorType"))
@@ -441,6 +466,19 @@ module Aws::Shield
441
466
  o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
442
467
  end)
443
468
 
469
+ api.add_operation(:associate_proactive_engagement_details, Seahorse::Model::Operation.new.tap do |o|
470
+ o.name = "AssociateProactiveEngagementDetails"
471
+ o.http_method = "POST"
472
+ o.http_request_uri = "/"
473
+ o.input = Shapes::ShapeRef.new(shape: AssociateProactiveEngagementDetailsRequest)
474
+ o.output = Shapes::ShapeRef.new(shape: AssociateProactiveEngagementDetailsResponse)
475
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
476
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
477
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
478
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
479
+ o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
480
+ end)
481
+
444
482
  api.add_operation(:create_protection, Seahorse::Model::Operation.new.tap do |o|
445
483
  o.name = "CreateProtection"
446
484
  o.http_method = "POST"
@@ -540,6 +578,19 @@ module Aws::Shield
540
578
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
541
579
  end)
542
580
 
581
+ api.add_operation(:disable_proactive_engagement, Seahorse::Model::Operation.new.tap do |o|
582
+ o.name = "DisableProactiveEngagement"
583
+ o.http_method = "POST"
584
+ o.http_request_uri = "/"
585
+ o.input = Shapes::ShapeRef.new(shape: DisableProactiveEngagementRequest)
586
+ o.output = Shapes::ShapeRef.new(shape: DisableProactiveEngagementResponse)
587
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
588
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
589
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
590
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
591
+ o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
592
+ end)
593
+
543
594
  api.add_operation(:disassociate_drt_log_bucket, Seahorse::Model::Operation.new.tap do |o|
544
595
  o.name = "DisassociateDRTLogBucket"
545
596
  o.http_method = "POST"
@@ -578,6 +629,19 @@ module Aws::Shield
578
629
  o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
579
630
  end)
580
631
 
632
+ api.add_operation(:enable_proactive_engagement, Seahorse::Model::Operation.new.tap do |o|
633
+ o.name = "EnableProactiveEngagement"
634
+ o.http_method = "POST"
635
+ o.http_request_uri = "/"
636
+ o.input = Shapes::ShapeRef.new(shape: EnableProactiveEngagementRequest)
637
+ o.output = Shapes::ShapeRef.new(shape: EnableProactiveEngagementResponse)
638
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
639
+ o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
640
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
641
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
642
+ o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
643
+ end)
644
+
581
645
  api.add_operation(:get_subscription_state, Seahorse::Model::Operation.new.tap do |o|
582
646
  o.name = "GetSubscriptionState"
583
647
  o.http_method = "POST"
@@ -596,6 +660,12 @@ module Aws::Shield
596
660
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
597
661
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
598
662
  o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
663
+ o[:pager] = Aws::Pager.new(
664
+ limit_key: "max_results",
665
+ tokens: {
666
+ "next_token" => "next_token"
667
+ }
668
+ )
599
669
  end)
600
670
 
601
671
  api.add_operation(:list_protections, Seahorse::Model::Operation.new.tap do |o|
@@ -607,6 +677,12 @@ module Aws::Shield
607
677
  o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
608
678
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
609
679
  o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
680
+ o[:pager] = Aws::Pager.new(
681
+ limit_key: "max_results",
682
+ tokens: {
683
+ "next_token" => "next_token"
684
+ }
685
+ )
610
686
  end)
611
687
 
612
688
  api.add_operation(:update_emergency_contact_settings, Seahorse::Model::Operation.new.tap do |o|
@@ -6,6 +6,41 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Shield
9
+
10
+ # When Shield returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::Shield::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all Shield errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::Shield::Errors::ServiceError
18
+ # # rescues all Shield API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {AccessDeniedException}
29
+ # * {AccessDeniedForDependencyException}
30
+ # * {InternalErrorException}
31
+ # * {InvalidOperationException}
32
+ # * {InvalidPaginationTokenException}
33
+ # * {InvalidParameterException}
34
+ # * {InvalidResourceException}
35
+ # * {LimitsExceededException}
36
+ # * {LockedSubscriptionException}
37
+ # * {NoAssociatedRoleException}
38
+ # * {OptimisticLockException}
39
+ # * {ResourceAlreadyExistsException}
40
+ # * {ResourceNotFoundException}
41
+ #
42
+ # Additionally, error classes are dynamically generated for service errors based on the error code
43
+ # if they are not defined above.
9
44
  module Errors
10
45
 
11
46
  extend Aws::Errors::DynamicErrors
@@ -23,7 +58,6 @@ module Aws::Shield
23
58
  def message
24
59
  @message || @data[:message]
25
60
  end
26
-
27
61
  end
28
62
 
29
63
  class AccessDeniedForDependencyException < ServiceError
@@ -39,7 +73,6 @@ module Aws::Shield
39
73
  def message
40
74
  @message || @data[:message]
41
75
  end
42
-
43
76
  end
44
77
 
45
78
  class InternalErrorException < ServiceError
@@ -55,7 +88,6 @@ module Aws::Shield
55
88
  def message
56
89
  @message || @data[:message]
57
90
  end
58
-
59
91
  end
60
92
 
61
93
  class InvalidOperationException < ServiceError
@@ -71,7 +103,6 @@ module Aws::Shield
71
103
  def message
72
104
  @message || @data[:message]
73
105
  end
74
-
75
106
  end
76
107
 
77
108
  class InvalidPaginationTokenException < ServiceError
@@ -87,7 +118,6 @@ module Aws::Shield
87
118
  def message
88
119
  @message || @data[:message]
89
120
  end
90
-
91
121
  end
92
122
 
93
123
  class InvalidParameterException < ServiceError
@@ -103,7 +133,6 @@ module Aws::Shield
103
133
  def message
104
134
  @message || @data[:message]
105
135
  end
106
-
107
136
  end
108
137
 
109
138
  class InvalidResourceException < ServiceError
@@ -119,7 +148,6 @@ module Aws::Shield
119
148
  def message
120
149
  @message || @data[:message]
121
150
  end
122
-
123
151
  end
124
152
 
125
153
  class LimitsExceededException < ServiceError
@@ -145,7 +173,6 @@ module Aws::Shield
145
173
  def limit
146
174
  @data[:limit]
147
175
  end
148
-
149
176
  end
150
177
 
151
178
  class LockedSubscriptionException < ServiceError
@@ -161,7 +188,6 @@ module Aws::Shield
161
188
  def message
162
189
  @message || @data[:message]
163
190
  end
164
-
165
191
  end
166
192
 
167
193
  class NoAssociatedRoleException < ServiceError
@@ -177,7 +203,6 @@ module Aws::Shield
177
203
  def message
178
204
  @message || @data[:message]
179
205
  end
180
-
181
206
  end
182
207
 
183
208
  class OptimisticLockException < ServiceError
@@ -193,7 +218,6 @@ module Aws::Shield
193
218
  def message
194
219
  @message || @data[:message]
195
220
  end
196
-
197
221
  end
198
222
 
199
223
  class ResourceAlreadyExistsException < ServiceError
@@ -209,7 +233,6 @@ module Aws::Shield
209
233
  def message
210
234
  @message || @data[:message]
211
235
  end
212
-
213
236
  end
214
237
 
215
238
  class ResourceNotFoundException < ServiceError
@@ -225,7 +248,6 @@ module Aws::Shield
225
248
  def message
226
249
  @message || @data[:message]
227
250
  end
228
-
229
251
  end
230
252
 
231
253
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Shield
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -22,9 +22,9 @@ module Aws::Shield
22
22
  include Aws::Structure
23
23
  end
24
24
 
25
- # In order to grant the necessary access to the DDoS Response Team, the
26
- # user submitting the request must have the `iam:PassRole` permission.
27
- # This error indicates the user did not have the appropriate
25
+ # In order to grant the necessary access to the DDoS Response Team
26
+ # (DRT), the user submitting the request must have the `iam:PassRole`
27
+ # permission. This error indicates the user did not have the appropriate
28
28
  # permissions. For more information, see [Granting a User Permissions to
29
29
  # Pass a Role to an AWS Service][1].
30
30
  #
@@ -126,6 +126,46 @@ module Aws::Shield
126
126
  #
127
127
  class AssociateHealthCheckResponse < Aws::EmptyStructure; end
128
128
 
129
+ # @note When making an API call, you may pass AssociateProactiveEngagementDetailsRequest
130
+ # data as a hash:
131
+ #
132
+ # {
133
+ # emergency_contact_list: [ # required
134
+ # {
135
+ # email_address: "EmailAddress", # required
136
+ # phone_number: "PhoneNumber",
137
+ # contact_notes: "ContactNotes",
138
+ # },
139
+ # ],
140
+ # }
141
+ #
142
+ # @!attribute [rw] emergency_contact_list
143
+ # A list of email addresses and phone numbers that the DDoS Response
144
+ # Team (DRT) can use to contact you for escalations to the DRT and to
145
+ # initiate proactive customer support.
146
+ #
147
+ # To enable proactive engagement, the contact list must include at
148
+ # least one phone number.
149
+ #
150
+ # <note markdown="1"> The contacts that you provide here replace any contacts that were
151
+ # already defined. If you already have contacts defined and want to
152
+ # use them, retrieve the list using `DescribeEmergencyContactSettings`
153
+ # and then provide it here.
154
+ #
155
+ # </note>
156
+ # @return [Array<Types::EmergencyContact>]
157
+ #
158
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateProactiveEngagementDetailsRequest AWS API Documentation
159
+ #
160
+ class AssociateProactiveEngagementDetailsRequest < Struct.new(
161
+ :emergency_contact_list)
162
+ include Aws::Structure
163
+ end
164
+
165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateProactiveEngagementDetailsResponse AWS API Documentation
166
+ #
167
+ class AssociateProactiveEngagementDetailsResponse < Aws::EmptyStructure; end
168
+
129
169
  # The details of a DDoS attack.
130
170
  #
131
171
  # @!attribute [rw] attack_id
@@ -500,8 +540,10 @@ module Aws::Shield
500
540
  class DescribeEmergencyContactSettingsRequest < Aws::EmptyStructure; end
501
541
 
502
542
  # @!attribute [rw] emergency_contact_list
503
- # A list of email addresses that the DRT can use to contact you during
504
- # a suspected attack.
543
+ # A list of email addresses and phone numbers that the DDoS Response
544
+ # Team (DRT) can use to contact you if you have proactive engagement
545
+ # enabled, for escalations to the DRT and to initiate proactive
546
+ # customer support.
505
547
  # @return [Array<Types::EmergencyContact>]
506
548
  #
507
549
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeEmergencyContactSettingsResponse AWS API Documentation
@@ -569,6 +611,16 @@ module Aws::Shield
569
611
  include Aws::Structure
570
612
  end
571
613
 
614
+ # @api private
615
+ #
616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisableProactiveEngagementRequest AWS API Documentation
617
+ #
618
+ class DisableProactiveEngagementRequest < Aws::EmptyStructure; end
619
+
620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisableProactiveEngagementResponse AWS API Documentation
621
+ #
622
+ class DisableProactiveEngagementResponse < Aws::EmptyStructure; end
623
+
572
624
  # @note When making an API call, you may pass DisassociateDRTLogBucketRequest
573
625
  # data as a hash:
574
626
  #
@@ -631,28 +683,50 @@ module Aws::Shield
631
683
  #
632
684
  class DisassociateHealthCheckResponse < Aws::EmptyStructure; end
633
685
 
634
- # Contact information that the DRT can use to contact you during a
635
- # suspected attack.
686
+ # Contact information that the DRT can use to contact you if you have
687
+ # proactive engagement enabled, for escalations to the DRT and to
688
+ # initiate proactive customer support.
636
689
  #
637
690
  # @note When making an API call, you may pass EmergencyContact
638
691
  # data as a hash:
639
692
  #
640
693
  # {
641
694
  # email_address: "EmailAddress", # required
695
+ # phone_number: "PhoneNumber",
696
+ # contact_notes: "ContactNotes",
642
697
  # }
643
698
  #
644
699
  # @!attribute [rw] email_address
645
- # An email address that the DRT can use to contact you during a
646
- # suspected attack.
700
+ # The email address for the contact.
701
+ # @return [String]
702
+ #
703
+ # @!attribute [rw] phone_number
704
+ # The phone number for the contact.
705
+ # @return [String]
706
+ #
707
+ # @!attribute [rw] contact_notes
708
+ # Additional notes regarding the contact.
647
709
  # @return [String]
648
710
  #
649
711
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EmergencyContact AWS API Documentation
650
712
  #
651
713
  class EmergencyContact < Struct.new(
652
- :email_address)
714
+ :email_address,
715
+ :phone_number,
716
+ :contact_notes)
653
717
  include Aws::Structure
654
718
  end
655
719
 
720
+ # @api private
721
+ #
722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EnableProactiveEngagementRequest AWS API Documentation
723
+ #
724
+ class EnableProactiveEngagementRequest < Aws::EmptyStructure; end
725
+
726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EnableProactiveEngagementResponse AWS API Documentation
727
+ #
728
+ class EnableProactiveEngagementResponse < Aws::EmptyStructure; end
729
+
656
730
  # @api private
657
731
  #
658
732
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/GetSubscriptionStateRequest AWS API Documentation
@@ -976,8 +1050,8 @@ module Aws::Shield
976
1050
  include Aws::Structure
977
1051
  end
978
1052
 
979
- # Exception that indicates that the protection state has been modified
980
- # by another client. You can retry the request.
1053
+ # Exception that indicates that the resource state has been modified by
1054
+ # another client. Retrieve the resource and then retry your request.
981
1055
  #
982
1056
  # @!attribute [rw] message
983
1057
  # @return [String]
@@ -1107,6 +1181,19 @@ module Aws::Shield
1107
1181
  # Specifies how many protections of a given type you can create.
1108
1182
  # @return [Array<Types::Limit>]
1109
1183
  #
1184
+ # @!attribute [rw] proactive_engagement_status
1185
+ # If `ENABLED`, the DDoS Response Team (DRT) will use email and phone
1186
+ # to notify contacts about escalations to the DRT and to initiate
1187
+ # proactive customer support.
1188
+ #
1189
+ # If `PENDING`, you have requested proactive engagement and the
1190
+ # request is pending. The status changes to `ENABLED` when your
1191
+ # request is fully processed.
1192
+ #
1193
+ # If `DISABLED`, the DRT will not proactively notify contacts about
1194
+ # escalations or to initiate proactive customer support.
1195
+ # @return [String]
1196
+ #
1110
1197
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/Subscription AWS API Documentation
1111
1198
  #
1112
1199
  class Subscription < Struct.new(
@@ -1114,7 +1201,8 @@ module Aws::Shield
1114
1201
  :end_time,
1115
1202
  :time_commitment_in_seconds,
1116
1203
  :auto_renew,
1117
- :limits)
1204
+ :limits,
1205
+ :proactive_engagement_status)
1118
1206
  include Aws::Structure
1119
1207
  end
1120
1208
 
@@ -1217,13 +1305,20 @@ module Aws::Shield
1217
1305
  # emergency_contact_list: [
1218
1306
  # {
1219
1307
  # email_address: "EmailAddress", # required
1308
+ # phone_number: "PhoneNumber",
1309
+ # contact_notes: "ContactNotes",
1220
1310
  # },
1221
1311
  # ],
1222
1312
  # }
1223
1313
  #
1224
1314
  # @!attribute [rw] emergency_contact_list
1225
- # A list of email addresses that the DRT can use to contact you during
1226
- # a suspected attack.
1315
+ # A list of email addresses and phone numbers that the DDoS Response
1316
+ # Team (DRT) can use to contact you if you have proactive engagement
1317
+ # enabled, for escalations to the DRT and to initiate proactive
1318
+ # customer support.
1319
+ #
1320
+ # If you have proactive engagement enabled, the contact list must
1321
+ # include at least one phone number.
1227
1322
  # @return [Array<Types::EmergencyContact>]
1228
1323
  #
1229
1324
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateEmergencyContactSettingsRequest AWS API Documentation
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-shield
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.22.0
4
+ version: 1.27.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-14 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.71.0
22
+ version: 3.99.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.71.0
32
+ version: 3.99.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.5.2.3
84
+ rubygems_version: 2.7.6.2
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS SDK for Ruby - AWS Shield