aws-sdk-shield 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|