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 }, 31 "DeleteApplication":{ 32 "name":"DeleteApplication", 33 "http":{ 34 "method":"DELETE", 35 "requestUri":"/applications/{applicationId}", 36 "responseCode":204 37 }, 38 "input":{"shape":"DeleteApplicationRequest"}, 39 "output":{"shape":"DeleteApplicationResponse"}, 40 "errors":[ 41 {"shape":"InvalidRequestException"}, 42 {"shape":"ResourceNotFoundException"}, 43 {"shape":"InternalFailureException"}, 44 {"shape":"ThrottlingException"} 45 ] 46 }, 47 "DescribeApplication":{ 48 "name":"DescribeApplication", 49 "http":{ 50 "method":"GET", 51 "requestUri":"/applications/{applicationId}", 52 "responseCode":200 53 }, 54 "input":{"shape":"DescribeApplicationRequest"}, 55 "output":{"shape":"DescribeApplicationResponse"}, 56 "errors":[ 57 {"shape":"InvalidRequestException"}, 58 {"shape":"ResourceNotFoundException"}, 59 {"shape":"InternalFailureException"}, 60 {"shape":"ThrottlingException"} 61 ] 62 }, 63 "ListApplications":{ 64 "name":"ListApplications", 65 "http":{ 66 "method":"GET", 67 "requestUri":"/applications", 68 "responseCode":200 69 }, 70 "input":{"shape":"ListApplicationsRequest"}, 71 "output":{"shape":"ListApplicationsResponse"}, 72 "errors":[ 73 {"shape":"InvalidRequestException"}, 74 {"shape":"InternalFailureException"}, 75 {"shape":"ThrottlingException"} 76 ] 77 }, 78 "ListTagsForResource":{ 79 "name":"ListTagsForResource", 80 "http":{ 81 "method":"GET", 82 "requestUri":"/tags/{resourceArn}" 83 }, 84 "input":{"shape":"ListTagsForResourceRequest"}, 85 "output":{"shape":"ListTagsForResourceResponse"}, 86 "errors":[ 87 {"shape":"InternalFailureException"}, 88 {"shape":"InvalidRequestException"}, 89 {"shape":"ResourceNotFoundException"} 90 ] 91 }, 92 "TagResource":{ 93 "name":"TagResource", 94 "http":{ 95 "method":"POST", 96 "requestUri":"/tags/{resourceArn}" 97 }, 98 "input":{"shape":"TagResourceRequest"}, 99 "output":{"shape":"TagResourceResponse"}, 100 "errors":[ 101 {"shape":"InternalFailureException"}, 102 {"shape":"InvalidRequestException"}, 103 {"shape":"ResourceNotFoundException"} 104 ] 105 }, 106 "UntagResource":{ 107 "name":"UntagResource", 108 "http":{ 109 "method":"DELETE", 110 "requestUri":"/tags/{resourceArn}" 111 }, 112 "input":{"shape":"UntagResourceRequest"}, 113 "output":{"shape":"UntagResourceResponse"}, 114 "errors":[ 115 {"shape":"InternalFailureException"}, 116 {"shape":"InvalidRequestException"}, 117 {"shape":"ResourceNotFoundException"} 118 ] 119 }, 120 "UpdateApplication":{ 121 "name":"UpdateApplication", 122 "http":{ 123 "method":"PATCH", 124 "requestUri":"/applications/{applicationId}", 125 "responseCode":202 126 }, 127 "input":{"shape":"UpdateApplicationRequest"}, 128 "output":{"shape":"UpdateApplicationResponse"}, 129 "errors":[ 130 {"shape":"InvalidRequestException"}, 131 {"shape":"ResourceNotFoundException"}, 132 {"shape":"InternalFailureException"}, 133 {"shape":"ConflictException"}, 134 {"shape":"ThrottlingException"} 135 ] 136 } 137 }, 138 "shapes":{ 139 "ApplicationState":{ 140 "type":"string", 141 "enum":[ 142 "CREATING", 143 "DELETING", 144 "ACTIVE", 145 "CREATE_FAILED", 146 "DELETE_FAILED" 147 ] 148 }, 149 "ApplicationSummaries":{ 150 "type":"list", 151 "member":{"shape":"ApplicationSummary"} 152 }, 153 "ApplicationSummary":{ 154 "type":"structure", 155 "required":[ 156 "applicationId", 157 "applicationName", 158 "applicationUrl" 159 ], 160 "members":{ 161 "applicationId":{"shape":"Id"}, 162 "applicationName":{"shape":"Name"}, 163 "applicationDescription":{"shape":"Description"}, 164 "applicationUrl":{"shape":"Url"}, 165 "applicationCreationDate":{"shape":"Timestamp"}, 166 "applicationLastUpdateDate":{"shape":"Timestamp"}, 167 "applicationState":{"shape":"ApplicationState"} 168 } 169 }, 170 "Arn":{ 171 "type":"string", 172 "max":1600, 173 "min":1, 174 "pattern":"^arn:[!-~]+$" 175 }, 176 "ClientRequestToken":{ 177 "type":"string", 178 "max":64, 179 "min":1, 180 "pattern":"^[a-zA-Z0-9-_]+$" 181 }, 182 "ConflictException":{ 183 "type":"structure", 184 "members":{ 185 "message":{"shape":"errorMessage"} 186 }, 187 "error":{"httpStatusCode":409}, 188 "exception":true 189 }, 190 "CreateApplicationRequest":{ 191 "type":"structure", 192 "required":[ 193 "applicationName", 194 "roleArn" 195 ], 196 "members":{ 197 "applicationName":{"shape":"Name"}, 198 "applicationDescription":{"shape":"Description"}, 199 "clientToken":{ 200 "shape":"ClientRequestToken", 201 "idempotencyToken":true 202 }, 203 "roleArn":{"shape":"Arn"}, 204 "tags":{"shape":"TagMap"} 205 } 206 }, 207 "CreateApplicationResponse":{ 208 "type":"structure", 209 "required":[ 210 "applicationId", 211 "applicationArn" 212 ], 213 "members":{ 214 "applicationId":{"shape":"Id"}, 215 "applicationArn":{"shape":"Arn"} 216 } 217 }, 218 "DeleteApplicationRequest":{ 219 "type":"structure", 220 "required":["applicationId"], 221 "members":{ 222 "applicationId":{ 223 "shape":"Id", 224 "location":"uri", 225 "locationName":"applicationId" 226 }, 227 "clientToken":{ 228 "shape":"ClientRequestToken", 229 "idempotencyToken":true, 230 "location":"querystring", 231 "locationName":"clientToken" 232 } 233 } 234 }, 235 "DeleteApplicationResponse":{ 236 "type":"structure", 237 "members":{ 238 } 239 }, 240 "DescribeApplicationRequest":{ 241 "type":"structure", 242 "required":["applicationId"], 243 "members":{ 244 "applicationId":{ 245 "shape":"Id", 246 "location":"uri", 247 "locationName":"applicationId" 248 } 249 } 250 }, 251 "DescribeApplicationResponse":{ 252 "type":"structure", 253 "required":[ 254 "applicationId", 255 "applicationArn", 256 "applicationName", 257 "applicationUrl", 258 "applicationState", 259 "applicationCreationDate", 260 "applicationLastUpdateDate", 261 "roleArn" 262 ], 263 "members":{ 264 "applicationId":{"shape":"Id"}, 265 "applicationArn":{"shape":"Arn"}, 266 "applicationName":{"shape":"Name"}, 267 "applicationDescription":{"shape":"Description"}, 268 "applicationUrl":{"shape":"Url"}, 269 "applicationState":{"shape":"ApplicationState"}, 270 "applicationCreationDate":{"shape":"Timestamp"}, 271 "applicationLastUpdateDate":{"shape":"Timestamp"}, 272 "roleArn":{"shape":"Arn"}, 273 "ssoClientId":{"shape":"SsoClientId"}, 274 "errorMessage":{"shape":"ErrorMessage"}, 275 "tags":{"shape":"TagMap"} 276 } 277 }, 278 "Description":{ 279 "type":"string", 280 "max":2048, 281 "min":1, 282 "pattern":"^[ -~]*$" 283 }, 284 "ErrorMessage":{"type":"string"}, 285 "Id":{ 286 "type":"string", 287 "max":36, 288 "min":36, 289 "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" 290 }, 291 "InternalFailureException":{ 292 "type":"structure", 293 "members":{ 294 "message":{"shape":"errorMessage"} 295 }, 296 "error":{"httpStatusCode":500}, 297 "exception":true, 298 "fault":true 299 }, 300 "InvalidRequestException":{ 301 "type":"structure", 302 "members":{ 303 "message":{"shape":"errorMessage"} 304 }, 305 "error":{"httpStatusCode":400}, 306 "exception":true 307 }, 308 "LimitExceededException":{ 309 "type":"structure", 310 "members":{ 311 "message":{"shape":"errorMessage"} 312 }, 313 "error":{"httpStatusCode":410}, 314 "exception":true 315 }, 316 "ListApplicationsRequest":{ 317 "type":"structure", 318 "members":{ 319 "nextToken":{ 320 "shape":"NextToken", 321 "location":"querystring", 322 "locationName":"nextToken" 323 } 324 } 325 }, 326 "ListApplicationsResponse":{ 327 "type":"structure", 328 "members":{ 329 "applicationSummaries":{"shape":"ApplicationSummaries"}, 330 "nextToken":{"shape":"NextToken"} 331 } 332 }, 333 "ListTagsForResourceRequest":{ 334 "type":"structure", 335 "required":["resourceArn"], 336 "members":{ 337 "resourceArn":{ 338 "shape":"ResourceArn", 339 "location":"uri", 340 "locationName":"resourceArn" 341 } 342 } 343 }, 344 "ListTagsForResourceResponse":{ 345 "type":"structure", 346 "members":{ 347 "tags":{"shape":"TagMap"} 348 } 349 }, 350 "Name":{ 351 "type":"string", 352 "max":100, 353 "min":1, 354 "pattern":"^[ -~]*$" 355 }, 356 "NextToken":{ 357 "type":"string", 358 "max":2048, 359 "min":1, 360 "pattern":"^[A-Za-z0-9+/=]+$" 361 }, 362 "ResourceArn":{"type":"string"}, 363 "ResourceNotFoundException":{ 364 "type":"structure", 365 "members":{ 366 "message":{"shape":"errorMessage"} 367 }, 368 "error":{"httpStatusCode":404}, 369 "exception":true 370 }, 371 "SsoClientId":{"type":"string"}, 372 "TagKey":{ 373 "type":"string", 374 "max":128, 375 "min":1, 376 "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" 377 }, 378 "TagKeyList":{ 379 "type":"list", 380 "member":{"shape":"TagKey"} 381 }, 382 "TagMap":{ 383 "type":"map", 384 "key":{"shape":"TagKey"}, 385 "value":{"shape":"TagValue"}, 386 "max":50, 387 "min":1 388 }, 389 "TagResourceRequest":{ 390 "type":"structure", 391 "required":[ 392 "resourceArn", 393 "tags" 394 ], 395 "members":{ 396 "resourceArn":{ 397 "shape":"ResourceArn", 398 "location":"uri", 399 "locationName":"resourceArn" 400 }, 401 "tags":{"shape":"TagMap"} 402 } 403 }, 404 "TagResourceResponse":{ 405 "type":"structure", 406 "members":{ 407 } 408 }, 409 "TagValue":{ 410 "type":"string", 411 "max":256, 412 "min":1 413 }, 414 "ThrottlingException":{ 415 "type":"structure", 416 "members":{ 417 "message":{"shape":"errorMessage"} 418 }, 419 "error":{"httpStatusCode":400}, 420 "exception":true 421 }, 422 "Timestamp":{"type":"long"}, 423 "UntagResourceRequest":{ 424 "type":"structure", 425 "required":[ 426 "resourceArn", 427 "tagKeys" 428 ], 429 "members":{ 430 "resourceArn":{ 431 "shape":"ResourceArn", 432 "location":"uri", 433 "locationName":"resourceArn" 434 }, 435 "tagKeys":{ 436 "shape":"TagKeyList", 437 "location":"querystring", 438 "locationName":"tagKeys" 439 } 440 } 441 }, 442 "UntagResourceResponse":{ 443 "type":"structure", 444 "members":{ 445 } 446 }, 447 "UpdateApplicationRequest":{ 448 "type":"structure", 449 "required":["applicationId"], 450 "members":{ 451 "applicationId":{ 452 "shape":"Id", 453 "location":"uri", 454 "locationName":"applicationId" 455 }, 456 "applicationName":{"shape":"Name"}, 457 "applicationDescription":{"shape":"Description"}, 458 "clientToken":{ 459 "shape":"ClientRequestToken", 460 "idempotencyToken":true 461 } 462 } 463 }, 464 "UpdateApplicationResponse":{ 465 "type":"structure", 466 "members":{ 467 } 468 }, 469 "Url":{ 470 "type":"string", 471 "max":256, 472 "min":1, 473 "pattern":"^https\\://\\S+$" 474 }, 475 "errorMessage":{"type":"string"} 476 } 477} 478