1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2021-06-17",
5    "endpointPrefix":"iotfleetwise",
6    "jsonVersion":"1.0",
7    "protocol":"json",
8    "serviceFullName":"AWS IoT FleetWise",
9    "serviceId":"IoTFleetWise",
10    "signatureVersion":"v4",
11    "signingName":"iotfleetwise",
12    "targetPrefix":"IoTAutobahnControlPlane",
13    "uid":"iotfleetwise-2021-06-17"
14  },
15  "operations":{
16    "AssociateVehicleFleet":{
17      "name":"AssociateVehicleFleet",
18      "http":{
19        "method":"POST",
20        "requestUri":"/"
21      },
22      "input":{"shape":"AssociateVehicleFleetRequest"},
23      "output":{"shape":"AssociateVehicleFleetResponse"},
24      "errors":[
25        {"shape":"InternalServerException"},
26        {"shape":"ResourceNotFoundException"},
27        {"shape":"LimitExceededException"},
28        {"shape":"ThrottlingException"},
29        {"shape":"ValidationException"},
30        {"shape":"AccessDeniedException"}
31      ],
32      "documentation":"<p> Adds, or associates, a vehicle with a fleet. </p>"
33    },
34    "BatchCreateVehicle":{
35      "name":"BatchCreateVehicle",
36      "http":{
37        "method":"POST",
38        "requestUri":"/"
39      },
40      "input":{"shape":"BatchCreateVehicleRequest"},
41      "output":{"shape":"BatchCreateVehicleResponse"},
42      "errors":[
43        {"shape":"InternalServerException"},
44        {"shape":"LimitExceededException"},
45        {"shape":"ThrottlingException"},
46        {"shape":"ValidationException"},
47        {"shape":"AccessDeniedException"}
48      ],
49      "documentation":"<p> Creates a group, or batch, of vehicles. </p> <note> <p> You must specify a decoder manifest and a vehicle model (model manifest) for each vehicle. </p> </note> <p>For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicles-cli.html\">Create multiple vehicles (AWS CLI)</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>. </p>"
50    },
51    "BatchUpdateVehicle":{
52      "name":"BatchUpdateVehicle",
53      "http":{
54        "method":"POST",
55        "requestUri":"/"
56      },
57      "input":{"shape":"BatchUpdateVehicleRequest"},
58      "output":{"shape":"BatchUpdateVehicleResponse"},
59      "errors":[
60        {"shape":"InternalServerException"},
61        {"shape":"ThrottlingException"},
62        {"shape":"ValidationException"},
63        {"shape":"AccessDeniedException"}
64      ],
65      "documentation":"<p> Updates a group, or batch, of vehicles.</p> <note> <p> You must specify a decoder manifest and a vehicle model (model manifest) for each vehicle. </p> </note> <p>For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/update-vehicles-cli.html\">Update multiple vehicles (AWS CLI)</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>. </p>"
66    },
67    "CreateCampaign":{
68      "name":"CreateCampaign",
69      "http":{
70        "method":"POST",
71        "requestUri":"/"
72      },
73      "input":{"shape":"CreateCampaignRequest"},
74      "output":{"shape":"CreateCampaignResponse"},
75      "errors":[
76        {"shape":"ResourceNotFoundException"},
77        {"shape":"InternalServerException"},
78        {"shape":"ConflictException"},
79        {"shape":"LimitExceededException"},
80        {"shape":"ThrottlingException"},
81        {"shape":"ValidationException"},
82        {"shape":"AccessDeniedException"}
83      ],
84      "documentation":"<p>Creates an orchestration of data collection rules. The Amazon Web Services IoT FleetWise Edge Agent software running in vehicles uses campaigns to decide how to collect and transfer data to the cloud. You create campaigns in the cloud. After you or your team approve campaigns, Amazon Web Services IoT FleetWise automatically deploys them to vehicles. </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/campaigns.html\">Collect and transfer data with campaigns</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>",
85      "idempotent":true
86    },
87    "CreateDecoderManifest":{
88      "name":"CreateDecoderManifest",
89      "http":{
90        "method":"POST",
91        "requestUri":"/"
92      },
93      "input":{"shape":"CreateDecoderManifestRequest"},
94      "output":{"shape":"CreateDecoderManifestResponse"},
95      "errors":[
96        {"shape":"ResourceNotFoundException"},
97        {"shape":"InternalServerException"},
98        {"shape":"ConflictException"},
99        {"shape":"LimitExceededException"},
100        {"shape":"DecoderManifestValidationException"},
101        {"shape":"ThrottlingException"},
102        {"shape":"ValidationException"},
103        {"shape":"AccessDeniedException"}
104      ],
105      "documentation":"<p>Creates the decoder manifest associated with a model manifest. To create a decoder manifest, the following must be true:</p> <ul> <li> <p>Every signal decoder has a unique name.</p> </li> <li> <p>Each signal decoder is associated with a network interface.</p> </li> <li> <p>Each network interface has a unique ID.</p> </li> <li> <p>The signal decoders are specified in the model manifest.</p> </li> </ul>",
106      "idempotent":true
107    },
108    "CreateFleet":{
109      "name":"CreateFleet",
110      "http":{
111        "method":"POST",
112        "requestUri":"/"
113      },
114      "input":{"shape":"CreateFleetRequest"},
115      "output":{"shape":"CreateFleetResponse"},
116      "errors":[
117        {"shape":"InternalServerException"},
118        {"shape":"ResourceNotFoundException"},
119        {"shape":"ConflictException"},
120        {"shape":"LimitExceededException"},
121        {"shape":"ThrottlingException"},
122        {"shape":"ValidationException"},
123        {"shape":"AccessDeniedException"}
124      ],
125      "documentation":"<p> Creates a fleet that represents a group of vehicles. </p> <note> <p>You must create both a signal catalog and vehicles before you can create a fleet. </p> </note> <p>For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleets.html\">Fleets</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>",
126      "idempotent":true
127    },
128    "CreateModelManifest":{
129      "name":"CreateModelManifest",
130      "http":{
131        "method":"POST",
132        "requestUri":"/"
133      },
134      "input":{"shape":"CreateModelManifestRequest"},
135      "output":{"shape":"CreateModelManifestResponse"},
136      "errors":[
137        {"shape":"ResourceNotFoundException"},
138        {"shape":"InternalServerException"},
139        {"shape":"ConflictException"},
140        {"shape":"LimitExceededException"},
141        {"shape":"ThrottlingException"},
142        {"shape":"ValidationException"},
143        {"shape":"InvalidSignalsException"},
144        {"shape":"AccessDeniedException"}
145      ],
146      "documentation":"<p> Creates a vehicle model (model manifest) that specifies signals (attributes, branches, sensors, and actuators). </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/vehicle-models.html\">Vehicle models</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>",
147      "idempotent":true
148    },
149    "CreateSignalCatalog":{
150      "name":"CreateSignalCatalog",
151      "http":{
152        "method":"POST",
153        "requestUri":"/"
154      },
155      "input":{"shape":"CreateSignalCatalogRequest"},
156      "output":{"shape":"CreateSignalCatalogResponse"},
157      "errors":[
158        {"shape":"InternalServerException"},
159        {"shape":"ConflictException"},
160        {"shape":"LimitExceededException"},
161        {"shape":"InvalidNodeException"},
162        {"shape":"ThrottlingException"},
163        {"shape":"ValidationException"},
164        {"shape":"InvalidSignalsException"},
165        {"shape":"AccessDeniedException"}
166      ],
167      "documentation":"<p> Creates a collection of standardized signals that can be reused to create vehicle models.</p>",
168      "idempotent":true
169    },
170    "CreateVehicle":{
171      "name":"CreateVehicle",
172      "http":{
173        "method":"POST",
174        "requestUri":"/"
175      },
176      "input":{"shape":"CreateVehicleRequest"},
177      "output":{"shape":"CreateVehicleResponse"},
178      "errors":[
179        {"shape":"InternalServerException"},
180        {"shape":"ResourceNotFoundException"},
181        {"shape":"ConflictException"},
182        {"shape":"LimitExceededException"},
183        {"shape":"ThrottlingException"},
184        {"shape":"ValidationException"},
185        {"shape":"AccessDeniedException"}
186      ],
187      "documentation":"<p> Creates a vehicle, which is an instance of a vehicle model (model manifest). Vehicles created from the same vehicle model consist of the same signals inherited from the vehicle model.</p> <note> <p> If you have an existing Amazon Web Services IoT thing, you can use Amazon Web Services IoT FleetWise to create a vehicle and collect data from your thing. </p> </note> <p>For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/create-vehicle-cli.html\">Create a vehicle (AWS CLI)</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>",
188      "idempotent":true
189    },
190    "DeleteCampaign":{
191      "name":"DeleteCampaign",
192      "http":{
193        "method":"POST",
194        "requestUri":"/"
195      },
196      "input":{"shape":"DeleteCampaignRequest"},
197      "output":{"shape":"DeleteCampaignResponse"},
198      "errors":[
199        {"shape":"ResourceNotFoundException"},
200        {"shape":"InternalServerException"},
201        {"shape":"ThrottlingException"},
202        {"shape":"ValidationException"},
203        {"shape":"AccessDeniedException"}
204      ],
205      "documentation":"<p> Deletes a data collection campaign. Deleting a campaign suspends all data collection and removes it from any vehicles. </p>",
206      "idempotent":true
207    },
208    "DeleteDecoderManifest":{
209      "name":"DeleteDecoderManifest",
210      "http":{
211        "method":"POST",
212        "requestUri":"/"
213      },
214      "input":{"shape":"DeleteDecoderManifestRequest"},
215      "output":{"shape":"DeleteDecoderManifestResponse"},
216      "errors":[
217        {"shape":"InternalServerException"},
218        {"shape":"ConflictException"},
219        {"shape":"ThrottlingException"},
220        {"shape":"ValidationException"},
221        {"shape":"AccessDeniedException"}
222      ],
223      "documentation":"<p> Deletes a decoder manifest. You can't delete a decoder manifest if it has vehicles associated with it. </p> <note> <p>If the decoder manifest is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.</p> </note>",
224      "idempotent":true
225    },
226    "DeleteFleet":{
227      "name":"DeleteFleet",
228      "http":{
229        "method":"POST",
230        "requestUri":"/"
231      },
232      "input":{"shape":"DeleteFleetRequest"},
233      "output":{"shape":"DeleteFleetResponse"},
234      "errors":[
235        {"shape":"InternalServerException"},
236        {"shape":"ThrottlingException"},
237        {"shape":"ValidationException"},
238        {"shape":"AccessDeniedException"}
239      ],
240      "documentation":"<p> Deletes a fleet. Before you delete a fleet, all vehicles must be dissociated from the fleet. For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/delete-fleet-cli.html\">Delete a fleet (AWS CLI)</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p> <note> <p>If the fleet is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.</p> </note>",
241      "idempotent":true
242    },
243    "DeleteModelManifest":{
244      "name":"DeleteModelManifest",
245      "http":{
246        "method":"POST",
247        "requestUri":"/"
248      },
249      "input":{"shape":"DeleteModelManifestRequest"},
250      "output":{"shape":"DeleteModelManifestResponse"},
251      "errors":[
252        {"shape":"InternalServerException"},
253        {"shape":"ConflictException"},
254        {"shape":"ThrottlingException"},
255        {"shape":"ValidationException"},
256        {"shape":"AccessDeniedException"}
257      ],
258      "documentation":"<p> Deletes a vehicle model (model manifest).</p> <note> <p>If the vehicle model is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.</p> </note>",
259      "idempotent":true
260    },
261    "DeleteSignalCatalog":{
262      "name":"DeleteSignalCatalog",
263      "http":{
264        "method":"POST",
265        "requestUri":"/"
266      },
267      "input":{"shape":"DeleteSignalCatalogRequest"},
268      "output":{"shape":"DeleteSignalCatalogResponse"},
269      "errors":[
270        {"shape":"InternalServerException"},
271        {"shape":"ConflictException"},
272        {"shape":"ThrottlingException"},
273        {"shape":"ValidationException"},
274        {"shape":"AccessDeniedException"}
275      ],
276      "documentation":"<p> Deletes a signal catalog. </p> <note> <p>If the signal catalog is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.</p> </note>",
277      "idempotent":true
278    },
279    "DeleteVehicle":{
280      "name":"DeleteVehicle",
281      "http":{
282        "method":"POST",
283        "requestUri":"/"
284      },
285      "input":{"shape":"DeleteVehicleRequest"},
286      "output":{"shape":"DeleteVehicleResponse"},
287      "errors":[
288        {"shape":"InternalServerException"},
289        {"shape":"ThrottlingException"},
290        {"shape":"ValidationException"},
291        {"shape":"AccessDeniedException"}
292      ],
293      "documentation":"<p> Deletes a vehicle and removes it from any campaigns.</p> <note> <p>If the vehicle is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.</p> </note>",
294      "idempotent":true
295    },
296    "DisassociateVehicleFleet":{
297      "name":"DisassociateVehicleFleet",
298      "http":{
299        "method":"POST",
300        "requestUri":"/"
301      },
302      "input":{"shape":"DisassociateVehicleFleetRequest"},
303      "output":{"shape":"DisassociateVehicleFleetResponse"},
304      "errors":[
305        {"shape":"InternalServerException"},
306        {"shape":"ResourceNotFoundException"},
307        {"shape":"ThrottlingException"},
308        {"shape":"ValidationException"},
309        {"shape":"AccessDeniedException"}
310      ],
311      "documentation":"<p>Removes, or disassociates, a vehicle from a fleet. Disassociating a vehicle from a fleet doesn't delete the vehicle.</p> <note> <p>If the vehicle is successfully dissociated from a fleet, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.</p> </note>"
312    },
313    "GetCampaign":{
314      "name":"GetCampaign",
315      "http":{
316        "method":"POST",
317        "requestUri":"/"
318      },
319      "input":{"shape":"GetCampaignRequest"},
320      "output":{"shape":"GetCampaignResponse"},
321      "errors":[
322        {"shape":"ResourceNotFoundException"},
323        {"shape":"InternalServerException"},
324        {"shape":"ThrottlingException"},
325        {"shape":"ValidationException"},
326        {"shape":"AccessDeniedException"}
327      ],
328      "documentation":"<p> Retrieves information about a campaign. </p>"
329    },
330    "GetDecoderManifest":{
331      "name":"GetDecoderManifest",
332      "http":{
333        "method":"POST",
334        "requestUri":"/"
335      },
336      "input":{"shape":"GetDecoderManifestRequest"},
337      "output":{"shape":"GetDecoderManifestResponse"},
338      "errors":[
339        {"shape":"ResourceNotFoundException"},
340        {"shape":"InternalServerException"},
341        {"shape":"ThrottlingException"},
342        {"shape":"ValidationException"},
343        {"shape":"AccessDeniedException"}
344      ],
345      "documentation":"<p> Retrieves information about a created decoder manifest. </p>"
346    },
347    "GetEncryptionConfiguration":{
348      "name":"GetEncryptionConfiguration",
349      "http":{
350        "method":"POST",
351        "requestUri":"/"
352      },
353      "input":{"shape":"GetEncryptionConfigurationRequest"},
354      "output":{"shape":"GetEncryptionConfigurationResponse"},
355      "errors":[
356        {"shape":"ResourceNotFoundException"},
357        {"shape":"InternalServerException"},
358        {"shape":"ThrottlingException"},
359        {"shape":"ValidationException"},
360        {"shape":"AccessDeniedException"}
361      ],
362      "documentation":"<p>Retrieves the encryption configuration for resources and data in Amazon Web Services IoT FleetWise.</p>"
363    },
364    "GetFleet":{
365      "name":"GetFleet",
366      "http":{
367        "method":"POST",
368        "requestUri":"/"
369      },
370      "input":{"shape":"GetFleetRequest"},
371      "output":{"shape":"GetFleetResponse"},
372      "errors":[
373        {"shape":"InternalServerException"},
374        {"shape":"ResourceNotFoundException"},
375        {"shape":"ThrottlingException"},
376        {"shape":"ValidationException"},
377        {"shape":"AccessDeniedException"}
378      ],
379      "documentation":"<p> Retrieves information about a fleet. </p>"
380    },
381    "GetLoggingOptions":{
382      "name":"GetLoggingOptions",
383      "http":{
384        "method":"POST",
385        "requestUri":"/"
386      },
387      "input":{"shape":"GetLoggingOptionsRequest"},
388      "output":{"shape":"GetLoggingOptionsResponse"},
389      "errors":[
390        {"shape":"InternalServerException"},
391        {"shape":"ThrottlingException"},
392        {"shape":"AccessDeniedException"}
393      ],
394      "documentation":"<p>Retrieves the logging options.</p>"
395    },
396    "GetModelManifest":{
397      "name":"GetModelManifest",
398      "http":{
399        "method":"POST",
400        "requestUri":"/"
401      },
402      "input":{"shape":"GetModelManifestRequest"},
403      "output":{"shape":"GetModelManifestResponse"},
404      "errors":[
405        {"shape":"ResourceNotFoundException"},
406        {"shape":"InternalServerException"},
407        {"shape":"ThrottlingException"},
408        {"shape":"ValidationException"},
409        {"shape":"AccessDeniedException"}
410      ],
411      "documentation":"<p> Retrieves information about a vehicle model (model manifest). </p>"
412    },
413    "GetRegisterAccountStatus":{
414      "name":"GetRegisterAccountStatus",
415      "http":{
416        "method":"POST",
417        "requestUri":"/"
418      },
419      "input":{"shape":"GetRegisterAccountStatusRequest"},
420      "output":{"shape":"GetRegisterAccountStatusResponse"},
421      "errors":[
422        {"shape":"ResourceNotFoundException"},
423        {"shape":"InternalServerException"},
424        {"shape":"ThrottlingException"},
425        {"shape":"ValidationException"},
426        {"shape":"AccessDeniedException"}
427      ],
428      "documentation":"<p> Retrieves information about the status of registering your Amazon Web Services account, IAM, and Amazon Timestream resources so that Amazon Web Services IoT FleetWise can transfer your vehicle data to the Amazon Web Services Cloud. </p> <p>For more information, including step-by-step procedures, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html\">Setting up Amazon Web Services IoT FleetWise</a>. </p> <note> <p>This API operation doesn't require input parameters.</p> </note>"
429    },
430    "GetSignalCatalog":{
431      "name":"GetSignalCatalog",
432      "http":{
433        "method":"POST",
434        "requestUri":"/"
435      },
436      "input":{"shape":"GetSignalCatalogRequest"},
437      "output":{"shape":"GetSignalCatalogResponse"},
438      "errors":[
439        {"shape":"ResourceNotFoundException"},
440        {"shape":"InternalServerException"},
441        {"shape":"ThrottlingException"},
442        {"shape":"ValidationException"},
443        {"shape":"AccessDeniedException"}
444      ],
445      "documentation":"<p> Retrieves information about a signal catalog. </p>"
446    },
447    "GetVehicle":{
448      "name":"GetVehicle",
449      "http":{
450        "method":"POST",
451        "requestUri":"/"
452      },
453      "input":{"shape":"GetVehicleRequest"},
454      "output":{"shape":"GetVehicleResponse"},
455      "errors":[
456        {"shape":"InternalServerException"},
457        {"shape":"ResourceNotFoundException"},
458        {"shape":"ThrottlingException"},
459        {"shape":"ValidationException"},
460        {"shape":"AccessDeniedException"}
461      ],
462      "documentation":"<p> Retrieves information about a vehicle. </p>"
463    },
464    "GetVehicleStatus":{
465      "name":"GetVehicleStatus",
466      "http":{
467        "method":"POST",
468        "requestUri":"/"
469      },
470      "input":{"shape":"GetVehicleStatusRequest"},
471      "output":{"shape":"GetVehicleStatusResponse"},
472      "errors":[
473        {"shape":"ResourceNotFoundException"},
474        {"shape":"InternalServerException"},
475        {"shape":"ThrottlingException"},
476        {"shape":"ValidationException"},
477        {"shape":"AccessDeniedException"}
478      ],
479      "documentation":"<p> Retrieves information about the status of a vehicle with any associated campaigns. </p>"
480    },
481    "ImportDecoderManifest":{
482      "name":"ImportDecoderManifest",
483      "http":{
484        "method":"POST",
485        "requestUri":"/"
486      },
487      "input":{"shape":"ImportDecoderManifestRequest"},
488      "output":{"shape":"ImportDecoderManifestResponse"},
489      "errors":[
490        {"shape":"ResourceNotFoundException"},
491        {"shape":"InternalServerException"},
492        {"shape":"ConflictException"},
493        {"shape":"DecoderManifestValidationException"},
494        {"shape":"ThrottlingException"},
495        {"shape":"ValidationException"},
496        {"shape":"InvalidSignalsException"},
497        {"shape":"AccessDeniedException"}
498      ],
499      "documentation":"<p> Creates a decoder manifest using your existing CAN DBC file from your local device. </p>"
500    },
501    "ImportSignalCatalog":{
502      "name":"ImportSignalCatalog",
503      "http":{
504        "method":"POST",
505        "requestUri":"/"
506      },
507      "input":{"shape":"ImportSignalCatalogRequest"},
508      "output":{"shape":"ImportSignalCatalogResponse"},
509      "errors":[
510        {"shape":"ResourceNotFoundException"},
511        {"shape":"InternalServerException"},
512        {"shape":"ConflictException"},
513        {"shape":"LimitExceededException"},
514        {"shape":"ThrottlingException"},
515        {"shape":"ValidationException"},
516        {"shape":"InvalidSignalsException"},
517        {"shape":"AccessDeniedException"}
518      ],
519      "documentation":"<p> Creates a signal catalog using your existing VSS formatted content from your local device. </p>",
520      "idempotent":true
521    },
522    "ListCampaigns":{
523      "name":"ListCampaigns",
524      "http":{
525        "method":"POST",
526        "requestUri":"/"
527      },
528      "input":{"shape":"ListCampaignsRequest"},
529      "output":{"shape":"ListCampaignsResponse"},
530      "errors":[
531        {"shape":"InternalServerException"},
532        {"shape":"ThrottlingException"},
533        {"shape":"ValidationException"},
534        {"shape":"AccessDeniedException"}
535      ],
536      "documentation":"<p> Lists information about created campaigns. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
537    },
538    "ListDecoderManifestNetworkInterfaces":{
539      "name":"ListDecoderManifestNetworkInterfaces",
540      "http":{
541        "method":"POST",
542        "requestUri":"/"
543      },
544      "input":{"shape":"ListDecoderManifestNetworkInterfacesRequest"},
545      "output":{"shape":"ListDecoderManifestNetworkInterfacesResponse"},
546      "errors":[
547        {"shape":"ResourceNotFoundException"},
548        {"shape":"InternalServerException"},
549        {"shape":"ThrottlingException"},
550        {"shape":"ValidationException"},
551        {"shape":"AccessDeniedException"}
552      ],
553      "documentation":"<p> Lists the network interfaces specified in a decoder manifest. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
554    },
555    "ListDecoderManifestSignals":{
556      "name":"ListDecoderManifestSignals",
557      "http":{
558        "method":"POST",
559        "requestUri":"/"
560      },
561      "input":{"shape":"ListDecoderManifestSignalsRequest"},
562      "output":{"shape":"ListDecoderManifestSignalsResponse"},
563      "errors":[
564        {"shape":"ResourceNotFoundException"},
565        {"shape":"InternalServerException"},
566        {"shape":"ThrottlingException"},
567        {"shape":"ValidationException"},
568        {"shape":"AccessDeniedException"}
569      ],
570      "documentation":"<p> A list of information about signal decoders specified in a decoder manifest. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
571    },
572    "ListDecoderManifests":{
573      "name":"ListDecoderManifests",
574      "http":{
575        "method":"POST",
576        "requestUri":"/"
577      },
578      "input":{"shape":"ListDecoderManifestsRequest"},
579      "output":{"shape":"ListDecoderManifestsResponse"},
580      "errors":[
581        {"shape":"InternalServerException"},
582        {"shape":"ThrottlingException"},
583        {"shape":"ValidationException"},
584        {"shape":"AccessDeniedException"}
585      ],
586      "documentation":"<p> Lists decoder manifests. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
587    },
588    "ListFleets":{
589      "name":"ListFleets",
590      "http":{
591        "method":"POST",
592        "requestUri":"/"
593      },
594      "input":{"shape":"ListFleetsRequest"},
595      "output":{"shape":"ListFleetsResponse"},
596      "errors":[
597        {"shape":"InternalServerException"},
598        {"shape":"ResourceNotFoundException"},
599        {"shape":"ThrottlingException"},
600        {"shape":"ValidationException"},
601        {"shape":"AccessDeniedException"}
602      ],
603      "documentation":"<p> Retrieves information for each created fleet in an Amazon Web Services account. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
604    },
605    "ListFleetsForVehicle":{
606      "name":"ListFleetsForVehicle",
607      "http":{
608        "method":"POST",
609        "requestUri":"/"
610      },
611      "input":{"shape":"ListFleetsForVehicleRequest"},
612      "output":{"shape":"ListFleetsForVehicleResponse"},
613      "errors":[
614        {"shape":"InternalServerException"},
615        {"shape":"ResourceNotFoundException"},
616        {"shape":"ThrottlingException"},
617        {"shape":"ValidationException"},
618        {"shape":"AccessDeniedException"}
619      ],
620      "documentation":"<p>Retrieves a list of IDs for all fleets that the vehicle is associated with.</p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
621    },
622    "ListModelManifestNodes":{
623      "name":"ListModelManifestNodes",
624      "http":{
625        "method":"POST",
626        "requestUri":"/"
627      },
628      "input":{"shape":"ListModelManifestNodesRequest"},
629      "output":{"shape":"ListModelManifestNodesResponse"},
630      "errors":[
631        {"shape":"InternalServerException"},
632        {"shape":"ResourceNotFoundException"},
633        {"shape":"LimitExceededException"},
634        {"shape":"ThrottlingException"},
635        {"shape":"ValidationException"},
636        {"shape":"AccessDeniedException"}
637      ],
638      "documentation":"<p> Lists information about nodes specified in a vehicle model (model manifest). </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
639    },
640    "ListModelManifests":{
641      "name":"ListModelManifests",
642      "http":{
643        "method":"POST",
644        "requestUri":"/"
645      },
646      "input":{"shape":"ListModelManifestsRequest"},
647      "output":{"shape":"ListModelManifestsResponse"},
648      "errors":[
649        {"shape":"InternalServerException"},
650        {"shape":"ThrottlingException"},
651        {"shape":"ValidationException"},
652        {"shape":"AccessDeniedException"}
653      ],
654      "documentation":"<p> Retrieves a list of vehicle models (model manifests). </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
655    },
656    "ListSignalCatalogNodes":{
657      "name":"ListSignalCatalogNodes",
658      "http":{
659        "method":"POST",
660        "requestUri":"/"
661      },
662      "input":{"shape":"ListSignalCatalogNodesRequest"},
663      "output":{"shape":"ListSignalCatalogNodesResponse"},
664      "errors":[
665        {"shape":"InternalServerException"},
666        {"shape":"ResourceNotFoundException"},
667        {"shape":"LimitExceededException"},
668        {"shape":"ThrottlingException"},
669        {"shape":"ValidationException"},
670        {"shape":"AccessDeniedException"}
671      ],
672      "documentation":"<p> Lists of information about the signals (nodes) specified in a signal catalog. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
673    },
674    "ListSignalCatalogs":{
675      "name":"ListSignalCatalogs",
676      "http":{
677        "method":"POST",
678        "requestUri":"/"
679      },
680      "input":{"shape":"ListSignalCatalogsRequest"},
681      "output":{"shape":"ListSignalCatalogsResponse"},
682      "errors":[
683        {"shape":"InternalServerException"},
684        {"shape":"ThrottlingException"},
685        {"shape":"ValidationException"},
686        {"shape":"AccessDeniedException"}
687      ],
688      "documentation":"<p> Lists all the created signal catalogs in an Amazon Web Services account. </p> <p>You can use to list information about each signal (node) specified in a signal catalog.</p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
689    },
690    "ListTagsForResource":{
691      "name":"ListTagsForResource",
692      "http":{
693        "method":"POST",
694        "requestUri":"/"
695      },
696      "input":{"shape":"ListTagsForResourceRequest"},
697      "output":{"shape":"ListTagsForResourceResponse"},
698      "errors":[
699        {"shape":"ResourceNotFoundException"},
700        {"shape":"InternalServerException"},
701        {"shape":"ThrottlingException"},
702        {"shape":"ValidationException"},
703        {"shape":"AccessDeniedException"}
704      ],
705      "documentation":"<p>Lists the tags (metadata) you have assigned to the resource.</p>"
706    },
707    "ListVehicles":{
708      "name":"ListVehicles",
709      "http":{
710        "method":"POST",
711        "requestUri":"/"
712      },
713      "input":{"shape":"ListVehiclesRequest"},
714      "output":{"shape":"ListVehiclesResponse"},
715      "errors":[
716        {"shape":"InternalServerException"},
717        {"shape":"ThrottlingException"},
718        {"shape":"ValidationException"},
719        {"shape":"AccessDeniedException"}
720      ],
721      "documentation":"<p> Retrieves a list of summaries of created vehicles. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
722    },
723    "ListVehiclesInFleet":{
724      "name":"ListVehiclesInFleet",
725      "http":{
726        "method":"POST",
727        "requestUri":"/"
728      },
729      "input":{"shape":"ListVehiclesInFleetRequest"},
730      "output":{"shape":"ListVehiclesInFleetResponse"},
731      "errors":[
732        {"shape":"InternalServerException"},
733        {"shape":"ResourceNotFoundException"},
734        {"shape":"ThrottlingException"},
735        {"shape":"ValidationException"},
736        {"shape":"AccessDeniedException"}
737      ],
738      "documentation":"<p> Retrieves a list of summaries of all vehicles associated with a fleet. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>"
739    },
740    "PutEncryptionConfiguration":{
741      "name":"PutEncryptionConfiguration",
742      "http":{
743        "method":"POST",
744        "requestUri":"/"
745      },
746      "input":{"shape":"PutEncryptionConfigurationRequest"},
747      "output":{"shape":"PutEncryptionConfigurationResponse"},
748      "errors":[
749        {"shape":"ResourceNotFoundException"},
750        {"shape":"InternalServerException"},
751        {"shape":"ConflictException"},
752        {"shape":"ThrottlingException"},
753        {"shape":"ValidationException"},
754        {"shape":"AccessDeniedException"}
755      ],
756      "documentation":"<p>Creates or updates the encryption configuration. Amazon Web Services IoT FleetWise can encrypt your data and resources using an Amazon Web Services managed key. Or, you can use a KMS key that you own and manage. For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/data-encryption.html\">Data encryption</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>"
757    },
758    "PutLoggingOptions":{
759      "name":"PutLoggingOptions",
760      "http":{
761        "method":"POST",
762        "requestUri":"/"
763      },
764      "input":{"shape":"PutLoggingOptionsRequest"},
765      "output":{"shape":"PutLoggingOptionsResponse"},
766      "errors":[
767        {"shape":"ResourceNotFoundException"},
768        {"shape":"InternalServerException"},
769        {"shape":"ConflictException"},
770        {"shape":"ThrottlingException"},
771        {"shape":"ValidationException"},
772        {"shape":"AccessDeniedException"}
773      ],
774      "documentation":"<p>Creates or updates the logging option.</p>",
775      "idempotent":true
776    },
777    "RegisterAccount":{
778      "name":"RegisterAccount",
779      "http":{
780        "method":"POST",
781        "requestUri":"/"
782      },
783      "input":{"shape":"RegisterAccountRequest"},
784      "output":{"shape":"RegisterAccountResponse"},
785      "errors":[
786        {"shape":"ResourceNotFoundException"},
787        {"shape":"InternalServerException"},
788        {"shape":"ConflictException"},
789        {"shape":"ThrottlingException"},
790        {"shape":"ValidationException"},
791        {"shape":"AccessDeniedException"}
792      ],
793      "documentation":"<important> <p>This API operation contains deprecated parameters. Register your account again without the Timestream resources parameter so that Amazon Web Services IoT FleetWise can remove the Timestream metadata stored. You should then pass the data destination into the <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateCampaign.html\">CreateCampaign</a> API operation.</p> <p>You must delete any existing campaigns that include an empty data destination before you register your account again. For more information, see the <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DeleteCampaign.html\">DeleteCampaign</a> API operation.</p> <p>If you want to delete the Timestream inline policy from the service-linked role, such as to mitigate an overly permissive policy, you must first delete any existing campaigns. Then delete the service-linked role and register your account again to enable CloudWatch metrics. For more information, see <a href=\"https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html\">DeleteServiceLinkedRole</a> in the <i>Identity and Access Management API Reference</i>.</p> </important> <p>Registers your Amazon Web Services account, IAM, and Amazon Timestream resources so Amazon Web Services IoT FleetWise can transfer your vehicle data to the Amazon Web Services Cloud. For more information, including step-by-step procedures, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html\">Setting up Amazon Web Services IoT FleetWise</a>. </p> <note> <p>An Amazon Web Services account is <b>not</b> the same thing as a \"user.\" An <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users\">Amazon Web Services user</a> is an identity that you create using Identity and Access Management (IAM) and takes the form of either an <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html\">IAM user</a> or an <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html\">IAM role, both with credentials</a>. A single Amazon Web Services account can, and typically does, contain many users and roles.</p> </note>"
794    },
795    "TagResource":{
796      "name":"TagResource",
797      "http":{
798        "method":"POST",
799        "requestUri":"/"
800      },
801      "input":{"shape":"TagResourceRequest"},
802      "output":{"shape":"TagResourceResponse"},
803      "errors":[
804        {"shape":"ResourceNotFoundException"},
805        {"shape":"InternalServerException"},
806        {"shape":"ThrottlingException"},
807        {"shape":"ValidationException"},
808        {"shape":"AccessDeniedException"}
809      ],
810      "documentation":"<p>Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.</p>",
811      "idempotent":true
812    },
813    "UntagResource":{
814      "name":"UntagResource",
815      "http":{
816        "method":"POST",
817        "requestUri":"/"
818      },
819      "input":{"shape":"UntagResourceRequest"},
820      "output":{"shape":"UntagResourceResponse"},
821      "errors":[
822        {"shape":"ResourceNotFoundException"},
823        {"shape":"InternalServerException"},
824        {"shape":"ThrottlingException"},
825        {"shape":"ValidationException"},
826        {"shape":"AccessDeniedException"}
827      ],
828      "documentation":"<p>Removes the given tags (metadata) from the resource.</p>",
829      "idempotent":true
830    },
831    "UpdateCampaign":{
832      "name":"UpdateCampaign",
833      "http":{
834        "method":"POST",
835        "requestUri":"/"
836      },
837      "input":{"shape":"UpdateCampaignRequest"},
838      "output":{"shape":"UpdateCampaignResponse"},
839      "errors":[
840        {"shape":"ResourceNotFoundException"},
841        {"shape":"InternalServerException"},
842        {"shape":"ConflictException"},
843        {"shape":"ThrottlingException"},
844        {"shape":"ValidationException"},
845        {"shape":"AccessDeniedException"}
846      ],
847      "documentation":"<p> Updates a campaign. </p>"
848    },
849    "UpdateDecoderManifest":{
850      "name":"UpdateDecoderManifest",
851      "http":{
852        "method":"POST",
853        "requestUri":"/"
854      },
855      "input":{"shape":"UpdateDecoderManifestRequest"},
856      "output":{"shape":"UpdateDecoderManifestResponse"},
857      "errors":[
858        {"shape":"ResourceNotFoundException"},
859        {"shape":"InternalServerException"},
860        {"shape":"ConflictException"},
861        {"shape":"LimitExceededException"},
862        {"shape":"DecoderManifestValidationException"},
863        {"shape":"ThrottlingException"},
864        {"shape":"ValidationException"},
865        {"shape":"AccessDeniedException"}
866      ],
867      "documentation":"<p> Updates a decoder manifest.</p> <p>A decoder manifest can only be updated when the status is <code>DRAFT</code>. Only <code>ACTIVE</code> decoder manifests can be associated with vehicles.</p>",
868      "idempotent":true
869    },
870    "UpdateFleet":{
871      "name":"UpdateFleet",
872      "http":{
873        "method":"POST",
874        "requestUri":"/"
875      },
876      "input":{"shape":"UpdateFleetRequest"},
877      "output":{"shape":"UpdateFleetResponse"},
878      "errors":[
879        {"shape":"InternalServerException"},
880        {"shape":"ResourceNotFoundException"},
881        {"shape":"ConflictException"},
882        {"shape":"ThrottlingException"},
883        {"shape":"ValidationException"},
884        {"shape":"AccessDeniedException"}
885      ],
886      "documentation":"<p> Updates the description of an existing fleet. </p> <note> <p>If the fleet is successfully updated, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty HTTP body.</p> </note>"
887    },
888    "UpdateModelManifest":{
889      "name":"UpdateModelManifest",
890      "http":{
891        "method":"POST",
892        "requestUri":"/"
893      },
894      "input":{"shape":"UpdateModelManifestRequest"},
895      "output":{"shape":"UpdateModelManifestResponse"},
896      "errors":[
897        {"shape":"InternalServerException"},
898        {"shape":"ResourceNotFoundException"},
899        {"shape":"ConflictException"},
900        {"shape":"ThrottlingException"},
901        {"shape":"ValidationException"},
902        {"shape":"InvalidSignalsException"},
903        {"shape":"AccessDeniedException"}
904      ],
905      "documentation":"<p> Updates a vehicle model (model manifest). If created vehicles are associated with a vehicle model, it can't be updated.</p>",
906      "idempotent":true
907    },
908    "UpdateSignalCatalog":{
909      "name":"UpdateSignalCatalog",
910      "http":{
911        "method":"POST",
912        "requestUri":"/"
913      },
914      "input":{"shape":"UpdateSignalCatalogRequest"},
915      "output":{"shape":"UpdateSignalCatalogResponse"},
916      "errors":[
917        {"shape":"ResourceNotFoundException"},
918        {"shape":"InternalServerException"},
919        {"shape":"ConflictException"},
920        {"shape":"LimitExceededException"},
921        {"shape":"InvalidNodeException"},
922        {"shape":"ThrottlingException"},
923        {"shape":"ValidationException"},
924        {"shape":"InvalidSignalsException"},
925        {"shape":"AccessDeniedException"}
926      ],
927      "documentation":"<p> Updates a signal catalog. </p>",
928      "idempotent":true
929    },
930    "UpdateVehicle":{
931      "name":"UpdateVehicle",
932      "http":{
933        "method":"POST",
934        "requestUri":"/"
935      },
936      "input":{"shape":"UpdateVehicleRequest"},
937      "output":{"shape":"UpdateVehicleResponse"},
938      "errors":[
939        {"shape":"InternalServerException"},
940        {"shape":"ResourceNotFoundException"},
941        {"shape":"ConflictException"},
942        {"shape":"ThrottlingException"},
943        {"shape":"ValidationException"},
944        {"shape":"AccessDeniedException"}
945      ],
946      "documentation":"<p> Updates a vehicle. </p>"
947    }
948  },
949  "shapes":{
950    "AccessDeniedException":{
951      "type":"structure",
952      "required":["message"],
953      "members":{
954        "message":{"shape":"string"}
955      },
956      "documentation":"<p>You don't have sufficient permission to perform this action.</p>",
957      "exception":true
958    },
959    "Actuator":{
960      "type":"structure",
961      "required":[
962        "fullyQualifiedName",
963        "dataType"
964      ],
965      "members":{
966        "fullyQualifiedName":{
967          "shape":"string",
968          "documentation":"<p>The fully qualified name of the actuator. For example, the fully qualified name of an actuator might be <code>Vehicle.Front.Left.Door.Lock</code>.</p>"
969        },
970        "dataType":{
971          "shape":"NodeDataType",
972          "documentation":"<p>The specified data type of the actuator. </p>"
973        },
974        "description":{
975          "shape":"description",
976          "documentation":"<p>A brief description of the actuator.</p>"
977        },
978        "unit":{
979          "shape":"string",
980          "documentation":"<p>The scientific unit for the actuator.</p>"
981        },
982        "allowedValues":{
983          "shape":"listOfStrings",
984          "documentation":"<p>A list of possible values an actuator can take.</p>"
985        },
986        "min":{
987          "shape":"double",
988          "documentation":"<p>The specified possible minimum value of an actuator.</p>"
989        },
990        "max":{
991          "shape":"double",
992          "documentation":"<p>The specified possible maximum value of an actuator.</p>"
993        },
994        "assignedValue":{
995          "shape":"string",
996          "documentation":"<p>A specified value for the actuator.</p>",
997          "deprecated":true,
998          "deprecatedMessage":"assignedValue is no longer in use"
999        },
1000        "deprecationMessage":{
1001          "shape":"message",
1002          "documentation":"<p>The deprecation message for the node or the branch that was moved or deleted.</p>"
1003        },
1004        "comment":{
1005          "shape":"message",
1006          "documentation":"<p>A comment in addition to the description.</p>"
1007        },
1008        "structFullyQualifiedName":{
1009          "shape":"NodePath",
1010          "documentation":"<p>The fully qualified name of the struct node for the actuator if the data type of the actuator is <code>Struct</code> or <code>StructArray</code>. For example, the struct fully qualified name of an actuator might be <code>Vehicle.Door.LockStruct</code>.</p>"
1011        }
1012      },
1013      "documentation":"<p>A signal that represents a vehicle device such as the engine, heater, and door locks. Data from an actuator reports the state of a certain vehicle device.</p> <note> <p> Updating actuator data can change the state of a device. For example, you can turn on or off the heater by updating its actuator data.</p> </note>"
1014    },
1015    "AmazonResourceName":{
1016      "type":"string",
1017      "max":1011,
1018      "min":1
1019    },
1020    "AssociateVehicleFleetRequest":{
1021      "type":"structure",
1022      "required":[
1023        "vehicleName",
1024        "fleetId"
1025      ],
1026      "members":{
1027        "vehicleName":{
1028          "shape":"vehicleName",
1029          "documentation":"<p> The unique ID of the vehicle to associate with the fleet. </p>"
1030        },
1031        "fleetId":{
1032          "shape":"fleetId",
1033          "documentation":"<p> The ID of a fleet. </p>"
1034        }
1035      }
1036    },
1037    "AssociateVehicleFleetResponse":{
1038      "type":"structure",
1039      "members":{
1040      }
1041    },
1042    "Attribute":{
1043      "type":"structure",
1044      "required":[
1045        "fullyQualifiedName",
1046        "dataType"
1047      ],
1048      "members":{
1049        "fullyQualifiedName":{
1050          "shape":"string",
1051          "documentation":"<p>The fully qualified name of the attribute. For example, the fully qualified name of an attribute might be <code>Vehicle.Body.Engine.Type</code>.</p>"
1052        },
1053        "dataType":{
1054          "shape":"NodeDataType",
1055          "documentation":"<p>The specified data type of the attribute. </p>"
1056        },
1057        "description":{
1058          "shape":"description",
1059          "documentation":"<p>A brief description of the attribute.</p>"
1060        },
1061        "unit":{
1062          "shape":"string",
1063          "documentation":"<p>The scientific unit for the attribute.</p>"
1064        },
1065        "allowedValues":{
1066          "shape":"listOfStrings",
1067          "documentation":"<p>A list of possible values an attribute can be assigned.</p>"
1068        },
1069        "min":{
1070          "shape":"double",
1071          "documentation":"<p>The specified possible minimum value of the attribute.</p>"
1072        },
1073        "max":{
1074          "shape":"double",
1075          "documentation":"<p>The specified possible maximum value of the attribute.</p>"
1076        },
1077        "assignedValue":{
1078          "shape":"string",
1079          "documentation":"<p>A specified value for the attribute.</p>",
1080          "deprecated":true,
1081          "deprecatedMessage":"assignedValue is no longer in use"
1082        },
1083        "defaultValue":{
1084          "shape":"string",
1085          "documentation":"<p>The default value of the attribute.</p>"
1086        },
1087        "deprecationMessage":{
1088          "shape":"message",
1089          "documentation":"<p>The deprecation message for the node or the branch that was moved or deleted.</p>"
1090        },
1091        "comment":{
1092          "shape":"message",
1093          "documentation":"<p>A comment in addition to the description.</p>"
1094        }
1095      },
1096      "documentation":"<p>A signal that represents static information about the vehicle, such as engine type or manufacturing date.</p>"
1097    },
1098    "BatchCreateVehicleRequest":{
1099      "type":"structure",
1100      "required":["vehicles"],
1101      "members":{
1102        "vehicles":{
1103          "shape":"createVehicleRequestItems",
1104          "documentation":"<p> A list of information about each vehicle to create. For more information, see the API data type.</p>"
1105        }
1106      }
1107    },
1108    "BatchCreateVehicleResponse":{
1109      "type":"structure",
1110      "members":{
1111        "vehicles":{
1112          "shape":"createVehicleResponses",
1113          "documentation":"<p> A list of information about a batch of created vehicles. For more information, see the API data type.</p>"
1114        },
1115        "errors":{
1116          "shape":"createVehicleErrors",
1117          "documentation":"<p>A list of information about creation errors, or an empty list if there aren't any errors. </p>"
1118        }
1119      }
1120    },
1121    "BatchUpdateVehicleRequest":{
1122      "type":"structure",
1123      "required":["vehicles"],
1124      "members":{
1125        "vehicles":{
1126          "shape":"updateVehicleRequestItems",
1127          "documentation":"<p> A list of information about the vehicles to update. For more information, see the API data type.</p>"
1128        }
1129      }
1130    },
1131    "BatchUpdateVehicleResponse":{
1132      "type":"structure",
1133      "members":{
1134        "vehicles":{
1135          "shape":"updateVehicleResponseItems",
1136          "documentation":"<p> A list of information about the batch of updated vehicles. </p> <note> <p>This list contains only unique IDs for the vehicles that were updated.</p> </note>"
1137        },
1138        "errors":{
1139          "shape":"updateVehicleErrors",
1140          "documentation":"<p>A list of information about errors returned while updating a batch of vehicles, or, if there aren't any errors, an empty list.</p>"
1141        }
1142      }
1143    },
1144    "Branch":{
1145      "type":"structure",
1146      "required":["fullyQualifiedName"],
1147      "members":{
1148        "fullyQualifiedName":{
1149          "shape":"string",
1150          "documentation":"<p>The fully qualified name of the branch. For example, the fully qualified name of a branch might be <code>Vehicle.Body.Engine</code>.</p>"
1151        },
1152        "description":{
1153          "shape":"description",
1154          "documentation":"<p>A brief description of the branch.</p>"
1155        },
1156        "deprecationMessage":{
1157          "shape":"message",
1158          "documentation":"<p>The deprecation message for the node or the branch that was moved or deleted.</p>"
1159        },
1160        "comment":{
1161          "shape":"message",
1162          "documentation":"<p>A comment in addition to the description.</p>"
1163        }
1164      },
1165      "documentation":"<p>A group of signals that are defined in a hierarchical structure.</p>"
1166    },
1167    "CampaignStatus":{
1168      "type":"string",
1169      "enum":[
1170        "CREATING",
1171        "WAITING_FOR_APPROVAL",
1172        "RUNNING",
1173        "SUSPENDED"
1174      ]
1175    },
1176    "CampaignSummary":{
1177      "type":"structure",
1178      "required":[
1179        "creationTime",
1180        "lastModificationTime"
1181      ],
1182      "members":{
1183        "arn":{
1184          "shape":"arn",
1185          "documentation":"<p>The Amazon Resource Name (ARN) of a campaign.</p>"
1186        },
1187        "name":{
1188          "shape":"campaignName",
1189          "documentation":"<p>The name of a campaign.</p>"
1190        },
1191        "description":{
1192          "shape":"description",
1193          "documentation":"<p>The description of the campaign.</p>"
1194        },
1195        "signalCatalogArn":{
1196          "shape":"arn",
1197          "documentation":"<p>The ARN of the signal catalog associated with the campaign.</p>"
1198        },
1199        "targetArn":{
1200          "shape":"arn",
1201          "documentation":"<p>The ARN of a vehicle or fleet to which the campaign is deployed.</p>"
1202        },
1203        "status":{
1204          "shape":"CampaignStatus",
1205          "documentation":"<p>The state of a campaign. The status can be one of the following:</p> <ul> <li> <p> <code>CREATING</code> - Amazon Web Services IoT FleetWise is processing your request to create the campaign.</p> </li> <li> <p> <code>WAITING_FOR_APPROVAL</code> - After a campaign is created, it enters the <code>WAITING_FOR_APPROVAL</code> state. To allow Amazon Web Services IoT FleetWise to deploy the campaign to the target vehicle or fleet, use the API operation to approve the campaign. </p> </li> <li> <p> <code>RUNNING</code> - The campaign is active. </p> </li> <li> <p> <code>SUSPENDED</code> - The campaign is suspended. To resume the campaign, use the API operation. </p> </li> </ul>"
1206        },
1207        "creationTime":{
1208          "shape":"timestamp",
1209          "documentation":"<p>The time the campaign was created.</p>"
1210        },
1211        "lastModificationTime":{
1212          "shape":"timestamp",
1213          "documentation":"<p>The last time the campaign was modified.</p>"
1214        }
1215      },
1216      "documentation":"<p>Information about a campaign. </p> <p>You can use the API operation to return this information about multiple created campaigns.</p>"
1217    },
1218    "CanDbcDefinition":{
1219      "type":"structure",
1220      "required":[
1221        "networkInterface",
1222        "canDbcFiles"
1223      ],
1224      "members":{
1225        "networkInterface":{
1226          "shape":"InterfaceId",
1227          "documentation":"<p>Contains information about a network interface.</p>"
1228        },
1229        "canDbcFiles":{
1230          "shape":"NetworkFilesList",
1231          "documentation":"<p>A list of DBC files. You can upload only one DBC file for each network interface and specify up to five (inclusive) files in the list. The DBC file can be a maximum size of 200 MB.</p>"
1232        },
1233        "signalsMap":{
1234          "shape":"ModelSignalsMap",
1235          "documentation":"<p>Pairs every signal specified in your vehicle model with a signal decoder.</p>"
1236        }
1237      },
1238      "documentation":"<p>Configurations used to create a decoder manifest.</p>"
1239    },
1240    "CanInterface":{
1241      "type":"structure",
1242      "required":["name"],
1243      "members":{
1244        "name":{
1245          "shape":"CanInterfaceName",
1246          "documentation":"<p>The unique name of the interface.</p>"
1247        },
1248        "protocolName":{
1249          "shape":"ProtocolName",
1250          "documentation":"<p>The name of the communication protocol for the interface.</p>"
1251        },
1252        "protocolVersion":{
1253          "shape":"ProtocolVersion",
1254          "documentation":"<p>The version of the communication protocol for the interface.</p>"
1255        }
1256      },
1257      "documentation":"<p>A single controller area network (CAN) device interface.</p>"
1258    },
1259    "CanInterfaceName":{
1260      "type":"string",
1261      "max":100,
1262      "min":1
1263    },
1264    "CanSignal":{
1265      "type":"structure",
1266      "required":[
1267        "messageId",
1268        "isBigEndian",
1269        "isSigned",
1270        "startBit",
1271        "offset",
1272        "factor",
1273        "length"
1274      ],
1275      "members":{
1276        "messageId":{
1277          "shape":"nonNegativeInteger",
1278          "documentation":"<p>The ID of the message.</p>"
1279        },
1280        "isBigEndian":{
1281          "shape":"PrimitiveBoolean",
1282          "documentation":"<p>Whether the byte ordering of a CAN message is big-endian.</p>"
1283        },
1284        "isSigned":{
1285          "shape":"PrimitiveBoolean",
1286          "documentation":"<p>Whether the message data is specified as a signed value.</p>"
1287        },
1288        "startBit":{
1289          "shape":"nonNegativeInteger",
1290          "documentation":"<p>Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).</p> <p>This value might be different from the value in a DBC file. For little endian signals, <code>startBit</code> is the same value as in the DBC file. For big endian signals in a DBC file, the start bit is the most significant bit (MSB). You will have to calculate the LSB instead and pass it as the <code>startBit</code>.</p>"
1291        },
1292        "offset":{
1293          "shape":"double",
1294          "documentation":"<p>The offset used to calculate the signal value. Combined with factor, the calculation is <code>value = raw_value * factor + offset</code>.</p>"
1295        },
1296        "factor":{
1297          "shape":"double",
1298          "documentation":"<p>A multiplier used to decode the CAN message.</p>"
1299        },
1300        "length":{
1301          "shape":"nonNegativeInteger",
1302          "documentation":"<p>How many bytes of data are in the message.</p>"
1303        },
1304        "name":{
1305          "shape":"CanSignalName",
1306          "documentation":"<p>The name of the signal.</p>"
1307        }
1308      },
1309      "documentation":"<p>Information about a single controller area network (CAN) signal and the messages it receives and transmits.</p>"
1310    },
1311    "CanSignalName":{
1312      "type":"string",
1313      "max":100,
1314      "min":1
1315    },
1316    "CloudWatchLogDeliveryOptions":{
1317      "type":"structure",
1318      "required":["logType"],
1319      "members":{
1320        "logType":{
1321          "shape":"LogType",
1322          "documentation":"<p>The type of log to send data to Amazon CloudWatch Logs.</p>"
1323        },
1324        "logGroupName":{
1325          "shape":"CloudWatchLogGroupName",
1326          "documentation":"<p>The Amazon CloudWatch Logs group the operation sends data to.</p>"
1327        }
1328      },
1329      "documentation":"<p>The log delivery option to send data to Amazon CloudWatch Logs.</p>"
1330    },
1331    "CloudWatchLogGroupName":{
1332      "type":"string",
1333      "max":512,
1334      "min":1,
1335      "pattern":"[\\.\\-_\\/#A-Za-z0-9]+"
1336    },
1337    "CollectionScheme":{
1338      "type":"structure",
1339      "members":{
1340        "timeBasedCollectionScheme":{
1341          "shape":"TimeBasedCollectionScheme",
1342          "documentation":"<p>Information about a collection scheme that uses a time period to decide how often to collect data.</p>"
1343        },
1344        "conditionBasedCollectionScheme":{
1345          "shape":"ConditionBasedCollectionScheme",
1346          "documentation":"<p>Information about a collection scheme that uses a simple logical expression to recognize what data to collect.</p>"
1347        }
1348      },
1349      "documentation":"<p>Specifies what data to collect and how often or when to collect it.</p>",
1350      "union":true
1351    },
1352    "Compression":{
1353      "type":"string",
1354      "enum":[
1355        "OFF",
1356        "SNAPPY"
1357      ]
1358    },
1359    "ConditionBasedCollectionScheme":{
1360      "type":"structure",
1361      "required":["expression"],
1362      "members":{
1363        "expression":{
1364          "shape":"eventExpression",
1365          "documentation":"<p>The logical expression used to recognize what data to collect. For example, <code>$variable.`Vehicle.OutsideAirTemperature` &gt;= 105.0</code>.</p>"
1366        },
1367        "minimumTriggerIntervalMs":{
1368          "shape":"uint32",
1369          "documentation":"<p>The minimum duration of time between two triggering events to collect data, in milliseconds.</p> <note> <p>If a signal changes often, you might want to collect data at a slower rate.</p> </note>"
1370        },
1371        "triggerMode":{
1372          "shape":"TriggerMode",
1373          "documentation":"<p>Whether to collect data for all triggering events (<code>ALWAYS</code>). Specify (<code>RISING_EDGE</code>), or specify only when the condition first evaluates to false. For example, triggering on \"AirbagDeployed\"; Users aren't interested on triggering when the airbag is already exploded; they only care about the change from not deployed =&gt; deployed.</p>"
1374        },
1375        "conditionLanguageVersion":{
1376          "shape":"languageVersion",
1377          "documentation":"<p>Specifies the version of the conditional expression language.</p>"
1378        }
1379      },
1380      "documentation":"<p>Information about a collection scheme that uses a simple logical expression to recognize what data to collect.</p>"
1381    },
1382    "ConflictException":{
1383      "type":"structure",
1384      "required":[
1385        "message",
1386        "resource",
1387        "resourceType"
1388      ],
1389      "members":{
1390        "message":{"shape":"string"},
1391        "resource":{
1392          "shape":"string",
1393          "documentation":"<p>The resource on which there are conflicting operations.</p>"
1394        },
1395        "resourceType":{
1396          "shape":"string",
1397          "documentation":"<p>The type of resource on which there are conflicting operations..</p>"
1398        }
1399      },
1400      "documentation":"<p>The request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time.</p>",
1401      "exception":true
1402    },
1403    "CreateCampaignRequest":{
1404      "type":"structure",
1405      "required":[
1406        "name",
1407        "signalCatalogArn",
1408        "targetArn",
1409        "collectionScheme"
1410      ],
1411      "members":{
1412        "name":{
1413          "shape":"campaignName",
1414          "documentation":"<p> The name of the campaign to create. </p>"
1415        },
1416        "description":{
1417          "shape":"description",
1418          "documentation":"<p>An optional description of the campaign to help identify its purpose.</p>"
1419        },
1420        "signalCatalogArn":{
1421          "shape":"arn",
1422          "documentation":"<p>(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate with the campaign. </p>"
1423        },
1424        "targetArn":{
1425          "shape":"arn",
1426          "documentation":"<p> The ARN of the vehicle or fleet to deploy a campaign to. </p>"
1427        },
1428        "startTime":{
1429          "shape":"timestamp",
1430          "documentation":"<p>(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If it's not specified, <code>0</code> is used.</p> <p>Default: <code>0</code> </p>"
1431        },
1432        "expiryTime":{
1433          "shape":"timestamp",
1434          "documentation":"<p> (Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time). Vehicle data isn't collected after the campaign expires. </p> <p>Default: 253402214400 (December 31, 9999, 00:00:00 UTC)</p>"
1435        },
1436        "postTriggerCollectionDuration":{
1437          "shape":"uint32",
1438          "documentation":"<p> (Optional) How long (in milliseconds) to collect raw data after a triggering event initiates the collection. If it's not specified, <code>0</code> is used.</p> <p>Default: <code>0</code> </p>"
1439        },
1440        "diagnosticsMode":{
1441          "shape":"DiagnosticsMode",
1442          "documentation":"<p> (Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use <code>SEND_ACTIVE_DTCS</code>. If it's not specified, <code>OFF</code> is used.</p> <p>Default: <code>OFF</code> </p>"
1443        },
1444        "spoolingMode":{
1445          "shape":"SpoolingMode",
1446          "documentation":"<p>(Optional) Whether to store collected data after a vehicle lost a connection with the cloud. After a connection is re-established, the data is automatically forwarded to Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the cloud, use <code>TO_DISK</code>. If it's not specified, <code>OFF</code> is used.</p> <p>Default: <code>OFF</code> </p>"
1447        },
1448        "compression":{
1449          "shape":"Compression",
1450          "documentation":"<p> (Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you don't want to compress the signals, use <code>OFF</code>. If it's not specified, <code>SNAPPY</code> is used. </p> <p>Default: <code>SNAPPY</code> </p>"
1451        },
1452        "priority":{
1453          "shape":"priority",
1454          "documentation":"<p>(Optional) A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles before any other campaigns. If it's not specified, <code>0</code> is used. </p> <p>Default: <code>0</code> </p>"
1455        },
1456        "signalsToCollect":{
1457          "shape":"SignalInformationList",
1458          "documentation":"<p>(Optional) A list of information about signals to collect. </p>"
1459        },
1460        "collectionScheme":{
1461          "shape":"CollectionScheme",
1462          "documentation":"<p> The data collection scheme associated with the campaign. You can specify a scheme that collects data based on time or an event.</p>"
1463        },
1464        "dataExtraDimensions":{
1465          "shape":"DataExtraDimensionNodePathList",
1466          "documentation":"<p> (Optional) A list of vehicle attributes to associate with a campaign. </p> <p>Enrich the data with specified vehicle attributes. For example, add <code>make</code> and <code>model</code> to the campaign, and Amazon Web Services IoT FleetWise will associate the data with those attributes as dimensions in Amazon Timestream. You can then query the data against <code>make</code> and <code>model</code>.</p> <p>Default: An empty array</p>"
1467        },
1468        "tags":{
1469          "shape":"TagList",
1470          "documentation":"<p>Metadata that can be used to manage the campaign.</p>"
1471        },
1472        "dataDestinationConfigs":{
1473          "shape":"DataDestinationConfigs",
1474          "documentation":"<p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p> <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. Amazon Web Services IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple Amazon Web Services IoT FleetWise servers for redundancy and high availability.</p> <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.</p>"
1475        }
1476      }
1477    },
1478    "CreateCampaignResponse":{
1479      "type":"structure",
1480      "members":{
1481        "name":{
1482          "shape":"campaignName",
1483          "documentation":"<p>The name of the created campaign.</p>"
1484        },
1485        "arn":{
1486          "shape":"arn",
1487          "documentation":"<p> The ARN of the created campaign. </p>"
1488        }
1489      }
1490    },
1491    "CreateDecoderManifestRequest":{
1492      "type":"structure",
1493      "required":[
1494        "name",
1495        "modelManifestArn"
1496      ],
1497      "members":{
1498        "name":{
1499          "shape":"resourceName",
1500          "documentation":"<p> The unique name of the decoder manifest to create.</p>"
1501        },
1502        "description":{
1503          "shape":"description",
1504          "documentation":"<p> A brief description of the decoder manifest. </p>"
1505        },
1506        "modelManifestArn":{
1507          "shape":"arn",
1508          "documentation":"<p> The Amazon Resource Name (ARN) of the vehicle model (model manifest). </p>"
1509        },
1510        "signalDecoders":{
1511          "shape":"SignalDecoders",
1512          "documentation":"<p> A list of information about signal decoders. </p>"
1513        },
1514        "networkInterfaces":{
1515          "shape":"NetworkInterfaces",
1516          "documentation":"<p> A list of information about available network interfaces. </p>"
1517        },
1518        "tags":{
1519          "shape":"TagList",
1520          "documentation":"<p>Metadata that can be used to manage the decoder manifest.</p>"
1521        }
1522      }
1523    },
1524    "CreateDecoderManifestResponse":{
1525      "type":"structure",
1526      "required":[
1527        "name",
1528        "arn"
1529      ],
1530      "members":{
1531        "name":{
1532          "shape":"resourceName",
1533          "documentation":"<p> The name of the created decoder manifest. </p>"
1534        },
1535        "arn":{
1536          "shape":"arn",
1537          "documentation":"<p> The ARN of the created decoder manifest. </p>"
1538        }
1539      }
1540    },
1541    "CreateFleetRequest":{
1542      "type":"structure",
1543      "required":[
1544        "fleetId",
1545        "signalCatalogArn"
1546      ],
1547      "members":{
1548        "fleetId":{
1549          "shape":"fleetId",
1550          "documentation":"<p> The unique ID of the fleet to create. </p>"
1551        },
1552        "description":{
1553          "shape":"description",
1554          "documentation":"<p> A brief description of the fleet to create. </p>"
1555        },
1556        "signalCatalogArn":{
1557          "shape":"arn",
1558          "documentation":"<p> The Amazon Resource Name (ARN) of a signal catalog. </p>"
1559        },
1560        "tags":{
1561          "shape":"TagList",
1562          "documentation":"<p>Metadata that can be used to manage the fleet.</p>"
1563        }
1564      }
1565    },
1566    "CreateFleetResponse":{
1567      "type":"structure",
1568      "required":[
1569        "id",
1570        "arn"
1571      ],
1572      "members":{
1573        "id":{
1574          "shape":"fleetId",
1575          "documentation":"<p> The ID of the created fleet. </p>"
1576        },
1577        "arn":{
1578          "shape":"arn",
1579          "documentation":"<p> The ARN of the created fleet. </p>"
1580        }
1581      }
1582    },
1583    "CreateModelManifestRequest":{
1584      "type":"structure",
1585      "required":[
1586        "name",
1587        "nodes",
1588        "signalCatalogArn"
1589      ],
1590      "members":{
1591        "name":{
1592          "shape":"resourceName",
1593          "documentation":"<p> The name of the vehicle model to create.</p>"
1594        },
1595        "description":{
1596          "shape":"description",
1597          "documentation":"<p> A brief description of the vehicle model. </p>"
1598        },
1599        "nodes":{
1600          "shape":"listOfStrings",
1601          "documentation":"<p> A list of nodes, which are a general abstraction of signals. </p>"
1602        },
1603        "signalCatalogArn":{
1604          "shape":"arn",
1605          "documentation":"<p> The Amazon Resource Name (ARN) of a signal catalog. </p>"
1606        },
1607        "tags":{
1608          "shape":"TagList",
1609          "documentation":"<p>Metadata that can be used to manage the vehicle model.</p>"
1610        }
1611      }
1612    },
1613    "CreateModelManifestResponse":{
1614      "type":"structure",
1615      "required":[
1616        "name",
1617        "arn"
1618      ],
1619      "members":{
1620        "name":{
1621          "shape":"resourceName",
1622          "documentation":"<p> The name of the created vehicle model.</p>"
1623        },
1624        "arn":{
1625          "shape":"arn",
1626          "documentation":"<p> The ARN of the created vehicle model.</p>"
1627        }
1628      }
1629    },
1630    "CreateSignalCatalogRequest":{
1631      "type":"structure",
1632      "required":["name"],
1633      "members":{
1634        "name":{
1635          "shape":"resourceName",
1636          "documentation":"<p> The name of the signal catalog to create. </p>"
1637        },
1638        "description":{
1639          "shape":"description",
1640          "documentation":"<p>A brief description of the signal catalog.</p>"
1641        },
1642        "nodes":{
1643          "shape":"Nodes",
1644          "documentation":"<p> A list of information about nodes, which are a general abstraction of signals. For more information, see the API data type.</p>"
1645        },
1646        "tags":{
1647          "shape":"TagList",
1648          "documentation":"<p>Metadata that can be used to manage the signal catalog.</p>"
1649        }
1650      }
1651    },
1652    "CreateSignalCatalogResponse":{
1653      "type":"structure",
1654      "required":[
1655        "name",
1656        "arn"
1657      ],
1658      "members":{
1659        "name":{
1660          "shape":"resourceName",
1661          "documentation":"<p> The name of the created signal catalog. </p>"
1662        },
1663        "arn":{
1664          "shape":"arn",
1665          "documentation":"<p> The ARN of the created signal catalog. </p>"
1666        }
1667      }
1668    },
1669    "CreateVehicleError":{
1670      "type":"structure",
1671      "members":{
1672        "vehicleName":{
1673          "shape":"vehicleName",
1674          "documentation":"<p>The ID of the vehicle with the error.</p>"
1675        },
1676        "code":{
1677          "shape":"string",
1678          "documentation":"<p>An HTTP error code.</p>"
1679        },
1680        "message":{
1681          "shape":"string",
1682          "documentation":"<p>A description of the HTTP error.</p>"
1683        }
1684      },
1685      "documentation":"<p>An HTTP error resulting from creating a vehicle.</p>"
1686    },
1687    "CreateVehicleRequest":{
1688      "type":"structure",
1689      "required":[
1690        "vehicleName",
1691        "modelManifestArn",
1692        "decoderManifestArn"
1693      ],
1694      "members":{
1695        "vehicleName":{
1696          "shape":"vehicleName",
1697          "documentation":"<p> The unique ID of the vehicle to create. </p>"
1698        },
1699        "modelManifestArn":{
1700          "shape":"arn",
1701          "documentation":"<p> The Amazon Resource Name ARN of a vehicle model. </p>"
1702        },
1703        "decoderManifestArn":{
1704          "shape":"arn",
1705          "documentation":"<p> The ARN of a decoder manifest. </p>"
1706        },
1707        "attributes":{
1708          "shape":"attributesMap",
1709          "documentation":"<p>Static information about a vehicle in a key-value pair. For example: <code>\"engineType\"</code> : <code>\"1.3 L R2\"</code> </p> <p>A campaign must include the keys (attribute names) in <code>dataExtraDimensions</code> for them to display in Amazon Timestream.</p>"
1710        },
1711        "associationBehavior":{
1712          "shape":"VehicleAssociationBehavior",
1713          "documentation":"<p> An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing Amazon Web Services IoT thing as a vehicle. </p> <p>Default: <code/> </p>"
1714        },
1715        "tags":{
1716          "shape":"TagList",
1717          "documentation":"<p>Metadata that can be used to manage the vehicle.</p>"
1718        }
1719      }
1720    },
1721    "CreateVehicleRequestItem":{
1722      "type":"structure",
1723      "required":[
1724        "vehicleName",
1725        "modelManifestArn",
1726        "decoderManifestArn"
1727      ],
1728      "members":{
1729        "vehicleName":{
1730          "shape":"vehicleName",
1731          "documentation":"<p>The unique ID of the vehicle to create.</p>"
1732        },
1733        "modelManifestArn":{
1734          "shape":"arn",
1735          "documentation":"<p>The ARN of the vehicle model (model manifest) to create the vehicle from.</p>"
1736        },
1737        "decoderManifestArn":{
1738          "shape":"arn",
1739          "documentation":"<p>The Amazon Resource Name (ARN) of a decoder manifest associated with the vehicle to create. </p>"
1740        },
1741        "attributes":{
1742          "shape":"attributesMap",
1743          "documentation":"<p>Static information about a vehicle in a key-value pair. For example: <code>\"engine Type\"</code> : <code>\"v6\"</code> </p>"
1744        },
1745        "associationBehavior":{
1746          "shape":"VehicleAssociationBehavior",
1747          "documentation":"<p>An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing thing as a vehicle.</p>"
1748        },
1749        "tags":{
1750          "shape":"TagList",
1751          "documentation":"<p>Metadata which can be used to manage the vehicle.</p>"
1752        }
1753      },
1754      "documentation":"<p>Information about the vehicle to create.</p>"
1755    },
1756    "CreateVehicleResponse":{
1757      "type":"structure",
1758      "members":{
1759        "vehicleName":{
1760          "shape":"vehicleName",
1761          "documentation":"<p>The unique ID of the created vehicle.</p>"
1762        },
1763        "arn":{
1764          "shape":"arn",
1765          "documentation":"<p> The ARN of the created vehicle. </p>"
1766        },
1767        "thingArn":{
1768          "shape":"arn",
1769          "documentation":"<p> The ARN of a created or validated Amazon Web Services IoT thing. </p>"
1770        }
1771      }
1772    },
1773    "CreateVehicleResponseItem":{
1774      "type":"structure",
1775      "members":{
1776        "vehicleName":{
1777          "shape":"vehicleName",
1778          "documentation":"<p>The unique ID of the vehicle to create.</p>"
1779        },
1780        "arn":{
1781          "shape":"arn",
1782          "documentation":"<p>The ARN of the created vehicle.</p>"
1783        },
1784        "thingArn":{
1785          "shape":"arn",
1786          "documentation":"<p>The ARN of a created or validated Amazon Web Services IoT thing.</p>"
1787        }
1788      },
1789      "documentation":"<p>Information about a created vehicle.</p>"
1790    },
1791    "CustomProperty":{
1792      "type":"structure",
1793      "required":[
1794        "fullyQualifiedName",
1795        "dataType"
1796      ],
1797      "members":{
1798        "fullyQualifiedName":{
1799          "shape":"string",
1800          "documentation":"<p>The fully qualified name of the custom property. For example, the fully qualified name of a custom property might be <code>ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS</code>.</p>"
1801        },
1802        "dataType":{
1803          "shape":"NodeDataType",
1804          "documentation":"<p>The data type for the custom property. </p>"
1805        },
1806        "dataEncoding":{
1807          "shape":"NodeDataEncoding",
1808          "documentation":"<p>Indicates whether the property is binary data.</p>"
1809        },
1810        "description":{
1811          "shape":"description",
1812          "documentation":"<p>A brief description of the custom property.</p>"
1813        },
1814        "deprecationMessage":{
1815          "shape":"message",
1816          "documentation":"<p>The deprecation message for the node or the branch that was moved or deleted.</p>"
1817        },
1818        "comment":{
1819          "shape":"message",
1820          "documentation":"<p>A comment in addition to the description.</p>"
1821        },
1822        "structFullyQualifiedName":{
1823          "shape":"NodePath",
1824          "documentation":"<p>The fully qualified name of the struct node for the custom property if the data type of the custom property is <code>Struct</code> or <code>StructArray</code>. </p>"
1825        }
1826      },
1827      "documentation":"<p>Represents a member of the complex data structure. The data type of the property can be either primitive or another <code>struct</code>.</p>"
1828    },
1829    "CustomStruct":{
1830      "type":"structure",
1831      "required":["fullyQualifiedName"],
1832      "members":{
1833        "fullyQualifiedName":{
1834          "shape":"string",
1835          "documentation":"<p>The fully qualified name of the custom structure. For example, the fully qualified name of a custom structure might be <code>ComplexDataTypes.VehicleDataTypes.SVMCamera</code>.</p>"
1836        },
1837        "description":{
1838          "shape":"description",
1839          "documentation":"<p>A brief description of the custom structure.</p>"
1840        },
1841        "deprecationMessage":{
1842          "shape":"message",
1843          "documentation":"<p>The deprecation message for the node or the branch that was moved or deleted.</p>"
1844        },
1845        "comment":{
1846          "shape":"message",
1847          "documentation":"<p>A comment in addition to the description.</p>"
1848        }
1849      },
1850      "documentation":"<p>The custom structure represents a complex or higher-order data structure.</p>"
1851    },
1852    "DataDestinationConfig":{
1853      "type":"structure",
1854      "members":{
1855        "s3Config":{
1856          "shape":"S3Config",
1857          "documentation":"<p>The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign sends data.</p>"
1858        },
1859        "timestreamConfig":{
1860          "shape":"TimestreamConfig",
1861          "documentation":"<p>The Amazon Timestream table where the campaign sends data.</p>"
1862        }
1863      },
1864      "documentation":"<p>The destination where the Amazon Web Services IoT FleetWise campaign sends data. You can send data to be stored in Amazon S3 or Amazon Timestream.</p>",
1865      "union":true
1866    },
1867    "DataDestinationConfigs":{
1868      "type":"list",
1869      "member":{"shape":"DataDestinationConfig"},
1870      "max":1,
1871      "min":1
1872    },
1873    "DataExtraDimensionNodePathList":{
1874      "type":"list",
1875      "member":{"shape":"NodePath"},
1876      "max":5,
1877      "min":0
1878    },
1879    "DataFormat":{
1880      "type":"string",
1881      "enum":[
1882        "JSON",
1883        "PARQUET"
1884      ]
1885    },
1886    "DecoderManifestSummary":{
1887      "type":"structure",
1888      "required":[
1889        "creationTime",
1890        "lastModificationTime"
1891      ],
1892      "members":{
1893        "name":{
1894          "shape":"string",
1895          "documentation":"<p>The name of the decoder manifest.</p>"
1896        },
1897        "arn":{
1898          "shape":"arn",
1899          "documentation":"<p>The ARN of a vehicle model (model manifest) associated with the decoder manifest. </p>"
1900        },
1901        "modelManifestArn":{
1902          "shape":"arn",
1903          "documentation":"<p>The ARN of a vehicle model (model manifest) associated with the decoder manifest.</p>"
1904        },
1905        "description":{
1906          "shape":"description",
1907          "documentation":"<p>A brief description of the decoder manifest.</p>"
1908        },
1909        "status":{
1910          "shape":"ManifestStatus",
1911          "documentation":"<p>The state of the decoder manifest. If the status is <code>ACTIVE</code>, the decoder manifest can't be edited. If the status is marked <code>DRAFT</code>, you can edit the decoder manifest.</p>"
1912        },
1913        "creationTime":{
1914          "shape":"timestamp",
1915          "documentation":"<p>The time the decoder manifest was created in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
1916        },
1917        "lastModificationTime":{
1918          "shape":"timestamp",
1919          "documentation":"<p>The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
1920        },
1921        "message":{
1922          "shape":"message",
1923          "documentation":"<p>The detailed message for the decoder manifest. When a decoder manifest is in an <code>INVALID</code> status, the message contains detailed reason and help information.</p>"
1924        }
1925      },
1926      "documentation":"<p>Information about a created decoder manifest. You can use the API operation to return this information about multiple decoder manifests.</p>"
1927    },
1928    "DecoderManifestValidationException":{
1929      "type":"structure",
1930      "members":{
1931        "invalidSignals":{
1932          "shape":"InvalidSignalDecoders",
1933          "documentation":"<p>The request couldn't be completed because of invalid signals in the request.</p>"
1934        },
1935        "invalidNetworkInterfaces":{
1936          "shape":"InvalidNetworkInterfaces",
1937          "documentation":"<p>The request couldn't be completed because of invalid network interfaces in the request.</p>"
1938        },
1939        "message":{"shape":"string"}
1940      },
1941      "documentation":"<p>The request couldn't be completed because it contains signal decoders with one or more validation errors.</p>",
1942      "exception":true
1943    },
1944    "DeleteCampaignRequest":{
1945      "type":"structure",
1946      "required":["name"],
1947      "members":{
1948        "name":{
1949          "shape":"campaignName",
1950          "documentation":"<p> The name of the campaign to delete. </p>"
1951        }
1952      }
1953    },
1954    "DeleteCampaignResponse":{
1955      "type":"structure",
1956      "members":{
1957        "name":{
1958          "shape":"campaignName",
1959          "documentation":"<p>The name of the deleted campaign.</p>"
1960        },
1961        "arn":{
1962          "shape":"arn",
1963          "documentation":"<p> The Amazon Resource Name (ARN) of the deleted campaign.</p> <note> <p>The ARN isn’t returned if a campaign doesn’t exist.</p> </note>"
1964        }
1965      }
1966    },
1967    "DeleteDecoderManifestRequest":{
1968      "type":"structure",
1969      "required":["name"],
1970      "members":{
1971        "name":{
1972          "shape":"resourceName",
1973          "documentation":"<p> The name of the decoder manifest to delete. </p>"
1974        }
1975      }
1976    },
1977    "DeleteDecoderManifestResponse":{
1978      "type":"structure",
1979      "required":[
1980        "name",
1981        "arn"
1982      ],
1983      "members":{
1984        "name":{
1985          "shape":"resourceName",
1986          "documentation":"<p>The name of the deleted decoder manifest.</p>"
1987        },
1988        "arn":{
1989          "shape":"arn",
1990          "documentation":"<p>The Amazon Resource Name (ARN) of the deleted decoder manifest.</p>"
1991        }
1992      }
1993    },
1994    "DeleteFleetRequest":{
1995      "type":"structure",
1996      "required":["fleetId"],
1997      "members":{
1998        "fleetId":{
1999          "shape":"fleetId",
2000          "documentation":"<p> The ID of the fleet to delete. </p>"
2001        }
2002      }
2003    },
2004    "DeleteFleetResponse":{
2005      "type":"structure",
2006      "members":{
2007        "id":{
2008          "shape":"fleetId",
2009          "documentation":"<p>The ID of the deleted fleet.</p>"
2010        },
2011        "arn":{
2012          "shape":"arn",
2013          "documentation":"<p>The Amazon Resource Name (ARN) of the deleted fleet.</p>"
2014        }
2015      }
2016    },
2017    "DeleteModelManifestRequest":{
2018      "type":"structure",
2019      "required":["name"],
2020      "members":{
2021        "name":{
2022          "shape":"resourceName",
2023          "documentation":"<p> The name of the model manifest to delete. </p>"
2024        }
2025      }
2026    },
2027    "DeleteModelManifestResponse":{
2028      "type":"structure",
2029      "required":[
2030        "name",
2031        "arn"
2032      ],
2033      "members":{
2034        "name":{
2035          "shape":"resourceName",
2036          "documentation":"<p>The name of the deleted model manifest.</p>"
2037        },
2038        "arn":{
2039          "shape":"arn",
2040          "documentation":"<p>The Amazon Resource Name (ARN) of the deleted model manifest.</p>"
2041        }
2042      }
2043    },
2044    "DeleteSignalCatalogRequest":{
2045      "type":"structure",
2046      "required":["name"],
2047      "members":{
2048        "name":{
2049          "shape":"resourceName",
2050          "documentation":"<p> The name of the signal catalog to delete. </p>"
2051        }
2052      }
2053    },
2054    "DeleteSignalCatalogResponse":{
2055      "type":"structure",
2056      "required":[
2057        "name",
2058        "arn"
2059      ],
2060      "members":{
2061        "name":{
2062          "shape":"resourceName",
2063          "documentation":"<p>The name of the deleted signal catalog.</p>"
2064        },
2065        "arn":{
2066          "shape":"arn",
2067          "documentation":"<p>The Amazon Resource Name (ARN) of the deleted signal catalog.</p>"
2068        }
2069      }
2070    },
2071    "DeleteVehicleRequest":{
2072      "type":"structure",
2073      "required":["vehicleName"],
2074      "members":{
2075        "vehicleName":{
2076          "shape":"vehicleName",
2077          "documentation":"<p>The ID of the vehicle to delete. </p>"
2078        }
2079      }
2080    },
2081    "DeleteVehicleResponse":{
2082      "type":"structure",
2083      "required":[
2084        "vehicleName",
2085        "arn"
2086      ],
2087      "members":{
2088        "vehicleName":{
2089          "shape":"vehicleName",
2090          "documentation":"<p>The ID of the deleted vehicle.</p>"
2091        },
2092        "arn":{
2093          "shape":"arn",
2094          "documentation":"<p>The Amazon Resource Name (ARN) of the deleted vehicle.</p>"
2095        }
2096      }
2097    },
2098    "DiagnosticsMode":{
2099      "type":"string",
2100      "enum":[
2101        "OFF",
2102        "SEND_ACTIVE_DTCS"
2103      ]
2104    },
2105    "DisassociateVehicleFleetRequest":{
2106      "type":"structure",
2107      "required":[
2108        "vehicleName",
2109        "fleetId"
2110      ],
2111      "members":{
2112        "vehicleName":{
2113          "shape":"vehicleName",
2114          "documentation":"<p> The unique ID of the vehicle to disassociate from the fleet.</p>"
2115        },
2116        "fleetId":{
2117          "shape":"fleetId",
2118          "documentation":"<p> The unique ID of a fleet. </p>"
2119        }
2120      }
2121    },
2122    "DisassociateVehicleFleetResponse":{
2123      "type":"structure",
2124      "members":{
2125      }
2126    },
2127    "EncryptionStatus":{
2128      "type":"string",
2129      "enum":[
2130        "PENDING",
2131        "SUCCESS",
2132        "FAILURE"
2133      ]
2134    },
2135    "EncryptionType":{
2136      "type":"string",
2137      "enum":[
2138        "KMS_BASED_ENCRYPTION",
2139        "FLEETWISE_DEFAULT_ENCRYPTION"
2140      ]
2141    },
2142    "FleetSummary":{
2143      "type":"structure",
2144      "required":[
2145        "id",
2146        "arn",
2147        "signalCatalogArn",
2148        "creationTime"
2149      ],
2150      "members":{
2151        "id":{
2152          "shape":"fleetId",
2153          "documentation":"<p>The unique ID of the fleet.</p>"
2154        },
2155        "arn":{
2156          "shape":"arn",
2157          "documentation":"<p>The Amazon Resource Name (ARN) of the fleet.</p>"
2158        },
2159        "description":{
2160          "shape":"description",
2161          "documentation":"<p>A brief description of the fleet.</p>"
2162        },
2163        "signalCatalogArn":{
2164          "shape":"arn",
2165          "documentation":"<p>The ARN of the signal catalog associated with the fleet.</p>"
2166        },
2167        "creationTime":{
2168          "shape":"timestamp",
2169          "documentation":"<p>The time the fleet was created, in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
2170        },
2171        "lastModificationTime":{
2172          "shape":"timestamp",
2173          "documentation":"<p>The time the fleet was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
2174        }
2175      },
2176      "documentation":"<p>Information about a fleet.</p> <p>You can use the API operation to return this information about multiple fleets.</p>"
2177    },
2178    "FormattedVss":{
2179      "type":"structure",
2180      "members":{
2181        "vssJson":{
2182          "shape":"String",
2183          "documentation":"<p>Provides the VSS in JSON format.</p>"
2184        }
2185      },
2186      "documentation":"<p> <a href=\"https://www.w3.org/auto/wg/wiki/Vehicle_Signal_Specification_(VSS)/Vehicle_Data_Spec\">Vehicle Signal Specification (VSS)</a> is a precise language used to describe and model signals in vehicle networks. The JSON file collects signal specificiations in a VSS format.</p>",
2187      "union":true
2188    },
2189    "Fqns":{
2190      "type":"list",
2191      "member":{"shape":"FullyQualifiedName"},
2192      "max":500,
2193      "min":1
2194    },
2195    "FullyQualifiedName":{
2196      "type":"string",
2197      "max":150,
2198      "min":1
2199    },
2200    "GetCampaignRequest":{
2201      "type":"structure",
2202      "required":["name"],
2203      "members":{
2204        "name":{
2205          "shape":"campaignName",
2206          "documentation":"<p> The name of the campaign to retrieve information about. </p>"
2207        }
2208      }
2209    },
2210    "GetCampaignResponse":{
2211      "type":"structure",
2212      "members":{
2213        "name":{
2214          "shape":"campaignName",
2215          "documentation":"<p>The name of the campaign.</p>"
2216        },
2217        "arn":{
2218          "shape":"arn",
2219          "documentation":"<p> The Amazon Resource Name (ARN) of the campaign. </p>"
2220        },
2221        "description":{
2222          "shape":"description",
2223          "documentation":"<p>The description of the campaign.</p>"
2224        },
2225        "signalCatalogArn":{
2226          "shape":"arn",
2227          "documentation":"<p> The ARN of a signal catalog. </p>"
2228        },
2229        "targetArn":{
2230          "shape":"arn",
2231          "documentation":"<p> The ARN of the vehicle or the fleet targeted by the campaign. </p>"
2232        },
2233        "status":{
2234          "shape":"CampaignStatus",
2235          "documentation":"<p>The state of the campaign. The status can be one of: <code>CREATING</code>, <code>WAITING_FOR_APPROVAL</code>, <code>RUNNING</code>, and <code>SUSPENDED</code>. </p>"
2236        },
2237        "startTime":{
2238          "shape":"timestamp",
2239          "documentation":"<p> The time, in milliseconds, to deliver a campaign after it was approved.</p>"
2240        },
2241        "expiryTime":{
2242          "shape":"timestamp",
2243          "documentation":"<p> The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time). Vehicle data won't be collected after the campaign expires.</p>"
2244        },
2245        "postTriggerCollectionDuration":{
2246          "shape":"uint32",
2247          "documentation":"<p> How long (in seconds) to collect raw data after a triggering event initiates the collection. </p>"
2248        },
2249        "diagnosticsMode":{
2250          "shape":"DiagnosticsMode",
2251          "documentation":"<p> Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. </p>"
2252        },
2253        "spoolingMode":{
2254          "shape":"SpoolingMode",
2255          "documentation":"<p> Whether to store collected data after a vehicle lost a connection with the cloud. After a connection is re-established, the data is automatically forwarded to Amazon Web Services IoT FleetWise. </p>"
2256        },
2257        "compression":{
2258          "shape":"Compression",
2259          "documentation":"<p> Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If <code>OFF</code> is specified, the signals aren't compressed. If it's not specified, <code>SNAPPY</code> is used. </p>"
2260        },
2261        "priority":{
2262          "shape":"priority",
2263          "documentation":"<p> A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles before any other campaigns.</p>"
2264        },
2265        "signalsToCollect":{
2266          "shape":"SignalInformationList",
2267          "documentation":"<p> Information about a list of signals to collect data on. </p>"
2268        },
2269        "collectionScheme":{
2270          "shape":"CollectionScheme",
2271          "documentation":"<p> Information about the data collection scheme associated with the campaign. </p>"
2272        },
2273        "dataExtraDimensions":{
2274          "shape":"DataExtraDimensionNodePathList",
2275          "documentation":"<p> A list of vehicle attributes associated with the campaign. </p>"
2276        },
2277        "creationTime":{
2278          "shape":"timestamp",
2279          "documentation":"<p> The time the campaign was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2280        },
2281        "lastModificationTime":{
2282          "shape":"timestamp",
2283          "documentation":"<p>The last time the campaign was modified.</p>"
2284        },
2285        "dataDestinationConfigs":{
2286          "shape":"DataDestinationConfigs",
2287          "documentation":"<p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p> <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. </p> <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.</p>"
2288        }
2289      }
2290    },
2291    "GetDecoderManifestRequest":{
2292      "type":"structure",
2293      "required":["name"],
2294      "members":{
2295        "name":{
2296          "shape":"resourceName",
2297          "documentation":"<p> The name of the decoder manifest to retrieve information about. </p>"
2298        }
2299      }
2300    },
2301    "GetDecoderManifestResponse":{
2302      "type":"structure",
2303      "required":[
2304        "name",
2305        "arn",
2306        "creationTime",
2307        "lastModificationTime"
2308      ],
2309      "members":{
2310        "name":{
2311          "shape":"string",
2312          "documentation":"<p> The name of the decoder manifest. </p>"
2313        },
2314        "arn":{
2315          "shape":"arn",
2316          "documentation":"<p> The Amazon Resource Name (ARN) of the decoder manifest. </p>"
2317        },
2318        "description":{
2319          "shape":"description",
2320          "documentation":"<p> A brief description of the decoder manifest.</p>"
2321        },
2322        "modelManifestArn":{
2323          "shape":"arn",
2324          "documentation":"<p> The ARN of a vehicle model (model manifest) associated with the decoder manifest.</p>"
2325        },
2326        "status":{
2327          "shape":"ManifestStatus",
2328          "documentation":"<p> The state of the decoder manifest. If the status is <code>ACTIVE</code>, the decoder manifest can't be edited. If the status is marked <code>DRAFT</code>, you can edit the decoder manifest.</p>"
2329        },
2330        "creationTime":{
2331          "shape":"timestamp",
2332          "documentation":"<p> The time the decoder manifest was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2333        },
2334        "lastModificationTime":{
2335          "shape":"timestamp",
2336          "documentation":"<p> The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2337        },
2338        "message":{
2339          "shape":"message",
2340          "documentation":"<p>The detailed message for the decoder manifest. When a decoder manifest is in an <code>INVALID</code> status, the message contains detailed reason and help information.</p>"
2341        }
2342      }
2343    },
2344    "GetEncryptionConfigurationRequest":{
2345      "type":"structure",
2346      "members":{
2347      }
2348    },
2349    "GetEncryptionConfigurationResponse":{
2350      "type":"structure",
2351      "required":[
2352        "encryptionStatus",
2353        "encryptionType"
2354      ],
2355      "members":{
2356        "kmsKeyId":{
2357          "shape":"String",
2358          "documentation":"<p>The ID of the KMS key that is used for encryption.</p>"
2359        },
2360        "encryptionStatus":{
2361          "shape":"EncryptionStatus",
2362          "documentation":"<p>The encryption status.</p>"
2363        },
2364        "encryptionType":{
2365          "shape":"EncryptionType",
2366          "documentation":"<p>The type of encryption. Set to <code>KMS_BASED_ENCRYPTION</code> to use a KMS key that you own and manage. Set to <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.</p>"
2367        },
2368        "errorMessage":{
2369          "shape":"errorMessage",
2370          "documentation":"<p>The error message that describes why encryption settings couldn't be configured, if applicable.</p>"
2371        },
2372        "creationTime":{
2373          "shape":"timestamp",
2374          "documentation":"<p>The time when encryption was configured in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
2375        },
2376        "lastModificationTime":{
2377          "shape":"timestamp",
2378          "documentation":"<p>The time when encryption was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
2379        }
2380      }
2381    },
2382    "GetFleetRequest":{
2383      "type":"structure",
2384      "required":["fleetId"],
2385      "members":{
2386        "fleetId":{
2387          "shape":"fleetId",
2388          "documentation":"<p> The ID of the fleet to retrieve information about. </p>"
2389        }
2390      }
2391    },
2392    "GetFleetResponse":{
2393      "type":"structure",
2394      "required":[
2395        "id",
2396        "arn",
2397        "signalCatalogArn",
2398        "creationTime",
2399        "lastModificationTime"
2400      ],
2401      "members":{
2402        "id":{
2403          "shape":"fleetId",
2404          "documentation":"<p> The ID of the fleet.</p>"
2405        },
2406        "arn":{
2407          "shape":"arn",
2408          "documentation":"<p> The Amazon Resource Name (ARN) of the fleet. </p>"
2409        },
2410        "description":{
2411          "shape":"description",
2412          "documentation":"<p> A brief description of the fleet. </p>"
2413        },
2414        "signalCatalogArn":{
2415          "shape":"arn",
2416          "documentation":"<p> The ARN of a signal catalog associated with the fleet. </p>"
2417        },
2418        "creationTime":{
2419          "shape":"timestamp",
2420          "documentation":"<p> The time the fleet was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2421        },
2422        "lastModificationTime":{
2423          "shape":"timestamp",
2424          "documentation":"<p> The time the fleet was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2425        }
2426      }
2427    },
2428    "GetLoggingOptionsRequest":{
2429      "type":"structure",
2430      "members":{
2431      }
2432    },
2433    "GetLoggingOptionsResponse":{
2434      "type":"structure",
2435      "required":["cloudWatchLogDelivery"],
2436      "members":{
2437        "cloudWatchLogDelivery":{
2438          "shape":"CloudWatchLogDeliveryOptions",
2439          "documentation":"<p>Returns information about log delivery to Amazon CloudWatch Logs.</p>"
2440        }
2441      }
2442    },
2443    "GetModelManifestRequest":{
2444      "type":"structure",
2445      "required":["name"],
2446      "members":{
2447        "name":{
2448          "shape":"resourceName",
2449          "documentation":"<p> The name of the vehicle model to retrieve information about. </p>"
2450        }
2451      }
2452    },
2453    "GetModelManifestResponse":{
2454      "type":"structure",
2455      "required":[
2456        "name",
2457        "arn",
2458        "creationTime",
2459        "lastModificationTime"
2460      ],
2461      "members":{
2462        "name":{
2463          "shape":"resourceName",
2464          "documentation":"<p> The name of the vehicle model. </p>"
2465        },
2466        "arn":{
2467          "shape":"arn",
2468          "documentation":"<p> The Amazon Resource Name (ARN) of the vehicle model. </p>"
2469        },
2470        "description":{
2471          "shape":"description",
2472          "documentation":"<p> A brief description of the vehicle model. </p>"
2473        },
2474        "signalCatalogArn":{
2475          "shape":"arn",
2476          "documentation":"<p> The ARN of the signal catalog associated with the vehicle model. </p>"
2477        },
2478        "status":{
2479          "shape":"ManifestStatus",
2480          "documentation":"<p> The state of the vehicle model. If the status is <code>ACTIVE</code>, the vehicle model can't be edited. You can edit the vehicle model if the status is marked <code>DRAFT</code>.</p>"
2481        },
2482        "creationTime":{
2483          "shape":"timestamp",
2484          "documentation":"<p>The time the vehicle model was created, in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
2485        },
2486        "lastModificationTime":{
2487          "shape":"timestamp",
2488          "documentation":"<p>The last time the vehicle model was modified.</p>"
2489        }
2490      }
2491    },
2492    "GetRegisterAccountStatusRequest":{
2493      "type":"structure",
2494      "members":{
2495      }
2496    },
2497    "GetRegisterAccountStatusResponse":{
2498      "type":"structure",
2499      "required":[
2500        "customerAccountId",
2501        "accountStatus",
2502        "iamRegistrationResponse",
2503        "creationTime",
2504        "lastModificationTime"
2505      ],
2506      "members":{
2507        "customerAccountId":{
2508          "shape":"customerAccountId",
2509          "documentation":"<p> The unique ID of the Amazon Web Services account, provided at account creation. </p>"
2510        },
2511        "accountStatus":{
2512          "shape":"RegistrationStatus",
2513          "documentation":"<p> The status of registering your account and resources. The status can be one of:</p> <ul> <li> <p> <code>REGISTRATION_SUCCESS</code> - The Amazon Web Services resource is successfully registered.</p> </li> <li> <p> <code>REGISTRATION_PENDING</code> - Amazon Web Services IoT FleetWise is processing the registration request. This process takes approximately five minutes to complete.</p> </li> <li> <p> <code>REGISTRATION_FAILURE</code> - Amazon Web Services IoT FleetWise can't register the AWS resource. Try again later.</p> </li> </ul>"
2514        },
2515        "timestreamRegistrationResponse":{
2516          "shape":"TimestreamRegistrationResponse",
2517          "documentation":"<p> Information about the registered Amazon Timestream resources or errors, if any.</p>"
2518        },
2519        "iamRegistrationResponse":{
2520          "shape":"IamRegistrationResponse",
2521          "documentation":"<p> Information about the registered IAM resources or errors, if any. </p>"
2522        },
2523        "creationTime":{
2524          "shape":"timestamp",
2525          "documentation":"<p> The time the account was registered, in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2526        },
2527        "lastModificationTime":{
2528          "shape":"timestamp",
2529          "documentation":"<p> The time this registration was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2530        }
2531      }
2532    },
2533    "GetSignalCatalogRequest":{
2534      "type":"structure",
2535      "required":["name"],
2536      "members":{
2537        "name":{
2538          "shape":"resourceName",
2539          "documentation":"<p> The name of the signal catalog to retrieve information about. </p>"
2540        }
2541      }
2542    },
2543    "GetSignalCatalogResponse":{
2544      "type":"structure",
2545      "required":[
2546        "name",
2547        "arn",
2548        "creationTime",
2549        "lastModificationTime"
2550      ],
2551      "members":{
2552        "name":{
2553          "shape":"resourceName",
2554          "documentation":"<p> The name of the signal catalog. </p>"
2555        },
2556        "arn":{
2557          "shape":"arn",
2558          "documentation":"<p> The Amazon Resource Name (ARN) of the signal catalog. </p>"
2559        },
2560        "description":{
2561          "shape":"description",
2562          "documentation":"<p> A brief description of the signal catalog. </p>"
2563        },
2564        "nodeCounts":{
2565          "shape":"NodeCounts",
2566          "documentation":"<p> The total number of network nodes specified in a signal catalog. </p>"
2567        },
2568        "creationTime":{
2569          "shape":"timestamp",
2570          "documentation":"<p> The time the signal catalog was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2571        },
2572        "lastModificationTime":{
2573          "shape":"timestamp",
2574          "documentation":"<p>The last time the signal catalog was modified.</p>"
2575        }
2576      }
2577    },
2578    "GetVehicleRequest":{
2579      "type":"structure",
2580      "required":["vehicleName"],
2581      "members":{
2582        "vehicleName":{
2583          "shape":"vehicleName",
2584          "documentation":"<p> The ID of the vehicle to retrieve information about. </p>"
2585        }
2586      }
2587    },
2588    "GetVehicleResponse":{
2589      "type":"structure",
2590      "members":{
2591        "vehicleName":{
2592          "shape":"vehicleName",
2593          "documentation":"<p>The ID of the vehicle.</p>"
2594        },
2595        "arn":{
2596          "shape":"arn",
2597          "documentation":"<p> The Amazon Resource Name (ARN) of the vehicle to retrieve information about. </p>"
2598        },
2599        "modelManifestArn":{
2600          "shape":"arn",
2601          "documentation":"<p> The ARN of a vehicle model (model manifest) associated with the vehicle. </p>"
2602        },
2603        "decoderManifestArn":{
2604          "shape":"arn",
2605          "documentation":"<p> The ARN of a decoder manifest associated with the vehicle. </p>"
2606        },
2607        "attributes":{
2608          "shape":"attributesMap",
2609          "documentation":"<p>Static information about a vehicle in a key-value pair. For example:</p> <p> <code>\"engineType\"</code> : <code>\"1.3 L R2\"</code> </p>"
2610        },
2611        "creationTime":{
2612          "shape":"timestamp",
2613          "documentation":"<p> The time the vehicle was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2614        },
2615        "lastModificationTime":{
2616          "shape":"timestamp",
2617          "documentation":"<p> The time the vehicle was last updated in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
2618        }
2619      }
2620    },
2621    "GetVehicleStatusRequest":{
2622      "type":"structure",
2623      "required":["vehicleName"],
2624      "members":{
2625        "nextToken":{
2626          "shape":"nextToken",
2627          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
2628        },
2629        "maxResults":{
2630          "shape":"maxResults",
2631          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
2632        },
2633        "vehicleName":{
2634          "shape":"vehicleName",
2635          "documentation":"<p> The ID of the vehicle to retrieve information about. </p>"
2636        }
2637      }
2638    },
2639    "GetVehicleStatusResponse":{
2640      "type":"structure",
2641      "members":{
2642        "campaigns":{
2643          "shape":"VehicleStatusList",
2644          "documentation":"<p> Lists information about the state of the vehicle with deployed campaigns. </p>"
2645        },
2646        "nextToken":{
2647          "shape":"nextToken",
2648          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
2649        }
2650      }
2651    },
2652    "IAMRoleArn":{
2653      "type":"string",
2654      "max":2048,
2655      "min":20,
2656      "pattern":"arn:(aws[a-zA-Z0-9-]*):iam::(\\d{12})?:(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)"
2657    },
2658    "IamRegistrationResponse":{
2659      "type":"structure",
2660      "required":[
2661        "roleArn",
2662        "registrationStatus"
2663      ],
2664      "members":{
2665        "roleArn":{
2666          "shape":"arn",
2667          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM role to register.</p>"
2668        },
2669        "registrationStatus":{
2670          "shape":"RegistrationStatus",
2671          "documentation":"<p>The status of registering your IAM resource. The status can be one of <code>REGISTRATION_SUCCESS</code>, <code>REGISTRATION_PENDING</code>, <code>REGISTRATION_FAILURE</code>.</p>"
2672        },
2673        "errorMessage":{
2674          "shape":"errorMessage",
2675          "documentation":"<p>A message associated with a registration error.</p>"
2676        }
2677      },
2678      "documentation":"<p>Information about registering an Identity and Access Management (IAM) resource so Amazon Web Services IoT FleetWise edge agent software can transfer your vehicle data to Amazon Timestream.</p>"
2679    },
2680    "IamResources":{
2681      "type":"structure",
2682      "required":["roleArn"],
2683      "members":{
2684        "roleArn":{
2685          "shape":"IAMRoleArn",
2686          "documentation":"<p>The Amazon Resource Name (ARN) of the IAM resource that allows Amazon Web Services IoT FleetWise to send data to Amazon Timestream. For example, <code>arn:aws:iam::123456789012:role/SERVICE-ROLE-ARN</code>. </p>"
2687        }
2688      },
2689      "documentation":"<p>The IAM resource that enables Amazon Web Services IoT FleetWise edge agent software to send data to Amazon Timestream. </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html\">IAM roles</a> in the <i>Identity and Access Management User Guide</i>.</p>"
2690    },
2691    "ImportDecoderManifestRequest":{
2692      "type":"structure",
2693      "required":[
2694        "name",
2695        "networkFileDefinitions"
2696      ],
2697      "members":{
2698        "name":{
2699          "shape":"resourceName",
2700          "documentation":"<p> The name of the decoder manifest to import. </p>"
2701        },
2702        "networkFileDefinitions":{
2703          "shape":"NetworkFileDefinitions",
2704          "documentation":"<p> The file to load into an Amazon Web Services account. </p>"
2705        }
2706      }
2707    },
2708    "ImportDecoderManifestResponse":{
2709      "type":"structure",
2710      "required":[
2711        "name",
2712        "arn"
2713      ],
2714      "members":{
2715        "name":{
2716          "shape":"resourceName",
2717          "documentation":"<p> The name of the imported decoder manifest. </p>"
2718        },
2719        "arn":{
2720          "shape":"arn",
2721          "documentation":"<p> The Amazon Resource Name (ARN) of the decoder manifest that was imported. </p>"
2722        }
2723      }
2724    },
2725    "ImportSignalCatalogRequest":{
2726      "type":"structure",
2727      "required":["name"],
2728      "members":{
2729        "name":{
2730          "shape":"resourceName",
2731          "documentation":"<p>The name of the signal catalog to import.</p>"
2732        },
2733        "description":{
2734          "shape":"description",
2735          "documentation":"<p> A brief description of the signal catalog. </p>"
2736        },
2737        "vss":{
2738          "shape":"FormattedVss",
2739          "documentation":"<p>The contents of the Vehicle Signal Specification (VSS) configuration. VSS is a precise language used to describe and model signals in vehicle networks.</p>"
2740        },
2741        "tags":{
2742          "shape":"TagList",
2743          "documentation":"<p>Metadata that can be used to manage the signal catalog.</p>"
2744        }
2745      }
2746    },
2747    "ImportSignalCatalogResponse":{
2748      "type":"structure",
2749      "required":[
2750        "name",
2751        "arn"
2752      ],
2753      "members":{
2754        "name":{
2755          "shape":"resourceName",
2756          "documentation":"<p> The name of the imported signal catalog. </p>"
2757        },
2758        "arn":{
2759          "shape":"arn",
2760          "documentation":"<p> The Amazon Resource Name (ARN) of the imported signal catalog.</p>"
2761        }
2762      }
2763    },
2764    "InterfaceId":{
2765      "type":"string",
2766      "max":50,
2767      "min":1
2768    },
2769    "InterfaceIds":{
2770      "type":"list",
2771      "member":{"shape":"InterfaceId"},
2772      "max":500,
2773      "min":1
2774    },
2775    "InternalServerException":{
2776      "type":"structure",
2777      "required":["message"],
2778      "members":{
2779        "message":{"shape":"string"},
2780        "retryAfterSeconds":{
2781          "shape":"RetryAfterSeconds",
2782          "documentation":"<p>The number of seconds to wait before retrying the command.</p>"
2783        }
2784      },
2785      "documentation":"<p>The request couldn't be completed because the server temporarily failed.</p>",
2786      "exception":true,
2787      "fault":true
2788    },
2789    "InvalidNetworkInterface":{
2790      "type":"structure",
2791      "members":{
2792        "interfaceId":{
2793          "shape":"InterfaceId",
2794          "documentation":"<p>The ID of the interface that isn't valid.</p>"
2795        },
2796        "reason":{
2797          "shape":"NetworkInterfaceFailureReason",
2798          "documentation":"<p>A message about why the interface isn't valid. </p>"
2799        }
2800      },
2801      "documentation":"<p>A reason a vehicle network interface isn't valid.</p>"
2802    },
2803    "InvalidNetworkInterfaces":{
2804      "type":"list",
2805      "member":{"shape":"InvalidNetworkInterface"}
2806    },
2807    "InvalidNodeException":{
2808      "type":"structure",
2809      "members":{
2810        "invalidNodes":{
2811          "shape":"Nodes",
2812          "documentation":"<p>The specified node type isn't valid.</p>"
2813        },
2814        "reason":{
2815          "shape":"string",
2816          "documentation":"<p>The reason the node validation failed.</p>"
2817        },
2818        "message":{"shape":"string"}
2819      },
2820      "documentation":"<p>The specified node type doesn't match the expected node type for a node. You can specify the node type as branch, sensor, actuator, or attribute.</p>",
2821      "exception":true
2822    },
2823    "InvalidSignal":{
2824      "type":"structure",
2825      "members":{
2826        "name":{
2827          "shape":"FullyQualifiedName",
2828          "documentation":"<p>The name of the signal that isn't valid.</p>"
2829        },
2830        "reason":{
2831          "shape":"string",
2832          "documentation":"<p>A message about why the signal isn't valid.</p>"
2833        }
2834      },
2835      "documentation":"<p>A reason that a signal isn't valid.</p>"
2836    },
2837    "InvalidSignalDecoder":{
2838      "type":"structure",
2839      "members":{
2840        "name":{
2841          "shape":"FullyQualifiedName",
2842          "documentation":"<p>The name of a signal decoder that isn't valid.</p>"
2843        },
2844        "reason":{
2845          "shape":"SignalDecoderFailureReason",
2846          "documentation":"<p>A message about why the signal decoder isn't valid.</p>"
2847        },
2848        "hint":{
2849          "shape":"message",
2850          "documentation":"<p>The possible cause for the invalid signal decoder.</p>"
2851        }
2852      },
2853      "documentation":"<p>A reason that a signal decoder isn't valid.</p>"
2854    },
2855    "InvalidSignalDecoders":{
2856      "type":"list",
2857      "member":{"shape":"InvalidSignalDecoder"}
2858    },
2859    "InvalidSignals":{
2860      "type":"list",
2861      "member":{"shape":"InvalidSignal"}
2862    },
2863    "InvalidSignalsException":{
2864      "type":"structure",
2865      "members":{
2866        "message":{"shape":"string"},
2867        "invalidSignals":{
2868          "shape":"InvalidSignals",
2869          "documentation":"<p>The signals which caused the exception.</p>"
2870        }
2871      },
2872      "documentation":"<p>The request couldn't be completed because it contains signals that aren't valid.</p>",
2873      "exception":true
2874    },
2875    "LimitExceededException":{
2876      "type":"structure",
2877      "required":[
2878        "message",
2879        "resourceId",
2880        "resourceType"
2881      ],
2882      "members":{
2883        "message":{"shape":"string"},
2884        "resourceId":{
2885          "shape":"string",
2886          "documentation":"<p>The identifier of the resource that was exceeded.</p>"
2887        },
2888        "resourceType":{
2889          "shape":"string",
2890          "documentation":"<p>The type of resource that was exceeded.</p>"
2891        }
2892      },
2893      "documentation":"<p>A service quota was exceeded. </p>",
2894      "exception":true
2895    },
2896    "ListCampaignsRequest":{
2897      "type":"structure",
2898      "members":{
2899        "nextToken":{
2900          "shape":"nextToken",
2901          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
2902        },
2903        "maxResults":{
2904          "shape":"maxResults",
2905          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
2906        },
2907        "status":{
2908          "shape":"status",
2909          "documentation":"<p>Optional parameter to filter the results by the status of each created campaign in your account. The status can be one of: <code>CREATING</code>, <code>WAITING_FOR_APPROVAL</code>, <code>RUNNING</code>, or <code>SUSPENDED</code>.</p>"
2910        }
2911      }
2912    },
2913    "ListCampaignsResponse":{
2914      "type":"structure",
2915      "members":{
2916        "campaignSummaries":{
2917          "shape":"campaignSummaries",
2918          "documentation":"<p> A summary of information about each campaign. </p>"
2919        },
2920        "nextToken":{
2921          "shape":"nextToken",
2922          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
2923        }
2924      }
2925    },
2926    "ListDecoderManifestNetworkInterfacesRequest":{
2927      "type":"structure",
2928      "required":["name"],
2929      "members":{
2930        "name":{
2931          "shape":"resourceName",
2932          "documentation":"<p> The name of the decoder manifest to list information about. </p>"
2933        },
2934        "nextToken":{
2935          "shape":"nextToken",
2936          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
2937        },
2938        "maxResults":{
2939          "shape":"maxResults",
2940          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
2941        }
2942      }
2943    },
2944    "ListDecoderManifestNetworkInterfacesResponse":{
2945      "type":"structure",
2946      "members":{
2947        "networkInterfaces":{
2948          "shape":"NetworkInterfaces",
2949          "documentation":"<p> A list of information about network interfaces. </p>"
2950        },
2951        "nextToken":{
2952          "shape":"nextToken",
2953          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
2954        }
2955      }
2956    },
2957    "ListDecoderManifestSignalsRequest":{
2958      "type":"structure",
2959      "required":["name"],
2960      "members":{
2961        "name":{
2962          "shape":"resourceName",
2963          "documentation":"<p> The name of the decoder manifest to list information about. </p>"
2964        },
2965        "nextToken":{
2966          "shape":"nextToken",
2967          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
2968        },
2969        "maxResults":{
2970          "shape":"maxResults",
2971          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
2972        }
2973      }
2974    },
2975    "ListDecoderManifestSignalsResponse":{
2976      "type":"structure",
2977      "members":{
2978        "signalDecoders":{
2979          "shape":"SignalDecoders",
2980          "documentation":"<p> Information about a list of signals to decode. </p>"
2981        },
2982        "nextToken":{
2983          "shape":"nextToken",
2984          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
2985        }
2986      }
2987    },
2988    "ListDecoderManifestsRequest":{
2989      "type":"structure",
2990      "members":{
2991        "modelManifestArn":{
2992          "shape":"arn",
2993          "documentation":"<p> The Amazon Resource Name (ARN) of a vehicle model (model manifest) associated with the decoder manifest. </p>"
2994        },
2995        "nextToken":{
2996          "shape":"nextToken",
2997          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
2998        },
2999        "maxResults":{
3000          "shape":"maxResults",
3001          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3002        }
3003      }
3004    },
3005    "ListDecoderManifestsResponse":{
3006      "type":"structure",
3007      "members":{
3008        "summaries":{
3009          "shape":"decoderManifestSummaries",
3010          "documentation":"<p> A list of information about each decoder manifest. </p>"
3011        },
3012        "nextToken":{
3013          "shape":"nextToken",
3014          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3015        }
3016      }
3017    },
3018    "ListFleetsForVehicleRequest":{
3019      "type":"structure",
3020      "required":["vehicleName"],
3021      "members":{
3022        "vehicleName":{
3023          "shape":"vehicleName",
3024          "documentation":"<p> The ID of the vehicle to retrieve information about. </p>"
3025        },
3026        "nextToken":{
3027          "shape":"nextToken",
3028          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
3029        },
3030        "maxResults":{
3031          "shape":"maxResults",
3032          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3033        }
3034      }
3035    },
3036    "ListFleetsForVehicleResponse":{
3037      "type":"structure",
3038      "members":{
3039        "fleets":{
3040          "shape":"fleets",
3041          "documentation":"<p> A list of fleet IDs that the vehicle is associated with. </p>"
3042        },
3043        "nextToken":{
3044          "shape":"nextToken",
3045          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3046        }
3047      }
3048    },
3049    "ListFleetsRequest":{
3050      "type":"structure",
3051      "members":{
3052        "nextToken":{
3053          "shape":"nextToken",
3054          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
3055        },
3056        "maxResults":{
3057          "shape":"maxResults",
3058          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3059        }
3060      }
3061    },
3062    "ListFleetsResponse":{
3063      "type":"structure",
3064      "members":{
3065        "fleetSummaries":{
3066          "shape":"fleetSummaries",
3067          "documentation":"<p> A list of information for each fleet. </p>"
3068        },
3069        "nextToken":{
3070          "shape":"nextToken",
3071          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3072        }
3073      }
3074    },
3075    "ListModelManifestNodesRequest":{
3076      "type":"structure",
3077      "required":["name"],
3078      "members":{
3079        "name":{
3080          "shape":"resourceName",
3081          "documentation":"<p> The name of the vehicle model to list information about. </p>"
3082        },
3083        "nextToken":{
3084          "shape":"nextToken",
3085          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
3086        },
3087        "maxResults":{
3088          "shape":"maxResults",
3089          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3090        }
3091      }
3092    },
3093    "ListModelManifestNodesResponse":{
3094      "type":"structure",
3095      "members":{
3096        "nodes":{
3097          "shape":"Nodes",
3098          "documentation":"<p> A list of information about nodes. </p>"
3099        },
3100        "nextToken":{
3101          "shape":"nextToken",
3102          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3103        }
3104      }
3105    },
3106    "ListModelManifestsRequest":{
3107      "type":"structure",
3108      "members":{
3109        "signalCatalogArn":{
3110          "shape":"arn",
3111          "documentation":"<p> The ARN of a signal catalog. If you specify a signal catalog, only the vehicle models associated with it are returned.</p>"
3112        },
3113        "nextToken":{
3114          "shape":"nextToken",
3115          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
3116        },
3117        "maxResults":{
3118          "shape":"maxResults",
3119          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3120        }
3121      }
3122    },
3123    "ListModelManifestsResponse":{
3124      "type":"structure",
3125      "members":{
3126        "summaries":{
3127          "shape":"modelManifestSummaries",
3128          "documentation":"<p> A list of information about vehicle models.</p>"
3129        },
3130        "nextToken":{
3131          "shape":"nextToken",
3132          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3133        }
3134      }
3135    },
3136    "ListSignalCatalogNodesRequest":{
3137      "type":"structure",
3138      "required":["name"],
3139      "members":{
3140        "name":{
3141          "shape":"resourceName",
3142          "documentation":"<p> The name of the signal catalog to list information about. </p>"
3143        },
3144        "nextToken":{
3145          "shape":"nextToken",
3146          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
3147        },
3148        "maxResults":{
3149          "shape":"maxResults",
3150          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3151        },
3152        "signalNodeType":{
3153          "shape":"SignalNodeType",
3154          "documentation":"<p>The type of node in the signal catalog.</p>"
3155        }
3156      }
3157    },
3158    "ListSignalCatalogNodesResponse":{
3159      "type":"structure",
3160      "members":{
3161        "nodes":{
3162          "shape":"Nodes",
3163          "documentation":"<p> A list of information about nodes. </p>"
3164        },
3165        "nextToken":{
3166          "shape":"nextToken",
3167          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3168        }
3169      }
3170    },
3171    "ListSignalCatalogsRequest":{
3172      "type":"structure",
3173      "members":{
3174        "nextToken":{
3175          "shape":"nextToken",
3176          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
3177        },
3178        "maxResults":{
3179          "shape":"maxResults",
3180          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3181        }
3182      }
3183    },
3184    "ListSignalCatalogsResponse":{
3185      "type":"structure",
3186      "members":{
3187        "summaries":{
3188          "shape":"signalCatalogSummaries",
3189          "documentation":"<p> A list of information about each signal catalog. </p>"
3190        },
3191        "nextToken":{
3192          "shape":"nextToken",
3193          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3194        }
3195      }
3196    },
3197    "ListTagsForResourceRequest":{
3198      "type":"structure",
3199      "required":["ResourceARN"],
3200      "members":{
3201        "ResourceARN":{
3202          "shape":"AmazonResourceName",
3203          "documentation":"<p>The ARN of the resource.</p>"
3204        }
3205      }
3206    },
3207    "ListTagsForResourceResponse":{
3208      "type":"structure",
3209      "members":{
3210        "Tags":{
3211          "shape":"TagList",
3212          "documentation":"<p>The list of tags assigned to the resource.</p>"
3213        }
3214      }
3215    },
3216    "ListVehiclesInFleetRequest":{
3217      "type":"structure",
3218      "required":["fleetId"],
3219      "members":{
3220        "fleetId":{
3221          "shape":"fleetId",
3222          "documentation":"<p> The ID of a fleet. </p>"
3223        },
3224        "nextToken":{
3225          "shape":"nextToken",
3226          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
3227        },
3228        "maxResults":{
3229          "shape":"maxResults",
3230          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3231        }
3232      }
3233    },
3234    "ListVehiclesInFleetResponse":{
3235      "type":"structure",
3236      "members":{
3237        "vehicles":{
3238          "shape":"vehicles",
3239          "documentation":"<p> A list of vehicles associated with the fleet. </p>"
3240        },
3241        "nextToken":{
3242          "shape":"nextToken",
3243          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3244        }
3245      }
3246    },
3247    "ListVehiclesRequest":{
3248      "type":"structure",
3249      "members":{
3250        "modelManifestArn":{
3251          "shape":"arn",
3252          "documentation":"<p> The Amazon Resource Name (ARN) of a vehicle model (model manifest). You can use this optional parameter to list only the vehicles created from a certain vehicle model. </p>"
3253        },
3254        "nextToken":{
3255          "shape":"nextToken",
3256          "documentation":"<p>A pagination token for the next set of results.</p> <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>"
3257        },
3258        "maxResults":{
3259          "shape":"listVehiclesMaxResults",
3260          "documentation":"<p> The maximum number of items to return, between 1 and 100, inclusive. </p>"
3261        }
3262      }
3263    },
3264    "ListVehiclesResponse":{
3265      "type":"structure",
3266      "members":{
3267        "vehicleSummaries":{
3268          "shape":"vehicleSummaries",
3269          "documentation":"<p> A list of vehicles and information about them. </p>"
3270        },
3271        "nextToken":{
3272          "shape":"nextToken",
3273          "documentation":"<p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>"
3274        }
3275      }
3276    },
3277    "LogType":{
3278      "type":"string",
3279      "enum":[
3280        "OFF",
3281        "ERROR"
3282      ]
3283    },
3284    "ManifestStatus":{
3285      "type":"string",
3286      "enum":[
3287        "ACTIVE",
3288        "DRAFT",
3289        "INVALID",
3290        "VALIDATING"
3291      ]
3292    },
3293    "MessageSignal":{
3294      "type":"structure",
3295      "required":[
3296        "topicName",
3297        "structuredMessage"
3298      ],
3299      "members":{
3300        "topicName":{
3301          "shape":"TopicName",
3302          "documentation":"<p>The topic name for the message signal. It corresponds to topics in ROS 2. </p>"
3303        },
3304        "structuredMessage":{
3305          "shape":"StructuredMessage",
3306          "documentation":"<p>The structured message for the message signal. It can be defined with either a <code>primitiveMessageDefinition</code>, <code>structuredMessageListDefinition</code>, or <code>structuredMessageDefinition</code> recursively.</p>"
3307        }
3308      },
3309      "documentation":"<p>The decoding information for a specific message which support higher order data types. </p>"
3310    },
3311    "ModelManifestSummary":{
3312      "type":"structure",
3313      "required":[
3314        "creationTime",
3315        "lastModificationTime"
3316      ],
3317      "members":{
3318        "name":{
3319          "shape":"string",
3320          "documentation":"<p>The name of the vehicle model.</p>"
3321        },
3322        "arn":{
3323          "shape":"arn",
3324          "documentation":"<p>The Amazon Resource Name (ARN) of the vehicle model.</p>"
3325        },
3326        "signalCatalogArn":{
3327          "shape":"arn",
3328          "documentation":"<p>The ARN of the signal catalog associated with the vehicle model.</p>"
3329        },
3330        "description":{
3331          "shape":"description",
3332          "documentation":"<p>A brief description of the vehicle model.</p>"
3333        },
3334        "status":{
3335          "shape":"ManifestStatus",
3336          "documentation":"<p>The state of the vehicle model. If the status is <code>ACTIVE</code>, the vehicle model can't be edited. If the status is <code>DRAFT</code>, you can edit the vehicle model.</p>"
3337        },
3338        "creationTime":{
3339          "shape":"timestamp",
3340          "documentation":"<p>The time the vehicle model was created, in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
3341        },
3342        "lastModificationTime":{
3343          "shape":"timestamp",
3344          "documentation":"<p>The time the vehicle model was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
3345        }
3346      },
3347      "documentation":"<p>Information about a vehicle model (model manifest). You can use the API operation to return this information about multiple vehicle models.</p>"
3348    },
3349    "ModelSignalsMap":{
3350      "type":"map",
3351      "key":{"shape":"string"},
3352      "value":{"shape":"string"}
3353    },
3354    "NetworkFileBlob":{
3355      "type":"blob",
3356      "max":200000000,
3357      "min":0
3358    },
3359    "NetworkFileDefinition":{
3360      "type":"structure",
3361      "members":{
3362        "canDbc":{
3363          "shape":"CanDbcDefinition",
3364          "documentation":"<p>Information, including CAN DBC files, about the configurations used to create a decoder manifest.</p>"
3365        }
3366      },
3367      "documentation":"<p>Specifications for defining a vehicle network.</p>",
3368      "union":true
3369    },
3370    "NetworkFileDefinitions":{
3371      "type":"list",
3372      "member":{"shape":"NetworkFileDefinition"}
3373    },
3374    "NetworkFilesList":{
3375      "type":"list",
3376      "member":{"shape":"NetworkFileBlob"},
3377      "max":5,
3378      "min":1
3379    },
3380    "NetworkInterface":{
3381      "type":"structure",
3382      "required":[
3383        "interfaceId",
3384        "type"
3385      ],
3386      "members":{
3387        "interfaceId":{
3388          "shape":"InterfaceId",
3389          "documentation":"<p>The ID of the network interface.</p>"
3390        },
3391        "type":{
3392          "shape":"NetworkInterfaceType",
3393          "documentation":"<p>The network protocol for the vehicle. For example, <code>CAN_SIGNAL</code> specifies a protocol that defines how data is communicated between electronic control units (ECUs). <code>OBD_SIGNAL</code> specifies a protocol that defines how self-diagnostic data is communicated between ECUs.</p>"
3394        },
3395        "canInterface":{
3396          "shape":"CanInterface",
3397          "documentation":"<p>Information about a network interface specified by the Controller Area Network (CAN) protocol.</p>"
3398        },
3399        "obdInterface":{
3400          "shape":"ObdInterface",
3401          "documentation":"<p>Information about a network interface specified by the On-board diagnostic (OBD) II protocol.</p>"
3402        },
3403        "vehicleMiddleware":{
3404          "shape":"VehicleMiddleware",
3405          "documentation":"<p>The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include <code>ROS2</code> and <code>SOME/IP</code>.</p>"
3406        }
3407      },
3408      "documentation":"<p>Represents a node and its specifications in an in-vehicle communication network. All signal decoders must be associated with a network node. </p> <p> To return this information about all the network interfaces specified in a decoder manifest, use the API operation.</p>"
3409    },
3410    "NetworkInterfaceFailureReason":{
3411      "type":"string",
3412      "enum":[
3413        "DUPLICATE_NETWORK_INTERFACE",
3414        "CONFLICTING_NETWORK_INTERFACE",
3415        "NETWORK_INTERFACE_TO_ADD_ALREADY_EXISTS",
3416        "CAN_NETWORK_INTERFACE_INFO_IS_NULL",
3417        "OBD_NETWORK_INTERFACE_INFO_IS_NULL",
3418        "NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS",
3419        "VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL"
3420      ]
3421    },
3422    "NetworkInterfaceType":{
3423      "type":"string",
3424      "enum":[
3425        "CAN_INTERFACE",
3426        "OBD_INTERFACE",
3427        "VEHICLE_MIDDLEWARE"
3428      ]
3429    },
3430    "NetworkInterfaces":{
3431      "type":"list",
3432      "member":{"shape":"NetworkInterface"},
3433      "max":500,
3434      "min":1
3435    },
3436    "Node":{
3437      "type":"structure",
3438      "members":{
3439        "branch":{
3440          "shape":"Branch",
3441          "documentation":"<p>Information about a node specified as a branch.</p> <note> <p>A group of signals that are defined in a hierarchical structure.</p> </note>"
3442        },
3443        "sensor":{"shape":"Sensor"},
3444        "actuator":{
3445          "shape":"Actuator",
3446          "documentation":"<p>Information about a node specified as an actuator.</p> <note> <p>An actuator is a digital representation of a vehicle device.</p> </note>"
3447        },
3448        "attribute":{
3449          "shape":"Attribute",
3450          "documentation":"<p>Information about a node specified as an attribute.</p> <note> <p>An attribute represents static information about a vehicle.</p> </note>"
3451        },
3452        "struct":{
3453          "shape":"CustomStruct",
3454          "documentation":"<p>Represents a complex or higher-order data structure.</p>"
3455        },
3456        "property":{
3457          "shape":"CustomProperty",
3458          "documentation":"<p>Represents a member of the complex data structure. The <code>datatype</code> of the property can be either primitive or another <code>struct</code>.</p>"
3459        }
3460      },
3461      "documentation":"<p>A general abstraction of a signal. A node can be specified as an actuator, attribute, branch, or sensor.</p>",
3462      "union":true
3463    },
3464    "NodeCounts":{
3465      "type":"structure",
3466      "members":{
3467        "totalNodes":{
3468          "shape":"number",
3469          "documentation":"<p>The total number of nodes in a vehicle network.</p>"
3470        },
3471        "totalBranches":{
3472          "shape":"number",
3473          "documentation":"<p>The total number of nodes in a vehicle network that represent branches.</p>"
3474        },
3475        "totalSensors":{
3476          "shape":"number",
3477          "documentation":"<p>The total number of nodes in a vehicle network that represent sensors.</p>"
3478        },
3479        "totalAttributes":{
3480          "shape":"number",
3481          "documentation":"<p>The total number of nodes in a vehicle network that represent attributes.</p>"
3482        },
3483        "totalActuators":{
3484          "shape":"number",
3485          "documentation":"<p>The total number of nodes in a vehicle network that represent actuators.</p>"
3486        },
3487        "totalStructs":{
3488          "shape":"number",
3489          "documentation":"<p>The total structure for the node.</p>"
3490        },
3491        "totalProperties":{
3492          "shape":"number",
3493          "documentation":"<p>The total properties for the node.</p>"
3494        }
3495      },
3496      "documentation":"<p>Information about the number of nodes and node types in a vehicle network.</p>"
3497    },
3498    "NodeDataEncoding":{
3499      "type":"string",
3500      "enum":[
3501        "BINARY",
3502        "TYPED"
3503      ]
3504    },
3505    "NodeDataType":{
3506      "type":"string",
3507      "enum":[
3508        "INT8",
3509        "UINT8",
3510        "INT16",
3511        "UINT16",
3512        "INT32",
3513        "UINT32",
3514        "INT64",
3515        "UINT64",
3516        "BOOLEAN",
3517        "FLOAT",
3518        "DOUBLE",
3519        "STRING",
3520        "UNIX_TIMESTAMP",
3521        "INT8_ARRAY",
3522        "UINT8_ARRAY",
3523        "INT16_ARRAY",
3524        "UINT16_ARRAY",
3525        "INT32_ARRAY",
3526        "UINT32_ARRAY",
3527        "INT64_ARRAY",
3528        "UINT64_ARRAY",
3529        "BOOLEAN_ARRAY",
3530        "FLOAT_ARRAY",
3531        "DOUBLE_ARRAY",
3532        "STRING_ARRAY",
3533        "UNIX_TIMESTAMP_ARRAY",
3534        "UNKNOWN",
3535        "STRUCT",
3536        "STRUCT_ARRAY"
3537      ]
3538    },
3539    "NodePath":{
3540      "type":"string",
3541      "max":150,
3542      "min":1,
3543      "pattern":"[a-zA-Z0-9_.]+"
3544    },
3545    "NodePaths":{
3546      "type":"list",
3547      "member":{"shape":"NodePath"},
3548      "max":500,
3549      "min":1
3550    },
3551    "Nodes":{
3552      "type":"list",
3553      "member":{"shape":"Node"},
3554      "max":500,
3555      "min":0
3556    },
3557    "ObdBitmaskLength":{
3558      "type":"integer",
3559      "box":true,
3560      "max":8,
3561      "min":1
3562    },
3563    "ObdByteLength":{
3564      "type":"integer",
3565      "box":true,
3566      "max":8,
3567      "min":1
3568    },
3569    "ObdInterface":{
3570      "type":"structure",
3571      "required":[
3572        "name",
3573        "requestMessageId"
3574      ],
3575      "members":{
3576        "name":{
3577          "shape":"ObdInterfaceName",
3578          "documentation":"<p>The name of the interface.</p>"
3579        },
3580        "requestMessageId":{
3581          "shape":"nonNegativeInteger",
3582          "documentation":"<p>The ID of the message requesting vehicle data.</p>"
3583        },
3584        "obdStandard":{
3585          "shape":"ObdStandard",
3586          "documentation":"<p>The standard OBD II PID.</p>"
3587        },
3588        "pidRequestIntervalSeconds":{
3589          "shape":"nonNegativeInteger",
3590          "documentation":"<p>The maximum number message requests per second.</p>"
3591        },
3592        "dtcRequestIntervalSeconds":{
3593          "shape":"nonNegativeInteger",
3594          "documentation":"<p>The maximum number message requests per diagnostic trouble code per second.</p>"
3595        },
3596        "useExtendedIds":{
3597          "shape":"PrimitiveBoolean",
3598          "documentation":"<p>Whether to use extended IDs in the message.</p>"
3599        },
3600        "hasTransmissionEcu":{
3601          "shape":"PrimitiveBoolean",
3602          "documentation":"<p>Whether the vehicle has a transmission control module (TCM).</p>"
3603        }
3604      },
3605      "documentation":"<p>A network interface that specifies the On-board diagnostic (OBD) II network protocol.</p>"
3606    },
3607    "ObdInterfaceName":{
3608      "type":"string",
3609      "max":100,
3610      "min":1
3611    },
3612    "ObdSignal":{
3613      "type":"structure",
3614      "required":[
3615        "pidResponseLength",
3616        "serviceMode",
3617        "pid",
3618        "scaling",
3619        "offset",
3620        "startByte",
3621        "byteLength"
3622      ],
3623      "members":{
3624        "pidResponseLength":{
3625          "shape":"positiveInteger",
3626          "documentation":"<p>The length of the requested data.</p>"
3627        },
3628        "serviceMode":{
3629          "shape":"nonNegativeInteger",
3630          "documentation":"<p>The mode of operation (diagnostic service) in a message.</p>"
3631        },
3632        "pid":{
3633          "shape":"nonNegativeInteger",
3634          "documentation":"<p>The diagnostic code used to request data from a vehicle for this signal.</p>"
3635        },
3636        "scaling":{
3637          "shape":"double",
3638          "documentation":"<p>A multiplier used to decode the message.</p>"
3639        },
3640        "offset":{
3641          "shape":"double",
3642          "documentation":"<p>The offset used to calculate the signal value. Combined with scaling, the calculation is <code>value = raw_value * scaling + offset</code>.</p>"
3643        },
3644        "startByte":{
3645          "shape":"nonNegativeInteger",
3646          "documentation":"<p>Indicates the beginning of the message.</p>"
3647        },
3648        "byteLength":{
3649          "shape":"ObdByteLength",
3650          "documentation":"<p>The length of a message.</p>"
3651        },
3652        "bitRightShift":{
3653          "shape":"nonNegativeInteger",
3654          "documentation":"<p>The number of positions to shift bits in the message.</p>"
3655        },
3656        "bitMaskLength":{
3657          "shape":"ObdBitmaskLength",
3658          "documentation":"<p>The number of bits to mask in a message.</p>"
3659        }
3660      },
3661      "documentation":"<p>Information about signal messages using the on-board diagnostics (OBD) II protocol in a vehicle.</p>"
3662    },
3663    "ObdStandard":{
3664      "type":"string",
3665      "max":50,
3666      "min":1
3667    },
3668    "Prefix":{
3669      "type":"string",
3670      "max":512,
3671      "min":1,
3672      "pattern":"[a-zA-Z0-9-_:./!*'()]+"
3673    },
3674    "PrimitiveBoolean":{"type":"boolean"},
3675    "PrimitiveMessageDefinition":{
3676      "type":"structure",
3677      "members":{
3678        "ros2PrimitiveMessageDefinition":{
3679          "shape":"ROS2PrimitiveMessageDefinition",
3680          "documentation":"<p>Information about a <code>PrimitiveMessage</code> using a ROS 2 compliant primitive type message of the complex data structure.</p>"
3681        }
3682      },
3683      "documentation":"<p>Represents a primitive type node of the complex data structure.</p>",
3684      "union":true
3685    },
3686    "ProtocolName":{
3687      "type":"string",
3688      "max":50,
3689      "min":1
3690    },
3691    "ProtocolVersion":{
3692      "type":"string",
3693      "max":50,
3694      "min":1
3695    },
3696    "PutEncryptionConfigurationRequest":{
3697      "type":"structure",
3698      "required":["encryptionType"],
3699      "members":{
3700        "kmsKeyId":{
3701          "shape":"PutEncryptionConfigurationRequestKmsKeyIdString",
3702          "documentation":"<p>The ID of the KMS key that is used for encryption.</p>"
3703        },
3704        "encryptionType":{
3705          "shape":"EncryptionType",
3706          "documentation":"<p>The type of encryption. Choose <code>KMS_BASED_ENCRYPTION</code> to use a KMS key or <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key.</p>"
3707        }
3708      }
3709    },
3710    "PutEncryptionConfigurationRequestKmsKeyIdString":{
3711      "type":"string",
3712      "max":2048,
3713      "min":0
3714    },
3715    "PutEncryptionConfigurationResponse":{
3716      "type":"structure",
3717      "required":[
3718        "encryptionStatus",
3719        "encryptionType"
3720      ],
3721      "members":{
3722        "kmsKeyId":{
3723          "shape":"String",
3724          "documentation":"<p>The ID of the KMS key that is used for encryption.</p>"
3725        },
3726        "encryptionStatus":{
3727          "shape":"EncryptionStatus",
3728          "documentation":"<p>The encryption status.</p>"
3729        },
3730        "encryptionType":{
3731          "shape":"EncryptionType",
3732          "documentation":"<p>The type of encryption. Set to <code>KMS_BASED_ENCRYPTION</code> to use an KMS key that you own and manage. Set to <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.</p>"
3733        }
3734      }
3735    },
3736    "PutLoggingOptionsRequest":{
3737      "type":"structure",
3738      "required":["cloudWatchLogDelivery"],
3739      "members":{
3740        "cloudWatchLogDelivery":{
3741          "shape":"CloudWatchLogDeliveryOptions",
3742          "documentation":"<p>Creates or updates the log delivery option to Amazon CloudWatch Logs.</p>"
3743        }
3744      }
3745    },
3746    "PutLoggingOptionsResponse":{
3747      "type":"structure",
3748      "members":{
3749      }
3750    },
3751    "ROS2PrimitiveMessageDefinition":{
3752      "type":"structure",
3753      "required":["primitiveType"],
3754      "members":{
3755        "primitiveType":{
3756          "shape":"ROS2PrimitiveType",
3757          "documentation":"<p>The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.</p>"
3758        },
3759        "offset":{
3760          "shape":"double",
3761          "documentation":"<p>The offset used to calculate the signal value. Combined with scaling, the calculation is <code>value = raw_value * scaling + offset</code>.</p>"
3762        },
3763        "scaling":{
3764          "shape":"double",
3765          "documentation":"<p>A multiplier used to decode the message.</p>"
3766        },
3767        "upperBound":{
3768          "shape":"ROS2PrimitiveMessageDefinitionUpperBoundLong",
3769          "documentation":"<p>An optional attribute specifying the upper bound for <code>STRING</code> and <code>WSTRING</code>.</p>"
3770        }
3771      },
3772      "documentation":"<p>Represents a ROS 2 compliant primitive type message of the complex data structure.</p>"
3773    },
3774    "ROS2PrimitiveMessageDefinitionUpperBoundLong":{
3775      "type":"long",
3776      "box":true,
3777      "max":2048,
3778      "min":0
3779    },
3780    "ROS2PrimitiveType":{
3781      "type":"string",
3782      "enum":[
3783        "BOOL",
3784        "BYTE",
3785        "CHAR",
3786        "FLOAT32",
3787        "FLOAT64",
3788        "INT8",
3789        "UINT8",
3790        "INT16",
3791        "UINT16",
3792        "INT32",
3793        "UINT32",
3794        "INT64",
3795        "UINT64",
3796        "STRING",
3797        "WSTRING"
3798      ]
3799    },
3800    "RegisterAccountRequest":{
3801      "type":"structure",
3802      "members":{
3803        "timestreamResources":{
3804          "shape":"TimestreamResources",
3805          "deprecated":true,
3806          "deprecatedMessage":"Amazon Timestream metadata is now passed in the CreateCampaign API."
3807        },
3808        "iamResources":{
3809          "shape":"IamResources",
3810          "documentation":"<p>The IAM resource that allows Amazon Web Services IoT FleetWise to send data to Amazon Timestream.</p>",
3811          "deprecated":true,
3812          "deprecatedMessage":"iamResources is no longer used or needed as input"
3813        }
3814      }
3815    },
3816    "RegisterAccountResponse":{
3817      "type":"structure",
3818      "required":[
3819        "registerAccountStatus",
3820        "iamResources",
3821        "creationTime",
3822        "lastModificationTime"
3823      ],
3824      "members":{
3825        "registerAccountStatus":{
3826          "shape":"RegistrationStatus",
3827          "documentation":"<p> The status of registering your Amazon Web Services account, IAM role, and Timestream resources. </p>"
3828        },
3829        "timestreamResources":{"shape":"TimestreamResources"},
3830        "iamResources":{
3831          "shape":"IamResources",
3832          "documentation":"<p> The registered IAM resource that allows Amazon Web Services IoT FleetWise to send data to Amazon Timestream. </p>"
3833        },
3834        "creationTime":{
3835          "shape":"timestamp",
3836          "documentation":"<p> The time the account was registered, in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
3837        },
3838        "lastModificationTime":{
3839          "shape":"timestamp",
3840          "documentation":"<p> The time this registration was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
3841        }
3842      }
3843    },
3844    "RegistrationStatus":{
3845      "type":"string",
3846      "enum":[
3847        "REGISTRATION_PENDING",
3848        "REGISTRATION_SUCCESS",
3849        "REGISTRATION_FAILURE"
3850      ]
3851    },
3852    "ResourceNotFoundException":{
3853      "type":"structure",
3854      "required":[
3855        "message",
3856        "resourceId",
3857        "resourceType"
3858      ],
3859      "members":{
3860        "message":{"shape":"string"},
3861        "resourceId":{
3862          "shape":"string",
3863          "documentation":"<p>The identifier of the resource that wasn't found.</p>"
3864        },
3865        "resourceType":{
3866          "shape":"string",
3867          "documentation":"<p>The type of resource that wasn't found.</p>"
3868        }
3869      },
3870      "documentation":"<p>The resource wasn't found.</p>",
3871      "exception":true
3872    },
3873    "RetryAfterSeconds":{"type":"integer"},
3874    "S3BucketArn":{
3875      "type":"string",
3876      "max":100,
3877      "min":16,
3878      "pattern":"arn:(aws[a-zA-Z0-9-]*):s3:::.+"
3879    },
3880    "S3Config":{
3881      "type":"structure",
3882      "required":["bucketArn"],
3883      "members":{
3884        "bucketArn":{
3885          "shape":"S3BucketArn",
3886          "documentation":"<p>The Amazon Resource Name (ARN) of the Amazon S3 bucket.</p>"
3887        },
3888        "dataFormat":{
3889          "shape":"DataFormat",
3890          "documentation":"<p>Specify the format that files are saved in the Amazon S3 bucket. You can save files in an Apache Parquet or JSON format.</p> <ul> <li> <p>Parquet - Store data in a columnar storage file format. Parquet is optimal for fast data retrieval and can reduce costs. This option is selected by default.</p> </li> <li> <p>JSON - Store data in a standard text-based JSON file format.</p> </li> </ul>"
3891        },
3892        "storageCompressionFormat":{
3893          "shape":"StorageCompressionFormat",
3894          "documentation":"<p>By default, stored data is compressed as a .gzip file. Compressed files have a reduced file size, which can optimize the cost of data storage.</p>"
3895        },
3896        "prefix":{
3897          "shape":"Prefix",
3898          "documentation":"<p>(Optional) Enter an S3 bucket prefix. The prefix is the string of characters after the bucket name and before the object name. You can use the prefix to organize data stored in Amazon S3 buckets. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html\">Organizing objects using prefixes</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <p>By default, Amazon Web Services IoT FleetWise sets the prefix <code>processed-data/year=YY/month=MM/date=DD/hour=HH/</code> (in UTC) to data it delivers to Amazon S3. You can enter a prefix to append it to this default prefix. For example, if you enter the prefix <code>vehicles</code>, the prefix will be <code>vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/</code>.</p>"
3899        }
3900      },
3901      "documentation":"<p>The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign sends data. Amazon S3 is an object storage service that stores data as objects within buckets. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html\">Creating, configuring, and working with Amazon S3 buckets</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p>"
3902    },
3903    "Sensor":{
3904      "type":"structure",
3905      "required":[
3906        "fullyQualifiedName",
3907        "dataType"
3908      ],
3909      "members":{
3910        "fullyQualifiedName":{
3911          "shape":"string",
3912          "documentation":"<p>The fully qualified name of the sensor. For example, the fully qualified name of a sensor might be <code>Vehicle.Body.Engine.Battery</code>.</p>"
3913        },
3914        "dataType":{
3915          "shape":"NodeDataType",
3916          "documentation":"<p>The specified data type of the sensor. </p>"
3917        },
3918        "description":{
3919          "shape":"description",
3920          "documentation":"<p>A brief description of a sensor.</p>"
3921        },
3922        "unit":{
3923          "shape":"string",
3924          "documentation":"<p>The scientific unit of measurement for data collected by the sensor.</p>"
3925        },
3926        "allowedValues":{
3927          "shape":"listOfStrings",
3928          "documentation":"<p>A list of possible values a sensor can take.</p>"
3929        },
3930        "min":{
3931          "shape":"double",
3932          "documentation":"<p>The specified possible minimum value of the sensor.</p>"
3933        },
3934        "max":{
3935          "shape":"double",
3936          "documentation":"<p>The specified possible maximum value of the sensor.</p>"
3937        },
3938        "deprecationMessage":{
3939          "shape":"message",
3940          "documentation":"<p>The deprecation message for the node or the branch that was moved or deleted.</p>"
3941        },
3942        "comment":{
3943          "shape":"message",
3944          "documentation":"<p>A comment in addition to the description.</p>"
3945        },
3946        "structFullyQualifiedName":{
3947          "shape":"NodePath",
3948          "documentation":"<p>The fully qualified name of the struct node for a sensor if the data type of the actuator is <code>Struct</code> or <code>StructArray</code>. For example, the struct fully qualified name of a sensor might be <code>Vehicle.ADAS.CameraStruct</code>.</p>"
3949        }
3950      },
3951      "documentation":"<p>An input component that reports the environmental condition of a vehicle.</p> <note> <p>You can collect data about fluid levels, temperatures, vibrations, or battery voltage from sensors.</p> </note>"
3952    },
3953    "SignalCatalogSummary":{
3954      "type":"structure",
3955      "members":{
3956        "name":{
3957          "shape":"string",
3958          "documentation":"<p>The name of the signal catalog.</p>"
3959        },
3960        "arn":{
3961          "shape":"arn",
3962          "documentation":"<p>The Amazon Resource Name (ARN) of the signal catalog.</p>"
3963        },
3964        "creationTime":{
3965          "shape":"timestamp",
3966          "documentation":"<p>The time the signal catalog was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
3967        },
3968        "lastModificationTime":{
3969          "shape":"timestamp",
3970          "documentation":"<p>The time the signal catalog was last updated in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
3971        }
3972      },
3973      "documentation":"<p>Information about a collection of standardized signals, which can be attributes, branches, sensors, or actuators.</p>"
3974    },
3975    "SignalDecoder":{
3976      "type":"structure",
3977      "required":[
3978        "fullyQualifiedName",
3979        "type",
3980        "interfaceId"
3981      ],
3982      "members":{
3983        "fullyQualifiedName":{
3984          "shape":"FullyQualifiedName",
3985          "documentation":"<p>The fully qualified name of a signal decoder as defined in a vehicle model.</p>"
3986        },
3987        "type":{
3988          "shape":"SignalDecoderType",
3989          "documentation":"<p>The network protocol for the vehicle. For example, <code>CAN_SIGNAL</code> specifies a protocol that defines how data is communicated between electronic control units (ECUs). <code>OBD_SIGNAL</code> specifies a protocol that defines how self-diagnostic data is communicated between ECUs.</p>"
3990        },
3991        "interfaceId":{
3992          "shape":"InterfaceId",
3993          "documentation":"<p>The ID of a network interface that specifies what network protocol a vehicle follows.</p>"
3994        },
3995        "canSignal":{
3996          "shape":"CanSignal",
3997          "documentation":"<p>Information about signal decoder using the Controller Area Network (CAN) protocol.</p>"
3998        },
3999        "obdSignal":{
4000          "shape":"ObdSignal",
4001          "documentation":"<p>Information about signal decoder using the On-board diagnostic (OBD) II protocol.</p>"
4002        },
4003        "messageSignal":{
4004          "shape":"MessageSignal",
4005          "documentation":"<p>The decoding information for a specific message which supports higher order data types. </p>"
4006        }
4007      },
4008      "documentation":"<p>Information about a signal decoder.</p>"
4009    },
4010    "SignalDecoderFailureReason":{
4011      "type":"string",
4012      "enum":[
4013        "DUPLICATE_SIGNAL",
4014        "CONFLICTING_SIGNAL",
4015        "SIGNAL_TO_ADD_ALREADY_EXISTS",
4016        "SIGNAL_NOT_ASSOCIATED_WITH_NETWORK_INTERFACE",
4017        "NETWORK_INTERFACE_TYPE_INCOMPATIBLE_WITH_SIGNAL_DECODER_TYPE",
4018        "SIGNAL_NOT_IN_MODEL",
4019        "CAN_SIGNAL_INFO_IS_NULL",
4020        "OBD_SIGNAL_INFO_IS_NULL",
4021        "NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL",
4022        "MESSAGE_SIGNAL_INFO_IS_NULL",
4023        "SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE",
4024        "STRUCT_SIZE_MISMATCH",
4025        "NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL",
4026        "SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG",
4027        "EMPTY_MESSAGE_SIGNAL"
4028      ]
4029    },
4030    "SignalDecoderType":{
4031      "type":"string",
4032      "enum":[
4033        "CAN_SIGNAL",
4034        "OBD_SIGNAL",
4035        "MESSAGE_SIGNAL"
4036      ]
4037    },
4038    "SignalDecoders":{
4039      "type":"list",
4040      "member":{"shape":"SignalDecoder"},
4041      "max":500,
4042      "min":1
4043    },
4044    "SignalInformation":{
4045      "type":"structure",
4046      "required":["name"],
4047      "members":{
4048        "name":{
4049          "shape":"wildcardSignalName",
4050          "documentation":"<p>The name of the signal.</p>"
4051        },
4052        "maxSampleCount":{
4053          "shape":"maxSampleCount",
4054          "documentation":"<p>The maximum number of samples to collect.</p>"
4055        },
4056        "minimumSamplingIntervalMs":{
4057          "shape":"uint32",
4058          "documentation":"<p>The minimum duration of time (in milliseconds) between two triggering events to collect data.</p> <note> <p>If a signal changes often, you might want to collect data at a slower rate.</p> </note>"
4059        }
4060      },
4061      "documentation":"<p>Information about a signal.</p>"
4062    },
4063    "SignalInformationList":{
4064      "type":"list",
4065      "member":{"shape":"SignalInformation"},
4066      "max":1000,
4067      "min":0
4068    },
4069    "SignalNodeType":{
4070      "type":"string",
4071      "enum":[
4072        "SENSOR",
4073        "ACTUATOR",
4074        "ATTRIBUTE",
4075        "BRANCH",
4076        "CUSTOM_STRUCT",
4077        "CUSTOM_PROPERTY"
4078      ]
4079    },
4080    "SpoolingMode":{
4081      "type":"string",
4082      "enum":[
4083        "OFF",
4084        "TO_DISK"
4085      ]
4086    },
4087    "StorageCompressionFormat":{
4088      "type":"string",
4089      "enum":[
4090        "NONE",
4091        "GZIP"
4092      ]
4093    },
4094    "String":{"type":"string"},
4095    "StructureMessageName":{
4096      "type":"string",
4097      "max":150,
4098      "min":1
4099    },
4100    "StructuredMessage":{
4101      "type":"structure",
4102      "members":{
4103        "primitiveMessageDefinition":{
4104          "shape":"PrimitiveMessageDefinition",
4105          "documentation":"<p>Represents a primitive type node of the complex data structure.</p>"
4106        },
4107        "structuredMessageListDefinition":{
4108          "shape":"StructuredMessageListDefinition",
4109          "documentation":"<p>Represents a list type node of the complex data structure.</p>"
4110        },
4111        "structuredMessageDefinition":{
4112          "shape":"StructuredMessageDefinition",
4113          "documentation":"<p>Represents a struct type node of the complex data structure.</p>"
4114        }
4115      },
4116      "documentation":"<p>The structured message for the message signal. It can be defined with either a <code>primitiveMessageDefinition</code>, <code>structuredMessageListDefinition</code>, or <code>structuredMessageDefinition</code> recursively.</p>",
4117      "union":true
4118    },
4119    "StructuredMessageDefinition":{
4120      "type":"list",
4121      "member":{"shape":"StructuredMessageFieldNameAndDataTypePair"},
4122      "max":500,
4123      "min":1
4124    },
4125    "StructuredMessageFieldNameAndDataTypePair":{
4126      "type":"structure",
4127      "required":[
4128        "fieldName",
4129        "dataType"
4130      ],
4131      "members":{
4132        "fieldName":{
4133          "shape":"StructureMessageName",
4134          "documentation":"<p>The field name of the structured message. It determines how a data value is referenced in the target language. </p>"
4135        },
4136        "dataType":{
4137          "shape":"StructuredMessage",
4138          "documentation":"<p>The data type. </p>"
4139        }
4140      },
4141      "documentation":"<p>Represents a <code>StructureMessageName</code> to <code>DataType</code> map element.</p>"
4142    },
4143    "StructuredMessageListDefinition":{
4144      "type":"structure",
4145      "required":[
4146        "name",
4147        "memberType",
4148        "listType"
4149      ],
4150      "members":{
4151        "name":{
4152          "shape":"StructureMessageName",
4153          "documentation":"<p>The name of the structured message list definition. </p>"
4154        },
4155        "memberType":{
4156          "shape":"StructuredMessage",
4157          "documentation":"<p>The member type of the structured message list definition.</p>"
4158        },
4159        "listType":{
4160          "shape":"StructuredMessageListType",
4161          "documentation":"<p>The type of list of the structured message list definition.</p>"
4162        },
4163        "capacity":{
4164          "shape":"nonNegativeInteger",
4165          "documentation":"<p>The capacity of the structured message list definition when the list type is <code>FIXED_CAPACITY</code> or <code>DYNAMIC_BOUNDED_CAPACITY</code>.</p>"
4166        }
4167      },
4168      "documentation":"<p>Represents a list type node of the complex data structure.</p>"
4169    },
4170    "StructuredMessageListType":{
4171      "type":"string",
4172      "enum":[
4173        "FIXED_CAPACITY",
4174        "DYNAMIC_UNBOUNDED_CAPACITY",
4175        "DYNAMIC_BOUNDED_CAPACITY"
4176      ]
4177    },
4178    "Tag":{
4179      "type":"structure",
4180      "required":[
4181        "Key",
4182        "Value"
4183      ],
4184      "members":{
4185        "Key":{
4186          "shape":"TagKey",
4187          "documentation":"<p>The tag's key.</p>"
4188        },
4189        "Value":{
4190          "shape":"TagValue",
4191          "documentation":"<p>The tag's value.</p>"
4192        }
4193      },
4194      "documentation":"<p>A set of key/value pairs that are used to manage the resource.</p>"
4195    },
4196    "TagKey":{
4197      "type":"string",
4198      "max":128,
4199      "min":1
4200    },
4201    "TagKeyList":{
4202      "type":"list",
4203      "member":{"shape":"TagKey"},
4204      "max":200,
4205      "min":0
4206    },
4207    "TagList":{
4208      "type":"list",
4209      "member":{"shape":"Tag"},
4210      "max":50,
4211      "min":0
4212    },
4213    "TagResourceRequest":{
4214      "type":"structure",
4215      "required":[
4216        "ResourceARN",
4217        "Tags"
4218      ],
4219      "members":{
4220        "ResourceARN":{
4221          "shape":"AmazonResourceName",
4222          "documentation":"<p>The ARN of the resource.</p>"
4223        },
4224        "Tags":{
4225          "shape":"TagList",
4226          "documentation":"<p>The new or modified tags for the resource.</p>"
4227        }
4228      }
4229    },
4230    "TagResourceResponse":{
4231      "type":"structure",
4232      "members":{
4233      }
4234    },
4235    "TagValue":{
4236      "type":"string",
4237      "max":256,
4238      "min":0
4239    },
4240    "ThrottlingException":{
4241      "type":"structure",
4242      "required":["message"],
4243      "members":{
4244        "message":{"shape":"string"},
4245        "quotaCode":{
4246          "shape":"string",
4247          "documentation":"<p>The quota identifier of the applied throttling rules for this request.</p>"
4248        },
4249        "serviceCode":{
4250          "shape":"string",
4251          "documentation":"<p>The code for the service that couldn't be completed due to throttling.</p>"
4252        },
4253        "retryAfterSeconds":{
4254          "shape":"RetryAfterSeconds",
4255          "documentation":"<p>The number of seconds to wait before retrying the command.</p>"
4256        }
4257      },
4258      "documentation":"<p>The request couldn't be completed due to throttling.</p>",
4259      "exception":true
4260    },
4261    "TimeBasedCollectionScheme":{
4262      "type":"structure",
4263      "required":["periodMs"],
4264      "members":{
4265        "periodMs":{
4266          "shape":"collectionPeriodMs",
4267          "documentation":"<p>The time period (in milliseconds) to decide how often to collect data. For example, if the time period is <code>60000</code>, the Edge Agent software collects data once every minute.</p>"
4268        }
4269      },
4270      "documentation":"<p>Information about a collection scheme that uses a time period to decide how often to collect data.</p>"
4271    },
4272    "TimestreamConfig":{
4273      "type":"structure",
4274      "required":[
4275        "timestreamTableArn",
4276        "executionRoleArn"
4277      ],
4278      "members":{
4279        "timestreamTableArn":{
4280          "shape":"TimestreamTableArn",
4281          "documentation":"<p>The Amazon Resource Name (ARN) of the Amazon Timestream table.</p>"
4282        },
4283        "executionRoleArn":{
4284          "shape":"IAMRoleArn",
4285          "documentation":"<p>The Amazon Resource Name (ARN) of the task execution role that grants Amazon Web Services IoT FleetWise permission to deliver data to the Amazon Timestream table.</p>"
4286        }
4287      },
4288      "documentation":"<p>The Amazon Timestream table where the Amazon Web Services IoT FleetWise campaign sends data. Timestream stores and organizes data to optimize query processing time and to reduce storage costs. For more information, see <a href=\"https://docs.aws.amazon.com/timestream/latest/developerguide/data-modeling.html\">Data modeling</a> in the <i>Amazon Timestream Developer Guide</i>.</p>"
4289    },
4290    "TimestreamDatabaseName":{
4291      "type":"string",
4292      "max":255,
4293      "min":3,
4294      "pattern":"[a-zA-Z0-9_.-]+"
4295    },
4296    "TimestreamRegistrationResponse":{
4297      "type":"structure",
4298      "required":[
4299        "timestreamDatabaseName",
4300        "timestreamTableName",
4301        "registrationStatus"
4302      ],
4303      "members":{
4304        "timestreamDatabaseName":{
4305          "shape":"TimestreamDatabaseName",
4306          "documentation":"<p>The name of the Timestream database.</p>"
4307        },
4308        "timestreamTableName":{
4309          "shape":"TimestreamTableName",
4310          "documentation":"<p>The name of the Timestream database table.</p>"
4311        },
4312        "timestreamDatabaseArn":{
4313          "shape":"arn",
4314          "documentation":"<p>The Amazon Resource Name (ARN) of the Timestream database.</p>"
4315        },
4316        "timestreamTableArn":{
4317          "shape":"arn",
4318          "documentation":"<p>The ARN of the Timestream database table.</p>"
4319        },
4320        "registrationStatus":{
4321          "shape":"RegistrationStatus",
4322          "documentation":"<p>The status of registering your Amazon Timestream resources. The status can be one of <code>REGISTRATION_SUCCESS</code>, <code>REGISTRATION_PENDING</code>, <code>REGISTRATION_FAILURE</code>.</p>"
4323        },
4324        "errorMessage":{
4325          "shape":"errorMessage",
4326          "documentation":"<p>A message associated with a registration error.</p>"
4327        }
4328      },
4329      "documentation":"<p>Information about the registered Amazon Timestream resources or errors, if any.</p>"
4330    },
4331    "TimestreamResources":{
4332      "type":"structure",
4333      "required":[
4334        "timestreamDatabaseName",
4335        "timestreamTableName"
4336      ],
4337      "members":{
4338        "timestreamDatabaseName":{
4339          "shape":"TimestreamDatabaseName",
4340          "documentation":"<p>The name of the registered Amazon Timestream database.</p>"
4341        },
4342        "timestreamTableName":{
4343          "shape":"TimestreamTableName",
4344          "documentation":"<p>The name of the registered Amazon Timestream database table.</p>"
4345        }
4346      },
4347      "documentation":"<p>The registered Amazon Timestream resources that Amazon Web Services IoT FleetWise edge agent software can transfer your vehicle data to.</p>"
4348    },
4349    "TimestreamTableArn":{
4350      "type":"string",
4351      "max":2048,
4352      "min":20,
4353      "pattern":"arn:(aws[a-zA-Z0-9-]*):timestream:[a-zA-Z0-9-]+:[0-9]{12}:database/[a-zA-Z0-9_.-]+/table/[a-zA-Z0-9_.-]+"
4354    },
4355    "TimestreamTableName":{
4356      "type":"string",
4357      "max":255,
4358      "min":3,
4359      "pattern":"[a-zA-Z0-9_.-]+"
4360    },
4361    "TopicName":{
4362      "type":"string",
4363      "max":150,
4364      "min":1,
4365      "pattern":"[a-zA-Z0-9_\\-#:./]+"
4366    },
4367    "TriggerMode":{
4368      "type":"string",
4369      "enum":[
4370        "ALWAYS",
4371        "RISING_EDGE"
4372      ]
4373    },
4374    "UntagResourceRequest":{
4375      "type":"structure",
4376      "required":[
4377        "ResourceARN",
4378        "TagKeys"
4379      ],
4380      "members":{
4381        "ResourceARN":{
4382          "shape":"AmazonResourceName",
4383          "documentation":"<p>The ARN of the resource.</p>"
4384        },
4385        "TagKeys":{
4386          "shape":"TagKeyList",
4387          "documentation":"<p>A list of the keys of the tags to be removed from the resource.</p>"
4388        }
4389      }
4390    },
4391    "UntagResourceResponse":{
4392      "type":"structure",
4393      "members":{
4394      }
4395    },
4396    "UpdateCampaignAction":{
4397      "type":"string",
4398      "enum":[
4399        "APPROVE",
4400        "SUSPEND",
4401        "RESUME",
4402        "UPDATE"
4403      ]
4404    },
4405    "UpdateCampaignRequest":{
4406      "type":"structure",
4407      "required":[
4408        "name",
4409        "action"
4410      ],
4411      "members":{
4412        "name":{
4413          "shape":"campaignName",
4414          "documentation":"<p> The name of the campaign to update. </p>"
4415        },
4416        "description":{
4417          "shape":"description",
4418          "documentation":"<p>The description of the campaign.</p>"
4419        },
4420        "dataExtraDimensions":{
4421          "shape":"DataExtraDimensionNodePathList",
4422          "documentation":"<p> A list of vehicle attributes to associate with a signal. </p> <p>Default: An empty array</p>"
4423        },
4424        "action":{
4425          "shape":"UpdateCampaignAction",
4426          "documentation":"<p> Specifies how to update a campaign. The action can be one of the following:</p> <ul> <li> <p> <code>APPROVE</code> - To approve delivering a data collection scheme to vehicles. </p> </li> <li> <p> <code>SUSPEND</code> - To suspend collecting signal data. The campaign is deleted from vehicles and all vehicles in the suspended campaign will stop sending data.</p> </li> <li> <p> <code>RESUME</code> - To reactivate the <code>SUSPEND</code> campaign. The campaign is redeployed to all vehicles and the vehicles will resume sending data.</p> </li> <li> <p> <code>UPDATE</code> - To update a campaign. </p> </li> </ul>"
4427        }
4428      }
4429    },
4430    "UpdateCampaignResponse":{
4431      "type":"structure",
4432      "members":{
4433        "arn":{
4434          "shape":"arn",
4435          "documentation":"<p> The Amazon Resource Name (ARN) of the campaign. </p>"
4436        },
4437        "name":{
4438          "shape":"campaignName",
4439          "documentation":"<p>The name of the updated campaign.</p>"
4440        },
4441        "status":{
4442          "shape":"CampaignStatus",
4443          "documentation":"<p>The state of a campaign. The status can be one of:</p> <ul> <li> <p> <code>CREATING</code> - Amazon Web Services IoT FleetWise is processing your request to create the campaign. </p> </li> <li> <p> <code>WAITING_FOR_APPROVAL</code> - After a campaign is created, it enters the <code>WAITING_FOR_APPROVAL</code> state. To allow Amazon Web Services IoT FleetWise to deploy the campaign to the target vehicle or fleet, use the API operation to approve the campaign. </p> </li> <li> <p> <code>RUNNING</code> - The campaign is active. </p> </li> <li> <p> <code>SUSPENDED</code> - The campaign is suspended. To resume the campaign, use the API operation. </p> </li> </ul>"
4444        }
4445      }
4446    },
4447    "UpdateDecoderManifestRequest":{
4448      "type":"structure",
4449      "required":["name"],
4450      "members":{
4451        "name":{
4452          "shape":"resourceName",
4453          "documentation":"<p> The name of the decoder manifest to update.</p>"
4454        },
4455        "description":{
4456          "shape":"description",
4457          "documentation":"<p> A brief description of the decoder manifest to update. </p>"
4458        },
4459        "signalDecodersToAdd":{
4460          "shape":"SignalDecoders",
4461          "documentation":"<p> A list of information about decoding additional signals to add to the decoder manifest. </p>"
4462        },
4463        "signalDecodersToUpdate":{
4464          "shape":"SignalDecoders",
4465          "documentation":"<p> A list of updated information about decoding signals to update in the decoder manifest. </p>"
4466        },
4467        "signalDecodersToRemove":{
4468          "shape":"Fqns",
4469          "documentation":"<p> A list of signal decoders to remove from the decoder manifest. </p>"
4470        },
4471        "networkInterfacesToAdd":{
4472          "shape":"NetworkInterfaces",
4473          "documentation":"<p> A list of information about the network interfaces to add to the decoder manifest. </p>"
4474        },
4475        "networkInterfacesToUpdate":{
4476          "shape":"NetworkInterfaces",
4477          "documentation":"<p> A list of information about the network interfaces to update in the decoder manifest. </p>"
4478        },
4479        "networkInterfacesToRemove":{
4480          "shape":"InterfaceIds",
4481          "documentation":"<p> A list of network interfaces to remove from the decoder manifest.</p>"
4482        },
4483        "status":{
4484          "shape":"ManifestStatus",
4485          "documentation":"<p> The state of the decoder manifest. If the status is <code>ACTIVE</code>, the decoder manifest can't be edited. If the status is <code>DRAFT</code>, you can edit the decoder manifest. </p>"
4486        }
4487      }
4488    },
4489    "UpdateDecoderManifestResponse":{
4490      "type":"structure",
4491      "required":[
4492        "name",
4493        "arn"
4494      ],
4495      "members":{
4496        "name":{
4497          "shape":"resourceName",
4498          "documentation":"<p> The name of the updated decoder manifest. </p>"
4499        },
4500        "arn":{
4501          "shape":"arn",
4502          "documentation":"<p> The Amazon Resource Name (ARN) of the updated decoder manifest. </p>"
4503        }
4504      }
4505    },
4506    "UpdateFleetRequest":{
4507      "type":"structure",
4508      "required":["fleetId"],
4509      "members":{
4510        "fleetId":{
4511          "shape":"fleetId",
4512          "documentation":"<p> The ID of the fleet to update. </p>"
4513        },
4514        "description":{
4515          "shape":"description",
4516          "documentation":"<p> An updated description of the fleet. </p>"
4517        }
4518      }
4519    },
4520    "UpdateFleetResponse":{
4521      "type":"structure",
4522      "members":{
4523        "id":{
4524          "shape":"fleetId",
4525          "documentation":"<p>The ID of the updated fleet.</p>"
4526        },
4527        "arn":{
4528          "shape":"arn",
4529          "documentation":"<p>The Amazon Resource Name (ARN) of the updated fleet.</p>"
4530        }
4531      }
4532    },
4533    "UpdateMode":{
4534      "type":"string",
4535      "enum":[
4536        "Overwrite",
4537        "Merge"
4538      ]
4539    },
4540    "UpdateModelManifestRequest":{
4541      "type":"structure",
4542      "required":["name"],
4543      "members":{
4544        "name":{
4545          "shape":"resourceName",
4546          "documentation":"<p> The name of the vehicle model to update. </p>"
4547        },
4548        "description":{
4549          "shape":"description",
4550          "documentation":"<p> A brief description of the vehicle model. </p>"
4551        },
4552        "nodesToAdd":{
4553          "shape":"NodePaths",
4554          "documentation":"<p> A list of <code>fullyQualifiedName</code> of nodes, which are a general abstraction of signals, to add to the vehicle model. </p>"
4555        },
4556        "nodesToRemove":{
4557          "shape":"NodePaths",
4558          "documentation":"<p> A list of <code>fullyQualifiedName</code> of nodes, which are a general abstraction of signals, to remove from the vehicle model. </p>"
4559        },
4560        "status":{
4561          "shape":"ManifestStatus",
4562          "documentation":"<p> The state of the vehicle model. If the status is <code>ACTIVE</code>, the vehicle model can't be edited. If the status is <code>DRAFT</code>, you can edit the vehicle model. </p>"
4563        }
4564      }
4565    },
4566    "UpdateModelManifestResponse":{
4567      "type":"structure",
4568      "required":[
4569        "name",
4570        "arn"
4571      ],
4572      "members":{
4573        "name":{
4574          "shape":"resourceName",
4575          "documentation":"<p> The name of the updated vehicle model. </p>"
4576        },
4577        "arn":{
4578          "shape":"arn",
4579          "documentation":"<p> The Amazon Resource Name (ARN) of the updated vehicle model. </p>"
4580        }
4581      }
4582    },
4583    "UpdateSignalCatalogRequest":{
4584      "type":"structure",
4585      "required":["name"],
4586      "members":{
4587        "name":{
4588          "shape":"resourceName",
4589          "documentation":"<p> The name of the signal catalog to update. </p>"
4590        },
4591        "description":{
4592          "shape":"description",
4593          "documentation":"<p> A brief description of the signal catalog to update.</p>"
4594        },
4595        "nodesToAdd":{
4596          "shape":"Nodes",
4597          "documentation":"<p> A list of information about nodes to add to the signal catalog. </p>"
4598        },
4599        "nodesToUpdate":{
4600          "shape":"Nodes",
4601          "documentation":"<p> A list of information about nodes to update in the signal catalog. </p>"
4602        },
4603        "nodesToRemove":{
4604          "shape":"NodePaths",
4605          "documentation":"<p> A list of <code>fullyQualifiedName</code> of nodes to remove from the signal catalog. </p>"
4606        }
4607      }
4608    },
4609    "UpdateSignalCatalogResponse":{
4610      "type":"structure",
4611      "required":[
4612        "name",
4613        "arn"
4614      ],
4615      "members":{
4616        "name":{
4617          "shape":"resourceName",
4618          "documentation":"<p> The name of the updated signal catalog. </p>"
4619        },
4620        "arn":{
4621          "shape":"arn",
4622          "documentation":"<p> The ARN of the updated signal catalog. </p>"
4623        }
4624      }
4625    },
4626    "UpdateVehicleError":{
4627      "type":"structure",
4628      "members":{
4629        "vehicleName":{
4630          "shape":"vehicleName",
4631          "documentation":"<p>The ID of the vehicle with the error.</p>"
4632        },
4633        "code":{
4634          "shape":"number",
4635          "documentation":"<p>The relevant HTTP error code (400+).</p>"
4636        },
4637        "message":{
4638          "shape":"string",
4639          "documentation":"<p>A message associated with the error.</p>"
4640        }
4641      },
4642      "documentation":"<p>An HTTP error resulting from updating the description for a vehicle.</p>"
4643    },
4644    "UpdateVehicleRequest":{
4645      "type":"structure",
4646      "required":["vehicleName"],
4647      "members":{
4648        "vehicleName":{
4649          "shape":"vehicleName",
4650          "documentation":"<p>The unique ID of the vehicle to update.</p>"
4651        },
4652        "modelManifestArn":{
4653          "shape":"arn",
4654          "documentation":"<p>The ARN of a vehicle model (model manifest) associated with the vehicle.</p>"
4655        },
4656        "decoderManifestArn":{
4657          "shape":"arn",
4658          "documentation":"<p>The ARN of the decoder manifest associated with this vehicle.</p>"
4659        },
4660        "attributes":{
4661          "shape":"attributesMap",
4662          "documentation":"<p>Static information about a vehicle in a key-value pair. For example:</p> <p> <code>\"engineType\"</code> : <code>\"1.3 L R2\"</code> </p>"
4663        },
4664        "attributeUpdateMode":{
4665          "shape":"UpdateMode",
4666          "documentation":"<p>The method the specified attributes will update the existing attributes on the vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified attributes. Or use <code>Merge</code> to combine all attributes.</p> <p>This is required if attributes are present in the input.</p>"
4667        }
4668      }
4669    },
4670    "UpdateVehicleRequestItem":{
4671      "type":"structure",
4672      "required":["vehicleName"],
4673      "members":{
4674        "vehicleName":{
4675          "shape":"vehicleName",
4676          "documentation":"<p>The unique ID of the vehicle to update.</p>"
4677        },
4678        "modelManifestArn":{
4679          "shape":"arn",
4680          "documentation":"<p>The ARN of the vehicle model (model manifest) associated with the vehicle to update.</p>"
4681        },
4682        "decoderManifestArn":{
4683          "shape":"arn",
4684          "documentation":"<p>The ARN of the signal decoder manifest associated with the vehicle to update.</p>"
4685        },
4686        "attributes":{
4687          "shape":"attributesMap",
4688          "documentation":"<p>Static information about a vehicle in a key-value pair. For example:</p> <p> <code>\"engineType\"</code> : <code>\"1.3 L R2\"</code> </p>"
4689        },
4690        "attributeUpdateMode":{
4691          "shape":"UpdateMode",
4692          "documentation":"<p>The method the specified attributes will update the existing attributes on the vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified attributes. Or use <code>Merge</code> to combine all attributes.</p> <p>This is required if attributes are present in the input.</p>"
4693        }
4694      },
4695      "documentation":"<p>Information about the vehicle to update.</p>"
4696    },
4697    "UpdateVehicleResponse":{
4698      "type":"structure",
4699      "members":{
4700        "vehicleName":{
4701          "shape":"vehicleName",
4702          "documentation":"<p>The ID of the updated vehicle.</p>"
4703        },
4704        "arn":{
4705          "shape":"arn",
4706          "documentation":"<p>The ARN of the updated vehicle.</p>"
4707        }
4708      }
4709    },
4710    "UpdateVehicleResponseItem":{
4711      "type":"structure",
4712      "members":{
4713        "vehicleName":{
4714          "shape":"vehicleName",
4715          "documentation":"<p>The unique ID of the updated vehicle.</p>"
4716        },
4717        "arn":{
4718          "shape":"arn",
4719          "documentation":"<p>The Amazon Resource Name (ARN) of the updated vehicle.</p>"
4720        }
4721      },
4722      "documentation":"<p>Information about the updated vehicle.</p>"
4723    },
4724    "ValidationException":{
4725      "type":"structure",
4726      "required":["message"],
4727      "members":{
4728        "message":{"shape":"string"},
4729        "reason":{
4730          "shape":"ValidationExceptionReason",
4731          "documentation":"<p>The reason the input failed to satisfy the constraints specified by an Amazon Web Services service.</p>"
4732        },
4733        "fieldList":{
4734          "shape":"ValidationExceptionFieldList",
4735          "documentation":"<p>The list of fields that fail to satisfy the constraints specified by an Amazon Web Services service.</p>"
4736        }
4737      },
4738      "documentation":"<p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>",
4739      "exception":true
4740    },
4741    "ValidationExceptionField":{
4742      "type":"structure",
4743      "required":[
4744        "name",
4745        "message"
4746      ],
4747      "members":{
4748        "name":{
4749          "shape":"String",
4750          "documentation":"<p>The name of the parameter field with the validation error.</p>"
4751        },
4752        "message":{
4753          "shape":"String",
4754          "documentation":"<p>A message about the validation error.</p>"
4755        }
4756      },
4757      "documentation":"<p>A validation error due to mismatch between the expected data type, length, or pattern of the parameter and the input.</p>"
4758    },
4759    "ValidationExceptionFieldList":{
4760      "type":"list",
4761      "member":{"shape":"ValidationExceptionField"}
4762    },
4763    "ValidationExceptionReason":{
4764      "type":"string",
4765      "enum":[
4766        "unknownOperation",
4767        "cannotParse",
4768        "fieldValidationFailed",
4769        "other"
4770      ]
4771    },
4772    "VehicleAssociationBehavior":{
4773      "type":"string",
4774      "enum":[
4775        "CreateIotThing",
4776        "ValidateIotThingExists"
4777      ]
4778    },
4779    "VehicleMiddleware":{
4780      "type":"structure",
4781      "required":[
4782        "name",
4783        "protocolName"
4784      ],
4785      "members":{
4786        "name":{
4787          "shape":"VehicleMiddlewareName",
4788          "documentation":"<p>The name of the vehicle middleware. </p>"
4789        },
4790        "protocolName":{
4791          "shape":"VehicleMiddlewareProtocol",
4792          "documentation":"<p>The protocol name of the vehicle middleware. </p>"
4793        }
4794      },
4795      "documentation":"<p>The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include <code>ROS2</code> and <code>SOME/IP</code>.</p>"
4796    },
4797    "VehicleMiddlewareName":{
4798      "type":"string",
4799      "max":100,
4800      "min":1
4801    },
4802    "VehicleMiddlewareProtocol":{
4803      "type":"string",
4804      "enum":["ROS_2"]
4805    },
4806    "VehicleState":{
4807      "type":"string",
4808      "enum":[
4809        "CREATED",
4810        "READY",
4811        "HEALTHY",
4812        "SUSPENDED",
4813        "DELETING"
4814      ]
4815    },
4816    "VehicleStatus":{
4817      "type":"structure",
4818      "members":{
4819        "campaignName":{
4820          "shape":"string",
4821          "documentation":"<p>The name of a campaign.</p>"
4822        },
4823        "vehicleName":{
4824          "shape":"vehicleName",
4825          "documentation":"<p>The unique ID of the vehicle.</p>"
4826        },
4827        "status":{
4828          "shape":"VehicleState",
4829          "documentation":"<p>The state of a vehicle, which can be one of the following:</p> <ul> <li> <p> <code>CREATED</code> - Amazon Web Services IoT FleetWise sucessfully created the vehicle. </p> </li> <li> <p> <code>READY</code> - The vehicle is ready to receive a campaign deployment. </p> </li> <li> <p> <code>HEALTHY</code> - A campaign deployment was delivered to the vehicle. </p> </li> <li> <p> <code>SUSPENDED</code> - A campaign associated with the vehicle was suspended and data collection was paused. </p> </li> <li> <p> <code>DELETING</code> - Amazon Web Services IoT FleetWise is removing a campaign from the vehicle. </p> </li> </ul>"
4830        }
4831      },
4832      "documentation":"<p>Information about the state of a vehicle and how it relates to the status of a campaign.</p>"
4833    },
4834    "VehicleStatusList":{
4835      "type":"list",
4836      "member":{"shape":"VehicleStatus"}
4837    },
4838    "VehicleSummary":{
4839      "type":"structure",
4840      "required":[
4841        "vehicleName",
4842        "arn",
4843        "modelManifestArn",
4844        "decoderManifestArn",
4845        "creationTime",
4846        "lastModificationTime"
4847      ],
4848      "members":{
4849        "vehicleName":{
4850          "shape":"vehicleName",
4851          "documentation":"<p>The unique ID of the vehicle.</p>"
4852        },
4853        "arn":{
4854          "shape":"arn",
4855          "documentation":"<p>The Amazon Resource Name (ARN) of the vehicle.</p>"
4856        },
4857        "modelManifestArn":{
4858          "shape":"arn",
4859          "documentation":"<p>The ARN of a vehicle model (model manifest) associated with the vehicle.</p>"
4860        },
4861        "decoderManifestArn":{
4862          "shape":"arn",
4863          "documentation":"<p>The ARN of a decoder manifest associated with the vehicle.</p>"
4864        },
4865        "creationTime":{
4866          "shape":"timestamp",
4867          "documentation":"<p>The time the vehicle was created in seconds since epoch (January 1, 1970 at midnight UTC time).</p>"
4868        },
4869        "lastModificationTime":{
4870          "shape":"timestamp",
4871          "documentation":"<p>The time the vehicle was last updated in seconds since epoch (January 1, 1970 at midnight UTC time). </p>"
4872        },
4873        "attributes":{
4874          "shape":"attributesMap",
4875          "documentation":"<p>Static information about a vehicle in a key-value pair. For example:</p> <p> <code>\"engineType\"</code> : <code>\"1.3 L R2\"</code> </p>"
4876        }
4877      },
4878      "documentation":"<p>Information about a vehicle.</p> <p>To return this information about vehicles in your account, you can use the API operation.</p>"
4879    },
4880    "arn":{"type":"string"},
4881    "attributeName":{
4882      "type":"string",
4883      "max":150,
4884      "min":1,
4885      "pattern":"[a-zA-Z0-9_.-]+"
4886    },
4887    "attributeValue":{"type":"string"},
4888    "attributesMap":{
4889      "type":"map",
4890      "key":{"shape":"attributeName"},
4891      "value":{"shape":"attributeValue"}
4892    },
4893    "campaignName":{
4894      "type":"string",
4895      "max":100,
4896      "min":1,
4897      "pattern":"[a-zA-Z\\d\\-_:]+"
4898    },
4899    "campaignSummaries":{
4900      "type":"list",
4901      "member":{"shape":"CampaignSummary"}
4902    },
4903    "collectionPeriodMs":{
4904      "type":"long",
4905      "box":true,
4906      "max":60000,
4907      "min":10000
4908    },
4909    "createVehicleErrors":{
4910      "type":"list",
4911      "member":{"shape":"CreateVehicleError"}
4912    },
4913    "createVehicleRequestItems":{
4914      "type":"list",
4915      "member":{"shape":"CreateVehicleRequestItem"},
4916      "min":1
4917    },
4918    "createVehicleResponses":{
4919      "type":"list",
4920      "member":{"shape":"CreateVehicleResponseItem"}
4921    },
4922    "customerAccountId":{"type":"string"},
4923    "decoderManifestSummaries":{
4924      "type":"list",
4925      "member":{"shape":"DecoderManifestSummary"}
4926    },
4927    "description":{
4928      "type":"string",
4929      "max":2048,
4930      "min":1,
4931      "pattern":"[^\\u0000-\\u001F\\u007F]+"
4932    },
4933    "double":{
4934      "type":"double",
4935      "box":true
4936    },
4937    "errorMessage":{"type":"string"},
4938    "eventExpression":{
4939      "type":"string",
4940      "max":2048,
4941      "min":1
4942    },
4943    "fleetId":{
4944      "type":"string",
4945      "max":100,
4946      "min":1,
4947      "pattern":"[a-zA-Z0-9:_-]+"
4948    },
4949    "fleetSummaries":{
4950      "type":"list",
4951      "member":{"shape":"FleetSummary"}
4952    },
4953    "fleets":{
4954      "type":"list",
4955      "member":{"shape":"fleetId"}
4956    },
4957    "languageVersion":{
4958      "type":"integer",
4959      "box":true,
4960      "min":1
4961    },
4962    "listOfStrings":{
4963      "type":"list",
4964      "member":{"shape":"string"}
4965    },
4966    "listVehiclesMaxResults":{
4967      "type":"integer",
4968      "box":true,
4969      "max":100,
4970      "min":1
4971    },
4972    "maxResults":{
4973      "type":"integer",
4974      "box":true,
4975      "max":100,
4976      "min":1
4977    },
4978    "maxSampleCount":{
4979      "type":"long",
4980      "box":true,
4981      "max":4294967295,
4982      "min":1
4983    },
4984    "message":{
4985      "type":"string",
4986      "max":2048,
4987      "min":1,
4988      "pattern":"[^\\u0000-\\u001F\\u007F]+"
4989    },
4990    "modelManifestSummaries":{
4991      "type":"list",
4992      "member":{"shape":"ModelManifestSummary"}
4993    },
4994    "nextToken":{
4995      "type":"string",
4996      "max":4096,
4997      "min":1
4998    },
4999    "nonNegativeInteger":{
5000      "type":"integer",
5001      "min":0
5002    },
5003    "number":{"type":"integer"},
5004    "positiveInteger":{
5005      "type":"integer",
5006      "box":true,
5007      "min":1
5008    },
5009    "priority":{
5010      "type":"integer",
5011      "box":true,
5012      "min":0
5013    },
5014    "resourceName":{
5015      "type":"string",
5016      "max":100,
5017      "min":1,
5018      "pattern":"[a-zA-Z\\d\\-_:]+"
5019    },
5020    "signalCatalogSummaries":{
5021      "type":"list",
5022      "member":{"shape":"SignalCatalogSummary"}
5023    },
5024    "status":{"type":"string"},
5025    "string":{"type":"string"},
5026    "timestamp":{"type":"timestamp"},
5027    "uint32":{
5028      "type":"long",
5029      "box":true,
5030      "max":4294967295,
5031      "min":0
5032    },
5033    "updateVehicleErrors":{
5034      "type":"list",
5035      "member":{"shape":"UpdateVehicleError"}
5036    },
5037    "updateVehicleRequestItems":{
5038      "type":"list",
5039      "member":{"shape":"UpdateVehicleRequestItem"},
5040      "min":1
5041    },
5042    "updateVehicleResponseItems":{
5043      "type":"list",
5044      "member":{"shape":"UpdateVehicleResponseItem"}
5045    },
5046    "vehicleName":{
5047      "type":"string",
5048      "max":100,
5049      "min":1,
5050      "pattern":"[a-zA-Z\\d\\-_:]+"
5051    },
5052    "vehicleSummaries":{
5053      "type":"list",
5054      "member":{"shape":"VehicleSummary"}
5055    },
5056    "vehicles":{
5057      "type":"list",
5058      "member":{"shape":"vehicleName"}
5059    },
5060    "wildcardSignalName":{
5061      "type":"string",
5062      "max":150,
5063      "min":1,
5064      "pattern":"[\\w|*|-]+(\\.[\\w|*|-]+)*"
5065    }
5066  },
5067  "documentation":"<p>Amazon Web Services IoT FleetWise is a fully managed service that you can use to collect, model, and transfer vehicle data to the Amazon Web Services cloud at scale. With Amazon Web Services IoT FleetWise, you can standardize all of your vehicle data models, independent of the in-vehicle communication architecture, and define data collection rules to transfer only high-value data to the cloud. </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/\">What is Amazon Web Services IoT FleetWise?</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>"
5068}
5069