1{ 2 "version":"2.0", 3 "metadata":{ 4 "apiVersion":"2020-11-03", 5 "endpointPrefix":"api.fleethub.iot", 6 "jsonVersion":"1.1", 7 "protocol":"rest-json", 8 "serviceFullName":"AWS IoT Fleet Hub", 9 "serviceId":"IoTFleetHub", 10 "signatureVersion":"v4", 11 "signingName":"iotfleethub", 12 "uid":"iotfleethub-2020-11-03" 13 }, 14 "operations":{ 15 "CreateApplication":{ 16 "name":"CreateApplication", 17 "http":{ 18 "method":"POST", 19 "requestUri":"/applications", 20 "responseCode":201 21 }, 22 "input":{"shape":"CreateApplicationRequest"}, 23 "output":{"shape":"CreateApplicationResponse"}, 24 "errors":[ 25 {"shape":"InvalidRequestException"}, 26 {"shape":"InternalFailureException"}, 27 {"shape":"ThrottlingException"}, 28 {"shape":"LimitExceededException"} 29 ], 30 "documentation":"<p>Creates a Fleet Hub for AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 31 }, 32 "DeleteApplication":{ 33 "name":"DeleteApplication", 34 "http":{ 35 "method":"DELETE", 36 "requestUri":"/applications/{applicationId}", 37 "responseCode":204 38 }, 39 "input":{"shape":"DeleteApplicationRequest"}, 40 "output":{"shape":"DeleteApplicationResponse"}, 41 "errors":[ 42 {"shape":"InvalidRequestException"}, 43 {"shape":"ResourceNotFoundException"}, 44 {"shape":"InternalFailureException"}, 45 {"shape":"ThrottlingException"} 46 ], 47 "documentation":"<p>Deletes a Fleet Hub for AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 48 }, 49 "DescribeApplication":{ 50 "name":"DescribeApplication", 51 "http":{ 52 "method":"GET", 53 "requestUri":"/applications/{applicationId}", 54 "responseCode":200 55 }, 56 "input":{"shape":"DescribeApplicationRequest"}, 57 "output":{"shape":"DescribeApplicationResponse"}, 58 "errors":[ 59 {"shape":"InvalidRequestException"}, 60 {"shape":"ResourceNotFoundException"}, 61 {"shape":"InternalFailureException"}, 62 {"shape":"ThrottlingException"} 63 ], 64 "documentation":"<p>Gets information about a Fleet Hub for AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 65 }, 66 "ListApplications":{ 67 "name":"ListApplications", 68 "http":{ 69 "method":"GET", 70 "requestUri":"/applications", 71 "responseCode":200 72 }, 73 "input":{"shape":"ListApplicationsRequest"}, 74 "output":{"shape":"ListApplicationsResponse"}, 75 "errors":[ 76 {"shape":"InvalidRequestException"}, 77 {"shape":"InternalFailureException"}, 78 {"shape":"ThrottlingException"} 79 ], 80 "documentation":"<p>Gets a list of Fleet Hub for AWS IoT Device Management web applications for the current account.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 81 }, 82 "ListTagsForResource":{ 83 "name":"ListTagsForResource", 84 "http":{ 85 "method":"GET", 86 "requestUri":"/tags/{resourceArn}" 87 }, 88 "input":{"shape":"ListTagsForResourceRequest"}, 89 "output":{"shape":"ListTagsForResourceResponse"}, 90 "errors":[ 91 {"shape":"InternalFailureException"}, 92 {"shape":"InvalidRequestException"}, 93 {"shape":"ResourceNotFoundException"} 94 ], 95 "documentation":"<p>Lists the tags for the specified resource.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 96 }, 97 "TagResource":{ 98 "name":"TagResource", 99 "http":{ 100 "method":"POST", 101 "requestUri":"/tags/{resourceArn}" 102 }, 103 "input":{"shape":"TagResourceRequest"}, 104 "output":{"shape":"TagResourceResponse"}, 105 "errors":[ 106 {"shape":"InternalFailureException"}, 107 {"shape":"InvalidRequestException"}, 108 {"shape":"ResourceNotFoundException"} 109 ], 110 "documentation":"<p>Adds to or modifies the tags of the specified resource. Tags are metadata which can be used to manage a resource.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 111 }, 112 "UntagResource":{ 113 "name":"UntagResource", 114 "http":{ 115 "method":"DELETE", 116 "requestUri":"/tags/{resourceArn}" 117 }, 118 "input":{"shape":"UntagResourceRequest"}, 119 "output":{"shape":"UntagResourceResponse"}, 120 "errors":[ 121 {"shape":"InternalFailureException"}, 122 {"shape":"InvalidRequestException"}, 123 {"shape":"ResourceNotFoundException"} 124 ], 125 "documentation":"<p>Removes the specified tags (metadata) from the resource.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 126 }, 127 "UpdateApplication":{ 128 "name":"UpdateApplication", 129 "http":{ 130 "method":"PATCH", 131 "requestUri":"/applications/{applicationId}", 132 "responseCode":202 133 }, 134 "input":{"shape":"UpdateApplicationRequest"}, 135 "output":{"shape":"UpdateApplicationResponse"}, 136 "errors":[ 137 {"shape":"InvalidRequestException"}, 138 {"shape":"ResourceNotFoundException"}, 139 {"shape":"InternalFailureException"}, 140 {"shape":"ConflictException"}, 141 {"shape":"ThrottlingException"} 142 ], 143 "documentation":"<p>Updates information about a Fleet Hub for a AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 144 } 145 }, 146 "shapes":{ 147 "ApplicationState":{ 148 "type":"string", 149 "enum":[ 150 "CREATING", 151 "DELETING", 152 "ACTIVE", 153 "CREATE_FAILED", 154 "DELETE_FAILED" 155 ] 156 }, 157 "ApplicationSummaries":{ 158 "type":"list", 159 "member":{"shape":"ApplicationSummary"} 160 }, 161 "ApplicationSummary":{ 162 "type":"structure", 163 "required":[ 164 "applicationId", 165 "applicationName", 166 "applicationUrl" 167 ], 168 "members":{ 169 "applicationId":{ 170 "shape":"Id", 171 "documentation":"<p>The unique Id of the web application.</p>" 172 }, 173 "applicationName":{ 174 "shape":"Name", 175 "documentation":"<p>The name of the web application.</p>" 176 }, 177 "applicationDescription":{ 178 "shape":"Description", 179 "documentation":"<p>An optional description of the web application.</p>" 180 }, 181 "applicationUrl":{ 182 "shape":"Url", 183 "documentation":"<p>The URL of the web application.</p>" 184 }, 185 "applicationCreationDate":{ 186 "shape":"Timestamp", 187 "documentation":"<p>The date (in Unix epoch time) when the web application was created.</p>" 188 }, 189 "applicationLastUpdateDate":{ 190 "shape":"Timestamp", 191 "documentation":"<p>The date (in Unix epoch time) when the web application was last updated.</p>" 192 }, 193 "applicationState":{ 194 "shape":"ApplicationState", 195 "documentation":"<p>The current state of the web application.</p>" 196 } 197 }, 198 "documentation":"<p>A summary of information about a AWS IoT Device Management web application.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 199 }, 200 "Arn":{ 201 "type":"string", 202 "max":1600, 203 "min":1, 204 "pattern":"^arn:[!-~]+$" 205 }, 206 "ClientRequestToken":{ 207 "type":"string", 208 "max":64, 209 "min":1, 210 "pattern":"^[a-zA-Z0-9-_]+$" 211 }, 212 "ConflictException":{ 213 "type":"structure", 214 "members":{ 215 "message":{"shape":"errorMessage"} 216 }, 217 "documentation":"<p>The request conflicts with the current state of the resource.</p>", 218 "error":{"httpStatusCode":409}, 219 "exception":true 220 }, 221 "CreateApplicationRequest":{ 222 "type":"structure", 223 "required":[ 224 "applicationName", 225 "roleArn" 226 ], 227 "members":{ 228 "applicationName":{ 229 "shape":"Name", 230 "documentation":"<p>The name of the web application.</p>" 231 }, 232 "applicationDescription":{ 233 "shape":"Description", 234 "documentation":"<p>An optional description of the web application.</p>" 235 }, 236 "clientToken":{ 237 "shape":"ClientRequestToken", 238 "documentation":"<p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>", 239 "idempotencyToken":true 240 }, 241 "roleArn":{ 242 "shape":"Arn", 243 "documentation":"<p>The ARN of the role that the web application assumes when it interacts with AWS IoT Core.</p> <note> <p>The name of the role must be in the form <code>AWSIotFleetHub_<i>random_string</i> </code>.</p> </note>" 244 }, 245 "tags":{ 246 "shape":"TagMap", 247 "documentation":"<p>A set of key/value pairs that you can use to manage the web application resource.</p>" 248 } 249 } 250 }, 251 "CreateApplicationResponse":{ 252 "type":"structure", 253 "required":[ 254 "applicationId", 255 "applicationArn" 256 ], 257 "members":{ 258 "applicationId":{ 259 "shape":"Id", 260 "documentation":"<p>The unique Id of the web application.</p>" 261 }, 262 "applicationArn":{ 263 "shape":"Arn", 264 "documentation":"<p>The ARN of the web application.</p>" 265 } 266 } 267 }, 268 "DeleteApplicationRequest":{ 269 "type":"structure", 270 "required":["applicationId"], 271 "members":{ 272 "applicationId":{ 273 "shape":"Id", 274 "documentation":"<p>The unique Id of the web application.</p>", 275 "location":"uri", 276 "locationName":"applicationId" 277 }, 278 "clientToken":{ 279 "shape":"ClientRequestToken", 280 "documentation":"<p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>", 281 "idempotencyToken":true, 282 "location":"querystring", 283 "locationName":"clientToken" 284 } 285 } 286 }, 287 "DeleteApplicationResponse":{ 288 "type":"structure", 289 "members":{ 290 } 291 }, 292 "DescribeApplicationRequest":{ 293 "type":"structure", 294 "required":["applicationId"], 295 "members":{ 296 "applicationId":{ 297 "shape":"Id", 298 "documentation":"<p>The unique Id of the web application.</p>", 299 "location":"uri", 300 "locationName":"applicationId" 301 } 302 } 303 }, 304 "DescribeApplicationResponse":{ 305 "type":"structure", 306 "required":[ 307 "applicationId", 308 "applicationArn", 309 "applicationName", 310 "applicationUrl", 311 "applicationState", 312 "applicationCreationDate", 313 "applicationLastUpdateDate", 314 "roleArn" 315 ], 316 "members":{ 317 "applicationId":{ 318 "shape":"Id", 319 "documentation":"<p>The unique Id of the web application.</p>" 320 }, 321 "applicationArn":{ 322 "shape":"Arn", 323 "documentation":"<p>The ARN of the web application.</p>" 324 }, 325 "applicationName":{ 326 "shape":"Name", 327 "documentation":"<p>The name of the web application.</p>" 328 }, 329 "applicationDescription":{ 330 "shape":"Description", 331 "documentation":"<p>An optional description of the web application.</p>" 332 }, 333 "applicationUrl":{ 334 "shape":"Url", 335 "documentation":"<p>The URL of the web application.</p>" 336 }, 337 "applicationState":{ 338 "shape":"ApplicationState", 339 "documentation":"<p>The current state of the web application.</p>" 340 }, 341 "applicationCreationDate":{ 342 "shape":"Timestamp", 343 "documentation":"<p>The date (in Unix epoch time) when the application was created.</p>" 344 }, 345 "applicationLastUpdateDate":{ 346 "shape":"Timestamp", 347 "documentation":"<p>The date (in Unix epoch time) when the application was last updated.</p>" 348 }, 349 "roleArn":{ 350 "shape":"Arn", 351 "documentation":"<p>The ARN of the role that the web application assumes when it interacts with AWS IoT Core.</p>" 352 }, 353 "ssoClientId":{ 354 "shape":"SsoClientId", 355 "documentation":"<p>The Id of the single sign-on client that you use to authenticate and authorize users on the web application.</p>" 356 }, 357 "errorMessage":{ 358 "shape":"ErrorMessage", 359 "documentation":"<p>A message indicating why the <code>DescribeApplication</code> API failed.</p>" 360 }, 361 "tags":{ 362 "shape":"TagMap", 363 "documentation":"<p>A set of key/value pairs that you can use to manage the web application resource.</p>" 364 } 365 } 366 }, 367 "Description":{ 368 "type":"string", 369 "max":2048, 370 "min":1, 371 "pattern":"^[ -~]*$" 372 }, 373 "ErrorMessage":{"type":"string"}, 374 "Id":{ 375 "type":"string", 376 "max":36, 377 "min":36, 378 "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 379 }, 380 "InternalFailureException":{ 381 "type":"structure", 382 "members":{ 383 "message":{"shape":"errorMessage"} 384 }, 385 "documentation":"<p>An unexpected error has occurred.</p>", 386 "error":{"httpStatusCode":500}, 387 "exception":true, 388 "fault":true 389 }, 390 "InvalidRequestException":{ 391 "type":"structure", 392 "members":{ 393 "message":{"shape":"errorMessage"} 394 }, 395 "documentation":"<p>The request is not valid.</p>", 396 "error":{"httpStatusCode":400}, 397 "exception":true 398 }, 399 "LimitExceededException":{ 400 "type":"structure", 401 "members":{ 402 "message":{"shape":"errorMessage"} 403 }, 404 "documentation":"<p>A limit has been exceeded.</p>", 405 "error":{"httpStatusCode":410}, 406 "exception":true 407 }, 408 "ListApplicationsRequest":{ 409 "type":"structure", 410 "members":{ 411 "nextToken":{ 412 "shape":"NextToken", 413 "documentation":"<p>A token used to get the next set of results.</p>", 414 "location":"querystring", 415 "locationName":"nextToken" 416 } 417 } 418 }, 419 "ListApplicationsResponse":{ 420 "type":"structure", 421 "members":{ 422 "applicationSummaries":{ 423 "shape":"ApplicationSummaries", 424 "documentation":"<p>An array of objects that provide summaries of information about the web applications in the list.</p>" 425 }, 426 "nextToken":{ 427 "shape":"NextToken", 428 "documentation":"<p>A token used to get the next set of results.</p>" 429 } 430 } 431 }, 432 "ListTagsForResourceRequest":{ 433 "type":"structure", 434 "required":["resourceArn"], 435 "members":{ 436 "resourceArn":{ 437 "shape":"ResourceArn", 438 "documentation":"<p>The ARN of the resource.</p>", 439 "location":"uri", 440 "locationName":"resourceArn" 441 } 442 } 443 }, 444 "ListTagsForResourceResponse":{ 445 "type":"structure", 446 "members":{ 447 "tags":{ 448 "shape":"TagMap", 449 "documentation":"<p>The list of tags assigned to the resource.</p>" 450 } 451 } 452 }, 453 "Name":{ 454 "type":"string", 455 "max":100, 456 "min":1, 457 "pattern":"^[ -~]*$" 458 }, 459 "NextToken":{ 460 "type":"string", 461 "max":2048, 462 "min":1, 463 "pattern":"^[A-Za-z0-9+/=]+$" 464 }, 465 "ResourceArn":{"type":"string"}, 466 "ResourceNotFoundException":{ 467 "type":"structure", 468 "members":{ 469 "message":{"shape":"errorMessage"} 470 }, 471 "documentation":"<p>The specified resource does not exist.</p>", 472 "error":{"httpStatusCode":404}, 473 "exception":true 474 }, 475 "SsoClientId":{"type":"string"}, 476 "TagKey":{ 477 "type":"string", 478 "max":128, 479 "min":1, 480 "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" 481 }, 482 "TagKeyList":{ 483 "type":"list", 484 "member":{"shape":"TagKey"} 485 }, 486 "TagMap":{ 487 "type":"map", 488 "key":{"shape":"TagKey"}, 489 "value":{"shape":"TagValue"}, 490 "max":50, 491 "min":1 492 }, 493 "TagResourceRequest":{ 494 "type":"structure", 495 "required":[ 496 "resourceArn", 497 "tags" 498 ], 499 "members":{ 500 "resourceArn":{ 501 "shape":"ResourceArn", 502 "documentation":"<p>The ARN of the resource.</p>", 503 "location":"uri", 504 "locationName":"resourceArn" 505 }, 506 "tags":{ 507 "shape":"TagMap", 508 "documentation":"<p>The new or modified tags for the resource.</p>" 509 } 510 } 511 }, 512 "TagResourceResponse":{ 513 "type":"structure", 514 "members":{ 515 } 516 }, 517 "TagValue":{ 518 "type":"string", 519 "max":256, 520 "min":1 521 }, 522 "ThrottlingException":{ 523 "type":"structure", 524 "members":{ 525 "message":{"shape":"errorMessage"} 526 }, 527 "documentation":"<p>The rate exceeds the limit.</p>", 528 "error":{"httpStatusCode":400}, 529 "exception":true 530 }, 531 "Timestamp":{"type":"long"}, 532 "UntagResourceRequest":{ 533 "type":"structure", 534 "required":[ 535 "resourceArn", 536 "tagKeys" 537 ], 538 "members":{ 539 "resourceArn":{ 540 "shape":"ResourceArn", 541 "documentation":"<p>The ARN of the resource.</p>", 542 "location":"uri", 543 "locationName":"resourceArn" 544 }, 545 "tagKeys":{ 546 "shape":"TagKeyList", 547 "documentation":"<p>A list of the keys of the tags to be removed from the resource.</p>", 548 "location":"querystring", 549 "locationName":"tagKeys" 550 } 551 } 552 }, 553 "UntagResourceResponse":{ 554 "type":"structure", 555 "members":{ 556 } 557 }, 558 "UpdateApplicationRequest":{ 559 "type":"structure", 560 "required":["applicationId"], 561 "members":{ 562 "applicationId":{ 563 "shape":"Id", 564 "documentation":"<p>The unique Id of the web application.</p>", 565 "location":"uri", 566 "locationName":"applicationId" 567 }, 568 "applicationName":{ 569 "shape":"Name", 570 "documentation":"<p>The name of the web application.</p>" 571 }, 572 "applicationDescription":{ 573 "shape":"Description", 574 "documentation":"<p>An optional description of the web application.</p>" 575 }, 576 "clientToken":{ 577 "shape":"ClientRequestToken", 578 "documentation":"<p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p>", 579 "idempotencyToken":true 580 } 581 } 582 }, 583 "UpdateApplicationResponse":{ 584 "type":"structure", 585 "members":{ 586 } 587 }, 588 "Url":{ 589 "type":"string", 590 "max":256, 591 "min":1, 592 "pattern":"^https\\://\\S+$" 593 }, 594 "errorMessage":{"type":"string"} 595 }, 596 "documentation":"<p>With Fleet Hub for AWS IoT Device Management you can build stand-alone web applications for monitoring the health of your device fleets.</p> <note> <p>Fleet Hub for AWS IoT Device Management is in public preview and is subject to change.</p> </note>" 597} 598