{ "smithy": "1.0", "metadata": { "suppressions": [ { "id": "HttpMethodSemantics", "namespace": "*" }, { "id": "HttpResponseCodeSemantics", "namespace": "*" }, { "id": "PaginatedTrait", "namespace": "*" }, { "id": "HttpHeaderTrait", "namespace": "*" }, { "id": "HttpUriConflict", "namespace": "*" }, { "id": "Service", "namespace": "*" } ] }, "shapes": { "com.amazonaws.iotdataplane#ConflictException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

The specified version does not match the version of the document.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } }, "com.amazonaws.iotdataplane#DeleteThingShadow": { "type": "operation", "input": { "target": "com.amazonaws.iotdataplane#DeleteThingShadowRequest" }, "output": { "target": "com.amazonaws.iotdataplane#DeleteThingShadowResponse" }, "errors": [ { "target": "com.amazonaws.iotdataplane#InternalFailureException" }, { "target": "com.amazonaws.iotdataplane#InvalidRequestException" }, { "target": "com.amazonaws.iotdataplane#MethodNotAllowedException" }, { "target": "com.amazonaws.iotdataplane#ResourceNotFoundException" }, { "target": "com.amazonaws.iotdataplane#ServiceUnavailableException" }, { "target": "com.amazonaws.iotdataplane#ThrottlingException" }, { "target": "com.amazonaws.iotdataplane#UnauthorizedException" }, { "target": "com.amazonaws.iotdataplane#UnsupportedDocumentEncodingException" } ], "traits": { "smithy.api#documentation": "

Deletes the shadow for the specified thing.

\n

For more information, see DeleteThingShadow in the AWS IoT Developer Guide.

", "smithy.api#http": { "method": "DELETE", "uri": "/things/{thingName}/shadow", "code": 200 } } }, "com.amazonaws.iotdataplane#DeleteThingShadowRequest": { "type": "structure", "members": { "thingName": { "target": "com.amazonaws.iotdataplane#ThingName", "traits": { "smithy.api#documentation": "

The name of the thing.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "shadowName": { "target": "com.amazonaws.iotdataplane#ShadowName", "traits": { "smithy.api#documentation": "

The name of the shadow.

", "smithy.api#httpQuery": "name" } } }, "traits": { "smithy.api#documentation": "

The input for the DeleteThingShadow operation.

" } }, "com.amazonaws.iotdataplane#DeleteThingShadowResponse": { "type": "structure", "members": { "payload": { "target": "com.amazonaws.iotdataplane#JsonDocument", "traits": { "smithy.api#documentation": "

The state information, in JSON format.

", "smithy.api#httpPayload": {}, "smithy.api#required": {} } } }, "traits": { "smithy.api#documentation": "

The output from the DeleteThingShadow operation.

" } }, "com.amazonaws.iotdataplane#GetThingShadow": { "type": "operation", "input": { "target": "com.amazonaws.iotdataplane#GetThingShadowRequest" }, "output": { "target": "com.amazonaws.iotdataplane#GetThingShadowResponse" }, "errors": [ { "target": "com.amazonaws.iotdataplane#InternalFailureException" }, { "target": "com.amazonaws.iotdataplane#InvalidRequestException" }, { "target": "com.amazonaws.iotdataplane#MethodNotAllowedException" }, { "target": "com.amazonaws.iotdataplane#ResourceNotFoundException" }, { "target": "com.amazonaws.iotdataplane#ServiceUnavailableException" }, { "target": "com.amazonaws.iotdataplane#ThrottlingException" }, { "target": "com.amazonaws.iotdataplane#UnauthorizedException" }, { "target": "com.amazonaws.iotdataplane#UnsupportedDocumentEncodingException" } ], "traits": { "smithy.api#documentation": "

Gets the shadow for the specified thing.

\n

For more information, see GetThingShadow in the\n AWS IoT Developer Guide.

", "smithy.api#http": { "method": "GET", "uri": "/things/{thingName}/shadow", "code": 200 } } }, "com.amazonaws.iotdataplane#GetThingShadowRequest": { "type": "structure", "members": { "thingName": { "target": "com.amazonaws.iotdataplane#ThingName", "traits": { "smithy.api#documentation": "

The name of the thing.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "shadowName": { "target": "com.amazonaws.iotdataplane#ShadowName", "traits": { "smithy.api#documentation": "

The name of the shadow.

", "smithy.api#httpQuery": "name" } } }, "traits": { "smithy.api#documentation": "

The input for the GetThingShadow operation.

" } }, "com.amazonaws.iotdataplane#GetThingShadowResponse": { "type": "structure", "members": { "payload": { "target": "com.amazonaws.iotdataplane#JsonDocument", "traits": { "smithy.api#documentation": "

The state information, in JSON format.

", "smithy.api#httpPayload": {} } } }, "traits": { "smithy.api#documentation": "

The output from the GetThingShadow operation.

" } }, "com.amazonaws.iotdataplane#InternalFailureException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

An unexpected error has occurred.

", "smithy.api#error": "server", "smithy.api#httpError": 500 } }, "com.amazonaws.iotdataplane#InvalidRequestException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

The request is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } }, "com.amazonaws.iotdataplane#IotMoonrakerService": { "type": "service", "version": "2015-05-28", "operations": [ { "target": "com.amazonaws.iotdataplane#DeleteThingShadow" }, { "target": "com.amazonaws.iotdataplane#GetThingShadow" }, { "target": "com.amazonaws.iotdataplane#ListNamedShadowsForThing" }, { "target": "com.amazonaws.iotdataplane#Publish" }, { "target": "com.amazonaws.iotdataplane#UpdateThingShadow" } ], "traits": { "aws.api#service": { "sdkId": "IoT Data Plane", "arnNamespace": "iotdata", "cloudFormationName": "IoTDataPlane", "cloudTrailEventSource": "iotdataplane.amazonaws.com", "endpointPrefix": "data.iot" }, "aws.auth#sigv4": { "name": "iotdata" }, "aws.protocols#restJson1": {}, "smithy.api#documentation": "AWS IoT\n

AWS IoT-Data enables secure, bi-directional communication between Internet-connected things (such as sensors,\n actuators, embedded devices, or smart appliances) and the AWS cloud. It implements a broker for applications and\n things to publish messages over HTTP (Publish) and retrieve, update, and delete shadows. A shadow is a\n persistent representation of your things and their state in the AWS cloud.

\n

Find the endpoint address for actions in the AWS IoT data plane by running this CLI command:

\n

\n aws iot describe-endpoint --endpoint-type iot:Data-ATS\n

\n

The service name used by AWS Signature Version 4\n to sign requests is: iotdevicegateway.

", "smithy.api#title": "AWS IoT Data Plane" } }, "com.amazonaws.iotdataplane#JsonDocument": { "type": "blob" }, "com.amazonaws.iotdataplane#ListNamedShadowsForThing": { "type": "operation", "input": { "target": "com.amazonaws.iotdataplane#ListNamedShadowsForThingRequest" }, "output": { "target": "com.amazonaws.iotdataplane#ListNamedShadowsForThingResponse" }, "errors": [ { "target": "com.amazonaws.iotdataplane#InternalFailureException" }, { "target": "com.amazonaws.iotdataplane#InvalidRequestException" }, { "target": "com.amazonaws.iotdataplane#MethodNotAllowedException" }, { "target": "com.amazonaws.iotdataplane#ResourceNotFoundException" }, { "target": "com.amazonaws.iotdataplane#ServiceUnavailableException" }, { "target": "com.amazonaws.iotdataplane#ThrottlingException" }, { "target": "com.amazonaws.iotdataplane#UnauthorizedException" } ], "traits": { "smithy.api#documentation": "

Lists the shadows for the specified thing.

", "smithy.api#http": { "method": "GET", "uri": "/api/things/shadow/ListNamedShadowsForThing/{thingName}", "code": 200 } } }, "com.amazonaws.iotdataplane#ListNamedShadowsForThingRequest": { "type": "structure", "members": { "thingName": { "target": "com.amazonaws.iotdataplane#ThingName", "traits": { "smithy.api#documentation": "

The name of the thing.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "nextToken": { "target": "com.amazonaws.iotdataplane#NextToken", "traits": { "smithy.api#documentation": "

The token to retrieve the next set of results.

", "smithy.api#httpQuery": "nextToken" } }, "pageSize": { "target": "com.amazonaws.iotdataplane#PageSize", "traits": { "smithy.api#documentation": "

The result page size.

", "smithy.api#httpQuery": "pageSize" } } } }, "com.amazonaws.iotdataplane#ListNamedShadowsForThingResponse": { "type": "structure", "members": { "results": { "target": "com.amazonaws.iotdataplane#NamedShadowList", "traits": { "smithy.api#documentation": "

The list of shadows for the specified thing.

" } }, "nextToken": { "target": "com.amazonaws.iotdataplane#NextToken", "traits": { "smithy.api#documentation": "

The token for the next set of results, or null if there are no additional results.

" } }, "timestamp": { "target": "com.amazonaws.iotdataplane#Timestamp", "traits": { "smithy.api#documentation": "

The Epoch date and time the response was generated by AWS IoT.

" } } } }, "com.amazonaws.iotdataplane#MethodNotAllowedException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

The specified combination of HTTP verb and URI is not supported.

", "smithy.api#error": "client", "smithy.api#httpError": 405 } }, "com.amazonaws.iotdataplane#NamedShadowList": { "type": "list", "member": { "target": "com.amazonaws.iotdataplane#ShadowName" } }, "com.amazonaws.iotdataplane#NextToken": { "type": "string" }, "com.amazonaws.iotdataplane#PageSize": { "type": "integer", "traits": { "smithy.api#box": {}, "smithy.api#range": { "min": 1, "max": 100 } } }, "com.amazonaws.iotdataplane#Payload": { "type": "blob" }, "com.amazonaws.iotdataplane#Publish": { "type": "operation", "input": { "target": "com.amazonaws.iotdataplane#PublishRequest" }, "errors": [ { "target": "com.amazonaws.iotdataplane#InternalFailureException" }, { "target": "com.amazonaws.iotdataplane#InvalidRequestException" }, { "target": "com.amazonaws.iotdataplane#MethodNotAllowedException" }, { "target": "com.amazonaws.iotdataplane#UnauthorizedException" } ], "traits": { "smithy.api#documentation": "

Publishes state information.

\n

For more information, see HTTP Protocol in the\n AWS IoT Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/topics/{topic}", "code": 200 } } }, "com.amazonaws.iotdataplane#PublishRequest": { "type": "structure", "members": { "topic": { "target": "com.amazonaws.iotdataplane#Topic", "traits": { "smithy.api#documentation": "

The name of the MQTT topic.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "qos": { "target": "com.amazonaws.iotdataplane#Qos", "traits": { "smithy.api#documentation": "

The Quality of Service (QoS) level.

", "smithy.api#httpQuery": "qos" } }, "payload": { "target": "com.amazonaws.iotdataplane#Payload", "traits": { "smithy.api#documentation": "

The state information, in JSON format.

", "smithy.api#httpPayload": {} } } }, "traits": { "smithy.api#documentation": "

The input for the Publish operation.

" } }, "com.amazonaws.iotdataplane#Qos": { "type": "integer", "traits": { "smithy.api#range": { "min": 0, "max": 1 } } }, "com.amazonaws.iotdataplane#RequestEntityTooLargeException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

The payload exceeds the maximum size allowed.

", "smithy.api#error": "client", "smithy.api#httpError": 413 } }, "com.amazonaws.iotdataplane#ResourceNotFoundException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

The specified resource does not exist.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } }, "com.amazonaws.iotdataplane#ServiceUnavailableException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

The service is temporarily unavailable.

", "smithy.api#error": "server", "smithy.api#httpError": 503 } }, "com.amazonaws.iotdataplane#ShadowName": { "type": "string", "traits": { "smithy.api#length": { "min": 1, "max": 64 }, "smithy.api#pattern": "[a-zA-Z0-9:_-]+" } }, "com.amazonaws.iotdataplane#ThingName": { "type": "string", "traits": { "smithy.api#length": { "min": 1, "max": 128 }, "smithy.api#pattern": "[a-zA-Z0-9:_-]+" } }, "com.amazonaws.iotdataplane#ThrottlingException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

The rate exceeds the limit.

", "smithy.api#error": "client", "smithy.api#httpError": 429 } }, "com.amazonaws.iotdataplane#Timestamp": { "type": "long" }, "com.amazonaws.iotdataplane#Topic": { "type": "string" }, "com.amazonaws.iotdataplane#UnauthorizedException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

You are not authorized to perform this operation.

", "smithy.api#error": "client", "smithy.api#httpError": 401 } }, "com.amazonaws.iotdataplane#UnsupportedDocumentEncodingException": { "type": "structure", "members": { "message": { "target": "com.amazonaws.iotdataplane#errorMessage", "traits": { "smithy.api#documentation": "

The message for the exception.

" } } }, "traits": { "smithy.api#documentation": "

The document encoding is not supported.

", "smithy.api#error": "client", "smithy.api#httpError": 415 } }, "com.amazonaws.iotdataplane#UpdateThingShadow": { "type": "operation", "input": { "target": "com.amazonaws.iotdataplane#UpdateThingShadowRequest" }, "output": { "target": "com.amazonaws.iotdataplane#UpdateThingShadowResponse" }, "errors": [ { "target": "com.amazonaws.iotdataplane#ConflictException" }, { "target": "com.amazonaws.iotdataplane#InternalFailureException" }, { "target": "com.amazonaws.iotdataplane#InvalidRequestException" }, { "target": "com.amazonaws.iotdataplane#MethodNotAllowedException" }, { "target": "com.amazonaws.iotdataplane#RequestEntityTooLargeException" }, { "target": "com.amazonaws.iotdataplane#ServiceUnavailableException" }, { "target": "com.amazonaws.iotdataplane#ThrottlingException" }, { "target": "com.amazonaws.iotdataplane#UnauthorizedException" }, { "target": "com.amazonaws.iotdataplane#UnsupportedDocumentEncodingException" } ], "traits": { "smithy.api#documentation": "

Updates the shadow for the specified thing.

\n

For more information, see UpdateThingShadow in the\n AWS IoT Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/things/{thingName}/shadow", "code": 200 } } }, "com.amazonaws.iotdataplane#UpdateThingShadowRequest": { "type": "structure", "members": { "thingName": { "target": "com.amazonaws.iotdataplane#ThingName", "traits": { "smithy.api#documentation": "

The name of the thing.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, "shadowName": { "target": "com.amazonaws.iotdataplane#ShadowName", "traits": { "smithy.api#documentation": "

The name of the shadow.

", "smithy.api#httpQuery": "name" } }, "payload": { "target": "com.amazonaws.iotdataplane#JsonDocument", "traits": { "smithy.api#documentation": "

The state information, in JSON format.

", "smithy.api#httpPayload": {}, "smithy.api#required": {} } } }, "traits": { "smithy.api#documentation": "

The input for the UpdateThingShadow operation.

" } }, "com.amazonaws.iotdataplane#UpdateThingShadowResponse": { "type": "structure", "members": { "payload": { "target": "com.amazonaws.iotdataplane#JsonDocument", "traits": { "smithy.api#documentation": "

The state information, in JSON format.

", "smithy.api#httpPayload": {} } } }, "traits": { "smithy.api#documentation": "

The output from the UpdateThingShadow operation.

" } }, "com.amazonaws.iotdataplane#errorMessage": { "type": "string" } } }