aws-sdk-iotdataplane 1.30.0 → 1.31.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
  SHA256:
3
- metadata.gz: 5bc87a3221774cb94dd1187cb8acdcc4d8eb6c2a9cefaff35a971e100ebe60bf
4
- data.tar.gz: 74f2070554bebd8526c284455c189e59aa4dd8e7cd5c4602cdcb481697a25124
3
+ metadata.gz: adfe47c01d911ac55d458de9769bf1e0d2eea04711108e1e4cb68eef0a314fe2
4
+ data.tar.gz: 3aefb12eeaf4eca8b4877f63ac9c943bcc5ff7c134f612e0bf021a6631074a7f
5
5
  SHA512:
6
- metadata.gz: f83fe1ae927b4b565c55e2bbea78b2a920b170e0d9589ec704ef91c35263233d97e72299eddbb258b03cc5ce405274af549d09a499ac3dc913a5b018c00223b7
7
- data.tar.gz: 8dd968ba75497e1c763314edc0177ef51f0f0b44f1fb36f7dbb38f7f92cc22353c1ca0706fbb96f6cee4860a575833b6f9230a3fb8305a21bab2b3f8fd89fe2e
6
+ metadata.gz: 887d96216b505fd70e5658a28f1edd41ad477c7f47c515fb275953ca8887f19fc6d580ba7d7352c230465015a44e98be2cc50566c0251dc563e3dd54c89565ba
7
+ data.tar.gz: 79ca0d9a1316efe7058e3c502d97cb7565319b0086281c3636015c687c326a347fdcc5c23e021c81d4f7ff792833bcd8905d2085ee3906aa3f5f6277376102e5
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.31.0 (2021-08-24)
5
+ ------------------
6
+
7
+ * Feature - Updated Publish with support for new Retain flag and added two new API operations: GetRetainedMessage, ListRetainedMessages.
8
+
4
9
  1.30.0 (2021-07-30)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.30.0
1
+ 1.31.0
@@ -329,12 +329,15 @@ module Aws::IoTDataPlane
329
329
 
330
330
  # Deletes the shadow for the specified thing.
331
331
  #
332
- # For more information, see [DeleteThingShadow][1] in the AWS IoT
333
- # Developer Guide.
332
+ # Requires permission to access the [DeleteThingShadow][1] action.
333
+ #
334
+ # For more information, see [DeleteThingShadow][2] in the IoT Developer
335
+ # Guide.
334
336
  #
335
337
  #
336
338
  #
337
- # [1]: http://docs.aws.amazon.com/iot/latest/developerguide/API_DeleteThingShadow.html
339
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
340
+ # [2]: http://docs.aws.amazon.com/iot/latest/developerguide/API_DeleteThingShadow.html
338
341
  #
339
342
  # @option params [required, String] :thing_name
340
343
  # The name of the thing.
@@ -364,14 +367,64 @@ module Aws::IoTDataPlane
364
367
  req.send_request(options)
365
368
  end
366
369
 
370
+ # Gets the details of a single retained message for the specified topic.
371
+ #
372
+ # This action returns the message payload of the retained message, which
373
+ # can incur messaging costs. To list only the topic names of the
374
+ # retained messages, call
375
+ # [ListRetainedMessages](/iot/latest/developerguide/API_iotdata_ListRetainedMessages.html).
376
+ #
377
+ # Requires permission to access the [GetRetainedMessage][1] action.
378
+ #
379
+ # For more information about messaging costs, see [IoT Core pricing -
380
+ # Messaging][2].
381
+ #
382
+ #
383
+ #
384
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions
385
+ # [2]: http://aws.amazon.com/iot-core/pricing/#Messaging
386
+ #
387
+ # @option params [required, String] :topic
388
+ # The topic name of the retained message to retrieve.
389
+ #
390
+ # @return [Types::GetRetainedMessageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
391
+ #
392
+ # * {Types::GetRetainedMessageResponse#topic #topic} => String
393
+ # * {Types::GetRetainedMessageResponse#payload #payload} => String
394
+ # * {Types::GetRetainedMessageResponse#qos #qos} => Integer
395
+ # * {Types::GetRetainedMessageResponse#last_modified_time #last_modified_time} => Integer
396
+ #
397
+ # @example Request syntax with placeholder values
398
+ #
399
+ # resp = client.get_retained_message({
400
+ # topic: "Topic", # required
401
+ # })
402
+ #
403
+ # @example Response structure
404
+ #
405
+ # resp.topic #=> String
406
+ # resp.payload #=> String
407
+ # resp.qos #=> Integer
408
+ # resp.last_modified_time #=> Integer
409
+ #
410
+ # @overload get_retained_message(params = {})
411
+ # @param [Hash] params ({})
412
+ def get_retained_message(params = {}, options = {})
413
+ req = build_request(:get_retained_message, params)
414
+ req.send_request(options)
415
+ end
416
+
367
417
  # Gets the shadow for the specified thing.
368
418
  #
369
- # For more information, see [GetThingShadow][1] in the AWS IoT Developer
419
+ # Requires permission to access the [GetThingShadow][1] action.
420
+ #
421
+ # For more information, see [GetThingShadow][2] in the IoT Developer
370
422
  # Guide.
371
423
  #
372
424
  #
373
425
  #
374
- # [1]: http://docs.aws.amazon.com/iot/latest/developerguide/API_GetThingShadow.html
426
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
427
+ # [2]: http://docs.aws.amazon.com/iot/latest/developerguide/API_GetThingShadow.html
375
428
  #
376
429
  # @option params [required, String] :thing_name
377
430
  # The name of the thing.
@@ -403,6 +456,13 @@ module Aws::IoTDataPlane
403
456
 
404
457
  # Lists the shadows for the specified thing.
405
458
  #
459
+ # Requires permission to access the [ListNamedShadowsForThing][1]
460
+ # action.
461
+ #
462
+ #
463
+ #
464
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
465
+ #
406
466
  # @option params [required, String] :thing_name
407
467
  # The name of the thing.
408
468
  #
@@ -440,14 +500,80 @@ module Aws::IoTDataPlane
440
500
  req.send_request(options)
441
501
  end
442
502
 
443
- # Publishes state information.
503
+ # Lists summary information about the retained messages stored for the
504
+ # account.
444
505
  #
445
- # For more information, see [HTTP Protocol][1] in the AWS IoT Developer
446
- # Guide.
506
+ # This action returns only the topic names of the retained messages. It
507
+ # doesn't return any message payloads. Although this action doesn't
508
+ # return a message payload, it can still incur messaging costs.
509
+ #
510
+ # To get the message payload of a retained message, call
511
+ # [GetRetainedMessage][1] with the topic name of the retained message.
512
+ #
513
+ # Requires permission to access the [ListRetainedMessages][2] action.
514
+ #
515
+ # For more information about messaging costs, see [IoT Core pricing -
516
+ # Messaging][3].
447
517
  #
448
518
  #
449
519
  #
