aws-sdk-iotdataplane 1.15.0 → 1.21.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
- SHA1:
3
- metadata.gz: e358d043df429d119288cc4d8aaf7bf701a4291d
4
- data.tar.gz: f2cfde3d4fdabced2777687fbd407b5f36af8b54
2
+ SHA256:
3
+ metadata.gz: 44f6fa7bbde2302255ed1f63dbb3295dbaa35fa4103a11e9b05130ba74d595e9
4
+ data.tar.gz: c9c71d7819ff2721f9242e76832130e856cc7325c3e92782ddc386447956c357
5
5
  SHA512:
6
- metadata.gz: d6aed52825e887a992a9251b805db0b8ce7f96a2adcb5f03214495bf5c309378226bb19b8bd4dcbc704189ac9e8868be9be64ec967497e7ff5ff7440f8b53939
7
- data.tar.gz: bb863d69d518db489fd25dade85a0dc0097b794f7cb645b442d98e97698db366c9ea9e8191129f8bde97ff9258f09a182240ca712ab0c788a5f6d6ebb76fd3a5
6
+ metadata.gz: 45dcfa823a43306be9d36cff819527c4b3faeaafd2e443904b98d0bd635790b10e0829b549401095c7995ec33cb554dacdff2f37dcb0f3f1e8086bd66f471fa1
7
+ data.tar.gz: f893f62da6c411c75516a350a50218a8219f23be41b56cdc8304b53c0b99435f2f006726c0c438975d8bf1752fddb007ea4de89677b4f172a0a447c928297b8a
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-iotdataplane/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # io_t_data_plane = Aws::IoTDataPlane::Client.new
28
+ # resp = io_t_data_plane.delete_thing_shadow(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from AWS IoT Data Plane all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from AWS IoT Data Plane are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::IoTDataPlane::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all AWS IoT Data Plane API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-iotdataplane/customizations'
42
45
  # @service
43
46
  module Aws::IoTDataPlane
44
47
 
45
- GEM_VERSION = '1.15.0'
48
+ GEM_VERSION = '1.21.0'
46
49
 
47
50
  end
@@ -24,12 +24,25 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
30
 
30
31
  Aws::Plugins::GlobalConfiguration.add_identifier(:iotdataplane)
31
32
 
32
33
  module Aws::IoTDataPlane
34
+ # An API client for IoTDataPlane. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::IoTDataPlane::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
33
46
  class Client < Seahorse::Client::Base
34
47
 
35
48
  include Aws::ClientStubs
@@ -57,6 +70,7 @@ module Aws::IoTDataPlane
57
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
60
74
  add_plugin(Aws::Plugins::SignatureV4)
61
75
  add_plugin(Aws::Plugins::Protocols::RestJson)
62
76
 
@@ -93,7 +107,7 @@ module Aws::IoTDataPlane
93
107
  # @option options [required, String] :region
94
108
  # The AWS region to connect to. The configured `:region` is
95
109
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
97
111
  #
98
112
  # * `Aws.config[:region]`
99
113
  # * `ENV['AWS_REGION']`
@@ -108,6 +122,12 @@ module Aws::IoTDataPlane
108
122
  # When set to `true`, a thread polling for endpoints will be running in
109
123
  # the background every 60 secs (default). Defaults to `false`.
110
124
  #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
111
131
  # @option options [Boolean] :client_side_monitoring (false)
112
132
  # When `true`, client-side metrics will be collected for all API requests from
113
133
  # this client.
@@ -132,6 +152,10 @@ module Aws::IoTDataPlane
132
152
  # When `true`, an attempt is made to coerce request parameters into
133
153
  # the required types.
134
154
  #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
135
159
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
160
  # Set to true to disable SDK automatically adding host prefix
137
161
  # to default service endpoint when available.
@@ -139,7 +163,7 @@ module Aws::IoTDataPlane
139
163
  # @option options [String] :endpoint
140
164
  # The client endpoint is normally constructed from the `:region`
141
165
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
143
167
  #
144
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +178,7 @@ module Aws::IoTDataPlane
154
178
  # requests fetching endpoints information. Defaults to 60 sec.
