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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 07999e1d4a73854e8b3643da65dcdf2d302bd40a
4
- data.tar.gz: fbaf427a3caa1b7461927a6b63ffe0ec2cb4cc60
3
+ metadata.gz: 66456865bc53e76b4f90f28f1b99f2e09ba7c8f3
4
+ data.tar.gz: af1f5c1cf8b432abe59c0fef39803d7d7189854f
5
5
  SHA512:
6
- metadata.gz: 8c08d30141c3a399b09563351082c2be9d412272c534090c04dabe325429e54f199659cc34978f1c1fa456b210c522b6453ff16d63d0f92a43e14fc76fe8ac94
7
- data.tar.gz: 73fd34b3411204c646042e2376c0dbe0937c840b3f94b9118908221bd657886bedea0d73bca135ce8aef6841ad459a51577af2d49fe2edd41cb1af1f6e61fef4
6
+ metadata.gz: 8d32ed1e3df7b6b7d13ab90fcb6acbd988cb2d46335af9354f7864def8c4738f3c090b1843279b307da754038b011be0226e50d87cfa46d0d25a5ccfc6edc52a
7
+ data.tar.gz: 99b64bf4d985619e909fbbbc509cf2b0f0783fd524101480aa320d2e8bd27b4113816dcc7299c6011420be16255681a9d4d6f6c41c9e23e155a7722521708fca
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-shield/customizations'
42
42
  # @service
43
43
  module Aws::Shield
44
44
 
45
- GEM_VERSION = '1.0.0'
45
+ GEM_VERSION = '1.1.0'
46
46
 
47
47
  end
@@ -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.0.0'
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"
@@ -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 the format 2016-12-16T13:50Z.
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 the format 2016-12-16T13:50Z.
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 the format 2016-12-16T13:50Z.
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 the format 2016-12-16T13:50Z.
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, for example, SNMP reflection or SYN flood.
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 the format
445
- # "2016-12-16T13:50Z".
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 the format 2016-12-16T13:50Z.
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 the format 2016-12-16T15:50Z.
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.0.0
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-08-29 00:00:00.000000000 Z
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: