aws-sdk-shield 1.25.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab4c1c775ddc9e7eb1d75612ead83ccf3e80dc3d6077b042f5dffa707b9411b4
4
- data.tar.gz: 04a59519bb3f17eb4d59b93b27cbde5d90cafdb85837d61a1d3d7edfca05d2eb
3
+ metadata.gz: d562d25061a6896c4d3012ac213b71d04d07bafe9f2f46881b5a63f353bf2833
4
+ data.tar.gz: b7b0b904731efe4524c06db78ad8c94d17c4aab517532161239a2b244b645c27
5
5
  SHA512:
6
- metadata.gz: 226ac5493ffb7d811ba044e24ea96934f8f9c6cc96ae55575ac2a3a970aa5e247331892fb2750553a7f9e532b0e503c85c1aa8b7cbb669e3992f19a65f8dcdfa
7
- data.tar.gz: 96b63836f50c9c5a0428481bae73e26d409976e9da6abd5669d9d74acf2cc1df1c6746fc9ebc46e9b879d899334cb0a1dc40bd8aff2f82b23cff04a124a57d97
6
+ metadata.gz: 0fc3949723bf67e9323b342cdd47fc56fffd7e2e8d90c6a9b0d88f38803a361ad53ec7f07da6ed50ef3082f9f0b8eef2156d9c8982ca73c7b28d545f5d58ae77
7
+ data.tar.gz: 92fe118ea6d193ee66434137d5eebe23b07b44d51c9ea2d545561822e7ff4d36bcce0281375e26be0cde27d95edd9972ef58f375ffe13f2c7c8bc15efbbf8828
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-shield/customizations'
45
45
  # @service
46
46
  module Aws::Shield
47
47
 
48
- GEM_VERSION = '1.25.0'
48
+ GEM_VERSION = '1.26.0'
49
49
 
50
50
  end
@@ -318,7 +318,7 @@ module Aws::Shield
318
318
 
319
319
  # @!group API Operations
320
320
 
321
- # Authorizes the DDoS Response team (DRT) to access the specified Amazon
321
+ # Authorizes the DDoS Response Team (DRT) to access the specified Amazon
322
322
  # S3 bucket containing your AWS WAF logs. You can associate up to 10
323
323
  # Amazon S3 buckets with your subscription.
324
324
  #
@@ -351,7 +351,7 @@ module Aws::Shield
351
351
  req.send_request(options)
352
352
  end
353
353
 
354
- # Authorizes the DDoS Response team (DRT), using the specified role, to
354
+ # Authorizes the DDoS Response Team (DRT), using the specified role, to
355
355
  # access your AWS account to assist with DDoS attack mitigation during
356
356
  # potential attacks. This enables the DRT to inspect your AWS WAF
357
357
  # configuration and create or update AWS WAF rules and web ACLs.
@@ -463,6 +463,63 @@ module Aws::Shield
463
463
  req.send_request(options)
464
464
  end
465
465
 
466
+ # Initializes proactive engagement and sets the list of contacts for the
467
+ # DDoS Response Team (DRT) to use. You must provide at least one phone
468
+ # number in the emergency contact list.
469
+ #
470
+ # After you have initialized proactive engagement using this call, to
471
+ # disable or enable proactive engagement, use the calls
472
+ # `DisableProactiveEngagement` and `EnableProactiveEngagement`.
473
+ #
474
+ # <note markdown="1"> This call defines the list of email addresses and phone numbers that
475
+ # the DDoS Response Team (DRT) can use to contact you for escalations to
476
+ # the DRT and to initiate proactive customer support.
477
+ #
478
+ # The contacts that you provide in the request replace any contacts that
479
+ # were already defined. If you already have contacts defined and want to
480
+ # use them, retrieve the list using `DescribeEmergencyContactSettings`
481
+ # and then provide it to this call.
482
+ #
483
+ # </note>
484
+ #
485
+ # @option params [required, Array<Types::EmergencyContact>] :emergency_contact_list
486
+ # A list of email addresses and phone numbers that the DDoS Response
487
+ # Team (DRT) can use to contact you for escalations to the DRT and to
488
+ # initiate proactive customer support.
489
+ #
490
+ # To enable proactive engagement, the contact list must include at least
491
+ # one phone number.
492
+ #
493
+ # <note markdown="1"> The contacts that you provide here replace any contacts that were
494
+ # already defined. If you already have contacts defined and want to use
495
+ # them, retrieve the list using `DescribeEmergencyContactSettings` and
496
+ # then provide it here.
497
+ #
498
+ # </note>
499
+ #
500
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
501
+ #
502
+ # @example Request syntax with placeholder values
503
+ #
504
+ # resp = client.associate_proactive_engagement_details({
505
+ # emergency_contact_list: [ # required
506
+ # {
507
+ # email_address: "EmailAddress", # required
508
+ # phone_number: "PhoneNumber",
509
+ # contact_notes: "ContactNotes",
510
+ # },
511
+ # ],
512
+ # })
513
+ #
514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateProactiveEngagementDetails AWS API Documentation
515
+ #
516
+ # @overload associate_proactive_engagement_details(params = {})
517
+ # @param [Hash] params ({})
518
+ def associate_proactive_engagement_details(params = {}, options = {})
519
+ req = build_request(:associate_proactive_engagement_details, params)
520
+ req.send_request(options)
521
+ end
522
+
466
523
  # Enables AWS Shield Advanced for a specific AWS resource. The resource