155
179
  #
156
180
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
182
  #
159
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
184
  # The log formatter.
@@ -166,15 +190,29 @@ module Aws::IoTDataPlane
166
190
  # The Logger instance to send log messages to. If this option
167
191
  # is not set, logging will be disabled.
168
192
  #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
169
199
  # @option options [String] :profile ("default")
170
200
  # Used when loading credentials from the shared credentials file
171
201
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
202
  #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
173
207
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
175
210
  #
176
211
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
178
216
  #
179
217
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
218
  #
@@ -182,11 +220,30 @@ module Aws::IoTDataPlane
182
220
  # The maximum number of times to retry failed requests. Only
183
221
  # ~ 500 level server errors and certain ~ 400 level client errors
184
222
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
187
226
  #
188
227
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
190
247
  #
191
248
  # @option options [String] :secret_access_key
192
249
  #
@@ -209,16 +266,15 @@ module Aws::IoTDataPlane
209
266
  # requests through. Formatted like 'http://proxy.com:123'.
210
267
  #
211
268
  # @option options [Float] :http_open_timeout (15) The number of
212
- # seconds to wait when opening a HTTP session before rasing a
269
+ # seconds to wait when opening a HTTP session before raising a
213
270
  # `Timeout::Error`.
214
271
  #
215
272
  # @option options [Integer] :http_read_timeout (60) The default
216
273
  # number of seconds to wait for response data. This value can
217
- # safely be set
218
- # per-request on the session yeidled by {#session_for}.
274
+ # safely be set per-request on the session.
219
275
  #
220
276
  # @option options [Float] :http_idle_timeout (5) The number of
221
- # seconds a connection is allowed to sit idble before it is
277
+ # seconds a connection is allowed to sit idle before it is
222
278
  # considered stale. Stale connections are closed and removed
223
279
  # from the pool before making a request.
224
280
  #
@@ -227,7 +283,7 @@ module Aws::IoTDataPlane
227
283
  # request body. This option has no effect unless the request has
228
284
  # "Expect" header set to "100-continue". Defaults to `nil` which
229
285
  # disables this behaviour. This value can safely be set per
230
- # request on the session yeidled by {#session_for}.
286
+ # request on the session.
231
287
  #
232
288
  # @option options [Boolean] :http_wire_trace (false) When `true`,
233
289
  # HTTP debug output will be sent to the `:logger`.
@@ -254,10 +310,10 @@ module Aws::IoTDataPlane
254
310
 
255
311
  # @!group API Operations
256
312
 
257
- # Deletes the thing shadow for the specified thing.
313
+ # Deletes the shadow for the specified thing.
258
314
  #
259
- # For more information, see [DeleteThingShadow][1] in the *AWS IoT
260
- # Developer Guide*.
315
+ # For more information, see [DeleteThingShadow][1] in the AWS IoT
316
+ # Developer Guide.
261
317
  #
262
318
  #
263
319
  #
@@ -266,6 +322,9 @@ module Aws::IoTDataPlane
266
322
  # @option params [required, String] :thing_name
267
323
  # The name of the thing.
268
324
  #
325
+ # @option params [String] :shadow_name
326
+ # The name of the shadow.
327
+ #
269
328
  # @return [Types::DeleteThingShadowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
270
329
  #
271
330
  # * {Types::DeleteThingShadowResponse#payload #payload} => String
@@ -274,6 +333,7 @@ module Aws::IoTDataPlane
274
333
  #
275
334
  # resp = client.delete_thing_shadow({
276
335
  # thing_name: "ThingName", # required
336
+ # shadow_name: "ShadowName",
277
337
  # })
278
338
  #
279
339
  # @example Response structure
@@ -287,10 +347,10 @@ module Aws::IoTDataPlane
287
347
  req.send_request(options)
288
348
  end
289
349
 
290
- # Gets the thing shadow for the specified thing.
350
+ # Gets the shadow for the specified thing.
291
351
  #
292
- # For more information, see [GetThingShadow][1] in the *AWS IoT
293
- # Developer Guide*.
352
+ # For more information, see [GetThingShadow][1] in the AWS IoT Developer
353
+ # Guide.
294
354
  #
