aws-sdk-shield 1.21.0 → 1.22.0

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
2
  SHA1:
3
- metadata.gz: bf2b5f4ed8603990312668c846eef13010164bba
4
- data.tar.gz: a2e77785b00ae370b183bc2ed61b250450bb1f88
3
+ metadata.gz: bf80c0a4bb5eba49b6f3d3bbac237a8b459c0a6d
4
+ data.tar.gz: '018327507ab5013ec326504ce6dbadcfc1fc4677'
5
5
  SHA512:
6
- metadata.gz: 0ee0bbb44f33eb330beecda84f3aaa8ddcfde86c277f197c721e01e36aef2d8ac3a2f539deac47d869e385aafd19fb5ead690f7e4cb05cd4231eb2284e84805c
7
- data.tar.gz: 364f60d68c47e5abfb8015519b45ecf9f780acf11601b1e09c4cd6de653eb214a7c579d2680c249e2329d71b163311b04e3999deb6c976b3a54445f5360507e8
6
+ metadata.gz: 45b02384d9db5782d0a73beb9cf8ccf072a3abfc6327154c7ddd3cbc39e5ca3039e2eabc5cb9add3516a9a4a2b1d7fbcc3e7017c5c4c8d7554b2f35ce241aa18
7
+ data.tar.gz: a74eacd974c669c16e4a9704fa07d76a668767067974ae93e37a478e2e9e182c6e06c4e4a3e3f05cfbe85737d72c6b6e75eabbe452a325c9148b22c6915c5a7e
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-shield/customizations'
42
42
  # @service
43
43
  module Aws::Shield
44
44
 
45
- GEM_VERSION = '1.21.0'
45
+ GEM_VERSION = '1.22.0'
46
46
 
47
47
  end
@@ -368,6 +368,47 @@ module Aws::Shield
368
368
  req.send_request(options)
369
369
  end
370
370
 
371
+ # Adds health-based detection to the Shield Advanced protection for a
372
+ # resource. Shield Advanced health-based detection uses the health of
373
+ # your AWS resource to improve responsiveness and accuracy in attack
374
+ # detection and mitigation.
375
+ #
376
+ # You define the health check in Route 53 and then associate it with
377
+ # your Shield Advanced protection. For more information, see [Shield
378
+ # Advanced Health-Based Detection][1] in the [AWS WAF and AWS Shield
379
+ # Developer Guide][2].
380
+ #
381
+ #
382
+ #
383
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option
384
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/
385
+ #
386
+ # @option params [required, String] :protection_id
387
+ # The unique identifier (ID) for the Protection object to add the health
388
+ # check association to.
389
+ #
390
+ # @option params [required, String] :health_check_arn
391
+ # The Amazon Resource Name (ARN) of the health check to associate with
392
+ # the protection.
393
+ #
394
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
395
+ #
396
+ # @example Request syntax with placeholder values
397
+ #
398
+ # resp = client.associate_health_check({
399
+ # protection_id: "ProtectionId", # required
400
+ # health_check_arn: "HealthCheckArn", # required
401
+ # })
402
+ #
403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateHealthCheck AWS API Documentation
404
+ #
405
+ # @overload associate_health_check(params = {})
406
+ # @param [Hash] params ({})
407
+ def associate_health_check(params = {}, options = {})
408
+ req = build_request(:associate_health_check, params)
409
+ req.send_request(options)
410
+ end
411
+
371
412
  # Enables AWS Shield Advanced for a specific AWS resource. The resource
372
413
  # can be an Amazon CloudFront distribution, Elastic Load Balancing load
373
414
  # balancer, AWS Global Accelerator accelerator, Elastic IP Address, or
@@ -647,6 +688,8 @@ module Aws::Shield
647
688
  # resp.protection.id #=> String
648
689
  # resp.protection.name #=> String
649
690
  # resp.protection.resource_arn #=> String
691
+ # resp.protection.health_check_ids #=> Array
692
+ # resp.protection.health_check_ids[0] #=> String
650
693
  #
651
694
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtection AWS API Documentation
652
695
  #
@@ -742,6 +785,47 @@ module Aws::Shield
742
785
  req.send_request(options)
743
786
  end
744
787
 