450
- # [1]: http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html#http
520
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/API_iotdata_GetRetainedMessage.html
521
+ # [2]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions
522
+ # [3]: http://aws.amazon.com/iot-core/pricing/#Messaging
523
+ #
524
+ # @option params [String] :next_token
525
+ # To retrieve the next set of results, the `nextToken` value from a
526
+ # previous response; otherwise **null** to receive the first set of
527
+ # results.
528
+ #
529
+ # @option params [Integer] :max_results
530
+ # The maximum number of results to return at one time.
531
+ #
532
+ # @return [Types::ListRetainedMessagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
533
+ #
534
+ # * {Types::ListRetainedMessagesResponse#retained_topics #retained_topics} => Array<Types::RetainedMessageSummary>
535
+ # * {Types::ListRetainedMessagesResponse#next_token #next_token} => String
536
+ #
537
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
538
+ #
539
+ # @example Request syntax with placeholder values
540
+ #
541
+ # resp = client.list_retained_messages({
542
+ # next_token: "NextToken",
543
+ # max_results: 1,
544
+ # })
545
+ #
546
+ # @example Response structure
547
+ #
548
+ # resp.retained_topics #=> Array
549
+ # resp.retained_topics[0].topic #=> String
550
+ # resp.retained_topics[0].payload_size #=> Integer
551
+ # resp.retained_topics[0].qos #=> Integer
552
+ # resp.retained_topics[0].last_modified_time #=> Integer
553
+ # resp.next_token #=> String
554
+ #
555
+ # @overload list_retained_messages(params = {})
556
+ # @param [Hash] params ({})
557
+ def list_retained_messages(params = {}, options = {})
558
+ req = build_request(:list_retained_messages, params)
559
+ req.send_request(options)
560
+ end
561
+
562
+ # Publishes an MQTT message.
563
+ #
564
+ # Requires permission to access the [Publish][1] action.
565
+ #
566
+ # For more information about MQTT messages, see [MQTT Protocol][2] in
567
+ # the IoT Developer Guide.
568
+ #
569
+ # For more information about messaging costs, see [IoT Core pricing -
570
+ # Messaging][3].
571
+ #
572
+ #
573
+ #
574
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
575
+ # [2]: http://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html
576
+ # [3]: http://aws.amazon.com/iot-core/pricing/#Messaging
451
577
  #
452
578
  # @option params [required, String] :topic
453
579
  # The name of the MQTT topic.
@@ -455,8 +581,23 @@ module Aws::IoTDataPlane
455
581
  # @option params [Integer] :qos
456
582
  # The Quality of Service (QoS) level.
457
583
  #
584
+ # @option params [Boolean] :retain
585
+ # A Boolean value that determines whether to set the RETAIN flag when
586
+ # the message is published.
587
+ #
588
+ # Setting the RETAIN flag causes the message to be retained and sent to
589
+ # new subscribers to the topic.
590
+ #
591
+ # Valid values: `true` \| `false`
592
+ #
593
+ # Default value: `false`
594
+ #
458
595
  # @option params [String, StringIO, File] :payload
459
- # The state information, in JSON format.
596
+ # The message body. MQTT accepts text, binary, and empty (null) message
597
+ # payloads.
598
+ #
599
+ # Publishing an empty (null) payload with **retain** = `true` deletes
600
+ # the retained message identified by **topic** from IoT Core.
460
601
  #
461
602
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
462
603
  #
@@ -465,6 +606,7 @@ module Aws::IoTDataPlane
465
606
  # resp = client.publish({
466
607
  # topic: "Topic", # required
467
608
  # qos: 1,
609
+ # retain: false,
468
610
  # payload: "data",
469
611
  # })
470
612
  #
@@ -477,12 +619,15 @@ module Aws::IoTDataPlane
477
619
 
478
620
  # Updates the shadow for the specified thing.
479
621
  #
480
- # For more information, see [UpdateThingShadow][1] in the AWS IoT
481
- # Developer Guide.
622
+ # Requires permission to access the [UpdateThingShadow][1] action.
623
+ #
624
+ # For more information, see [UpdateThingShadow][2] in the IoT Developer
625
+ # Guide.
482
626
  #
483
627
  #
484
628
  #
485
- # [1]: http://docs.aws.amazon.com/iot/latest/developerguide/API_UpdateThingShadow.html
629
+ # [1]: https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions
630
+ # [2]: http://docs.aws.amazon.com/iot/latest/developerguide/API_UpdateThingShadow.html
486
631
  #
487
632
  # @option params [required, String] :thing_name
488
633
  # The name of the thing.
@@ -529,7 +674,7 @@ module Aws::IoTDataPlane
529
674
  params: params,
530
675
  config: config)
531
676
  context[:gem_name] = 'aws-sdk-iotdataplane'
532
- context[:gem_version] = '1.30.0'
677
+ context[:gem_version] = '1.31.0'
533
678
  Seahorse::Client::Request.new(handlers, context)
534
679
  end
535
680
 
@@ -16,6 +16,8 @@ module Aws::IoTDataPlane
16
16
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
17
17
  DeleteThingShadowRequest = Shapes::StructureShape.new(name: 'DeleteThingShadowRequest')