467
524
  # can be an Amazon CloudFront distribution, Elastic Load Balancing load
468
525
  # balancer, AWS Global Accelerator accelerator, Elastic IP Address, or
@@ -669,7 +726,7 @@ module Aws::Shield
669
726
  end
670
727
 
671
728
  # Returns the current role and list of Amazon S3 log buckets used by the
672
- # DDoS Response team (DRT) to access your AWS account while assisting
729
+ # DDoS Response Team (DRT) to access your AWS account while assisting
673
730
  # with attack mitigation.
674
731
  #
675
732
  # @return [Types::DescribeDRTAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -692,8 +749,10 @@ module Aws::Shield
692
749
  req.send_request(options)
693
750
  end
694
751
 
695
- # Lists the email addresses that the DRT can use to contact you during a
696
- # suspected attack.
752
+ # A list of email addresses and phone numbers that the DDoS Response
753
+ # Team (DRT) can use to contact you if you have proactive engagement
754
+ # enabled, for escalations to the DRT and to initiate proactive customer
755
+ # support.
697
756
  #
698
757
  # @return [Types::DescribeEmergencyContactSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
699
758
  #
@@ -703,6 +762,8 @@ module Aws::Shield
703
762
  #
704
763
  # resp.emergency_contact_list #=> Array
705
764
  # resp.emergency_contact_list[0].email_address #=> String
765
+ # resp.emergency_contact_list[0].phone_number #=> String
766
+ # resp.emergency_contact_list[0].contact_notes #=> String
706
767
  #
707
768
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeEmergencyContactSettings AWS API Documentation
708
769
  #
@@ -770,6 +831,7 @@ module Aws::Shield
770
831
  # resp.subscription.limits #=> Array
771
832
  # resp.subscription.limits[0].type #=> String
772
833
  # resp.subscription.limits[0].max #=> Integer
834
+ # resp.subscription.proactive_engagement_status #=> String, one of "ENABLED", "DISABLED", "PENDING"
773
835
  #
774
836
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription AWS API Documentation
775
837
  #
@@ -780,7 +842,22 @@ module Aws::Shield
780
842
  req.send_request(options)
781
843
  end
782
844
 
783
- # Removes the DDoS Response team's (DRT) access to the specified Amazon
845
+ # Removes authorization from the DDoS Response Team (DRT) to notify
846
+ # contacts about escalations to the DRT and to initiate proactive
847
+ # customer support.
848
+ #
849
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
850
+ #
851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisableProactiveEngagement AWS API Documentation
852
+ #
853
+ # @overload disable_proactive_engagement(params = {})
854
+ # @param [Hash] params ({})
855
+ def disable_proactive_engagement(params = {}, options = {})
856
+ req = build_request(:disable_proactive_engagement, params)
857
+ req.send_request(options)
858
+ end
859
+
860
+ # Removes the DDoS Response Team's (DRT) access to the specified Amazon
784
861
  # S3 bucket containing your AWS WAF logs.
785
862
  #
786
863
  # To make a `DisassociateDRTLogBucket` request, you must be subscribed
