aws-sdk-shield 1.0.0 → 1.1.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 +4 -4
- data/lib/aws-sdk-shield.rb +1 -1
- data/lib/aws-sdk-shield/client.rb +67 -5
- data/lib/aws-sdk-shield/client_api.rb +41 -0
- data/lib/aws-sdk-shield/types.rb +188 -11
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66456865bc53e76b4f90f28f1b99f2e09ba7c8f3
|
4
|
+
data.tar.gz: af1f5c1cf8b432abe59c0fef39803d7d7189854f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d32ed1e3df7b6b7d13ab90fcb6acbd988cb2d46335af9354f7864def8c4738f3c090b1843279b307da754038b011be0226e50d87cfa46d0d25a5ccfc6edc52a
|
7
|
+
data.tar.gz: 99b64bf4d985619e909fbbbc509cf2b0f0783fd524101480aa320d2e8bd27b4113816dcc7299c6011420be16255681a9d4d6f6c41c9e23e155a7722521708fca
|
data/lib/aws-sdk-shield.rb
CHANGED
@@ -157,7 +157,7 @@ module Aws::Shield
|
|
157
157
|
|
158
158
|
# Enables AWS Shield Advanced for a specific AWS resource. The resource
|
159
159
|
# can be an Amazon CloudFront distribution, Elastic Load Balancing load
|
160
|
-
# balancer, or an Amazon Route 53 hosted zone.
|
160
|
+
# balancer, Elastic IP Address, or an Amazon Route 53 hosted zone.
|
161
161
|
#
|
162
162
|
# @option params [required, String] :name
|
163
163
|
# Friendly name for the `Protection` you are creating.
|
@@ -165,6 +165,25 @@ module Aws::Shield
|
|
165
165
|
# @option params [required, String] :resource_arn
|
166
166
|
# The ARN (Amazon Resource Name) of the resource to be protected.
|
167
167
|
#
|
168
|
+
# The ARN should be in one of the following formats:
|
169
|
+
#
|
170
|
+
# * For an Application Load Balancer:
|
171
|
+
# `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
|
172
|
+
# `
|
173
|
+
#
|
174
|
+
# * For an Elastic Load Balancer (Classic Load Balancer):
|
175
|
+
# `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name
|
176
|
+
# `
|
177
|
+
#
|
178
|
+
# * For AWS CloudFront distribution:
|
179
|
+
# `arn:aws:cloudfront::account-id:distribution/distribution-id `
|
180
|
+
#
|
181
|
+
# * For Amazon Route 53:
|
182
|
+
# `arn:aws:route53::account-id:hostedzone/hosted-zone-id `
|
183
|
+
#
|
184
|
+
# * For an Elastic IP address:
|
185
|
+
# `arn:aws:ec2:region:account-id:eip-allocation/allocation-id `
|
186
|
+
#
|
168
187
|
# @return [Types::CreateProtectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
169
188
|
#
|
170
189
|
# * {Types::CreateProtectionResponse#protection_id #protection_id} => String
|
@@ -224,7 +243,9 @@ module Aws::Shield
|
|
224
243
|
req.send_request(options)
|
225
244
|
end
|
226
245
|
|
227
|
-
# Removes AWS Shield Advanced from an account.
|
246
|
+
# Removes AWS Shield Advanced from an account. AWS Shield Advanced
|
247
|
+
# requires a 1-year subscription commitment. You cannot delete a
|
248
|
+
# subscription prior to the completion of that commitment.
|
228
249
|
#
|
229
250
|
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
230
251
|
#
|
@@ -284,6 +305,14 @@ module Aws::Shield
|
|
284
305
|
# resp.attack.attack_counters[0].sum #=> Float
|
285
306
|
# resp.attack.attack_counters[0].n #=> Integer
|
286
307
|
# resp.attack.attack_counters[0].unit #=> String
|
308
|
+
# resp.attack.attack_properties #=> Array
|
309
|
+
# resp.attack.attack_properties[0].attack_layer #=> String, one of "NETWORK", "APPLICATION"
|
310
|
+
# resp.attack.attack_properties[0].attack_property_identifier #=> String, one of "DESTINATION_URL", "REFERRER", "SOURCE_ASN", "SOURCE_COUNTRY", "SOURCE_IP_ADDRESS", "SOURCE_USER_AGENT"
|
311
|
+
# resp.attack.attack_properties[0].top_contributors #=> Array
|
312
|
+
# resp.attack.attack_properties[0].top_contributors[0].name #=> String
|
313
|
+
# resp.attack.attack_properties[0].top_contributors[0].value #=> Integer
|
314
|
+
# resp.attack.attack_properties[0].unit #=> String, one of "BITS", "BYTES", "PACKETS", "REQUESTS"
|
315
|
+
# resp.attack.attack_properties[0].total #=> Integer
|
287
316
|
# resp.attack.mitigations #=> Array
|
288
317
|
# resp.attack.mitigations[0].mitigation_name #=> String
|
289
318
|
#
|
@@ -348,6 +377,25 @@ module Aws::Shield
|
|
348
377
|
req.send_request(options)
|
349
378
|
end
|
350
379
|
|
380
|
+
# Returns the `SubscriptionState`, either `Active` or `Inactive`.
|
381
|
+
#
|
382
|
+
# @return [Types::GetSubscriptionStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
383
|
+
#
|
384
|
+
# * {Types::GetSubscriptionStateResponse#subscription_state #subscription_state} => String
|
385
|
+
#
|
386
|
+
# @example Response structure
|
387
|
+
#
|
388
|
+
# resp.subscription_state #=> String, one of "ACTIVE", "INACTIVE"
|
389
|
+
#
|
390
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/GetSubscriptionState AWS API Documentation
|
391
|
+
#
|
392
|
+
# @overload get_subscription_state(params = {})
|
393
|
+
# @param [Hash] params ({})
|
394
|
+
def get_subscription_state(params = {}, options = {})
|
395
|
+
req = build_request(:get_subscription_state, params)
|
396
|
+
req.send_request(options)
|
397
|
+
end
|
398
|
+
|
351
399
|
# Returns all ongoing DDoS attacks or all DDoS attacks during a
|
352
400
|
# specified time period.
|
353
401
|
#
|
@@ -357,10 +405,24 @@ module Aws::Shield
|
|
357
405
|
# included.
|
358
406
|
#
|
359
407
|
# @option params [Types::TimeRange] :start_time
|
360
|
-
# The time period for the attacks.
|
408
|
+
# The start of the time period for the attacks. This is a `timestamp`
|
409
|
+
# type. The sample request above indicates a `number` type because the
|
410
|
+
# default used by WAF is Unix time in seconds. However any valid
|
411
|
+
# [timestamp format][1] is allowed.
|
412
|
+
#
|
413
|
+
#
|
414
|
+
#
|
415
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
361
416
|
#
|
362
417
|
# @option params [Types::TimeRange] :end_time
|
363
|
-
# The end of the time period for the attacks.
|
418
|
+
# The end of the time period for the attacks. This is a `timestamp`
|
419
|
+
# type. The sample request above indicates a `number` type because the
|
420
|
+
# default used by WAF is Unix time in seconds. However any valid
|
421
|
+
# [timestamp format][1] is allowed.
|
422
|
+
#
|
423
|
+
#
|
424
|
+
#
|
425
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
364
426
|
#
|
365
427
|
# @option params [String] :next_token
|
366
428
|
# The `ListAttacksRequest.NextMarker` value from a previous call to
|
@@ -463,7 +525,7 @@ module Aws::Shield
|
|
463
525
|
params: params,
|
464
526
|
config: config)
|
465
527
|
context[:gem_name] = 'aws-sdk-shield'
|
466
|
-
context[:gem_version] = '1.
|
528
|
+
context[:gem_version] = '1.1.0'
|
467
529
|
Seahorse::Client::Request.new(handlers, context)
|
468
530
|
end
|
469
531
|
|
@@ -13,11 +13,16 @@ module Aws::Shield
|
|
13
13
|
|
14
14
|
AttackDetail = Shapes::StructureShape.new(name: 'AttackDetail')
|
15
15
|
AttackId = Shapes::StringShape.new(name: 'AttackId')
|
16
|
+
AttackLayer = Shapes::StringShape.new(name: 'AttackLayer')
|
17
|
+
AttackProperties = Shapes::ListShape.new(name: 'AttackProperties')
|
18
|
+
AttackProperty = Shapes::StructureShape.new(name: 'AttackProperty')
|
19
|
+
AttackPropertyIdentifier = Shapes::StringShape.new(name: 'AttackPropertyIdentifier')
|
16
20
|
AttackSummaries = Shapes::ListShape.new(name: 'AttackSummaries')
|
17
21
|
AttackSummary = Shapes::StructureShape.new(name: 'AttackSummary')
|
18
22
|
AttackTimestamp = Shapes::TimestampShape.new(name: 'AttackTimestamp')
|
19
23
|
AttackVectorDescription = Shapes::StructureShape.new(name: 'AttackVectorDescription')
|
20
24
|
AttackVectorDescriptionList = Shapes::ListShape.new(name: 'AttackVectorDescriptionList')
|
25
|
+
Contributor = Shapes::StructureShape.new(name: 'Contributor')
|
21
26
|
CreateProtectionRequest = Shapes::StructureShape.new(name: 'CreateProtectionRequest')
|
22
27
|
CreateProtectionResponse = Shapes::StructureShape.new(name: 'CreateProtectionResponse')
|
23
28
|
CreateSubscriptionRequest = Shapes::StructureShape.new(name: 'CreateSubscriptionRequest')
|
@@ -34,6 +39,8 @@ module Aws::Shield
|
|
34
39
|
DescribeSubscriptionResponse = Shapes::StructureShape.new(name: 'DescribeSubscriptionResponse')
|
35
40
|
Double = Shapes::FloatShape.new(name: 'Double')
|
36
41
|
DurationInSeconds = Shapes::IntegerShape.new(name: 'DurationInSeconds')
|
42
|
+
GetSubscriptionStateRequest = Shapes::StructureShape.new(name: 'GetSubscriptionStateRequest')
|
43
|
+
GetSubscriptionStateResponse = Shapes::StructureShape.new(name: 'GetSubscriptionStateResponse')
|
37
44
|
Integer = Shapes::IntegerShape.new(name: 'Integer')
|
38
45
|
InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
|
39
46
|
InvalidOperationException = Shapes::StructureShape.new(name: 'InvalidOperationException')
|
@@ -47,6 +54,7 @@ module Aws::Shield
|
|
47
54
|
ListProtectionsRequest = Shapes::StructureShape.new(name: 'ListProtectionsRequest')
|
48
55
|
ListProtectionsResponse = Shapes::StructureShape.new(name: 'ListProtectionsResponse')
|
49
56
|
LockedSubscriptionException = Shapes::StructureShape.new(name: 'LockedSubscriptionException')
|
57
|
+
Long = Shapes::IntegerShape.new(name: 'Long')
|
50
58
|
MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
|
51
59
|
Mitigation = Shapes::StructureShape.new(name: 'Mitigation')
|
52
60
|
MitigationList = Shapes::ListShape.new(name: 'MitigationList')
|
@@ -64,6 +72,7 @@ module Aws::Shield
|
|
64
72
|
SubResourceSummaryList = Shapes::ListShape.new(name: 'SubResourceSummaryList')
|
65
73
|
SubResourceType = Shapes::StringShape.new(name: 'SubResourceType')
|
66
74
|
Subscription = Shapes::StructureShape.new(name: 'Subscription')
|
75
|
+
SubscriptionState = Shapes::StringShape.new(name: 'SubscriptionState')
|
67
76
|
SummarizedAttackVector = Shapes::StructureShape.new(name: 'SummarizedAttackVector')
|
68
77
|
SummarizedAttackVectorList = Shapes::ListShape.new(name: 'SummarizedAttackVectorList')
|
69
78
|
SummarizedCounter = Shapes::StructureShape.new(name: 'SummarizedCounter')
|
@@ -71,6 +80,8 @@ module Aws::Shield
|
|
71
80
|
TimeRange = Shapes::StructureShape.new(name: 'TimeRange')
|
72
81
|
Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
|
73
82
|
Token = Shapes::StringShape.new(name: 'Token')
|
83
|
+
TopContributors = Shapes::ListShape.new(name: 'TopContributors')
|
84
|
+
Unit = Shapes::StringShape.new(name: 'Unit')
|
74
85
|
errorMessage = Shapes::StringShape.new(name: 'errorMessage')
|
75
86
|
|
76
87
|
AttackDetail.add_member(:attack_id, Shapes::ShapeRef.new(shape: AttackId, location_name: "AttackId"))
|
@@ -79,9 +90,19 @@ module Aws::Shield
|
|
79
90
|
AttackDetail.add_member(:start_time, Shapes::ShapeRef.new(shape: AttackTimestamp, location_name: "StartTime"))
|
80
91
|
AttackDetail.add_member(:end_time, Shapes::ShapeRef.new(shape: AttackTimestamp, location_name: "EndTime"))
|
81
92
|
AttackDetail.add_member(:attack_counters, Shapes::ShapeRef.new(shape: SummarizedCounterList, location_name: "AttackCounters"))
|
93
|
+
AttackDetail.add_member(:attack_properties, Shapes::ShapeRef.new(shape: AttackProperties, location_name: "AttackProperties"))
|
82
94
|
AttackDetail.add_member(:mitigations, Shapes::ShapeRef.new(shape: MitigationList, location_name: "Mitigations"))
|
83
95
|
AttackDetail.struct_class = Types::AttackDetail
|
84
96
|
|
97
|
+
AttackProperties.member = Shapes::ShapeRef.new(shape: AttackProperty)
|
98
|
+
|
99
|
+
AttackProperty.add_member(:attack_layer, Shapes::ShapeRef.new(shape: AttackLayer, location_name: "AttackLayer"))
|
100
|
+
AttackProperty.add_member(:attack_property_identifier, Shapes::ShapeRef.new(shape: AttackPropertyIdentifier, location_name: "AttackPropertyIdentifier"))
|
101
|
+
AttackProperty.add_member(:top_contributors, Shapes::ShapeRef.new(shape: TopContributors, location_name: "TopContributors"))
|
102
|
+
AttackProperty.add_member(:unit, Shapes::ShapeRef.new(shape: Unit, location_name: "Unit"))
|
103
|
+
AttackProperty.add_member(:total, Shapes::ShapeRef.new(shape: Long, location_name: "Total"))
|
104
|
+
AttackProperty.struct_class = Types::AttackProperty
|
105
|
+
|
85
106
|
AttackSummaries.member = Shapes::ShapeRef.new(shape: AttackSummary)
|
86
107
|
|
87
108
|
AttackSummary.add_member(:attack_id, Shapes::ShapeRef.new(shape: String, location_name: "AttackId"))
|
@@ -96,6 +117,10 @@ module Aws::Shield
|
|
96
117
|
|
97
118
|
AttackVectorDescriptionList.member = Shapes::ShapeRef.new(shape: AttackVectorDescription)
|
98
119
|
|
120
|
+
Contributor.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
|
121
|
+
Contributor.add_member(:value, Shapes::ShapeRef.new(shape: Long, location_name: "Value"))
|
122
|
+
Contributor.struct_class = Types::Contributor
|
123
|
+
|
99
124
|
CreateProtectionRequest.add_member(:name, Shapes::ShapeRef.new(shape: ProtectionName, required: true, location_name: "Name"))
|
100
125
|
CreateProtectionRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
|
101
126
|
CreateProtectionRequest.struct_class = Types::CreateProtectionRequest
|
@@ -133,6 +158,11 @@ module Aws::Shield
|
|
133
158
|
DescribeSubscriptionResponse.add_member(:subscription, Shapes::ShapeRef.new(shape: Subscription, location_name: "Subscription"))
|
134
159
|
DescribeSubscriptionResponse.struct_class = Types::DescribeSubscriptionResponse
|
135
160
|
|
161
|
+
GetSubscriptionStateRequest.struct_class = Types::GetSubscriptionStateRequest
|
162
|
+
|
163
|
+
GetSubscriptionStateResponse.add_member(:subscription_state, Shapes::ShapeRef.new(shape: SubscriptionState, required: true, location_name: "SubscriptionState"))
|
164
|
+
GetSubscriptionStateResponse.struct_class = Types::GetSubscriptionStateResponse
|
165
|
+
|
136
166
|
ListAttacksRequest.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceArnFilterList, location_name: "ResourceArns"))
|
137
167
|
ListAttacksRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: TimeRange, location_name: "StartTime"))
|
138
168
|
ListAttacksRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: TimeRange, location_name: "EndTime"))
|
@@ -198,6 +228,8 @@ module Aws::Shield
|
|
198
228
|
TimeRange.add_member(:to_exclusive, Shapes::ShapeRef.new(shape: AttackTimestamp, location_name: "ToExclusive"))
|
199
229
|
TimeRange.struct_class = Types::TimeRange
|
200
230
|
|
231
|
+
TopContributors.member = Shapes::ShapeRef.new(shape: Contributor)
|
232
|
+
|
201
233
|
|
202
234
|
# @api private
|
203
235
|
API = Seahorse::Model::Api.new.tap do |api|
|
@@ -290,6 +322,15 @@ module Aws::Shield
|
|
290
322
|
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
291
323
|
end)
|
292
324
|
|
325
|
+
api.add_operation(:get_subscription_state, Seahorse::Model::Operation.new.tap do |o|
|
326
|
+
o.name = "GetSubscriptionState"
|
327
|
+
o.http_method = "POST"
|
328
|
+
o.http_request_uri = "/"
|
329
|
+
o.input = Shapes::ShapeRef.new(shape: GetSubscriptionStateRequest)
|
330
|
+
o.output = Shapes::ShapeRef.new(shape: GetSubscriptionStateResponse)
|
331
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
|
332
|
+
end)
|
333
|
+
|
293
334
|
api.add_operation(:list_attacks, Seahorse::Model::Operation.new.tap do |o|
|
294
335
|
o.name = "ListAttacks"
|
295
336
|
o.http_method = "POST"
|
data/lib/aws-sdk-shield/types.rb
CHANGED
@@ -24,11 +24,21 @@ module Aws::Shield
|
|
24
24
|
# @return [Array<Types::SubResourceSummary>]
|
25
25
|
#
|
26
26
|
# @!attribute [rw] start_time
|
27
|
-
# The time the attack started, in
|
27
|
+
# The time the attack started, in Unix time in seconds. For more
|
28
|
+
# information see [timestamp][1].
|
29
|
+
#
|
30
|
+
#
|
31
|
+
#
|
32
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
28
33
|
# @return [Time]
|
29
34
|
#
|
30
35
|
# @!attribute [rw] end_time
|
31
|
-
# The time the attack ended, in
|
36
|
+
# The time the attack ended, in Unix time in seconds. For more
|
37
|
+
# information see [timestamp][1].
|
38
|
+
#
|
39
|
+
#
|
40
|
+
#
|
41
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
32
42
|
# @return [Time]
|
33
43
|
#
|
34
44
|
# @!attribute [rw] attack_counters
|
@@ -36,6 +46,10 @@ module Aws::Shield
|
|
36
46
|
# period.
|
37
47
|
# @return [Array<Types::SummarizedCounter>]
|
38
48
|
#
|
49
|
+
# @!attribute [rw] attack_properties
|
50
|
+
# The array of AttackProperty objects.
|
51
|
+
# @return [Array<Types::AttackProperty>]
|
52
|
+
#
|
39
53
|
# @!attribute [rw] mitigations
|
40
54
|
# List of mitigation actions taken for the attack.
|
41
55
|
# @return [Array<Types::Mitigation>]
|
@@ -49,10 +63,47 @@ module Aws::Shield
|
|
49
63
|
:start_time,
|
50
64
|
:end_time,
|
51
65
|
:attack_counters,
|
66
|
+
:attack_properties,
|
52
67
|
:mitigations)
|
53
68
|
include Aws::Structure
|
54
69
|
end
|
55
70
|
|
71
|
+
# Details of the described attack.
|
72
|
+
#
|
73
|
+
# @!attribute [rw] attack_layer
|
74
|
+
# The type of DDoS event that was observed. `NETWORK` indicates layer
|
75
|
+
# 3 and layer 4 events and `APPLICATION` indicates layer 7 events.
|
76
|
+
# @return [String]
|
77
|
+
#
|
78
|
+
# @!attribute [rw] attack_property_identifier
|
79
|
+
# Defines the DDoS attack property information that is provided.
|
80
|
+
# @return [String]
|
81
|
+
#
|
82
|
+
# @!attribute [rw] top_contributors
|
83
|
+
# The array of Contributor objects that includes the top five
|
84
|
+
# contributors to an attack.
|
85
|
+
# @return [Array<Types::Contributor>]
|
86
|
+
#
|
87
|
+
# @!attribute [rw] unit
|
88
|
+
# The unit of the `Value` of the contributions.
|
89
|
+
# @return [String]
|
90
|
+
#
|
91
|
+
# @!attribute [rw] total
|
92
|
+
# The total contributions made to this attack by all contributors, not
|
93
|
+
# just the five listed in the `TopContributors` list.
|
94
|
+
# @return [Integer]
|
95
|
+
#
|
96
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AttackProperty AWS API Documentation
|
97
|
+
#
|
98
|
+
class AttackProperty < Struct.new(
|
99
|
+
:attack_layer,
|
100
|
+
:attack_property_identifier,
|
101
|
+
:top_contributors,
|
102
|
+
:unit,
|
103
|
+
:total)
|
104
|
+
include Aws::Structure
|
105
|
+
end
|
106
|
+
|
56
107
|
# Summarizes all DDoS attacks for a specified time period.
|
57
108
|
#
|
58
109
|
# @!attribute [rw] attack_id
|
@@ -64,11 +115,21 @@ module Aws::Shield
|
|
64
115
|
# @return [String]
|
65
116
|
#
|
66
117
|
# @!attribute [rw] start_time
|
67
|
-
# The start time of the attack, in
|
118
|
+
# The start time of the attack, in Unix time in seconds. For more
|
119
|
+
# information see [timestamp][1].
|
120
|
+
#
|
121
|
+
#
|
122
|
+
#
|
123
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
68
124
|
# @return [Time]
|
69
125
|
#
|
70
126
|
# @!attribute [rw] end_time
|
71
|
-
# The end time of the attack, in
|
127
|
+
# The end time of the attack, in Unix time in seconds. For more
|
128
|
+
# information see [timestamp][1].
|
129
|
+
#
|
130
|
+
#
|
131
|
+
#
|
132
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
72
133
|
# @return [Time]
|
73
134
|
#
|
74
135
|
# @!attribute [rw] attack_vectors
|
@@ -89,7 +150,37 @@ module Aws::Shield
|
|
89
150
|
# Describes the attack.
|
90
151
|
#
|
91
152
|
# @!attribute [rw] vector_type
|
92
|
-
# The attack type
|
153
|
+
# The attack type. Valid values:
|
154
|
+
#
|
155
|
+
# * UDP\_TRAFFIC
|
156
|
+
#
|
157
|
+
# * UDP\_FRAGMENT
|
158
|
+
#
|
159
|
+
# * GENERIC\_UDP\_REFLECTION
|
160
|
+
#
|
161
|
+
# * DNS\_REFLECTION
|
162
|
+
#
|
163
|
+
# * NTP\_REFLECTION
|
164
|
+
#
|
165
|
+
# * CHARGEN\_REFLECTION
|
166
|
+
#
|
167
|
+
# * SSDP\_REFLECTION
|
168
|
+
#
|
169
|
+
# * PORT\_MAPPER
|
170
|
+
#
|
171
|
+
# * RIP\_REFLECTION
|
172
|
+
#
|
173
|
+
# * SNMP\_REFLECTION
|
174
|
+
#
|
175
|
+
# * MSSQL\_REFLECTION
|
176
|
+
#
|
177
|
+
# * NET\_BIOS\_REFLECTION
|
178
|
+
#
|
179
|
+
# * SYN\_FLOOD
|
180
|
+
#
|
181
|
+
# * ACK\_FLOOD
|
182
|
+
#
|
183
|
+
# * REQUEST\_FLOOD
|
93
184
|
# @return [String]
|
94
185
|
#
|
95
186
|
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AttackVectorDescription AWS API Documentation
|
@@ -99,6 +190,28 @@ module Aws::Shield
|
|
99
190
|
include Aws::Structure
|
100
191
|
end
|
101
192
|
|
193
|
+
# A contributor to the attack and their contribution.
|
194
|
+
#
|
195
|
+
# @!attribute [rw] name
|
196
|
+
# The name of the contributor. This is dependent on the
|
197
|
+
# `AttackPropertyIdentifier`. For example, if the
|
198
|
+
# `AttackPropertyIdentifier` is `SOURCE_COUNTRY`, the `Name` could be
|
199
|
+
# `United States`.
|
200
|
+
# @return [String]
|
201
|
+
#
|
202
|
+
# @!attribute [rw] value
|
203
|
+
# The contribution of this contributor expressed in Protection units.
|
204
|
+
# For example `10,000`.
|
205
|
+
# @return [Integer]
|
206
|
+
#
|
207
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/Contributor AWS API Documentation
|
208
|
+
#
|
209
|
+
class Contributor < Struct.new(
|
210
|
+
:name,
|
211
|
+
:value)
|
212
|
+
include Aws::Structure
|
213
|
+
end
|
214
|
+
|
102
215
|
# @note When making an API call, you may pass CreateProtectionRequest
|
103
216
|
# data as a hash:
|
104
217
|
#
|
@@ -113,6 +226,25 @@ module Aws::Shield
|
|
113
226
|
#
|
114
227
|
# @!attribute [rw] resource_arn
|
115
228
|
# The ARN (Amazon Resource Name) of the resource to be protected.
|
229
|
+
#
|
230
|
+
# The ARN should be in one of the following formats:
|
231
|
+
#
|
232
|
+
# * For an Application Load Balancer:
|
233
|
+
# `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
|
234
|
+
# `
|
235
|
+
#
|
236
|
+
# * For an Elastic Load Balancer (Classic Load Balancer):
|
237
|
+
# `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name
|
238
|
+
# `
|
239
|
+
#
|
240
|
+
# * For AWS CloudFront distribution:
|
241
|
+
# `arn:aws:cloudfront::account-id:distribution/distribution-id `
|
242
|
+
#
|
243
|
+
# * For Amazon Route 53:
|
244
|
+
# `arn:aws:route53::account-id:hostedzone/hosted-zone-id `
|
245
|
+
#
|
246
|
+
# * For an Elastic IP address:
|
247
|
+
# `arn:aws:ec2:region:account-id:eip-allocation/allocation-id `
|
116
248
|
# @return [String]
|
117
249
|
#
|
118
250
|
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtectionRequest AWS API Documentation
|
@@ -253,6 +385,23 @@ module Aws::Shield
|
|
253
385
|
include Aws::Structure
|
254
386
|
end
|
255
387
|
|
388
|
+
# @api private
|
389
|
+
#
|
390
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/GetSubscriptionStateRequest AWS API Documentation
|
391
|
+
#
|
392
|
+
class GetSubscriptionStateRequest < Aws::EmptyStructure; end
|
393
|
+
|
394
|
+
# @!attribute [rw] subscription_state
|
395
|
+
# The status of the subscription.
|
396
|
+
# @return [String]
|
397
|
+
#
|
398
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/GetSubscriptionStateResponse AWS API Documentation
|
399
|
+
#
|
400
|
+
class GetSubscriptionStateResponse < Struct.new(
|
401
|
+
:subscription_state)
|
402
|
+
include Aws::Structure
|
403
|
+
end
|
404
|
+
|
256
405
|
# @note When making an API call, you may pass ListAttacksRequest
|
257
406
|
# data as a hash:
|
258
407
|
#
|
@@ -277,11 +426,25 @@ module Aws::Shield
|
|
277
426
|
# @return [Array<String>]
|
278
427
|
#
|
279
428
|
# @!attribute [rw] start_time
|
280
|
-
# The time period for the attacks.
|
429
|
+
# The start of the time period for the attacks. This is a `timestamp`
|
430
|
+
# type. The sample request above indicates a `number` type because the
|
431
|
+
# default used by WAF is Unix time in seconds. However any valid
|
432
|
+
# [timestamp format][1] is allowed.
|
433
|
+
#
|
434
|
+
#
|
435
|
+
#
|
436
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
281
437
|
# @return [Types::TimeRange]
|
282
438
|
#
|
283
439
|
# @!attribute [rw] end_time
|
284
|
-
# The end of the time period for the attacks.
|
440
|
+
# The end of the time period for the attacks. This is a `timestamp`
|
441
|
+
# type. The sample request above indicates a `number` type because the
|
442
|
+
# default used by WAF is Unix time in seconds. However any valid
|
443
|
+
# [timestamp format][1] is allowed.
|
444
|
+
#
|
445
|
+
#
|
446
|
+
#
|
447
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
285
448
|
# @return [Types::TimeRange]
|
286
449
|
#
|
287
450
|
# @!attribute [rw] next_token
|
@@ -441,8 +604,12 @@ module Aws::Shield
|
|
441
604
|
# Information about the AWS Shield Advanced subscription for an account.
|
442
605
|
#
|
443
606
|
# @!attribute [rw] start_time
|
444
|
-
# The start time of the subscription, in
|
445
|
-
#
|
607
|
+
# The start time of the subscription, in Unix time in seconds. For
|
608
|
+
# more information see [timestamp][1].
|
609
|
+
#
|
610
|
+
#
|
611
|
+
#
|
612
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
446
613
|
# @return [Time]
|
447
614
|
#
|
448
615
|
# @!attribute [rw] time_commitment_in_seconds
|
@@ -525,11 +692,21 @@ module Aws::Shield
|
|
525
692
|
# }
|
526
693
|
#
|
527
694
|
# @!attribute [rw] from_inclusive
|
528
|
-
# The start time, in
|
695
|
+
# The start time, in Unix time in seconds. For more information see
|
696
|
+
# [timestamp][1].
|
697
|
+
#
|
698
|
+
#
|
699
|
+
#
|
700
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
529
701
|
# @return [Time]
|
530
702
|
#
|
531
703
|
# @!attribute [rw] to_exclusive
|
532
|
-
# The end time, in
|
704
|
+
# The end time, in Unix time in seconds. For more information see
|
705
|
+
# [timestamp][1].
|
706
|
+
#
|
707
|
+
#
|
708
|
+
#
|
709
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types
|
533
710
|
# @return [Time]
|
534
711
|
#
|
535
712
|
# @see http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TimeRange 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.
|
4
|
+
version: 1.1.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: 2017-
|
11
|
+
date: 2017-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -56,7 +56,9 @@ files:
|
|
56
56
|
homepage: http://github.com/aws/aws-sdk-ruby
|
57
57
|
licenses:
|
58
58
|
- Apache-2.0
|
59
|
-
metadata:
|
59
|
+
metadata:
|
60
|
+
source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-shield
|
61
|
+
changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-shield/CHANGELOG.md
|
60
62
|
post_install_message:
|
61
63
|
rdoc_options: []
|
62
64
|
require_paths:
|