aws-sdk-shield 1.22.0 → 1.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- 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