@@ -815,7 +892,7 @@ module Aws::Shield
815
892
  req.send_request(options)
816
893
  end
817
894
 
818
- # Removes the DDoS Response team's (DRT) access to your AWS account.
895
+ # Removes the DDoS Response Team's (DRT) access to your AWS account.
819
896
  #
820
897
  # To make a `DisassociateDRTRole` request, you must be subscribed to the
821
898
  # [Business Support plan][1] or the [Enterprise Support plan][2].
@@ -880,6 +957,21 @@ module Aws::Shield
880
957
  req.send_request(options)
881
958
  end
882
959
 
960
+ # Authorizes the DDoS Response Team (DRT) to use email and phone to
961
+ # notify contacts about escalations to the DRT and to initiate proactive
962
+ # customer support.
963
+ #
964
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
965
+ #
966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EnableProactiveEngagement AWS API Documentation
967
+ #
968
+ # @overload enable_proactive_engagement(params = {})
969
+ # @param [Hash] params ({})
970
+ def enable_proactive_engagement(params = {}, options = {})
971
+ req = build_request(:enable_proactive_engagement, params)
972
+ req.send_request(options)
973
+ end
974
+
883
975
  # Returns the `SubscriptionState`, either `Active` or `Inactive`.
884
976
  #
885
977
  # @return [Types::GetSubscriptionStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -947,6 +1039,8 @@ module Aws::Shield
947
1039
  # * {Types::ListAttacksResponse#attack_summaries #attack_summaries} => Array&lt;Types::AttackSummary&gt;
948
1040
  # * {Types::ListAttacksResponse#next_token #next_token} => String
949
1041
  #
1042
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1043
+ #
950
1044
  # @example Request syntax with placeholder values
951
1045
  #
952
1046
  # resp = client.list_attacks({
@@ -1004,6 +1098,8 @@ module Aws::Shield
1004
1098
  # * {Types::ListProtectionsResponse#protections #protections} => Array&lt;Types::Protection&gt;
1005
1099
  # * {Types::ListProtectionsResponse#next_token #next_token} => String
1006
1100
  #
1101
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1102
+ #
1007
1103
  # @example Request syntax with placeholder values
1008
1104
  #
1009
1105
  # resp = client.list_protections({
@@ -1030,12 +1126,19 @@ module Aws::Shield
1030
1126
  req.send_request(options)
1031
1127
  end
1032
1128
 
1033
- # Updates the details of the list of email addresses that the DRT can
1034
- # use to contact you during a suspected attack.
1129
+ # Updates the details of the list of email addresses and phone numbers
1130
+ # that the DDoS Response Team (DRT) can use to contact you if you have
1131
+ # proactive engagement enabled, for escalations to the DRT and to
1132
+ # initiate proactive customer support.
1035
1133
  #
1036
1134
  # @option params [Array<Types::EmergencyContact>] :emergency_contact_list
1037
- # A list of email addresses that the DRT can use to contact you during a
1038
- # suspected attack.
1135
+ # A list of email addresses and phone numbers that the DDoS Response
1136
+ # Team (DRT) can use to contact you if you have proactive engagement
1137
+ # enabled, for escalations to the DRT and to initiate proactive customer
1138
+ # support.
1139
+ #
1140
+ # If you have proactive engagement enabled, the contact list must
1141
+ # include at least one phone number.
1039
1142
  #
1040
1143
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1041
1144
  #
@@ -1045,6 +1148,8 @@ module Aws::Shield
1045
1148
  # emergency_contact_list: [
1046
1149
  # {
1047
1150
  # email_address: "EmailAddress", # required
1151
+ # phone_number: "PhoneNumber",
1152
+ # contact_notes: "ContactNotes",
1048
1153
  # },
1049
1154
  # ],
1050
1155
  # })
@@ -1099,7 +1204,7 @@ module Aws::Shield
1099
1204
  params: params,
1100
1205
  config: config)
1101
1206
  context[:gem_name] = 'aws-sdk-shield'
1102
- context[:gem_version] = '1.25.0'
1207
+ context[:gem_version] = '1.26.0'
1103
1208
  Seahorse::Client::Request.new(handlers, context)
1104
1209
  end
1105
1210
 
@@ -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|
@@ -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.25.0
4
+ version: 1.26.0
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-05-28 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core