{ "version":"2.0", "metadata":{ "apiVersion":"2017-09-29", "endpointPrefix":"data.jobs.iot", "protocol":"rest-json", "serviceFullName":"AWS IoT Jobs Data Plane", "signatureVersion":"v4", "signingName":"iot-jobs-data", "uid":"iot-jobs-data-2017-09-29" }, "operations":{ "DescribeJobExecution":{ "name":"DescribeJobExecution", "http":{ "method":"GET", "requestUri":"/things/{thingName}/jobs/{jobId}" }, "input":{"shape":"DescribeJobExecutionRequest"}, "output":{"shape":"DescribeJobExecutionResponse"}, "errors":[ {"shape":"InvalidRequestException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"ServiceUnavailableException"}, {"shape":"CertificateValidationException"}, {"shape":"TerminalStateException"} ] }, "GetPendingJobExecutions":{ "name":"GetPendingJobExecutions", "http":{ "method":"GET", "requestUri":"/things/{thingName}/jobs" }, "input":{"shape":"GetPendingJobExecutionsRequest"}, "output":{"shape":"GetPendingJobExecutionsResponse"}, "errors":[ {"shape":"InvalidRequestException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"ServiceUnavailableException"}, {"shape":"CertificateValidationException"} ] }, "StartNextPendingJobExecution":{ "name":"StartNextPendingJobExecution", "http":{ "method":"PUT", "requestUri":"/things/{thingName}/jobs/$next" }, "input":{"shape":"StartNextPendingJobExecutionRequest"}, "output":{"shape":"StartNextPendingJobExecutionResponse"}, "errors":[ {"shape":"InvalidRequestException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"ServiceUnavailableException"}, {"shape":"CertificateValidationException"} ] }, "UpdateJobExecution":{ "name":"UpdateJobExecution", "http":{ "method":"POST", "requestUri":"/things/{thingName}/jobs/{jobId}" }, "input":{"shape":"UpdateJobExecutionRequest"}, "output":{"shape":"UpdateJobExecutionResponse"}, "errors":[ {"shape":"InvalidRequestException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"ServiceUnavailableException"}, {"shape":"CertificateValidationException"}, {"shape":"InvalidStateTransitionException"} ] } }, "shapes":{ "CertificateValidationException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "error":{"httpStatusCode":400}, "exception":true }, "DescribeJobExecutionJobId":{ "type":"string", "pattern":"[a-zA-Z0-9_-]+|^\\$next" }, "DescribeJobExecutionRequest":{ "type":"structure", "required":[ "jobId", "thingName" ], "members":{ "jobId":{ "shape":"DescribeJobExecutionJobId", "location":"uri", "locationName":"jobId" }, "thingName":{ "shape":"ThingName", "location":"uri", "locationName":"thingName" }, "includeJobDocument":{ "shape":"IncludeJobDocument", "location":"querystring", "locationName":"includeJobDocument" }, "executionNumber":{ "shape":"ExecutionNumber", "location":"querystring", "locationName":"executionNumber" } } }, "DescribeJobExecutionResponse":{ "type":"structure", "members":{ "execution":{"shape":"JobExecution"} } }, "DetailsKey":{ "type":"string", "max":128, "min":1, "pattern":"[a-zA-Z0-9:_-]+" }, "DetailsMap":{ "type":"map", "key":{"shape":"DetailsKey"}, "value":{"shape":"DetailsValue"} }, "DetailsValue":{ "type":"string", "max":1024, "min":1, "pattern":"[^\\p{C}]*+" }, "ExecutionNumber":{"type":"long"}, "ExpectedVersion":{"type":"long"}, "GetPendingJobExecutionsRequest":{ "type":"structure", "required":["thingName"], "members":{ "thingName":{ "shape":"ThingName", "location":"uri", "locationName":"thingName" } } }, "GetPendingJobExecutionsResponse":{ "type":"structure", "members":{ "inProgressJobs":{"shape":"JobExecutionSummaryList"}, "queuedJobs":{"shape":"JobExecutionSummaryList"} } }, "IncludeExecutionState":{"type":"boolean"}, "IncludeJobDocument":{"type":"boolean"}, "InvalidRequestException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "error":{"httpStatusCode":400}, "exception":true }, "InvalidStateTransitionException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "error":{"httpStatusCode":409}, "exception":true }, "JobDocument":{ "type":"string", "max":32768 }, "JobExecution":{ "type":"structure", "members":{ "jobId":{"shape":"JobId"}, "thingName":{"shape":"ThingName"}, "status":{"shape":"JobExecutionStatus"}, "statusDetails":{"shape":"DetailsMap"}, "queuedAt":{"shape":"QueuedAt"}, "startedAt":{"shape":"StartedAt"}, "lastUpdatedAt":{"shape":"LastUpdatedAt"}, "versionNumber":{"shape":"VersionNumber"}, "executionNumber":{"shape":"ExecutionNumber"}, "jobDocument":{"shape":"JobDocument"} } }, "JobExecutionState":{ "type":"structure", "members":{ "status":{"shape":"JobExecutionStatus"}, "statusDetails":{"shape":"DetailsMap"}, "versionNumber":{"shape":"VersionNumber"} } }, "JobExecutionStatus":{ "type":"string", "enum":[ "QUEUED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "REJECTED", "REMOVED", "CANCELED" ] }, "JobExecutionSummary":{ "type":"structure", "members":{ "jobId":{"shape":"JobId"}, "queuedAt":{"shape":"QueuedAt"}, "startedAt":{"shape":"StartedAt"}, "lastUpdatedAt":{"shape":"LastUpdatedAt"}, "versionNumber":{"shape":"VersionNumber"}, "executionNumber":{"shape":"ExecutionNumber"} } }, "JobExecutionSummaryList":{ "type":"list", "member":{"shape":"JobExecutionSummary"} }, "JobId":{ "type":"string", "max":64, "min":1, "pattern":"[a-zA-Z0-9_-]+" }, "LastUpdatedAt":{"type":"long"}, "QueuedAt":{"type":"long"}, "ResourceNotFoundException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "error":{"httpStatusCode":404}, "exception":true }, "ServiceUnavailableException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "error":{"httpStatusCode":503}, "exception":true, "fault":true }, "StartNextPendingJobExecutionRequest":{ "type":"structure", "required":["thingName"], "members":{ "thingName":{ "shape":"ThingName", "location":"uri", "locationName":"thingName" }, "statusDetails":{"shape":"DetailsMap"} } }, "StartNextPendingJobExecutionResponse":{ "type":"structure", "members":{ "execution":{"shape":"JobExecution"} } }, "StartedAt":{"type":"long"}, "TerminalStateException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "error":{"httpStatusCode":410}, "exception":true }, "ThingName":{ "type":"string", "max":128, "min":1, "pattern":"[a-zA-Z0-9:_-]+" }, "ThrottlingException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, "error":{"httpStatusCode":429}, "exception":true }, "UpdateJobExecutionRequest":{ "type":"structure", "required":[ "jobId", "thingName", "status" ], "members":{ "jobId":{ "shape":"JobId", "location":"uri", "locationName":"jobId" }, "thingName":{ "shape":"ThingName", "location":"uri", "locationName":"thingName" }, "status":{"shape":"JobExecutionStatus"}, "statusDetails":{"shape":"DetailsMap"}, "expectedVersion":{"shape":"ExpectedVersion"}, "includeJobExecutionState":{"shape":"IncludeExecutionState"}, "includeJobDocument":{"shape":"IncludeJobDocument"}, "executionNumber":{"shape":"ExecutionNumber"} } }, "UpdateJobExecutionResponse":{ "type":"structure", "members":{ "executionState":{"shape":"JobExecutionState"}, "jobDocument":{"shape":"JobDocument"} } }, "VersionNumber":{"type":"long"}, "errorMessage":{"type":"string"} } }