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 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: