Skip to content

Commit e2e0efc

Browse files
Adding DeleteConnection API to IoT Data Plane
1 parent a9199ed commit e2e0efc

17 files changed

+982
-66
lines changed

generator/ServiceModels/iot-data/iot-data-2015-05-28.api.json

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,21 @@
1313
"auth":["aws.auth#sigv4"]
1414
},
1515
"operations":{
16+
"DeleteConnection":{
17+
"name":"DeleteConnection",
18+
"http":{
19+
"method":"DELETE",
20+
"requestUri":"/connections/{clientId}"
21+
},
22+
"input":{"shape":"DeleteConnectionRequest"},
23+
"errors":[
24+
{"shape":"ForbiddenException"},
25+
{"shape":"ResourceNotFoundException"},
26+
{"shape":"InvalidRequestException"},
27+
{"shape":"ThrottlingException"},
28+
{"shape":"InternalFailureException"}
29+
]
30+
},
1631
"DeleteThingShadow":{
1732
"name":"DeleteThingShadow",
1833
"http":{
@@ -141,6 +156,13 @@
141156
}
142157
},
143158
"shapes":{
159+
"CleanSession":{"type":"boolean"},
160+
"ClientId":{
161+
"type":"string",
162+
"max":128,
163+
"min":1,
164+
"pattern":"^[^$].*"
165+
},
144166
"ConflictException":{
145167
"type":"structure",
146168
"members":{
@@ -151,6 +173,27 @@
151173
},
152174
"ContentType":{"type":"string"},
153175
"CorrelationData":{"type":"string"},
176+
"DeleteConnectionRequest":{
177+
"type":"structure",
178+
"required":["clientId"],
179+
"members":{
180+
"clientId":{
181+
"shape":"ClientId",
182+
"location":"uri",
183+
"locationName":"clientId"
184+
},
185+
"cleanSession":{
186+
"shape":"CleanSession",
187+
"location":"querystring",
188+
"locationName":"cleanSession"
189+
},
190+
"preventWillMessage":{
191+
"shape":"PreventWillMessage",
192+
"location":"querystring",
193+
"locationName":"preventWillMessage"
194+
}
195+
}
196+
},
154197
"DeleteThingShadowRequest":{
155198
"type":"structure",
156199
"required":["thingName"],
@@ -175,6 +218,14 @@
175218
},
176219
"payload":"payload"
177220
},
221+
"ForbiddenException":{
222+
"type":"structure",
223+
"members":{
224+
"message":{"shape":"errorMessage"}
225+
},
226+
"error":{"httpStatusCode":403},
227+
"exception":true
228+
},
178229
"GetRetainedMessageRequest":{
179230
"type":"structure",
180231
"required":["topic"],
@@ -321,6 +372,7 @@
321372
]
322373
},
323374
"PayloadSize":{"type":"long"},
375+
"PreventWillMessage":{"type":"boolean"},
324376
"PublishRequest":{
325377
"type":"structure",
326378
"required":["topic"],

generator/ServiceModels/iot-data/iot-data-2015-05-28.docs.json

Lines changed: 53 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,32 @@
22
"version": "2.0",
33
"service": "<fullname>IoT data</fullname> <p>IoT data enables secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the Amazon Web Services cloud. It implements a broker for applications and things to publish messages over HTTP (Publish) and retrieve, update, and delete shadows. A shadow is a persistent representation of your things and their state in the Amazon Web Services cloud.</p> <p>Find the endpoint address for actions in IoT data by running this CLI command:</p> <p> <code>aws iot describe-endpoint --endpoint-type iot:Data-ATS</code> </p> <p>The service name used by <a href=\"https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html\">Amazon Web ServicesSignature Version 4</a> to sign requests is: <i>iotdevicegateway</i>.</p>",
44
"operations": {
5+
"DeleteConnection": "<p>Disconnects a connected MQTT client from Amazon Web Services IoT Core. When you disconnect a client, Amazon Web Services IoT Core closes the client's network connection and optionally cleans the session state.</p>",
56
"DeleteThingShadow": "<p>Deletes the shadow for the specified thing.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">DeleteThingShadow</a> action.</p> <p>For more information, see <a href=\"http://docs.aws.amazon.com/iot/latest/developerguide/API_DeleteThingShadow.html\">DeleteThingShadow</a> in the IoT Developer Guide.</p>",
6-
"GetRetainedMessage": "<p>Gets the details of a single retained message for the specified topic.</p> <p>This action returns the message payload of the retained message, which can incur messaging costs. To list only the topic names of the retained messages, call <a href=\"https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_ListRetainedMessages.html\">ListRetainedMessages</a>.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions\">GetRetainedMessage</a> action.</p> <p>For more information about messaging costs, see <a href=\"http://aws.amazon.com/iot-core/pricing/#Messaging\">Amazon Web Services IoT Core pricing - Messaging</a>.</p>",
7+
"GetRetainedMessage": "<p>Gets the details of a single retained message for the specified topic.</p> <p>This action returns the message payload of the retained message, which can incur messaging costs. To list only the topic names of the retained messages, call <a href=\"https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_ListRetainedMessages.html\">ListRetainedMessages</a>.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html\">GetRetainedMessage</a> action.</p> <p>For more information about messaging costs, see <a href=\"http://aws.amazon.com/iot-core/pricing/#Messaging\">Amazon Web Services IoT Core pricing - Messaging</a>.</p>",
78
"GetThingShadow": "<p>Gets the shadow for the specified thing.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">GetThingShadow</a> action.</p> <p>For more information, see <a href=\"http://docs.aws.amazon.com/iot/latest/developerguide/API_GetThingShadow.html\">GetThingShadow</a> in the IoT Developer Guide.</p>",
89
"ListNamedShadowsForThing": "<p>Lists the shadows for the specified thing.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">ListNamedShadowsForThing</a> action.</p>",
9-
"ListRetainedMessages": "<p>Lists summary information about the retained messages stored for the account.</p> <p>This action returns only the topic names of the retained messages. It doesn't return any message payloads. Although this action doesn't return a message payload, it can still incur messaging costs.</p> <p>To get the message payload of a retained message, call <a href=\"https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_GetRetainedMessage.html\">GetRetainedMessage</a> with the topic name of the retained message.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions\">ListRetainedMessages</a> action.</p> <p>For more information about messaging costs, see <a href=\"http://aws.amazon.com/iot-core/pricing/#Messaging\">Amazon Web Services IoT Core pricing - Messaging</a>.</p>",
10+
"ListRetainedMessages": "<p>Lists summary information about the retained messages stored for the account.</p> <p>This action returns only the topic names of the retained messages. It doesn't return any message payloads. Although this action doesn't return a message payload, it can still incur messaging costs.</p> <p>To get the message payload of a retained message, call <a href=\"https://docs.aws.amazon.com/iot/latest/apireference/API_iotdata_GetRetainedMessage.html\">GetRetainedMessage</a> with the topic name of the retained message.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html\">ListRetainedMessages</a> action.</p> <p>For more information about messaging costs, see <a href=\"http://aws.amazon.com/iot-core/pricing/#Messaging\">Amazon Web Services IoT Core pricing - Messaging</a>.</p>",
1011
"Publish": "<p>Publishes an MQTT message.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">Publish</a> action.</p> <p>For more information about MQTT messages, see <a href=\"http://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html\">MQTT Protocol</a> in the IoT Developer Guide.</p> <p>For more information about messaging costs, see <a href=\"http://aws.amazon.com/iot-core/pricing/#Messaging\">Amazon Web Services IoT Core pricing - Messaging</a>.</p>",
1112
"UpdateThingShadow": "<p>Updates the shadow for the specified thing.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">UpdateThingShadow</a> action.</p> <p>For more information, see <a href=\"http://docs.aws.amazon.com/iot/latest/developerguide/API_UpdateThingShadow.html\">UpdateThingShadow</a> in the IoT Developer Guide.</p>"
1213
},
1314
"shapes": {
14-
"ConflictException": {
15-
"base": "<p>The specified version does not match the version of the document.</p>",
15+
"CleanSession": {
16+
"base": null,
17+
"refs": {
18+
"DeleteConnectionRequest$cleanSession": "<p>Specifies whether to remove the client's session state when disconnecting. Set to <code>TRUE</code> to delete all session information, including subscriptions and queued messages. Set to <code>FALSE</code> to preserve the session state. By default, this is set to <code>FALSE</code> (preserves the session state).</p>"
19+
}
20+
},
21+
"ClientId": {
22+
"base": null,
1623
"refs": {
24+
"DeleteConnectionRequest$clientId": "<p>The unique identifier of the MQTT client to disconnect. The client ID can't start with a dollar sign ($).</p>"
1725
}
1826
},
27+
"ConflictException": {
28+
"base": "<p>The specified version does not match the version of the document.</p>",
29+
"refs": {}
30+
},
1931
"ContentType": {
2032
"base": null,
2133
"refs": {
@@ -28,45 +40,45 @@
2840
"PublishRequest$correlationData": "<p>The base64-encoded binary data used by the sender of the request message to identify which request the response message is for when it's received. <code>correlationData</code> is an HTTP header value in the API.</p>"
2941
}
3042
},
43+
"DeleteConnectionRequest": {
44+
"base": null,
45+
"refs": {}
46+
},
3147
"DeleteThingShadowRequest": {
3248
"base": "<p>The input for the DeleteThingShadow operation.</p>",
33-
"refs": {
34-
}
49+
"refs": {}
3550
},
3651
"DeleteThingShadowResponse": {
3752
"base": "<p>The output from the DeleteThingShadow operation.</p>",
38-
"refs": {
39-
}
53+
"refs": {}
54+
},
55+
"ForbiddenException": {
56+
"base": "<p>The caller isn't authorized to make the request.</p>",
57+
"refs": {}
4058
},
4159
"GetRetainedMessageRequest": {
4260
"base": "<p>The input for the GetRetainedMessage operation.</p>",
43-
"refs": {
44-
}
61+
"refs": {}
4562
},
4663
"GetRetainedMessageResponse": {
4764
"base": "<p>The output from the GetRetainedMessage operation.</p>",
48-
"refs": {
49-
}
65+
"refs": {}
5066
},
5167
"GetThingShadowRequest": {
5268
"base": "<p>The input for the GetThingShadow operation.</p>",
53-
"refs": {
54-
}
69+
"refs": {}
5570
},
5671
"GetThingShadowResponse": {
5772
"base": "<p>The output from the GetThingShadow operation.</p>",
58-
"refs": {
59-
}
73+
"refs": {}
6074
},
6175
"InternalFailureException": {
6276
"base": "<p>An unexpected error has occurred.</p>",
63-
"refs": {
64-
}
77+
"refs": {}
6578
},
6679
"InvalidRequestException": {
6780
"base": "<p>The request is not valid.</p>",
68-
"refs": {
69-
}
81+
"refs": {}
7082
},
7183
"JsonDocument": {
7284
"base": null,
@@ -79,23 +91,19 @@
7991
},
8092
"ListNamedShadowsForThingRequest": {
8193
"base": null,
82-
"refs": {
83-
}
94+
"refs": {}
8495
},
8596
"ListNamedShadowsForThingResponse": {
8697
"base": null,
87-
"refs": {
88-
}
98+
"refs": {}
8999
},
90100
"ListRetainedMessagesRequest": {
91101
"base": null,
92-
"refs": {
93-
}
102+
"refs": {}
94103
},
95104
"ListRetainedMessagesResponse": {
96105
"base": null,
97-
"refs": {
98-
}
106+
"refs": {}
99107
},
100108
"MaxResults": {
101109
"base": null,
@@ -111,8 +119,7 @@
111119
},
112120
"MethodNotAllowedException": {
113121
"base": "<p>The specified combination of HTTP verb and URI is not supported.</p>",
114-
"refs": {
115-
}
122+
"refs": {}
116123
},
117124
"NamedShadowList": {
118125
"base": null,
@@ -154,11 +161,16 @@
154161
"RetainedMessageSummary$payloadSize": "<p>The size of the retained message's payload in bytes.</p>"
155162
}
156163
},
157-
"PublishRequest": {
158-
"base": "<p>The input for the Publish operation.</p>",
164+
"PreventWillMessage": {
165+
"base": null,
159166
"refs": {
167+
"DeleteConnectionRequest$preventWillMessage": "<p>Controls if Amazon Web Services IoT Core publishes the client's Last Will and Testament (LWT) message upon disconnection. Set to <code>TRUE</code> to prevent publishing the LWT message. Set to <code>FALSE</code> to allow publishing. By default, this is set to <code>FALSE</code> (allows publishing the LWT message).</p>"
160168
}
161169
},
170+
"PublishRequest": {
171+
"base": "<p>The input for the Publish operation.</p>",
172+
"refs": {}
173+
},
162174
"Qos": {
163175
"base": null,
164176
"refs": {
@@ -169,13 +181,11 @@
169181
},
170182
"RequestEntityTooLargeException": {
171183
"base": "<p>The payload exceeds the maximum size allowed.</p>",
172-
"refs": {
173-
}
184+
"refs": {}
174185
},
175186
"ResourceNotFoundException": {
176187
"base": "<p>The specified resource does not exist.</p>",
177-
"refs": {
178-
}
188+
"refs": {}
179189
},
180190
"ResponseTopic": {
181191
"base": null,
@@ -203,8 +213,7 @@
203213
},
204214
"ServiceUnavailableException": {
205215
"base": "<p>The service is temporarily unavailable.</p>",
206-
"refs": {
207-
}
216+
"refs": {}
208217
},
209218
"ShadowName": {
210219
"base": null,
@@ -226,8 +235,7 @@
226235
},
227236
"ThrottlingException": {
228237
"base": "<p>The rate exceeds the limit.</p>",
229-
"refs": {
230-
}
238+
"refs": {}
231239
},
232240
"Timestamp": {
233241
"base": null,
@@ -248,23 +256,19 @@
248256
},
249257
"UnauthorizedException": {
250258
"base": "<p>You are not authorized to perform this operation.</p>",
251-
"refs": {
252-
}
259+
"refs": {}
253260
},
254261
"UnsupportedDocumentEncodingException": {
255262
"base": "<p>The document encoding is not supported.</p>",
256-
"refs": {
257-
}
263+
"refs": {}
258264
},
259265
"UpdateThingShadowRequest": {
260266
"base": "<p>The input for the UpdateThingShadow operation.</p>",
261-
"refs": {
262-
}
267+
"refs": {}
263268
},
264269
"UpdateThingShadowResponse": {
265270
"base": "<p>The output from the UpdateThingShadow operation.</p>",
266-
"refs": {
267-
}
271+
"refs": {}
268272
},
269273
"UserProperties": {
270274
"base": null,
@@ -282,6 +286,7 @@
282286
"base": null,
283287
"refs": {
284288
"ConflictException$message": "<p>The message for the exception.</p>",
289+
"ForbiddenException$message": null,
285290
"InternalFailureException$message": "<p>The message for the exception.</p>",
286291
"InvalidRequestException$message": "<p>The message for the exception.</p>",
287292
"MethodNotAllowedException$message": "<p>The message for the exception.</p>",
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
22
"version": "1.0",
3-
"examples": {
4-
}
3+
"examples": {}
54
}

0 commit comments

Comments
 (0)