1{
2    "smithy": "1.0",
3    "metadata": {
4        "suppressions": [
5            {
6                "id": "HttpMethodSemantics",
7                "namespace": "*"
8            },
9            {
10                "id": "HttpResponseCodeSemantics",
11                "namespace": "*"
12            },
13            {
14                "id": "PaginatedTrait",
15                "namespace": "*"
16            },
17            {
18                "id": "HttpHeaderTrait",
19                "namespace": "*"
20            },
21            {
22                "id": "HttpUriConflict",
23                "namespace": "*"
24            },
25            {
26                "id": "Service",
27                "namespace": "*"
28            }
29        ]
30    },
31    "shapes": {
32        "com.amazonaws.iot1clickdevicesservice#Attributes": {
33            "type": "structure",
34            "members": {}
35        },
36        "com.amazonaws.iot1clickdevicesservice#ClaimDevicesByClaimCode": {
37            "type": "operation",
38            "input": {
39                "target": "com.amazonaws.iot1clickdevicesservice#ClaimDevicesByClaimCodeRequest"
40            },
41            "output": {
42                "target": "com.amazonaws.iot1clickdevicesservice#ClaimDevicesByClaimCodeResponse"
43            },
44            "errors": [
45                {
46                    "target": "com.amazonaws.iot1clickdevicesservice#ForbiddenException"
47                },
48                {
49                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
50                },
51                {
52                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
53                }
54            ],
55            "traits": {
56                "smithy.api#documentation": "<p>Adds device(s) to your account (i.e., claim one or more devices) if and only if you\n received a claim code with the device(s).</p>",
57                "smithy.api#http": {
58                    "method": "PUT",
59                    "uri": "/claims/{ClaimCode}",
60                    "code": 200
61                }
62            }
63        },
64        "com.amazonaws.iot1clickdevicesservice#ClaimDevicesByClaimCodeRequest": {
65            "type": "structure",
66            "members": {
67                "ClaimCode": {
68                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
69                    "traits": {
70                        "smithy.api#documentation": "<p>The claim code, starting with \"C-\", as provided by the device manufacturer.</p>",
71                        "smithy.api#httpLabel": {},
72                        "smithy.api#required": {}
73                    }
74                }
75            }
76        },
77        "com.amazonaws.iot1clickdevicesservice#ClaimDevicesByClaimCodeResponse": {
78            "type": "structure",
79            "members": {
80                "ClaimCode": {
81                    "target": "com.amazonaws.iot1clickdevicesservice#__stringMin12Max40",
82                    "traits": {
83                        "smithy.api#documentation": "<p>The claim code provided by the device manufacturer.</p>",
84                        "smithy.api#jsonName": "claimCode"
85                    }
86                },
87                "Total": {
88                    "target": "com.amazonaws.iot1clickdevicesservice#__integer",
89                    "traits": {
90                        "smithy.api#documentation": "<p>The total number of devices associated with the claim code that has been processed in\n the claim request.</p>",
91                        "smithy.api#jsonName": "total"
92                    }
93                }
94            }
95        },
96        "com.amazonaws.iot1clickdevicesservice#DescribeDevice": {
97            "type": "operation",
98            "input": {
99                "target": "com.amazonaws.iot1clickdevicesservice#DescribeDeviceRequest"
100            },
101            "output": {
102                "target": "com.amazonaws.iot1clickdevicesservice#DescribeDeviceResponse"
103            },
104            "errors": [
105                {
106                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
107                },
108                {
109                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
110                },
111                {
112                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
113                }
114            ],
115            "traits": {
116                "smithy.api#documentation": "<p>Given a device ID, returns a DescribeDeviceResponse object describing the\n details of the device.</p>",
117                "smithy.api#http": {
118                    "method": "GET",
119                    "uri": "/devices/{DeviceId}",
120                    "code": 200
121                }
122            }
123        },
124        "com.amazonaws.iot1clickdevicesservice#DescribeDeviceRequest": {
125            "type": "structure",
126            "members": {
127                "DeviceId": {
128                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
129                    "traits": {
130                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
131                        "smithy.api#httpLabel": {},
132                        "smithy.api#required": {}
133                    }
134                }
135            }
136        },
137        "com.amazonaws.iot1clickdevicesservice#DescribeDeviceResponse": {
138            "type": "structure",
139            "members": {
140                "DeviceDescription": {
141                    "target": "com.amazonaws.iot1clickdevicesservice#DeviceDescription",
142                    "traits": {
143                        "smithy.api#documentation": "<p>Device details.</p>",
144                        "smithy.api#jsonName": "deviceDescription"
145                    }
146                }
147            }
148        },
149        "com.amazonaws.iot1clickdevicesservice#Device": {
150            "type": "structure",
151            "members": {
152                "Attributes": {
153                    "target": "com.amazonaws.iot1clickdevicesservice#Attributes",
154                    "traits": {
155                        "smithy.api#documentation": "<p>The user specified attributes associated with the device for an event.</p>",
156                        "smithy.api#jsonName": "attributes"
157                    }
158                },
159                "DeviceId": {
160                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
161                    "traits": {
162                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
163                        "smithy.api#jsonName": "deviceId"
164                    }
165                },
166                "Type": {
167                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
168                    "traits": {
169                        "smithy.api#documentation": "<p>The device type, such as \"button\".</p>",
170                        "smithy.api#jsonName": "type"
171                    }
172                }
173            }
174        },
175        "com.amazonaws.iot1clickdevicesservice#DeviceAttributes": {
176            "type": "map",
177            "key": {
178                "target": "com.amazonaws.iot1clickdevicesservice#__string"
179            },
180            "value": {
181                "target": "com.amazonaws.iot1clickdevicesservice#__string"
182            },
183            "traits": {
184                "smithy.api#documentation": "<p>\n DeviceAttributes is a string-to-string map specified by the user.</p>"
185            }
186        },
187        "com.amazonaws.iot1clickdevicesservice#DeviceDescription": {
188            "type": "structure",
189            "members": {
190                "Arn": {
191                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
192                    "traits": {
193                        "smithy.api#documentation": "<p>The ARN of the device.</p>",
194                        "smithy.api#jsonName": "arn"
195                    }
196                },
197                "Attributes": {
198                    "target": "com.amazonaws.iot1clickdevicesservice#DeviceAttributes",
199                    "traits": {
200                        "smithy.api#documentation": "<p>An array of zero or more elements of DeviceAttribute objects providing\n user specified device attributes.</p>",
201                        "smithy.api#jsonName": "attributes"
202                    }
203                },
204                "DeviceId": {
205                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
206                    "traits": {
207                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
208                        "smithy.api#jsonName": "deviceId"
209                    }
210                },
211                "Enabled": {
212                    "target": "com.amazonaws.iot1clickdevicesservice#__boolean",
213                    "traits": {
214                        "smithy.api#documentation": "<p>A Boolean value indicating whether or not the device is enabled.</p>",
215                        "smithy.api#jsonName": "enabled"
216                    }
217                },
218                "RemainingLife": {
219                    "target": "com.amazonaws.iot1clickdevicesservice#__doubleMin0Max100",
220                    "traits": {
221                        "smithy.api#documentation": "<p>A value between 0 and 1 inclusive, representing the fraction of life remaining for the\n device.</p>",
222                        "smithy.api#jsonName": "remainingLife"
223                    }
224                },
225                "Type": {
226                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
227                    "traits": {
228                        "smithy.api#documentation": "<p>The type of the device, such as \"button\".</p>",
229                        "smithy.api#jsonName": "type"
230                    }
231                },
232                "Tags": {
233                    "target": "com.amazonaws.iot1clickdevicesservice#__mapOf__string",
234                    "traits": {
235                        "smithy.api#documentation": "<p>The tags currently associated with the AWS IoT 1-Click device.</p>",
236                        "smithy.api#jsonName": "tags"
237                    }
238                }
239            }
240        },
241        "com.amazonaws.iot1clickdevicesservice#DeviceEvent": {
242            "type": "structure",
243            "members": {
244                "Device": {
245                    "target": "com.amazonaws.iot1clickdevicesservice#Device",
246                    "traits": {
247                        "smithy.api#documentation": "<p>An object representing the device associated with the event.</p>",
248                        "smithy.api#jsonName": "device"
249                    }
250                },
251                "StdEvent": {
252                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
253                    "traits": {
254                        "smithy.api#documentation": "<p>A serialized JSON object representing the device-type specific event.</p>",
255                        "smithy.api#jsonName": "stdEvent"
256                    }
257                }
258            }
259        },
260        "com.amazonaws.iot1clickdevicesservice#DeviceMethod": {
261            "type": "structure",
262            "members": {
263                "DeviceType": {
264                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
265                    "traits": {
266                        "smithy.api#documentation": "<p>The type of the device, such as \"button\".</p>",
267                        "smithy.api#jsonName": "deviceType"
268                    }
269                },
270                "MethodName": {
271                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
272                    "traits": {
273                        "smithy.api#documentation": "<p>The name of the method applicable to the deviceType.</p>",
274                        "smithy.api#jsonName": "methodName"
275                    }
276                }
277            }
278        },
279        "com.amazonaws.iot1clickdevicesservice#FinalizeDeviceClaim": {
280            "type": "operation",
281            "input": {
282                "target": "com.amazonaws.iot1clickdevicesservice#FinalizeDeviceClaimRequest"
283            },
284            "output": {
285                "target": "com.amazonaws.iot1clickdevicesservice#FinalizeDeviceClaimResponse"
286            },
287            "errors": [
288                {
289                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
290                },
291                {
292                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
293                },
294                {
295                    "target": "com.amazonaws.iot1clickdevicesservice#PreconditionFailedException"
296                },
297                {
298                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceConflictException"
299                },
300                {
301                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
302                }
303            ],
304            "traits": {
305                "smithy.api#documentation": "<p>Given a device ID, finalizes the claim request for the associated device.</p><note>\n <p>Claiming a device consists of initiating a claim, then publishing a device event,\n and finalizing the claim. For a device of type button, a device event can\n be published by simply clicking the device.</p>\n </note>",
306                "smithy.api#http": {
307                    "method": "PUT",
308                    "uri": "/devices/{DeviceId}/finalize-claim",
309                    "code": 200
310                }
311            }
312        },
313        "com.amazonaws.iot1clickdevicesservice#FinalizeDeviceClaimRequest": {
314            "type": "structure",
315            "members": {
316                "DeviceId": {
317                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
318                    "traits": {
319                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
320                        "smithy.api#httpLabel": {},
321                        "smithy.api#required": {}
322                    }
323                },
324                "Tags": {
325                    "target": "com.amazonaws.iot1clickdevicesservice#__mapOf__string",
326                    "traits": {
327                        "smithy.api#documentation": "<p>A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see <a href=\"https://aws.amazon.com/answers/account-management/aws-tagging-strategies/\">AWS\n Tagging Strategies</a>.</p><p>\n \n </p>",
328                        "smithy.api#jsonName": "tags"
329                    }
330                }
331            }
332        },
333        "com.amazonaws.iot1clickdevicesservice#FinalizeDeviceClaimResponse": {
334            "type": "structure",
335            "members": {
336                "State": {
337                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
338                    "traits": {
339                        "smithy.api#documentation": "<p>The device's final claim state.</p>",
340                        "smithy.api#jsonName": "state"
341                    }
342                }
343            }
344        },
345        "com.amazonaws.iot1clickdevicesservice#ForbiddenException": {
346            "type": "structure",
347            "members": {
348                "Code": {
349                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
350                    "traits": {
351                        "smithy.api#documentation": "<p>403</p>",
352                        "smithy.api#jsonName": "code"
353                    }
354                },
355                "Message": {
356                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
357                    "traits": {
358                        "smithy.api#documentation": "<p>The 403 error message returned by the web server.</p>",
359                        "smithy.api#jsonName": "message"
360                    }
361                }
362            },
363            "traits": {
364                "smithy.api#error": "client",
365                "smithy.api#httpError": 403
366            }
367        },
368        "com.amazonaws.iot1clickdevicesservice#GetDeviceMethods": {
369            "type": "operation",
370            "input": {
371                "target": "com.amazonaws.iot1clickdevicesservice#GetDeviceMethodsRequest"
372            },
373            "output": {
374                "target": "com.amazonaws.iot1clickdevicesservice#GetDeviceMethodsResponse"
375            },
376            "errors": [
377                {
378                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
379                },
380                {
381                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
382                },
383                {
384                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
385                }
386            ],
387            "traits": {
388                "smithy.api#documentation": "<p>Given a device ID, returns the invokable methods associated with the device.</p>",
389                "smithy.api#http": {
390                    "method": "GET",
391                    "uri": "/devices/{DeviceId}/methods",
392                    "code": 200
393                }
394            }
395        },
396        "com.amazonaws.iot1clickdevicesservice#GetDeviceMethodsRequest": {
397            "type": "structure",
398            "members": {
399                "DeviceId": {
400                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
401                    "traits": {
402                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
403                        "smithy.api#httpLabel": {},
404                        "smithy.api#required": {}
405                    }
406                }
407            }
408        },
409        "com.amazonaws.iot1clickdevicesservice#GetDeviceMethodsResponse": {
410            "type": "structure",
411            "members": {
412                "DeviceMethods": {
413                    "target": "com.amazonaws.iot1clickdevicesservice#__listOfDeviceMethod",
414                    "traits": {
415                        "smithy.api#documentation": "<p>List of available device APIs.</p>",
416                        "smithy.api#jsonName": "deviceMethods"
417                    }
418                }
419            }
420        },
421        "com.amazonaws.iot1clickdevicesservice#InitiateDeviceClaim": {
422            "type": "operation",
423            "input": {
424                "target": "com.amazonaws.iot1clickdevicesservice#InitiateDeviceClaimRequest"
425            },
426            "output": {
427                "target": "com.amazonaws.iot1clickdevicesservice#InitiateDeviceClaimResponse"
428            },
429            "errors": [
430                {
431                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
432                },
433                {
434                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
435                },
436                {
437                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceConflictException"
438                },
439                {
440                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
441                }
442            ],
443            "traits": {
444                "smithy.api#documentation": "<p>Given a device ID, initiates a claim request for the associated device.</p><note>\n <p>Claiming a device consists of initiating a claim, then publishing a device event,\n and finalizing the claim. For a device of type button, a device event can\n be published by simply clicking the device.</p>\n </note>",
445                "smithy.api#http": {
446                    "method": "PUT",
447                    "uri": "/devices/{DeviceId}/initiate-claim",
448                    "code": 200
449                }
450            }
451        },
452        "com.amazonaws.iot1clickdevicesservice#InitiateDeviceClaimRequest": {
453            "type": "structure",
454            "members": {
455                "DeviceId": {
456                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
457                    "traits": {
458                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
459                        "smithy.api#httpLabel": {},
460                        "smithy.api#required": {}
461                    }
462                }
463            }
464        },
465        "com.amazonaws.iot1clickdevicesservice#InitiateDeviceClaimResponse": {
466            "type": "structure",
467            "members": {
468                "State": {
469                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
470                    "traits": {
471                        "smithy.api#documentation": "<p>The device's final claim state.</p>",
472                        "smithy.api#jsonName": "state"
473                    }
474                }
475            }
476        },
477        "com.amazonaws.iot1clickdevicesservice#InternalFailureException": {
478            "type": "structure",
479            "members": {
480                "Code": {
481                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
482                    "traits": {
483                        "smithy.api#documentation": "<p>500</p>",
484                        "smithy.api#jsonName": "code"
485                    }
486                },
487                "Message": {
488                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
489                    "traits": {
490                        "smithy.api#documentation": "<p>The 500 error message returned by the web server.</p>",
491                        "smithy.api#jsonName": "message"
492                    }
493                }
494            },
495            "traits": {
496                "smithy.api#error": "server",
497                "smithy.api#httpError": 500
498            }
499        },
500        "com.amazonaws.iot1clickdevicesservice#InvalidRequestException": {
501            "type": "structure",
502            "members": {
503                "Code": {
504                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
505                    "traits": {
506                        "smithy.api#documentation": "<p>400</p>",
507                        "smithy.api#jsonName": "code"
508                    }
509                },
510                "Message": {
511                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
512                    "traits": {
513                        "smithy.api#documentation": "<p>The 400 error message returned by the web server.</p>",
514                        "smithy.api#jsonName": "message"
515                    }
516                }
517            },
518            "traits": {
519                "smithy.api#error": "client",
520                "smithy.api#httpError": 400
521            }
522        },
523        "com.amazonaws.iot1clickdevicesservice#InvokeDeviceMethod": {
524            "type": "operation",
525            "input": {
526                "target": "com.amazonaws.iot1clickdevicesservice#InvokeDeviceMethodRequest"
527            },
528            "output": {
529                "target": "com.amazonaws.iot1clickdevicesservice#InvokeDeviceMethodResponse"
530            },
531            "errors": [
532                {
533                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
534                },
535                {
536                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
537                },
538                {
539                    "target": "com.amazonaws.iot1clickdevicesservice#PreconditionFailedException"
540                },
541                {
542                    "target": "com.amazonaws.iot1clickdevicesservice#RangeNotSatisfiableException"
543                },
544                {
545                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceConflictException"
546                },
547                {
548                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
549                }
550            ],
551            "traits": {
552                "smithy.api#documentation": "<p>Given a device ID, issues a request to invoke a named device method (with possible\n parameters). See the \"Example POST\" code snippet below.</p>",
553                "smithy.api#http": {
554                    "method": "POST",
555                    "uri": "/devices/{DeviceId}/methods",
556                    "code": 200
557                }
558            }
559        },
560        "com.amazonaws.iot1clickdevicesservice#InvokeDeviceMethodRequest": {
561            "type": "structure",
562            "members": {
563                "DeviceId": {
564                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
565                    "traits": {
566                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
567                        "smithy.api#httpLabel": {},
568                        "smithy.api#required": {}
569                    }
570                },
571                "DeviceMethod": {
572                    "target": "com.amazonaws.iot1clickdevicesservice#DeviceMethod",
573                    "traits": {
574                        "smithy.api#documentation": "<p>The device method to invoke.</p>",
575                        "smithy.api#jsonName": "deviceMethod"
576                    }
577                },
578                "DeviceMethodParameters": {
579                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
580                    "traits": {
581                        "smithy.api#documentation": "<p>A JSON encoded string containing the device method request parameters.</p>",
582                        "smithy.api#jsonName": "deviceMethodParameters"
583                    }
584                }
585            }
586        },
587        "com.amazonaws.iot1clickdevicesservice#InvokeDeviceMethodResponse": {
588            "type": "structure",
589            "members": {
590                "DeviceMethodResponse": {
591                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
592                    "traits": {
593                        "smithy.api#documentation": "<p>A JSON encoded string containing the device method response.</p>",
594                        "smithy.api#jsonName": "deviceMethodResponse"
595                    }
596                }
597            }
598        },
599        "com.amazonaws.iot1clickdevicesservice#IoT1ClickDevicesService": {
600            "type": "service",
601            "version": "2018-05-14",
602            "operations": [
603                {
604                    "target": "com.amazonaws.iot1clickdevicesservice#ClaimDevicesByClaimCode"
605                },
606                {
607                    "target": "com.amazonaws.iot1clickdevicesservice#DescribeDevice"
608                },
609                {
610                    "target": "com.amazonaws.iot1clickdevicesservice#FinalizeDeviceClaim"
611                },
612                {
613                    "target": "com.amazonaws.iot1clickdevicesservice#GetDeviceMethods"
614                },
615                {
616                    "target": "com.amazonaws.iot1clickdevicesservice#InitiateDeviceClaim"
617                },
618                {
619                    "target": "com.amazonaws.iot1clickdevicesservice#InvokeDeviceMethod"
620                },
621                {
622                    "target": "com.amazonaws.iot1clickdevicesservice#ListDeviceEvents"
623                },
624                {
625                    "target": "com.amazonaws.iot1clickdevicesservice#ListDevices"
626                },
627                {
628                    "target": "com.amazonaws.iot1clickdevicesservice#ListTagsForResource"
629                },
630                {
631                    "target": "com.amazonaws.iot1clickdevicesservice#TagResource"
632                },
633                {
634                    "target": "com.amazonaws.iot1clickdevicesservice#UnclaimDevice"
635                },
636                {
637                    "target": "com.amazonaws.iot1clickdevicesservice#UntagResource"
638                },
639                {
640                    "target": "com.amazonaws.iot1clickdevicesservice#UpdateDeviceState"
641                }
642            ],
643            "traits": {
644                "aws.api#service": {
645                    "sdkId": "IoT 1Click Devices Service",
646                    "arnNamespace": "iot1click",
647                    "cloudFormationName": "IoT1ClickDevicesService",
648                    "cloudTrailEventSource": "iot1clickdevicesservice.amazonaws.com",
649                    "endpointPrefix": "devices.iot1click"
650                },
651                "aws.auth#sigv4": {
652                    "name": "iot1click"
653                },
654                "aws.protocols#restJson1": {},
655                "smithy.api#documentation": "<p>Describes all of the AWS IoT 1-Click device-related API operations for the service.\n Also provides sample requests, responses, and errors for the supported web services\n protocols.</p>",
656                "smithy.api#title": "AWS IoT 1-Click Devices Service"
657            }
658        },
659        "com.amazonaws.iot1clickdevicesservice#ListDeviceEvents": {
660            "type": "operation",
661            "input": {
662                "target": "com.amazonaws.iot1clickdevicesservice#ListDeviceEventsRequest"
663            },
664            "output": {
665                "target": "com.amazonaws.iot1clickdevicesservice#ListDeviceEventsResponse"
666            },
667            "errors": [
668                {
669                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
670                },
671                {
672                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
673                },
674                {
675                    "target": "com.amazonaws.iot1clickdevicesservice#RangeNotSatisfiableException"
676                },
677                {
678                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
679                }
680            ],
681            "traits": {
682                "smithy.api#documentation": "<p>Using a device ID, returns a DeviceEventsResponse object containing an\n array of events for the device.</p>",
683                "smithy.api#http": {
684                    "method": "GET",
685                    "uri": "/devices/{DeviceId}/events",
686                    "code": 200
687                }
688            }
689        },
690        "com.amazonaws.iot1clickdevicesservice#ListDeviceEventsRequest": {
691            "type": "structure",
692            "members": {
693                "DeviceId": {
694                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
695                    "traits": {
696                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
697                        "smithy.api#httpLabel": {},
698                        "smithy.api#required": {}
699                    }
700                },
701                "FromTimeStamp": {
702                    "target": "com.amazonaws.iot1clickdevicesservice#__timestampIso8601",
703                    "traits": {
704                        "smithy.api#documentation": "<p>The start date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n </p>",
705                        "smithy.api#httpQuery": "fromTimeStamp",
706                        "smithy.api#required": {}
707                    }
708                },
709                "MaxResults": {
710                    "target": "com.amazonaws.iot1clickdevicesservice#MaxResults",
711                    "traits": {
712                        "smithy.api#documentation": "<p>The maximum number of results to return per request. If not set, a default value of\n 100 is used.</p>",
713                        "smithy.api#httpQuery": "maxResults"
714                    }
715                },
716                "NextToken": {
717                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
718                    "traits": {
719                        "smithy.api#documentation": "<p>The token to retrieve the next set of results.</p>",
720                        "smithy.api#httpQuery": "nextToken"
721                    }
722                },
723                "ToTimeStamp": {
724                    "target": "com.amazonaws.iot1clickdevicesservice#__timestampIso8601",
725                    "traits": {
726                        "smithy.api#documentation": "<p>The end date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n </p>",
727                        "smithy.api#httpQuery": "toTimeStamp",
728                        "smithy.api#required": {}
729                    }
730                }
731            }
732        },
733        "com.amazonaws.iot1clickdevicesservice#ListDeviceEventsResponse": {
734            "type": "structure",
735            "members": {
736                "Events": {
737                    "target": "com.amazonaws.iot1clickdevicesservice#__listOfDeviceEvent",
738                    "traits": {
739                        "smithy.api#documentation": "<p>An array of zero or more elements describing the event(s) associated with the\n device.</p>",
740                        "smithy.api#jsonName": "events"
741                    }
742                },
743                "NextToken": {
744                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
745                    "traits": {
746                        "smithy.api#documentation": "<p>The token to retrieve the next set of results.</p>",
747                        "smithy.api#jsonName": "nextToken"
748                    }
749                }
750            }
751        },
752        "com.amazonaws.iot1clickdevicesservice#ListDevices": {
753            "type": "operation",
754            "input": {
755                "target": "com.amazonaws.iot1clickdevicesservice#ListDevicesRequest"
756            },
757            "output": {
758                "target": "com.amazonaws.iot1clickdevicesservice#ListDevicesResponse"
759            },
760            "errors": [
761                {
762                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
763                },
764                {
765                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
766                },
767                {
768                    "target": "com.amazonaws.iot1clickdevicesservice#RangeNotSatisfiableException"
769                }
770            ],
771            "traits": {
772                "smithy.api#documentation": "<p>Lists the 1-Click compatible devices associated with your AWS account.</p>",
773                "smithy.api#http": {
774                    "method": "GET",
775                    "uri": "/devices",
776                    "code": 200
777                }
778            }
779        },
780        "com.amazonaws.iot1clickdevicesservice#ListDevicesRequest": {
781            "type": "structure",
782            "members": {
783                "DeviceType": {
784                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
785                    "traits": {
786                        "smithy.api#documentation": "<p>The type of the device, such as \"button\".</p>",
787                        "smithy.api#httpQuery": "deviceType"
788                    }
789                },
790                "MaxResults": {
791                    "target": "com.amazonaws.iot1clickdevicesservice#MaxResults",
792                    "traits": {
793                        "smithy.api#documentation": "<p>The maximum number of results to return per request. If not set, a default value of\n 100 is used.</p>",
794                        "smithy.api#httpQuery": "maxResults"
795                    }
796                },
797                "NextToken": {
798                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
799                    "traits": {
800                        "smithy.api#documentation": "<p>The token to retrieve the next set of results.</p>",
801                        "smithy.api#httpQuery": "nextToken"
802                    }
803                }
804            }
805        },
806        "com.amazonaws.iot1clickdevicesservice#ListDevicesResponse": {
807            "type": "structure",
808            "members": {
809                "Devices": {
810                    "target": "com.amazonaws.iot1clickdevicesservice#__listOfDeviceDescription",
811                    "traits": {
812                        "smithy.api#documentation": "<p>A list of devices.</p>",
813                        "smithy.api#jsonName": "devices"
814                    }
815                },
816                "NextToken": {
817                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
818                    "traits": {
819                        "smithy.api#documentation": "<p>The token to retrieve the next set of results.</p>",
820                        "smithy.api#jsonName": "nextToken"
821                    }
822                }
823            }
824        },
825        "com.amazonaws.iot1clickdevicesservice#ListTagsForResource": {
826            "type": "operation",
827            "input": {
828                "target": "com.amazonaws.iot1clickdevicesservice#ListTagsForResourceRequest"
829            },
830            "output": {
831                "target": "com.amazonaws.iot1clickdevicesservice#ListTagsForResourceResponse"
832            },
833            "errors": [
834                {
835                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
836                },
837                {
838                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
839                }
840            ],
841            "traits": {
842                "smithy.api#documentation": "<p>Lists the tags associated with the specified resource ARN.</p>",
843                "smithy.api#http": {
844                    "method": "GET",
845                    "uri": "/tags/{ResourceArn}",
846                    "code": 200
847                }
848            }
849        },
850        "com.amazonaws.iot1clickdevicesservice#ListTagsForResourceRequest": {
851            "type": "structure",
852            "members": {
853                "ResourceArn": {
854                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
855                    "traits": {
856                        "smithy.api#documentation": "<p>The ARN of the resource.</p>",
857                        "smithy.api#httpLabel": {},
858                        "smithy.api#required": {}
859                    }
860                }
861            }
862        },
863        "com.amazonaws.iot1clickdevicesservice#ListTagsForResourceResponse": {
864            "type": "structure",
865            "members": {
866                "Tags": {
867                    "target": "com.amazonaws.iot1clickdevicesservice#__mapOf__string",
868                    "traits": {
869                        "smithy.api#documentation": "<p>A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see <a href=\"https://aws.amazon.com/answers/account-management/aws-tagging-strategies/\">AWS\n Tagging Strategies</a>.</p><p>\n \n </p>",
870                        "smithy.api#jsonName": "tags"
871                    }
872                }
873            }
874        },
875        "com.amazonaws.iot1clickdevicesservice#MaxResults": {
876            "type": "integer",
877            "traits": {
878                "smithy.api#range": {
879                    "min": 1,
880                    "max": 250
881                }
882            }
883        },
884        "com.amazonaws.iot1clickdevicesservice#PreconditionFailedException": {
885            "type": "structure",
886            "members": {
887                "Code": {
888                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
889                    "traits": {
890                        "smithy.api#documentation": "<p>412</p>",
891                        "smithy.api#jsonName": "code"
892                    }
893                },
894                "Message": {
895                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
896                    "traits": {
897                        "smithy.api#documentation": "<p>An error message explaining the error or its remedy.</p>",
898                        "smithy.api#jsonName": "message"
899                    }
900                }
901            },
902            "traits": {
903                "smithy.api#error": "client",
904                "smithy.api#httpError": 412
905            }
906        },
907        "com.amazonaws.iot1clickdevicesservice#RangeNotSatisfiableException": {
908            "type": "structure",
909            "members": {
910                "Code": {
911                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
912                    "traits": {
913                        "smithy.api#documentation": "<p>416</p>",
914                        "smithy.api#jsonName": "code"
915                    }
916                },
917                "Message": {
918                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
919                    "traits": {
920                        "smithy.api#documentation": "<p>The requested number of results specified by nextToken cannot be\n satisfied.</p>",
921                        "smithy.api#jsonName": "message"
922                    }
923                }
924            },
925            "traits": {
926                "smithy.api#error": "client",
927                "smithy.api#httpError": 416
928            }
929        },
930        "com.amazonaws.iot1clickdevicesservice#ResourceConflictException": {
931            "type": "structure",
932            "members": {
933                "Code": {
934                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
935                    "traits": {
936                        "smithy.api#documentation": "<p>409</p>",
937                        "smithy.api#jsonName": "code"
938                    }
939                },
940                "Message": {
941                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
942                    "traits": {
943                        "smithy.api#documentation": "<p>An error message explaining the error or its remedy.</p>",
944                        "smithy.api#jsonName": "message"
945                    }
946                }
947            },
948            "traits": {
949                "smithy.api#error": "client",
950                "smithy.api#httpError": 409
951            }
952        },
953        "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException": {
954            "type": "structure",
955            "members": {
956                "Code": {
957                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
958                    "traits": {
959                        "smithy.api#documentation": "<p>404</p>",
960                        "smithy.api#jsonName": "code"
961                    }
962                },
963                "Message": {
964                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
965                    "traits": {
966                        "smithy.api#documentation": "<p>The requested device could not be found.</p>",
967                        "smithy.api#jsonName": "message"
968                    }
969                }
970            },
971            "traits": {
972                "smithy.api#error": "client",
973                "smithy.api#httpError": 404
974            }
975        },
976        "com.amazonaws.iot1clickdevicesservice#TagResource": {
977            "type": "operation",
978            "input": {
979                "target": "com.amazonaws.iot1clickdevicesservice#TagResourceRequest"
980            },
981            "errors": [
982                {
983                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
984                },
985                {
986                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
987                },
988                {
989                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
990                }
991            ],
992            "traits": {
993                "smithy.api#documentation": "<p>Adds or updates the tags associated with the resource ARN. See <a href=\"https://docs.aws.amazon.com/iot-1-click/latest/developerguide/1click-appendix.html#1click-limits\">AWS IoT 1-Click Service Limits</a> for the maximum number of tags allowed per\n resource.</p>",
994                "smithy.api#http": {
995                    "method": "POST",
996                    "uri": "/tags/{ResourceArn}",
997                    "code": 204
998                }
999            }
1000        },
1001        "com.amazonaws.iot1clickdevicesservice#TagResourceRequest": {
1002            "type": "structure",
1003            "members": {
1004                "ResourceArn": {
1005                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
1006                    "traits": {
1007                        "smithy.api#documentation": "<p>The ARN of the resource.</p>",
1008                        "smithy.api#httpLabel": {},
1009                        "smithy.api#required": {}
1010                    }
1011                },
1012                "Tags": {
1013                    "target": "com.amazonaws.iot1clickdevicesservice#__mapOf__string",
1014                    "traits": {
1015                        "smithy.api#documentation": "<p>A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see <a href=\"https://aws.amazon.com/answers/account-management/aws-tagging-strategies/\">AWS\n Tagging Strategies</a>.</p><p>\n \n </p>",
1016                        "smithy.api#jsonName": "tags",
1017                        "smithy.api#required": {}
1018                    }
1019                }
1020            }
1021        },
1022        "com.amazonaws.iot1clickdevicesservice#UnclaimDevice": {
1023            "type": "operation",
1024            "input": {
1025                "target": "com.amazonaws.iot1clickdevicesservice#UnclaimDeviceRequest"
1026            },
1027            "output": {
1028                "target": "com.amazonaws.iot1clickdevicesservice#UnclaimDeviceResponse"
1029            },
1030            "errors": [
1031                {
1032                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
1033                },
1034                {
1035                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
1036                },
1037                {
1038                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
1039                }
1040            ],
1041            "traits": {
1042                "smithy.api#documentation": "<p>Disassociates a device from your AWS account using its device ID.</p>",
1043                "smithy.api#http": {
1044                    "method": "PUT",
1045                    "uri": "/devices/{DeviceId}/unclaim",
1046                    "code": 200
1047                }
1048            }
1049        },
1050        "com.amazonaws.iot1clickdevicesservice#UnclaimDeviceRequest": {
1051            "type": "structure",
1052            "members": {
1053                "DeviceId": {
1054                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
1055                    "traits": {
1056                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
1057                        "smithy.api#httpLabel": {},
1058                        "smithy.api#required": {}
1059                    }
1060                }
1061            }
1062        },
1063        "com.amazonaws.iot1clickdevicesservice#UnclaimDeviceResponse": {
1064            "type": "structure",
1065            "members": {
1066                "State": {
1067                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
1068                    "traits": {
1069                        "smithy.api#documentation": "<p>The device's final claim state.</p>",
1070                        "smithy.api#jsonName": "state"
1071                    }
1072                }
1073            }
1074        },
1075        "com.amazonaws.iot1clickdevicesservice#UntagResource": {
1076            "type": "operation",
1077            "input": {
1078                "target": "com.amazonaws.iot1clickdevicesservice#UntagResourceRequest"
1079            },
1080            "errors": [
1081                {
1082                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
1083                },
1084                {
1085                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
1086                },
1087                {
1088                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
1089                }
1090            ],
1091            "traits": {
1092                "smithy.api#documentation": "<p>Using tag keys, deletes the tags (key/value pairs) associated with the specified\n resource ARN.</p>",
1093                "smithy.api#http": {
1094                    "method": "DELETE",
1095                    "uri": "/tags/{ResourceArn}",
1096                    "code": 204
1097                }
1098            }
1099        },
1100        "com.amazonaws.iot1clickdevicesservice#UntagResourceRequest": {
1101            "type": "structure",
1102            "members": {
1103                "ResourceArn": {
1104                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
1105                    "traits": {
1106                        "smithy.api#documentation": "<p>The ARN of the resource.</p>",
1107                        "smithy.api#httpLabel": {},
1108                        "smithy.api#required": {}
1109                    }
1110                },
1111                "TagKeys": {
1112                    "target": "com.amazonaws.iot1clickdevicesservice#__listOf__string",
1113                    "traits": {
1114                        "smithy.api#documentation": "<p>A collections of tag keys. For example, {\"key1\",\"key2\"}</p>",
1115                        "smithy.api#httpQuery": "tagKeys",
1116                        "smithy.api#required": {}
1117                    }
1118                }
1119            }
1120        },
1121        "com.amazonaws.iot1clickdevicesservice#UpdateDeviceState": {
1122            "type": "operation",
1123            "input": {
1124                "target": "com.amazonaws.iot1clickdevicesservice#UpdateDeviceStateRequest"
1125            },
1126            "output": {
1127                "target": "com.amazonaws.iot1clickdevicesservice#UpdateDeviceStateResponse"
1128            },
1129            "errors": [
1130                {
1131                    "target": "com.amazonaws.iot1clickdevicesservice#InternalFailureException"
1132                },
1133                {
1134                    "target": "com.amazonaws.iot1clickdevicesservice#InvalidRequestException"
1135                },
1136                {
1137                    "target": "com.amazonaws.iot1clickdevicesservice#ResourceNotFoundException"
1138                }
1139            ],
1140            "traits": {
1141                "smithy.api#documentation": "<p>Using a Boolean value (true or false), this operation\n enables or disables the device given a device ID.</p>",
1142                "smithy.api#http": {
1143                    "method": "PUT",
1144                    "uri": "/devices/{DeviceId}/state",
1145                    "code": 200
1146                }
1147            }
1148        },
1149        "com.amazonaws.iot1clickdevicesservice#UpdateDeviceStateRequest": {
1150            "type": "structure",
1151            "members": {
1152                "DeviceId": {
1153                    "target": "com.amazonaws.iot1clickdevicesservice#__string",
1154                    "traits": {
1155                        "smithy.api#documentation": "<p>The unique identifier of the device.</p>",
1156                        "smithy.api#httpLabel": {},
1157                        "smithy.api#required": {}
1158                    }
1159                },
1160                "Enabled": {
1161                    "target": "com.amazonaws.iot1clickdevicesservice#__boolean",
1162                    "traits": {
1163                        "smithy.api#documentation": "<p>If true, the device is enabled. If false, the device is\n disabled.</p>",
1164                        "smithy.api#jsonName": "enabled"
1165                    }
1166                }
1167            }
1168        },
1169        "com.amazonaws.iot1clickdevicesservice#UpdateDeviceStateResponse": {
1170            "type": "structure",
1171            "members": {}
1172        },
1173        "com.amazonaws.iot1clickdevicesservice#__boolean": {
1174            "type": "boolean"
1175        },
1176        "com.amazonaws.iot1clickdevicesservice#__doubleMin0Max100": {
1177            "type": "double"
1178        },
1179        "com.amazonaws.iot1clickdevicesservice#__integer": {
1180            "type": "integer"
1181        },
1182        "com.amazonaws.iot1clickdevicesservice#__listOfDeviceDescription": {
1183            "type": "list",
1184            "member": {
1185                "target": "com.amazonaws.iot1clickdevicesservice#DeviceDescription"
1186            }
1187        },
1188        "com.amazonaws.iot1clickdevicesservice#__listOfDeviceEvent": {
1189            "type": "list",
1190            "member": {
1191                "target": "com.amazonaws.iot1clickdevicesservice#DeviceEvent"
1192            }
1193        },
1194        "com.amazonaws.iot1clickdevicesservice#__listOfDeviceMethod": {
1195            "type": "list",
1196            "member": {
1197                "target": "com.amazonaws.iot1clickdevicesservice#DeviceMethod"
1198            }
1199        },
1200        "com.amazonaws.iot1clickdevicesservice#__listOf__string": {
1201            "type": "list",
1202            "member": {
1203                "target": "com.amazonaws.iot1clickdevicesservice#__string"
1204            }
1205        },
1206        "com.amazonaws.iot1clickdevicesservice#__mapOf__string": {
1207            "type": "map",
1208            "key": {
1209                "target": "com.amazonaws.iot1clickdevicesservice#__string"
1210            },
1211            "value": {
1212                "target": "com.amazonaws.iot1clickdevicesservice#__string"
1213            }
1214        },
1215        "com.amazonaws.iot1clickdevicesservice#__string": {
1216            "type": "string"
1217        },
1218        "com.amazonaws.iot1clickdevicesservice#__stringMin12Max40": {
1219            "type": "string",
1220            "traits": {
1221                "smithy.api#length": {
1222                    "min": 12,
1223                    "max": 40
1224                }
1225            }
1226        },
1227        "com.amazonaws.iot1clickdevicesservice#__timestampIso8601": {
1228            "type": "timestamp",
1229            "traits": {
1230                "smithy.api#timestampFormat": "date-time"
1231            }
1232        }
1233    }
1234}
1235