18
18
  DeleteThingShadowResponse = Shapes::StructureShape.new(name: 'DeleteThingShadowResponse')
19
+ GetRetainedMessageRequest = Shapes::StructureShape.new(name: 'GetRetainedMessageRequest')
20
+ GetRetainedMessageResponse = Shapes::StructureShape.new(name: 'GetRetainedMessageResponse')
19
21
  GetThingShadowRequest = Shapes::StructureShape.new(name: 'GetThingShadowRequest')
20
22
  GetThingShadowResponse = Shapes::StructureShape.new(name: 'GetThingShadowResponse')
21
23
  InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
@@ -23,15 +25,22 @@ module Aws::IoTDataPlane
23
25
  JsonDocument = Shapes::BlobShape.new(name: 'JsonDocument')
24
26
  ListNamedShadowsForThingRequest = Shapes::StructureShape.new(name: 'ListNamedShadowsForThingRequest')
25
27
  ListNamedShadowsForThingResponse = Shapes::StructureShape.new(name: 'ListNamedShadowsForThingResponse')
28
+ ListRetainedMessagesRequest = Shapes::StructureShape.new(name: 'ListRetainedMessagesRequest')
29
+ ListRetainedMessagesResponse = Shapes::StructureShape.new(name: 'ListRetainedMessagesResponse')
30
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
26
31
  MethodNotAllowedException = Shapes::StructureShape.new(name: 'MethodNotAllowedException')
27
32
  NamedShadowList = Shapes::ListShape.new(name: 'NamedShadowList')
28
33
  NextToken = Shapes::StringShape.new(name: 'NextToken')
29
34
  PageSize = Shapes::IntegerShape.new(name: 'PageSize')
30
35
  Payload = Shapes::BlobShape.new(name: 'Payload')
36
+ PayloadSize = Shapes::IntegerShape.new(name: 'PayloadSize')
31
37
  PublishRequest = Shapes::StructureShape.new(name: 'PublishRequest')
32
38
  Qos = Shapes::IntegerShape.new(name: 'Qos')
33
39
  RequestEntityTooLargeException = Shapes::StructureShape.new(name: 'RequestEntityTooLargeException')
34
40
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
41
+ Retain = Shapes::BooleanShape.new(name: 'Retain')
42
+ RetainedMessageList = Shapes::ListShape.new(name: 'RetainedMessageList')
43
+ RetainedMessageSummary = Shapes::StructureShape.new(name: 'RetainedMessageSummary')
35
44
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
36
45
  ShadowName = Shapes::StringShape.new(name: 'ShadowName')
37
46
  ThingName = Shapes::StringShape.new(name: 'ThingName')
@@ -56,6 +65,15 @@ module Aws::IoTDataPlane
56
65
  DeleteThingShadowResponse[:payload] = :payload
57
66
  DeleteThingShadowResponse[:payload_member] = DeleteThingShadowResponse.member(:payload)
58
67
 
68
+ GetRetainedMessageRequest.add_member(:topic, Shapes::ShapeRef.new(shape: Topic, required: true, location: "uri", location_name: "topic"))
69
+ GetRetainedMessageRequest.struct_class = Types::GetRetainedMessageRequest
70
+
71
+ GetRetainedMessageResponse.add_member(:topic, Shapes::ShapeRef.new(shape: Topic, location_name: "topic"))
72
+ GetRetainedMessageResponse.add_member(:payload, Shapes::ShapeRef.new(shape: Payload, location_name: "payload"))
73
+ GetRetainedMessageResponse.add_member(:qos, Shapes::ShapeRef.new(shape: Qos, location_name: "qos"))
74
+ GetRetainedMessageResponse.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedTime"))
75
+ GetRetainedMessageResponse.struct_class = Types::GetRetainedMessageResponse
76
+
59
77
  GetThingShadowRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: ThingName, required: true, location: "uri", location_name: "thingName"))
60
78
  GetThingShadowRequest.add_member(:shadow_name, Shapes::ShapeRef.new(shape: ShadowName, location: "querystring", location_name: "name"))
