aws-sdk-iotdataplane 1.30.0 → 1.31.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
  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