788
+ # Removes health-based detection from the Shield Advanced protection for
789
+ # a resource. Shield Advanced health-based detection uses the health of
790
+ # your AWS resource to improve responsiveness and accuracy in attack
791
+ # detection and mitigation.
792
+ #
793
+ # You define the health check in Route 53 and then associate or
794
+ # disassociate it with your Shield Advanced protection. For more
795
+ # information, see [Shield Advanced Health-Based Detection][1] in the
796
+ # [AWS WAF and AWS Shield Developer Guide][2].
797
+ #
798
+ #
799
+ #
800
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option
801
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/
802
+ #
803
+ # @option params [required, String] :protection_id
804
+ # The unique identifier (ID) for the Protection object to remove the
805
+ # health check association from.
806
+ #
807
+ # @option params [required, String] :health_check_arn
808
+ # The Amazon Resource Name (ARN) of the health check that is associated
809
+ # with the protection.
810
+ #
811
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
812
+ #
813
+ # @example Request syntax with placeholder values
814
+ #
815
+ # resp = client.disassociate_health_check({
816
+ # protection_id: "ProtectionId", # required
817
+ # health_check_arn: "HealthCheckArn", # required
818
+ # })
819
+ #
820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateHealthCheck AWS API Documentation
821
+ #
822
+ # @overload disassociate_health_check(params = {})
823
+ # @param [Hash] params ({})
824
+ def disassociate_health_check(params = {}, options = {})
825
+ req = build_request(:disassociate_health_check, params)
826
+ req.send_request(options)
827
+ end
828
+
745
829
  # Returns the `SubscriptionState`, either `Active` or `Inactive`.
746
830
  #
747
831
  # @return [Types::GetSubscriptionStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -879,6 +963,8 @@ module Aws::Shield
879
963
  # resp.protections[0].id #=> String
880
964
  # resp.protections[0].name #=> String
881
965
  # resp.protections[0].resource_arn #=> String
966
+ # resp.protections[0].health_check_ids #=> Array
967
+ # resp.protections[0].health_check_ids[0] #=> String
882
968
  # resp.next_token #=> String
883
969
  #
884
970
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtections AWS API Documentation
@@ -959,7 +1045,7 @@ module Aws::Shield
959
1045
  params: params,
960
1046
  config: config)
961
1047
  context[:gem_name] = 'aws-sdk-shield'
962
- context[:gem_version] = '1.21.0'
1048
+ context[:gem_version] = '1.22.0'
963
1049
  Seahorse::Client::Request.new(handlers, context)
964
1050
  end
965
1051
 
@@ -17,6 +17,8 @@ module Aws::Shield
17
17
  AssociateDRTLogBucketResponse = Shapes::StructureShape.new(name: 'AssociateDRTLogBucketResponse')
18
18
  AssociateDRTRoleRequest = Shapes::StructureShape.new(name: 'AssociateDRTRoleRequest')
19
19
  AssociateDRTRoleResponse = Shapes::StructureShape.new(name: 'AssociateDRTRoleResponse')
20
+ AssociateHealthCheckRequest = Shapes::StructureShape.new(name: 'AssociateHealthCheckRequest')
21
+ AssociateHealthCheckResponse = Shapes::StructureShape.new(name: 'AssociateHealthCheckResponse')
20
22
  AttackDetail = Shapes::StructureShape.new(name: 'AttackDetail')
21
23
  AttackId = Shapes::StringShape.new(name: 'AttackId')
22
24
  AttackLayer = Shapes::StringShape.new(name: 'AttackLayer')
@@ -52,6 +54,8 @@ module Aws::Shield
52
54
  DisassociateDRTLogBucketResponse = Shapes::StructureShape.new(name: 'DisassociateDRTLogBucketResponse')
53
55
  DisassociateDRTRoleRequest = Shapes::StructureShape.new(name: 'DisassociateDRTRoleRequest')
54
56
  DisassociateDRTRoleResponse = Shapes::StructureShape.new(name: 'DisassociateDRTRoleResponse')
57
+ DisassociateHealthCheckRequest = Shapes::StructureShape.new(name: 'DisassociateHealthCheckRequest')
58
+ DisassociateHealthCheckResponse = Shapes::StructureShape.new(name: 'DisassociateHealthCheckResponse')
55
59
  Double = Shapes::FloatShape.new(name: 'Double')
56
60
  DurationInSeconds = Shapes::IntegerShape.new(name: 'DurationInSeconds')
57
61
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
@@ -59,6 +63,9 @@ module Aws::Shield
59
63
  EmergencyContactList = Shapes::ListShape.new(name: 'EmergencyContactList')
60
64
  GetSubscriptionStateRequest = Shapes::StructureShape.new(name: 'GetSubscriptionStateRequest')
61
65
  GetSubscriptionStateResponse = Shapes::StructureShape.new(name: 'GetSubscriptionStateResponse')
66
+ HealthCheckArn = Shapes::StringShape.new(name: 'HealthCheckArn')
67
+ HealthCheckId = Shapes::StringShape.new(name: 'HealthCheckId')
68
+ HealthCheckIds = Shapes::ListShape.new(name: 'HealthCheckIds')
62
69
  Integer = Shapes::IntegerShape.new(name: 'Integer')
