Package-level declarations

Types

Link copied to clipboard
data class DeleteConnection(val clientId: ClientId, val cleanSession: Boolean? = null, val preventWillMessage: Boolean? = null) : IotDataPlaneAction<Unit>
Link copied to clipboard
data class DeleteThingShadow(val thingName: ThingName, val shadowName: ShadowName? = null) : IotDataPlaneAction<InputStream>

AWS answers with the deleted shadow's version as opaque JSON, so it is returned as a stream.

Link copied to clipboard
Link copied to clipboard
data class GetThingShadow(val thingName: ThingName, val shadowName: ShadowName? = null) : IotDataPlaneAction<InputStream>

The shadow document is opaque JSON, so it is returned as a stream, as S3 GetObject does.

Link copied to clipboard
data class ListNamedShadowsForThing(val thingName: ThingName, val nextToken: String? = null, val pageSize: Int? = null) : IotDataPlaneAction<NamedShadows>
Link copied to clipboard
data class ListRetainedMessages(val maxResults: Int? = null, val nextToken: String? = null) : IotDataPlaneAction<RetainedMessages>
Link copied to clipboard
@JsonSerializable
data class NamedShadows(val results: List<ShadowName> = emptyList(), val nextToken: String? = null, val timestamp: Timestamp? = null)
Link copied to clipboard
data class Publish(val topic: TopicName, val payload: ByteArray, val qos: Int? = null, val retain: Boolean? = null, val messageExpiry: Long? = null, val responseTopic: String? = null, val contentType: String? = null, val correlationData: Base64Blob? = null, val payloadFormatIndicator: PayloadFormatIndicator? = null, val userProperties: List<Pair<String, String>>? = null) : IotDataPlaneAction<Unit>
Link copied to clipboard
@JsonSerializable
data class RetainedMessage(val topic: TopicName, val lastModifiedTime: TimestampMillis, val qos: Int = 0, val payload: Base64Blob? = null, val userProperties: Base64Blob? = null)

userProperties stays as the base64 JSON AWS sends. Decoding it here would turn a successful call into a parse failure if AWS ever shaped it differently.

Link copied to clipboard
@JsonSerializable
data class RetainedMessages(val retainedTopics: List<RetainedMessageSummary> = emptyList(), val nextToken: String? = null)

AWS names this field retainedTopics, though it holds whole summaries rather than topic names.

Link copied to clipboard
@JsonSerializable
data class RetainedMessageSummary(val topic: TopicName, val lastModifiedTime: TimestampMillis, val payloadSize: Long = 0, val qos: Int = 0)
Link copied to clipboard
data class UpdateThingShadow(val thingName: ThingName, val payload: ByteArray, val shadowName: ShadowName? = null) : IotDataPlaneAction<InputStream>

Both documents are opaque JSON, so they are carried as raw bytes in and a stream out.