Copyright | (c) 2013-2018 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
AWS IoT Jobs is a service that allows you to define a set of jobs — remote operations that are sent to and executed on one or more devices connected to AWS IoT. For example, you can define a job that instructs a set of devices to download and install application or firmware updates, reboot, rotate certificates, or perform remote troubleshooting operations.
To create a job, you make a job document which is a description of the remote operations to be performed, and you specify a list of targets that should perform the operations. The targets can be individual things, thing groups or both.
AWS IoT Jobs sends a message to inform the targets that a job is available. The target starts the execution of the job by downloading the job document, performing the operations it specifies, and reporting its progress to AWS IoT. The Jobs service provides commands to track the progress of a job on a specific target and for all the targets of the job
- ioTJobsData :: Service
- _TerminalStateException :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidRequestException :: AsError a => Getting (First ServiceError) a ServiceError
- _CertificateValidationException :: AsError a => Getting (First ServiceError) a ServiceError
- _ThrottlingException :: AsError a => Getting (First ServiceError) a ServiceError
- _ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidStateTransitionException :: AsError a => Getting (First ServiceError) a ServiceError
- _ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
- module Network.AWS.IoTJobsData.UpdateJobExecution
- module Network.AWS.IoTJobsData.StartNextPendingJobExecution
- module Network.AWS.IoTJobsData.DescribeJobExecution
- module Network.AWS.IoTJobsData.GetPendingJobExecutions
- data JobExecutionStatus
- data JobExecution
- jobExecution :: JobExecution
- jeStatus :: Lens' JobExecution (Maybe JobExecutionStatus)
- jeJobId :: Lens' JobExecution (Maybe Text)
- jeLastUpdatedAt :: Lens' JobExecution (Maybe Integer)
- jeQueuedAt :: Lens' JobExecution (Maybe Integer)
- jeJobDocument :: Lens' JobExecution (Maybe Text)
- jeStatusDetails :: Lens' JobExecution (HashMap Text Text)
- jeExecutionNumber :: Lens' JobExecution (Maybe Integer)
- jeVersionNumber :: Lens' JobExecution (Maybe Integer)
- jeStartedAt :: Lens' JobExecution (Maybe Integer)
- jeThingName :: Lens' JobExecution (Maybe Text)
- data JobExecutionState
- jobExecutionState :: JobExecutionState
- jesStatus :: Lens' JobExecutionState (Maybe JobExecutionStatus)
- jesStatusDetails :: Lens' JobExecutionState (HashMap Text Text)
- jesVersionNumber :: Lens' JobExecutionState (Maybe Integer)
- data JobExecutionSummary
- jobExecutionSummary :: JobExecutionSummary
- jJobId :: Lens' JobExecutionSummary (Maybe Text)
- jLastUpdatedAt :: Lens' JobExecutionSummary (Maybe Integer)
- jQueuedAt :: Lens' JobExecutionSummary (Maybe Integer)
- jExecutionNumber :: Lens' JobExecutionSummary (Maybe Integer)
- jVersionNumber :: Lens' JobExecutionSummary (Maybe Integer)
- jStartedAt :: Lens' JobExecutionSummary (Maybe Integer)
Service Configuration
ioTJobsData :: Service Source #
API version 2017-09-29
of the Amazon IoT Jobs Data Plane SDK configuration.
Errors
Error matchers are designed for use with the functions provided by
Control.Exception.Lens.
This allows catching (and rethrowing) service specific errors returned
by IoTJobsData
.
TerminalStateException
_TerminalStateException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The job is in a terminal state.
InvalidRequestException
_InvalidRequestException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The contents of the request were invalid. For example, this code is returned when an UpdateJobExecution request contains invalid status details. The message contains details about the error.
CertificateValidationException
_CertificateValidationException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The certificate is invalid.
ThrottlingException
_ThrottlingException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The rate exceeds the limit.
ServiceUnavailableException
_ServiceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The service is temporarily unavailable.
InvalidStateTransitionException
_InvalidStateTransitionException :: AsError a => Getting (First ServiceError) a ServiceError Source #
An update attempted to change the job execution to a state that is invalid because of the job execution's current state (for example, an attempt to change a request in state SUCCESS to state IN_PROGRESS). In this case, the body of the error message also contains the executionState field.
ResourceNotFoundException
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #
The specified resource does not exist.
Waiters
Waiters poll by repeatedly sending a request until some remote success condition
configured by the Wait
specification is fulfilled. The Wait
specification
determines how many attempts should be made, in addition to delay and retry strategies.
Operations
Some AWS operations return results that are incomplete and require subsequent
requests in order to obtain the entire result set. The process of sending
subsequent requests to continue where a previous request left off is called
pagination. For example, the ListObjects
operation of Amazon S3 returns up to
1000 objects at a time, and you must send subsequent requests with the
appropriate Marker in order to retrieve the next page of results.
Operations that have an AWSPager
instance can transparently perform subsequent
requests, correctly setting Markers and other request facets to iterate through
the entire result set of a truncated API operation. Operations which support
this have an additional note in the documentation.
Many operations have the ability to filter results on the server side. See the individual operation parameters for details.
UpdateJobExecution
StartNextPendingJobExecution
DescribeJobExecution
GetPendingJobExecutions
Types
JobExecutionStatus
data JobExecutionStatus Source #
JobExecution
data JobExecution Source #
Contains data about a job execution.
See: jobExecution
smart constructor.
jobExecution :: JobExecution Source #
Creates a value of JobExecution
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
jeStatus
- The status of the job execution. Can be one of: QUEUED, IN_PROGRESS, FAILED, SUCCESS, CANCELED, REJECTED, or REMOVED.jeJobId
- The unique identifier you assigned to this job when it was created.jeLastUpdatedAt
- The time, in milliseconds since the epoch, when the job execution was last updated.jeQueuedAt
- The time, in milliseconds since the epoch, when the job execution was enqueued.jeJobDocument
- The content of the job document.jeStatusDetails
- A collection of name/value pairs that describe the status of the job execution.jeExecutionNumber
- A number that identifies a particular job execution on a particular device. It can be used later in commands that return or update job execution information.jeVersionNumber
- The version of the job execution. Job execution versions are incremented each time they are updated by a device.jeStartedAt
- The time, in milliseconds since the epoch, when the job execution was started.jeThingName
- The name of the thing that is executing the job.
jeJobId :: Lens' JobExecution (Maybe Text) Source #
The unique identifier you assigned to this job when it was created.
jeLastUpdatedAt :: Lens' JobExecution (Maybe Integer) Source #
The time, in milliseconds since the epoch, when the job execution was last updated.
jeQueuedAt :: Lens' JobExecution (Maybe Integer) Source #
The time, in milliseconds since the epoch, when the job execution was enqueued.
jeJobDocument :: Lens' JobExecution (Maybe Text) Source #
The content of the job document.
jeStatusDetails :: Lens' JobExecution (HashMap Text Text) Source #
A collection of name/value pairs that describe the status of the job execution.
jeExecutionNumber :: Lens' JobExecution (Maybe Integer) Source #
A number that identifies a particular job execution on a particular device. It can be used later in commands that return or update job execution information.
jeVersionNumber :: Lens' JobExecution (Maybe Integer) Source #
The version of the job execution. Job execution versions are incremented each time they are updated by a device.
jeStartedAt :: Lens' JobExecution (Maybe Integer) Source #
The time, in milliseconds since the epoch, when the job execution was started.
jeThingName :: Lens' JobExecution (Maybe Text) Source #
The name of the thing that is executing the job.
JobExecutionState
data JobExecutionState Source #
Contains data about the state of a job execution.
See: jobExecutionState
smart constructor.
jobExecutionState :: JobExecutionState Source #
Creates a value of JobExecutionState
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
jesStatus
- The status of the job execution. Can be one of: QUEUED, IN_PROGRESS, FAILED, SUCCESS, CANCELED, REJECTED, or REMOVED.jesStatusDetails
- A collection of name/value pairs that describe the status of the job execution.jesVersionNumber
- The version of the job execution. Job execution versions are incremented each time they are updated by a device.
jesStatusDetails :: Lens' JobExecutionState (HashMap Text Text) Source #
A collection of name/value pairs that describe the status of the job execution.
jesVersionNumber :: Lens' JobExecutionState (Maybe Integer) Source #
The version of the job execution. Job execution versions are incremented each time they are updated by a device.
JobExecutionSummary
data JobExecutionSummary Source #
Contains a subset of information about a job execution.
See: jobExecutionSummary
smart constructor.
jobExecutionSummary :: JobExecutionSummary Source #
Creates a value of JobExecutionSummary
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
jJobId
- The unique identifier you assigned to this job when it was created.jLastUpdatedAt
- The time, in milliseconds since the epoch, when the job execution was last updated.jQueuedAt
- The time, in milliseconds since the epoch, when the job execution was enqueued.jExecutionNumber
- A number that identifies a particular job execution on a particular device.jVersionNumber
- The version of the job execution. Job execution versions are incremented each time AWS IoT Jobs receives an update from a device.jStartedAt
- The time, in milliseconds since the epoch, when the job execution started.
jJobId :: Lens' JobExecutionSummary (Maybe Text) Source #
The unique identifier you assigned to this job when it was created.
jLastUpdatedAt :: Lens' JobExecutionSummary (Maybe Integer) Source #
The time, in milliseconds since the epoch, when the job execution was last updated.
jQueuedAt :: Lens' JobExecutionSummary (Maybe Integer) Source #
The time, in milliseconds since the epoch, when the job execution was enqueued.
jExecutionNumber :: Lens' JobExecutionSummary (Maybe Integer) Source #
A number that identifies a particular job execution on a particular device.
jVersionNumber :: Lens' JobExecutionSummary (Maybe Integer) Source #
The version of the job execution. Job execution versions are incremented each time AWS IoT Jobs receives an update from a device.
jStartedAt :: Lens' JobExecutionSummary (Maybe Integer) Source #
The time, in milliseconds since the epoch, when the job execution started.