63
70
  InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
64
71
  InvalidOperationException = Shapes::StructureShape.new(name: 'InvalidOperationException')
@@ -129,6 +136,12 @@ module Aws::Shield
129
136
 
130
137
  AssociateDRTRoleResponse.struct_class = Types::AssociateDRTRoleResponse
131
138
 
139
+ AssociateHealthCheckRequest.add_member(:protection_id, Shapes::ShapeRef.new(shape: ProtectionId, required: true, location_name: "ProtectionId"))
140
+ AssociateHealthCheckRequest.add_member(:health_check_arn, Shapes::ShapeRef.new(shape: HealthCheckArn, required: true, location_name: "HealthCheckArn"))
141
+ AssociateHealthCheckRequest.struct_class = Types::AssociateHealthCheckRequest
142
+
143
+ AssociateHealthCheckResponse.struct_class = Types::AssociateHealthCheckResponse
144
+
132
145
  AttackDetail.add_member(:attack_id, Shapes::ShapeRef.new(shape: AttackId, location_name: "AttackId"))
133
146
  AttackDetail.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ResourceArn"))
134
147
  AttackDetail.add_member(:sub_resources, Shapes::ShapeRef.new(shape: SubResourceSummaryList, location_name: "SubResources"))
@@ -224,6 +237,12 @@ module Aws::Shield
224
237
 
225
238
  DisassociateDRTRoleResponse.struct_class = Types::DisassociateDRTRoleResponse
226
239
 
240
+ DisassociateHealthCheckRequest.add_member(:protection_id, Shapes::ShapeRef.new(shape: ProtectionId, required: true, location_name: "ProtectionId"))
241
+ DisassociateHealthCheckRequest.add_member(:health_check_arn, Shapes::ShapeRef.new(shape: HealthCheckArn, required: true, location_name: "HealthCheckArn"))
242
+ DisassociateHealthCheckRequest.struct_class = Types::DisassociateHealthCheckRequest
243
+
244
+ DisassociateHealthCheckResponse.struct_class = Types::DisassociateHealthCheckResponse
245
+
227
246
  EmergencyContact.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location_name: "EmailAddress"))
228
247
  EmergencyContact.struct_class = Types::EmergencyContact
229
248
 
@@ -234,6 +253,8 @@ module Aws::Shield
234
253
  GetSubscriptionStateResponse.add_member(:subscription_state, Shapes::ShapeRef.new(shape: SubscriptionState, required: true, location_name: "SubscriptionState"))
235
254
  GetSubscriptionStateResponse.struct_class = Types::GetSubscriptionStateResponse
236
255
 
256
+ HealthCheckIds.member = Shapes::ShapeRef.new(shape: HealthCheckId)
257
+
237
258
  InternalErrorException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
238
259
  InternalErrorException.struct_class = Types::InternalErrorException
239
260
 
@@ -298,6 +319,7 @@ module Aws::Shield
298
319
  Protection.add_member(:id, Shapes::ShapeRef.new(shape: ProtectionId, location_name: "Id"))
299
320
  Protection.add_member(:name, Shapes::ShapeRef.new(shape: ProtectionName, location_name: "Name"))
300
321
  Protection.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ResourceArn"))
322
+ Protection.add_member(:health_check_ids, Shapes::ShapeRef.new(shape: HealthCheckIds, location_name: "HealthCheckIds"))
301
323
  Protection.struct_class = Types::Protection
302
324
 
303
325
  Protections.member = Shapes::ShapeRef.new(shape: Protection)
@@ -406,6 +428,19 @@ module Aws::Shield
406
428
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
407
429
  end)
408
430
 
431
+ api.add_operation(:associate_health_check, Seahorse::Model::Operation.new.tap do |o|
432
+ o.name = "AssociateHealthCheck"
433
+ o.http_method = "POST"
434
+ o.http_request_uri = "/"
435
+ o.input = Shapes::ShapeRef.new(shape: AssociateHealthCheckRequest)
436
+ o.output = Shapes::ShapeRef.new(shape: AssociateHealthCheckResponse)
437
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
438
+ o.errors << Shapes::ShapeRef.new(shape: LimitsExceededException)
439
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
440
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
441
+ o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
442
+ end)
443
+
409
444
  api.add_operation(:create_protection, Seahorse::Model::Operation.new.tap do |o|
410
445
  o.name = "CreateProtection"
411
446
  o.http_method = "POST"
@@ -531,6 +566,18 @@ module Aws::Shield
531
566
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
532
567
  end)
533
568
 