61
79
  GetThingShadowRequest.struct_class = Types::GetThingShadowRequest
@@ -81,6 +99,14 @@ module Aws::IoTDataPlane
81
99
  ListNamedShadowsForThingResponse.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "timestamp"))
82
100
  ListNamedShadowsForThingResponse.struct_class = Types::ListNamedShadowsForThingResponse
83
101
 
102
+ ListRetainedMessagesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
103
+ ListRetainedMessagesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
104
+ ListRetainedMessagesRequest.struct_class = Types::ListRetainedMessagesRequest
105
+
106
+ ListRetainedMessagesResponse.add_member(:retained_topics, Shapes::ShapeRef.new(shape: RetainedMessageList, location_name: "retainedTopics"))
107
+ ListRetainedMessagesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
108
+ ListRetainedMessagesResponse.struct_class = Types::ListRetainedMessagesResponse
109
+
84
110
  MethodNotAllowedException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
85
111
  MethodNotAllowedException.struct_class = Types::MethodNotAllowedException
86
112
 
@@ -88,6 +114,7 @@ module Aws::IoTDataPlane
88
114
 
89
115
  PublishRequest.add_member(:topic, Shapes::ShapeRef.new(shape: Topic, required: true, location: "uri", location_name: "topic"))
90
116
  PublishRequest.add_member(:qos, Shapes::ShapeRef.new(shape: Qos, location: "querystring", location_name: "qos"))
117
+ PublishRequest.add_member(:retain, Shapes::ShapeRef.new(shape: Retain, location: "querystring", location_name: "retain"))
91
118
  PublishRequest.add_member(:payload, Shapes::ShapeRef.new(shape: Payload, location_name: "payload"))
92
119
  PublishRequest.struct_class = Types::PublishRequest
93
120
  PublishRequest[:payload] = :payload
@@ -99,6 +126,14 @@ module Aws::IoTDataPlane
99
126
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
100
127
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
101
128
 
129
+ RetainedMessageList.member = Shapes::ShapeRef.new(shape: RetainedMessageSummary)
130
+
131
+ RetainedMessageSummary.add_member(:topic, Shapes::ShapeRef.new(shape: Topic, location_name: "topic"))
132
+ RetainedMessageSummary.add_member(:payload_size, Shapes::ShapeRef.new(shape: PayloadSize, location_name: "payloadSize"))
133
+ RetainedMessageSummary.add_member(:qos, Shapes::ShapeRef.new(shape: Qos, location_name: "qos"))
134
+ RetainedMessageSummary.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastModifiedTime"))
135
+ RetainedMessageSummary.struct_class = Types::RetainedMessageSummary
136
+
102
137
  ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
103
138
  ServiceUnavailableException.struct_class = Types::ServiceUnavailableException
104
139
 
@@ -155,6 +190,21 @@ module Aws::IoTDataPlane
155
190
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedDocumentEncodingException)
156
191
  end)
157
192
 
193
+ api.add_operation(:get_retained_message, Seahorse::Model::Operation.new.tap do |o|
194
+ o.name = "GetRetainedMessage"
195
+ o.http_method = "GET"
196
+ o.http_request_uri = "/retainedMessage/{topic}"
197
+ o.input = Shapes::ShapeRef.new(shape: GetRetainedMessageRequest)
198
+ o.output = Shapes::ShapeRef.new(shape: GetRetainedMessageResponse)
199
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
200
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
201
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
202
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
203
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
204
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
205
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
206
+ end)
207
+
158
208
  api.add_operation(:get_thing_shadow, Seahorse::Model::Operation.new.tap do |o|
159
209
  o.name = "GetThingShadow"
160
210
  o.http_method = "GET"
@@ -186,6 +236,26 @@ module Aws::IoTDataPlane
186
236
  o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
187
237
  end)
188
238
 
239
+ api.add_operation(:list_retained_messages, Seahorse::Model::Operation.new.tap do |o|
240
+ o.name = "ListRetainedMessages"
241
+ o.http_method = "GET"
242
+ o.http_request_uri = "/retainedMessage"
243
+ o.input = Shapes::ShapeRef.new(shape: ListRetainedMessagesRequest)
244
+ o.output = Shapes::ShapeRef.new(shape: ListRetainedMessagesResponse)
245
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
246
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
247
+ o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
248
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
249
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
250
+ o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
251
+ o[:pager] = Aws::Pager.new(
252
+ limit_key: "max_results",
253
+ tokens: {
254
+ "next_token" => "next_token"
255
+ }
256
+ )
257
+ end)
258
+
189
259
  api.add_operation(:publish, Seahorse::Model::Operation.new.tap do |o|
190
260
  o.name = "Publish"
191
261
  o.http_method = "POST"
@@ -59,6 +59,54 @@ module Aws::IoTDataPlane
59
59
  include Aws::Structure
60
60
  end
61
61
 
62
+ # The input for the GetRetainedMessage operation.
63
+ #
64
+ # @note When making an API call, you may pass GetRetainedMessageRequest
65
+ # data as a hash:
66
+ #
67
+ # {
68
+ # topic: "Topic", # required
69
+ # }
70
+ #
71
+ # @!attribute [rw] topic
72
+ # The topic name of the retained message to retrieve.
73
+ # @return [String]
74
+ #
75
+ class GetRetainedMessageRequest < Struct.new(
76
+ :topic)
77
+ SENSITIVE = []
78
+ include Aws::Structure
79
+ end
80
+
81
+ # The output from the GetRetainedMessage operation.
82
+ #
83
+ # @!attribute [rw] topic
84
+ # The topic name to which the retained message was published.
85
+ # @return [String]
86
+ #
87
+ # @!attribute [rw] payload
88
+ # The Base64-encoded message payload of the retained message body.
89
+ # @return [String]
90
+ #
91
+ # @!attribute [rw] qos
92
+ # The quality of service (QoS) level used to publish the retained
93
+ # message.
94
+ # @return [Integer]
95
+ #
96
+ # @!attribute [rw] last_modified_time
97
+ # The Epoch date and time, in milliseconds, when the retained message
98
+ # was stored by IoT.
99
+ # @return [Integer]
100
+ #
101
+ class GetRetainedMessageResponse < Struct.new(
102
+ :topic,
103
+ :payload,
104
+ :qos,
105
+ :last_modified_time)
106
+ SENSITIVE = []
107
+ include Aws::Structure
108
+ end
109
+
62
110
  # The input for the GetThingShadow operation.
63
111
  #
64
112
  # @note When making an API call, you may pass GetThingShadowRequest
@@ -154,12 +202,12 @@ module Aws::IoTDataPlane
154
202
  # @return [Array<String>]
155
203
  #
156
204
  # @!attribute [rw] next_token
157
- # The token for the next set of results, or null if there are no
158
- # additional results.
205
+ # The token to use to get the next set of results, or **null** if
206
+ # there are no additional results.
159
207
  # @return [String]
160
208
  #
161
209
  # @!attribute [rw] timestamp
162
- # The Epoch date and time the response was generated by AWS IoT.
210
+ # The Epoch date and time the response was generated by IoT.
163
211
  # @return [Integer]
164
212
  #
165
213
  class ListNamedShadowsForThingResponse < Struct.new(
@@ -170,6 +218,49 @@ module Aws::IoTDataPlane
170
218
  include Aws::Structure
171
219
  end
172
220
 
221
+ # @note When making an API call, you may pass ListRetainedMessagesRequest
222
+ # data as a hash:
223
+ #
224
+ # {
225
+ # next_token: "NextToken",
226
+ # max_results: 1,
227
+ # }
228
+ #
229
+ # @!attribute [rw] next_token
230
+ # To retrieve the next set of results, the `nextToken` value from a
231
+ # previous response; otherwise **null** to receive the first set of
232
+ # results.
233
+ # @return [String]
234
+ #
235
+ # @!attribute [rw] max_results
236
+ # The maximum number of results to return at one time.
237
+ # @return [Integer]
238
+ #
239
+ class ListRetainedMessagesRequest < Struct.new(
240
+ :next_token,
241
+ :max_results)
242
+ SENSITIVE = []
243
+ include Aws::Structure
244
+ end
245
+
246
+ # @!attribute [rw] retained_topics
247
+ # A summary list the account's retained messages. The information
248
+ # returned doesn't include the message payloads of the retained
249
+ # messages.
250
+ # @return [Array<Types::RetainedMessageSummary>]
251
+ #
252
+ # @!attribute [rw] next_token
253
+ # The token for the next set of results, or null if there are no
254
+ # additional results.
255
+ # @return [String]
256
+ #
257
+ class ListRetainedMessagesResponse < Struct.new(
258
+ :retained_topics,
259
+ :next_token)
260
+ SENSITIVE = []
261
+ include Aws::Structure
262
+ end
263
+
173
264
  # The specified combination of HTTP verb and URI is not supported.
174
265
  #
175
266
  # @!attribute [rw] message
@@ -190,6 +281,7 @@ module Aws::IoTDataPlane
190
281
  # {
191
282
  # topic: "Topic", # required
192
283
  # qos: 1,
284
+ # retain: false,
193
285
  # payload: "data",
194
286
  # }
195
287
  #
@@ -201,13 +293,30 @@ module Aws::IoTDataPlane
201
293
  # The Quality of Service (QoS) level.
202
294
  # @return [Integer]
203
295
  #
296
+ # @!attribute [rw] retain
297
+ # A Boolean value that determines whether to set the RETAIN flag when
298
+ # the message is published.
299
+ #
300
+ # Setting the RETAIN flag causes the message to be retained and sent
301
+ # to new subscribers to the topic.
302
+ #
303
+ # Valid values: `true` \| `false`
304
+ #
305
+ # Default value: `false`
306
+ # @return [Boolean]
307
+ #
204
308
  # @!attribute [rw] payload
205
- # The state information, in JSON format.
309
+ # The message body. MQTT accepts text, binary, and empty (null)
310
+ # message payloads.
311
+ #
312
+ # Publishing an empty (null) payload with **retain** = `true` deletes
313
+ # the retained message identified by **topic** from IoT Core.
206
314
  # @return [String]
207
315
  #
208
316
  class PublishRequest < Struct.new(
209
317
  :topic,
210
318
  :qos,
319
+ :retain,
211
320
  :payload)
212
321
  SENSITIVE = []
213
322
  include Aws::Structure
@@ -237,6 +346,35 @@ module Aws::IoTDataPlane
237
346
  include Aws::Structure
238
347
  end
239
348
 
349
+ # Information about a single retained message.
350
+ #
351
+ # @!attribute [rw] topic
352
+ # The topic name to which the retained message was published.
353
+ # @return [String]
354
+ #
355
+ # @!attribute [rw] payload_size
356
+ # The size of the retained message's payload in bytes.
357
+ # @return [Integer]
358
+ #
359
+ # @!attribute [rw] qos
360
+ # The quality of service (QoS) level used to publish the retained
361
+ # message.
362
+ # @return [Integer]
363
+ #
364
+ # @!attribute [rw] last_modified_time
365
+ # The Epoch date and time, in milliseconds, when the retained message
366
+ # was stored by IoT.
367
+ # @return [Integer]
368
+ #
369
+ class RetainedMessageSummary < Struct.new(
370
+ :topic,
371
+ :payload_size,
372
+ :qos,
373
+ :last_modified_time)
374
+ SENSITIVE = []
375
+ include Aws::Structure
376
+ end
377
+
240
378
  # The service is temporarily unavailable.
241
379
  #
242
380
  # @!attribute [rw] message
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-iotdataplane/customizations'
48
48
  # @!group service
49
49
  module Aws::IoTDataPlane
50
50
 
51
- GEM_VERSION = '1.30.0'
51
+ GEM_VERSION = '1.31.0'
52
52
 
53
53
  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.30.0
4
+ version: 1.31.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: 2021-07-30 00:00:00.000000000 Z
11
+ date: 2021-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core