295
355
  #
296
356
  #
@@ -299,6 +359,9 @@ module Aws::IoTDataPlane
299
359
  # @option params [required, String] :thing_name
300
360
  # The name of the thing.
301
361
  #
362
+ # @option params [String] :shadow_name
363
+ # The name of the shadow.
364
+ #
302
365
  # @return [Types::GetThingShadowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
303
366
  #
304
367
  # * {Types::GetThingShadowResponse#payload #payload} => String
@@ -307,6 +370,7 @@ module Aws::IoTDataPlane
307
370
  #
308
371
  # resp = client.get_thing_shadow({
309
372
  # thing_name: "ThingName", # required
373
+ # shadow_name: "ShadowName",
310
374
  # })
311
375
  #
312
376
  # @example Response structure
@@ -320,10 +384,49 @@ module Aws::IoTDataPlane
320
384
  req.send_request(options)
321
385
  end
322
386
 
387
+ # Lists the shadows for the specified thing.
388
+ #
389
+ # @option params [required, String] :thing_name
390
+ # The name of the thing.
391
+ #
392
+ # @option params [String] :next_token
393
+ # The token to retrieve the next set of results.
394
+ #
395
+ # @option params [Integer] :page_size
396
+ # The result page size.
397
+ #
398
+ # @return [Types::ListNamedShadowsForThingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
399
+ #
400
+ # * {Types::ListNamedShadowsForThingResponse#results #results} => Array&lt;String&gt;
401
+ # * {Types::ListNamedShadowsForThingResponse#next_token #next_token} => String
402
+ # * {Types::ListNamedShadowsForThingResponse#timestamp #timestamp} => Integer
403
+ #
404
+ # @example Request syntax with placeholder values
405
+ #
406
+ # resp = client.list_named_shadows_for_thing({
407
+ # thing_name: "ThingName", # required
408
+ # next_token: "NextToken",
409
+ # page_size: 1,
410
+ # })
411
+ #
412
+ # @example Response structure
413
+ #
414
+ # resp.results #=> Array
415
+ # resp.results[0] #=> String
416
+ # resp.next_token #=> String
417
+ # resp.timestamp #=> Integer
418
+ #
419
+ # @overload list_named_shadows_for_thing(params = {})
420
+ # @param [Hash] params ({})
421
+ def list_named_shadows_for_thing(params = {}, options = {})
422
+ req = build_request(:list_named_shadows_for_thing, params)
423
+ req.send_request(options)
424
+ end
425
+
323
426
  # Publishes state information.
324
427
  #
325
- # For more information, see [HTTP Protocol][1] in the *AWS IoT Developer
326
- # Guide*.
428
+ # For more information, see [HTTP Protocol][1] in the AWS IoT Developer
429
+ # Guide.
327
430
  #
328
431
  #
329
432
  #
@@ -355,10 +458,10 @@ module Aws::IoTDataPlane
355
458
  req.send_request(options)
356
459
  end
357
460
 
358
- # Updates the thing shadow for the specified thing.
461
+ # Updates the shadow for the specified thing.
359
462
  #
360
- # For more information, see [UpdateThingShadow][1] in the *AWS IoT
361
- # Developer Guide*.
463
+ # For more information, see [UpdateThingShadow][1] in the AWS IoT
464
+ # Developer Guide.
362
465
  #
363
466
  #
364
467
  #
@@ -367,6 +470,9 @@ module Aws::IoTDataPlane
367
470
  # @option params [required, String] :thing_name
368
471
  # The name of the thing.
369
472
  #
473
+ # @option params [String] :shadow_name
474
+ # The name of the shadow.
475
+ #
370
476
  # @option params [required, String, IO] :payload
371
477
  # The state information, in JSON format.
372
478
  #
@@ -378,6 +484,7 @@ module Aws::IoTDataPlane
378
484
  #
379
485
  # resp = client.update_thing_shadow({
380
486
  # thing_name: "ThingName", # required
487
+ # shadow_name: "ShadowName",
381
488
  # payload: "data", # required
382
489
  # })
383
490
  #
@@ -405,7 +512,7 @@ module Aws::IoTDataPlane
405
512
  params: params,
406
513
  config: config)
407
514
  context[:gem_name] = 'aws-sdk-iotdataplane'
408
- context[:gem_version] = '1.15.0'
515
+ context[:gem_version] = '1.21.0'
409
516
  Seahorse::Client::Request.new(handlers, context)
410
517
  end
411
518
 
@@ -14,21 +14,27 @@ module Aws::IoTDataPlane
14
14
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
15
15
  DeleteThingShadowRequest = Shapes::StructureShape.new(name: 'DeleteThingShadowRequest')
16
16
  DeleteThingShadowResponse = Shapes::StructureShape.new(name: 'DeleteThingShadowResponse')
17
- ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
18
17
  GetThingShadowRequest = Shapes::StructureShape.new(name: 'GetThingShadowRequest')
19
18
  GetThingShadowResponse = Shapes::StructureShape.new(name: 'GetThingShadowResponse')
20
19
  InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
21
20
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
22
21
  JsonDocument = Shapes::BlobShape.new(name: 'JsonDocument')
22
+ ListNamedShadowsForThingRequest = Shapes::StructureShape.new(name: 'ListNamedShadowsForThingRequest')
23
+ ListNamedShadowsForThingResponse = Shapes::StructureShape.new(name: 'ListNamedShadowsForThingResponse')
23
24
  MethodNotAllowedException = Shapes::StructureShape.new(name: 'MethodNotAllowedException')
25
+ NamedShadowList = Shapes::ListShape.new(name: 'NamedShadowList')
26
+ NextToken = Shapes::StringShape.new(name: 'NextToken')
27
+ PageSize = Shapes::IntegerShape.new(name: 'PageSize')
24
28
  Payload = Shapes::BlobShape.new(name: 'Payload')
25
29
  PublishRequest = Shapes::StructureShape.new(name: 'PublishRequest')
26
30
  Qos = Shapes::IntegerShape.new(name: 'Qos')
27
31
  RequestEntityTooLargeException = Shapes::StructureShape.new(name: 'RequestEntityTooLargeException')
28
32
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
29
33
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
34
+ ShadowName = Shapes::StringShape.new(name: 'ShadowName')
30
35
  ThingName = Shapes::StringShape.new(name: 'ThingName')
31
36
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
37
+ Timestamp = Shapes::IntegerShape.new(name: 'Timestamp')
32
38
  Topic = Shapes::StringShape.new(name: 'Topic')
33
39
  UnauthorizedException = Shapes::StructureShape.new(name: 'UnauthorizedException')
34
40
  UnsupportedDocumentEncodingException = Shapes::StructureShape.new(name: 'UnsupportedDocumentEncodingException')
@@ -36,10 +42,11 @@ module Aws::IoTDataPlane
36
42
  UpdateThingShadowResponse = Shapes::StructureShape.new(name: 'UpdateThingShadowResponse')
37
43
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
38
44
 
39
- ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
45
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
40
46
  ConflictException.struct_class = Types::ConflictException
41
47
 
42
48
  DeleteThingShadowRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
49
+ DeleteThingShadowRequest.add_member(:shadow_name, Shapes::ShapeRef.new(shape: ShadowName, location: "querystring", location_name: "name"))
43
50
  DeleteThingShadowRequest.struct_class = Types::DeleteThingShadowRequest
44
51
 
45
52
  DeleteThingShadowResponse.add_member(:payload, Shapes::ShapeRef.new(shape: JsonDocument, required: true, location_name: "payload"))
@@ -48,6 +55,7 @@ module Aws::IoTDataPlane
48
55
  DeleteThingShadowResponse[:payload_member] = DeleteThingShadowResponse.member(:payload)
49
56
 
50
57
  GetThingShadowRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
58
+ GetThingShadowRequest.add_member(:shadow_name, Shapes::ShapeRef.new(shape: ShadowName, location: "querystring", location_name: "name"))
51
59
  GetThingShadowRequest.struct_class = Types::GetThingShadowRequest
52
60
 
53
61
  GetThingShadowResponse.add_member(:payload, Shapes::ShapeRef.new(shape: JsonDocument, location_name: "payload"))
@@ -61,9 +69,21 @@ module Aws::IoTDataPlane
61
69
  InvalidRequestException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
62
70
  InvalidRequestException.struct_class = Types::InvalidRequestException
63
71
 
64
- MethodNotAllowedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
72
+ ListNamedShadowsForThingRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
73
+ ListNamedShadowsForThingRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
74
+ ListNamedShadowsForThingRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: PageSize, location: "querystring", location_name: "pageSize"))
75
+ ListNamedShadowsForThingRequest.struct_class = Types::ListNamedShadowsForThingRequest
76
+
77
+ ListNamedShadowsForThingResponse.add_member(:results, Shapes::ShapeRef.new(shape: NamedShadowList, location_name: "results"))
78
+ ListNamedShadowsForThingResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
79
+ ListNamedShadowsForThingResponse.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "timestamp"))
80
+ ListNamedShadowsForThingResponse.struct_class = Types::ListNamedShadowsForThingResponse
81
+
82
+ MethodNotAllowedException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
65
83
  MethodNotAllowedException.struct_class = Types::MethodNotAllowedException
66
84
 
85
+ NamedShadowList.member = Shapes::ShapeRef.new(shape: ShadowName)
86
+
67
87
  PublishRequest.add_member(:topic, Shapes::ShapeRef.new(shape: Topic, required: true, location: "uri", location_name: "topic"))
68
88
  PublishRequest.add_member(:qos, Shapes::ShapeRef.new(shape: Qos, location: "querystring", location_name: "qos"))
69
89
  PublishRequest.add_member(:payload, Shapes::ShapeRef.new(shape: Payload, location_name: "payload"))
@@ -71,7 +91,7 @@ module Aws::IoTDataPlane
71
91
  PublishRequest[:payload] = :payload
72
92
  PublishRequest[:payload_member] = PublishRequest.member(:payload)
73
93
 
74
- RequestEntityTooLargeException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
94
+ RequestEntityTooLargeException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
75
95
  RequestEntityTooLargeException.struct_class = Types::RequestEntityTooLargeException
76
96
 
77
97
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -90,6 +110,7 @@ module Aws::IoTDataPlane
90
110
  UnsupportedDocumentEncodingException.struct_class = Types::UnsupportedDocumentEncodingException
91
111
 
92
112
  UpdateThingShadowRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
113
+ UpdateThingShadowRequest.add_member(:shadow_name, Shapes::ShapeRef.new(shape: ShadowName, location: "querystring", location_name: "name"))
93
114
  UpdateThingShadowRequest.add_member(:payload, Shapes::ShapeRef.new(shape: JsonDocument, required: true, location_name: "payload"))
94
115
  UpdateThingShadowRequest.struct_class = Types::UpdateThingShadowRequest
95
116
  UpdateThingShadowRequest[:payload] = :payload
@@ -110,6 +131,7 @@ module Aws::IoTDataPlane
110
131
  "apiVersion" => "2015-05-28",
111
132
  "protocol" => "rest-json",
112
133
  "serviceFullName" => "AWS IoT Data Plane",
134
+ "serviceId" => "IoT Data Plane",
113
135
  "signatureVersion" => "v4",
114
136
  "signingName" => "iotdata",
115
137
  "uid" => "iot-data-2015-05-28",
@@ -147,6 +169,21 @@ module Aws::IoTDataPlane
147
169
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedDocumentEncodingException)
148
170
  end)
149
171
 
172
+ api.add_operation(:list_named_shadows_for_thing, Seahorse::Model::Operation.new.tap do |o|
173
+ o.name = "ListNamedShadowsForThing"
174
+ o.http_method = "GET"
175
+ o.http_request_uri = "/api/things/shadow/ListNamedShadowsForThing/{thingName}"
176
+ o.input = Shapes::ShapeRef.new(shape: ListNamedShadowsForThingRequest)
177
+ o.output = Shapes::ShapeRef.new(shape: ListNamedShadowsForThingResponse)
178
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
179
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
180
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
181
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
182
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
183
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
184
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
185
+ end)
186
+
150
187
  api.add_operation(:publish, Seahorse::Model::Operation.new.tap do |o|
151
188
  o.name = "Publish"
152
189
  o.http_method = "POST"
@@ -6,6 +6,38 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::IoTDataPlane
9
+
10
+ # When IoTDataPlane returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::IoTDataPlane::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all IoTDataPlane errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::IoTDataPlane::Errors::ServiceError
18
+ # # rescues all IoTDataPlane API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {ConflictException}
29
+ # * {InternalFailureException}
30
+ # * {InvalidRequestException}
31
+ # * {MethodNotAllowedException}
32
+ # * {RequestEntityTooLargeException}
33
+ # * {ResourceNotFoundException}
34
+ # * {ServiceUnavailableException}
35
+ # * {ThrottlingException}
36
+ # * {UnauthorizedException}
37
+ # * {UnsupportedDocumentEncodingException}
38
+ #
39
+ # Additionally, error classes are dynamically generated for service errors based on the error code
40
+ # if they are not defined above.
9
41
  module Errors
10
42
 
11
43
  extend Aws::Errors::DynamicErrors
@@ -23,7 +55,6 @@ module Aws::IoTDataPlane
23
55
  def message
24
56
  @message || @data[:message]
25
57
  end
26
-
27
58
  end
28
59
 
29
60
  class InternalFailureException < ServiceError
@@ -39,7 +70,6 @@ module Aws::IoTDataPlane
39
70
  def message
40
71
  @message || @data[:message]
41
72
  end
42
-
43
73
  end
44
74
 
45
75
  class InvalidRequestException < ServiceError
@@ -55,7 +85,6 @@ module Aws::IoTDataPlane
55
85
  def message
56
86
  @message || @data[:message]
57
87
  end
58
-
59
88
  end
60
89
 
61
90
  class MethodNotAllowedException < ServiceError
@@ -71,7 +100,6 @@ module Aws::IoTDataPlane
71
100
  def message
72
101
  @message || @data[:message]
73
102
  end
74
-
75
103
  end
76
104
 
77
105
  class RequestEntityTooLargeException < ServiceError
@@ -87,7 +115,6 @@ module Aws::IoTDataPlane
87
115
  def message
88
116
  @message || @data[:message]
89
117
  end
90
-
91
118
  end
92
119
 
93
120
  class ResourceNotFoundException < ServiceError
@@ -103,7 +130,6 @@ module Aws::IoTDataPlane
103
130
  def message
104
131
  @message || @data[:message]
105
132
  end
106
-
107
133
  end
108
134
 
109
135
  class ServiceUnavailableException < ServiceError
@@ -119,7 +145,6 @@ module Aws::IoTDataPlane
119
145
  def message
120
146
  @message || @data[:message]
121
147
  end
122
-
123
148
  end
124
149
 
125
150
  class ThrottlingException < ServiceError
@@ -135,7 +160,6 @@ module Aws::IoTDataPlane
135
160
  def message
136
161
  @message || @data[:message]
137
162
  end
138
-
139
163
  end
140
164
 
141
165
  class UnauthorizedException < ServiceError
@@ -151,7 +175,6 @@ module Aws::IoTDataPlane
151
175
  def message
152
176
  @message || @data[:message]
153
177
  end
154
-
155
178
  end
156
179
 
157
180
  class UnsupportedDocumentEncodingException < ServiceError
@@ -167,7 +190,6 @@ module Aws::IoTDataPlane
167
190
  def message
168
191
  @message || @data[:message]
169
192
  end
170
-
171
193
  end
172
194
 
173
195
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::IoTDataPlane
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -26,14 +26,20 @@ module Aws::IoTDataPlane
26
26
  #
27
27
  # {
28
28
  # thing_name: "ThingName", # required
29
+ # shadow_name: "ShadowName",
29
30
  # }
30
31
  #
31
32
  # @!attribute [rw] thing_name
32
33
  # The name of the thing.
33
34
  # @return [String]
34
35
  #
36
+ # @!attribute [rw] shadow_name
37
+ # The name of the shadow.
38
+ # @return [String]
39
+ #
35
40
  class DeleteThingShadowRequest < Struct.new(
36
- :thing_name)
41
+ :thing_name,
42
+ :shadow_name)
37
43
  include Aws::Structure