569
+ api.add_operation(:disassociate_health_check, Seahorse::Model::Operation.new.tap do |o|
570
+ o.name = "DisassociateHealthCheck"
571
+ o.http_method = "POST"
572
+ o.http_request_uri = "/"
573
+ o.input = Shapes::ShapeRef.new(shape: DisassociateHealthCheckRequest)
574
+ o.output = Shapes::ShapeRef.new(shape: DisassociateHealthCheckResponse)
575
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
576
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
577
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
578
+ o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
579
+ end)
580
+
534
581
  api.add_operation(:get_subscription_state, Seahorse::Model::Operation.new.tap do |o|
535
582
  o.name = "GetSubscriptionState"
536
583
  o.http_method = "POST"
@@ -23,8 +23,8 @@ module Aws::Shield
23
23
  end
24
24
 
25
25
  # In order to grant the necessary access to the DDoS Response Team, the
26
- # user submitting `AssociateDRTRole` must have the `iam:PassRole`
27
- # permission. This error indicates the user did not have the appropriate
26
+ # user submitting the request must have the `iam:PassRole` permission.
27
+ # 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
  #
@@ -96,6 +96,36 @@ module Aws::Shield
96
96
  #
97
97
  class AssociateDRTRoleResponse < Aws::EmptyStructure; end
98
98
 
99
+ # @note When making an API call, you may pass AssociateHealthCheckRequest
100
+ # data as a hash:
101
+ #
102
+ # {
103
+ # protection_id: "ProtectionId", # required
104
+ # health_check_arn: "HealthCheckArn", # required
105
+ # }
106
+ #
107
+ # @!attribute [rw] protection_id
108
+ # The unique identifier (ID) for the Protection object to add the
109
+ # health check association to.
110
+ # @return [String]
111
+ #
112
+ # @!attribute [rw] health_check_arn
113
+ # The Amazon Resource Name (ARN) of the health check to associate with
114
+ # the protection.
115
+ # @return [String]
116
+ #
117
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateHealthCheckRequest AWS API Documentation
118
+ #
119
+ class AssociateHealthCheckRequest < Struct.new(
120
+ :protection_id,
121
+ :health_check_arn)
122
+ include Aws::Structure
123
+ end
124
+
125
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateHealthCheckResponse AWS API Documentation
126
+ #
127
+ class AssociateHealthCheckResponse < Aws::EmptyStructure; end
128
+
99
129
  # The details of a DDoS attack.
100
130
  #
101
131
  # @!attribute [rw] attack_id
@@ -571,6 +601,36 @@ module Aws::Shield
571
601
  #
572
602
  class DisassociateDRTRoleResponse < Aws::EmptyStructure; end
573
603
 
604
+ # @note When making an API call, you may pass DisassociateHealthCheckRequest
605
+ # data as a hash:
606
+ #
607
+ # {
608
+ # protection_id: "ProtectionId", # required
609
+ # health_check_arn: "HealthCheckArn", # required
610
+ # }
611
+ #
612
+ # @!attribute [rw] protection_id
613
+ # The unique identifier (ID) for the Protection object to remove the
614
+ # health check association from.
615
+ # @return [String]
616
+ #
617
+ # @!attribute [rw] health_check_arn
618
+ # The Amazon Resource Name (ARN) of the health check that is
619
+ # associated with the protection.
620
+ # @return [String]
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateHealthCheckRequest AWS API Documentation
623
+ #
624
+ class DisassociateHealthCheckRequest < Struct.new(
625
+ :protection_id,
626
+ :health_check_arn)
627
+ include Aws::Structure
628
+ end
629
+
630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateHealthCheckResponse AWS API Documentation
631
+ #
632
+ class DisassociateHealthCheckResponse < Aws::EmptyStructure; end
633
+
574
634
  # Contact information that the DRT can use to contact you during a
575
635
  # suspected attack.
576
636
  #
@@ -945,12 +1005,18 @@ module Aws::Shield
945
1005
  # protected.
946
1006
  # @return [String]
947
1007
  #
1008
+ # @!attribute [rw] health_check_ids
1009
+ # The unique identifier (ID) for the Route 53 health check that's
1010
+ # associated with the protection.
1011
+ # @return [Array<String>]
1012
+ #
948
1013
  # @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/Protection AWS API Documentation
949
1014
  #
950
1015
  class Protection < Struct.new(
951
1016
  :id,
952
1017
  :name,
953
- :resource_arn)
1018
+ :resource_arn,
1019
+ :health_check_ids)
954
1020
  include Aws::Structure
955
1021
  end
956
1022
 
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.21.0
4
+ version: 1.22.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: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2020-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core