aws-sdk-shield 1.21.0 → 1.22.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
  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