11/*
2- * Copyright 2010-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+ * Copyright 2010-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License").
55 * You may not use this file except in compliance with the License.
2020import com .amazonaws .services .iotdata .model .*;
2121
2222/**
23- * Interface for accessing AWS IoT Data <fullname>AWS IoT</fullname>
23+ * Interface for accessing AWS IoT Data <fullname>IoT data </fullname>
2424 * <p>
25- * AWS IoT-Data enables secure, bi-directional communication between
25+ * IoT data enables secure, bi-directional communication between
2626 * Internet-connected things (such as sensors, actuators, embedded devices, or
27- * smart appliances) and the AWS cloud. It implements a broker for applications
28- * and things to publish messages over HTTP (Publish) and retrieve, update, and
29- * delete shadows. A shadow is a persistent representation of your things and
30- * their state in the AWS cloud.
27+ * smart appliances) and the Amazon Web Services cloud. It implements a broker
28+ * for applications and things to publish messages over HTTP (Publish) and
29+ * retrieve, update, and delete shadows. A shadow is a persistent representation
30+ * of your things and their state in the Amazon Web Services cloud.
3131 * </p>
3232 * <p>
33- * Find the endpoint address for actions in the AWS IoT data plane by running
34- * this CLI command:
33+ * Find the endpoint address for actions in IoT data by running this CLI
34+ * command:
3535 * </p>
3636 * <p>
3737 * <code>aws iot describe-endpoint --endpoint-type iot:Data-ATS</code>
3838 * </p>
3939 * <p>
4040 * The service name used by <a href=
41- * "https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">AWS
42- * Signature Version 4</a> to sign requests is: <i>iotdevicegateway</i>.
41+ * "https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html"
42+ * >Amazon Web ServicesSignature Version 4</a> to sign requests is:
43+ * <i>iotdevicegateway</i>.
4344 * </p>
4445 **/
4546public interface AWSIotData {
@@ -107,9 +108,14 @@ public interface AWSIotData {
107108 * Deletes the shadow for the specified thing.
108109 * </p>
109110 * <p>
111+ * Requires permission to access the <a href=
112+ * "https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions"
113+ * >DeleteThingShadow</a> action.
114+ * </p>
115+ * <p>
110116 * For more information, see <a href=
111117 * "http://docs.aws.amazon.com/iot/latest/developerguide/API_DeleteThingShadow.html"
112- * >DeleteThingShadow</a> in the AWS IoT Developer Guide.
118+ * >DeleteThingShadow</a> in the IoT Developer Guide.
113119 * </p>
114120 *
115121 * @param deleteThingShadowRequest <p>
@@ -136,14 +142,64 @@ public interface AWSIotData {
136142 DeleteThingShadowResult deleteThingShadow (DeleteThingShadowRequest deleteThingShadowRequest )
137143 throws AmazonClientException , AmazonServiceException ;
138144
145+ /**
146+ * <p>
147+ * Gets the details of a single retained message for the specified topic.
148+ * </p>
149+ * <p>
150+ * This action returns the message payload of the retained message, which
151+ * can incur messaging costs. To list only the topic names of the retained
152+ * messages, call <a
153+ * href="/iot/latest/developerguide/API_iotdata_ListRetainedMessages.html"
154+ * >ListRetainedMessages</a>.
155+ * </p>
156+ * <p>
157+ * Requires permission to access the <a href=
158+ * "https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions"
159+ * >GetRetainedMessage</a> action.
160+ * </p>
161+ * <p>
162+ * For more information about messaging costs, see <a
163+ * href="http://aws.amazon.com/iot-core/pricing/#Messaging">IoT Core pricing
164+ * - Messaging</a>.
165+ * </p>
166+ *
167+ * @param getRetainedMessageRequest <p>
168+ * The input for the GetRetainedMessage operation.
169+ * </p>
170+ * @return getRetainedMessageResult The response from the GetRetainedMessage
171+ * service method, as returned by AWS IoT Data.
172+ * @throws InvalidRequestException
173+ * @throws ResourceNotFoundException
174+ * @throws ThrottlingException
175+ * @throws UnauthorizedException
176+ * @throws ServiceUnavailableException
177+ * @throws InternalFailureException
178+ * @throws MethodNotAllowedException
179+ * @throws AmazonClientException If any internal errors are encountered
180+ * inside the client while attempting to make the request or
181+ * handle the response. For example if a network connection is
182+ * not available.
183+ * @throws AmazonServiceException If an error response is returned by AWS
184+ * IoT Data indicating either a problem with the data in the
185+ * request, or a server side issue.
186+ */
187+ GetRetainedMessageResult getRetainedMessage (GetRetainedMessageRequest getRetainedMessageRequest )
188+ throws AmazonClientException , AmazonServiceException ;
189+
139190 /**
140191 * <p>
141192 * Gets the shadow for the specified thing.
142193 * </p>
143194 * <p>
195+ * Requires permission to access the <a href=
196+ * "https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions"
197+ * >GetThingShadow</a> action.
198+ * </p>
199+ * <p>
144200 * For more information, see <a href=
145201 * "http://docs.aws.amazon.com/iot/latest/developerguide/API_GetThingShadow.html"
146- * >GetThingShadow</a> in the AWS IoT Developer Guide.
202+ * >GetThingShadow</a> in the IoT Developer Guide.
147203 * </p>
148204 *
149205 * @param getThingShadowRequest <p>
@@ -174,6 +230,11 @@ GetThingShadowResult getThingShadow(GetThingShadowRequest getThingShadowRequest)
174230 * <p>
175231 * Lists the shadows for the specified thing.
176232 * </p>
233+ * <p>
234+ * Requires permission to access the <a href=
235+ * "https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions"
236+ * >ListNamedShadowsForThing</a> action.
237+ * </p>
177238 *
178239 * @param listNamedShadowsForThingRequest
179240 * @return listNamedShadowsForThingResult The response from the
@@ -200,12 +261,69 @@ ListNamedShadowsForThingResult listNamedShadowsForThing(
200261
201262 /**
202263 * <p>
203- * Publishes state information.
264+ * Lists summary information about the retained messages stored for the
265+ * account.
204266 * </p>
205267 * <p>
206- * For more information, see <a href=
207- * "http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html#http"
208- * >HTTP Protocol</a> in the AWS IoT Developer Guide.
268+ * This action returns only the topic names of the retained messages. It
269+ * doesn't return any message payloads. Although this action doesn't return
270+ * a message payload, it can still incur messaging costs.
271+ * </p>
272+ * <p>
273+ * To get the message payload of a retained message, call <a href=
274+ * "https://docs.aws.amazon.com/iot/latest/developerguide/API_iotdata_GetRetainedMessage.html"
275+ * >GetRetainedMessage</a> with the topic name of the retained message.
276+ * </p>
277+ * <p>
278+ * Requires permission to access the <a href=
279+ * "https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions"
280+ * >ListRetainedMessages</a> action.
281+ * </p>
282+ * <p>
283+ * For more information about messaging costs, see <a
284+ * href="http://aws.amazon.com/iot-core/pricing/#Messaging">IoT Core pricing
285+ * - Messaging</a>.
286+ * </p>
287+ *
288+ * @param listRetainedMessagesRequest
289+ * @return listRetainedMessagesResult The response from the
290+ * ListRetainedMessages service method, as returned by AWS IoT Data.
291+ * @throws InvalidRequestException
292+ * @throws ThrottlingException
293+ * @throws UnauthorizedException
294+ * @throws ServiceUnavailableException
295+ * @throws InternalFailureException
296+ * @throws MethodNotAllowedException
297+ * @throws AmazonClientException If any internal errors are encountered
298+ * inside the client while attempting to make the request or
299+ * handle the response. For example if a network connection is
300+ * not available.
301+ * @throws AmazonServiceException If an error response is returned by AWS
302+ * IoT Data indicating either a problem with the data in the
303+ * request, or a server side issue.
304+ */
305+ ListRetainedMessagesResult listRetainedMessages (
306+ ListRetainedMessagesRequest listRetainedMessagesRequest ) throws AmazonClientException ,
307+ AmazonServiceException ;
308+
309+ /**
310+ * <p>
311+ * Publishes an MQTT message.
312+ * </p>
313+ * <p>
314+ * Requires permission to access the <a href=
315+ * "https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions"
316+ * >Publish</a> action.
317+ * </p>
318+ * <p>
319+ * For more information about MQTT messages, see <a
320+ * href="http://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html"
321+ * >MQTT Protocol</a> in the IoT Developer Guide.
322+ * </p>
323+ * <p>
324+ * For more information about messaging costs, see <a
325+ * href="http://aws.amazon.com/iot-core/pricing/#Messaging">IoT Core pricing
326+ * - Messaging</a>.
209327 * </p>
210328 *
211329 * @param publishRequest <p>
@@ -231,9 +349,14 @@ void publish(PublishRequest publishRequest) throws AmazonClientException,
231349 * Updates the shadow for the specified thing.
232350 * </p>
233351 * <p>
352+ * Requires permission to access the <a href=
353+ * "https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions"
354+ * >UpdateThingShadow</a> action.
355+ * </p>
356+ * <p>
234357 * For more information, see <a href=
235358 * "http://docs.aws.amazon.com/iot/latest/developerguide/API_UpdateThingShadow.html"
236- * >UpdateThingShadow</a> in the AWS IoT Developer Guide.
359+ * >UpdateThingShadow</a> in the IoT Developer Guide.
237360 * </p>
238361 *
239362 * @param updateThingShadowRequest <p>
0 commit comments