38
44
  end
39
45
 
@@ -55,14 +61,20 @@ module Aws::IoTDataPlane
55
61
  #
56
62
  # {
57
63
  # thing_name: "ThingName", # required
64
+ # shadow_name: "ShadowName",
58
65
  # }
59
66
  #
60
67
  # @!attribute [rw] thing_name
61
68
  # The name of the thing.
62
69
  # @return [String]
63
70
  #
71
+ # @!attribute [rw] shadow_name
72
+ # The name of the shadow.
73
+ # @return [String]
74
+ #
64
75
  class GetThingShadowRequest < Struct.new(
65
- :thing_name)
76
+ :thing_name,
77
+ :shadow_name)
66
78
  include Aws::Structure
67
79
  end
68
80
 
@@ -99,6 +111,54 @@ module Aws::IoTDataPlane
99
111
  include Aws::Structure
100
112
  end
101
113
 
114
+ # @note When making an API call, you may pass ListNamedShadowsForThingRequest
115
+ # data as a hash:
116
+ #
117
+ # {
118
+ # thing_name: "ThingName", # required
119
+ # next_token: "NextToken",
120
+ # page_size: 1,
121
+ # }
122
+ #
123
+ # @!attribute [rw] thing_name
124
+ # The name of the thing.
125
+ # @return [String]
126
+ #
127
+ # @!attribute [rw] next_token
128
+ # The token to retrieve the next set of results.
129
+ # @return [String]
130
+ #
131
+ # @!attribute [rw] page_size
132
+ # The result page size.
133
+ # @return [Integer]
134
+ #
135
+ class ListNamedShadowsForThingRequest < Struct.new(
136
+ :thing_name,
137
+ :next_token,
138
+ :page_size)
139
+ include Aws::Structure
140
+ end
141
+
142
+ # @!attribute [rw] results
143
+ # The list of shadows for the specified thing.
144
+ # @return [Array<String>]
145
+ #
146
+ # @!attribute [rw] next_token
147
+ # The token for the next set of results, or null if there are no
148
+ # additional results.
149
+ # @return [String]
150
+ #
151
+ # @!attribute [rw] timestamp
152
+ # The Epoch date and time the response was generated by AWS IoT.
153
+ # @return [Integer]
154
+ #
155
+ class ListNamedShadowsForThingResponse < Struct.new(
156
+ :results,
157
+ :next_token,
158
+ :timestamp)
159
+ include Aws::Structure
160
+ end
161
+
102
162
  # The specified combination of HTTP verb and URI is not supported.
103
163
  #
104
164
  # @!attribute [rw] message
@@ -213,6 +273,7 @@ module Aws::IoTDataPlane
213
273
  #
214
274
  # {
215
275
  # thing_name: "ThingName", # required
276
+ # shadow_name: "ShadowName",
216
277
  # payload: "data", # required
217
278
  # }
218
279
  #
@@ -220,12 +281,17 @@ module Aws::IoTDataPlane
220
281
  # The name of the thing.
221
282
  # @return [String]
222
283
  #
284
+ # @!attribute [rw] shadow_name
285
+ # The name of the shadow.
286
+ # @return [String]
287
+ #
223
288
  # @!attribute [rw] payload
224
289
  # The state information, in JSON format.
225
290
  # @return [String]
226
291
  #
227
292
  class UpdateThingShadowRequest < Struct.new(
228
293
  :thing_name,
294
+ :shadow_name,
229
295
  :payload)
230
296
  include Aws::Structure
231
297
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iotdataplane
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.0
4
+ version: 1.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-25 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.61.1
22
+ version: 3.99.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.61.1
32
+ version: 3.99.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.5.2.3
84
+ rubygems_version: 2.7.6.2
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS SDK for Ruby - AWS IoT Data Plane