amazonka-iot-jobs-dataplane-1.6.0: Amazon IoT Jobs Data Plane SDK.

Copyright(c) 2013-2018 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.IoTJobsData

Contents

Description

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

Synopsis

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

ThrottlingException

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 #

Instances

Bounded JobExecutionStatus Source # 
Enum JobExecutionStatus Source # 
Eq JobExecutionStatus Source # 
Data JobExecutionStatus Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JobExecutionStatus -> c JobExecutionStatus #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JobExecutionStatus #

toConstr :: JobExecutionStatus -> Constr #

dataTypeOf :: JobExecutionStatus -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c JobExecutionStatus) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JobExecutionStatus) #

gmapT :: (forall b. Data b => b -> b) -> JobExecutionStatus -> JobExecutionStatus #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JobExecutionStatus -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JobExecutionStatus -> r #

gmapQ :: (forall d. Data d => d -> u) -> JobExecutionStatus -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JobExecutionStatus -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JobExecutionStatus -> m JobExecutionStatus #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JobExecutionStatus -> m JobExecutionStatus #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JobExecutionStatus -> m JobExecutionStatus #

Ord JobExecutionStatus Source # 
Read JobExecutionStatus Source # 
Show JobExecutionStatus Source # 
Generic JobExecutionStatus Source # 
Hashable JobExecutionStatus Source # 
ToJSON JobExecutionStatus Source # 
FromJSON JobExecutionStatus Source # 
NFData JobExecutionStatus Source # 

Methods

rnf :: JobExecutionStatus -> () #

ToHeader JobExecutionStatus Source # 
ToQuery JobExecutionStatus Source # 
ToByteString JobExecutionStatus Source # 
FromText JobExecutionStatus Source # 
ToText JobExecutionStatus Source # 
type Rep JobExecutionStatus Source # 
type Rep JobExecutionStatus = D1 * (MetaData "JobExecutionStatus" "Network.AWS.IoTJobsData.Types.Sum" "amazonka-iot-jobs-dataplane-1.6.0-1BXy9I0VbTNJCQzMDHs5aK" False) ((:+:) * ((:+:) * (C1 * (MetaCons "Canceled" PrefixI False) (U1 *)) ((:+:) * (C1 * (MetaCons "Failed" PrefixI False) (U1 *)) (C1 * (MetaCons "InProgress" PrefixI False) (U1 *)))) ((:+:) * ((:+:) * (C1 * (MetaCons "Queued" PrefixI False) (U1 *)) (C1 * (MetaCons "Rejected" PrefixI False) (U1 *))) ((:+:) * (C1 * (MetaCons "Removed" PrefixI False) (U1 *)) (C1 * (MetaCons "Succeeded" PrefixI False) (U1 *)))))

JobExecution

data JobExecution Source #

Contains data about a job execution.

See: jobExecution smart constructor.

Instances

Eq JobExecution Source # 
Data JobExecution Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JobExecution -> c JobExecution #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JobExecution #

toConstr :: JobExecution -> Constr #

dataTypeOf :: JobExecution -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c JobExecution) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JobExecution) #

gmapT :: (forall b. Data b => b -> b) -> JobExecution -> JobExecution #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JobExecution -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JobExecution -> r #

gmapQ :: (forall d. Data d => d -> u) -> JobExecution -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JobExecution -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JobExecution -> m JobExecution #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JobExecution -> m JobExecution #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JobExecution -> m JobExecution #

Read JobExecution Source # 
Show JobExecution Source # 
Generic JobExecution Source # 

Associated Types

type Rep JobExecution :: * -> * #

Hashable JobExecution Source # 
FromJSON JobExecution Source # 
NFData JobExecution Source # 

Methods

rnf :: JobExecution -> () #

type Rep JobExecution Source # 
type Rep JobExecution = D1 * (MetaData "JobExecution" "Network.AWS.IoTJobsData.Types.Product" "amazonka-iot-jobs-dataplane-1.6.0-1BXy9I0VbTNJCQzMDHs5aK" False) (C1 * (MetaCons "JobExecution'" PrefixI True) ((:*:) * ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "_jeStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe JobExecutionStatus))) (S1 * (MetaSel (Just Symbol "_jeJobId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text)))) ((:*:) * (S1 * (MetaSel (Just Symbol "_jeLastUpdatedAt") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))) ((:*:) * (S1 * (MetaSel (Just Symbol "_jeQueuedAt") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))) (S1 * (MetaSel (Just Symbol "_jeJobDocument") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text)))))) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "_jeStatusDetails") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe (Map Text Text)))) (S1 * (MetaSel (Just Symbol "_jeExecutionNumber") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer)))) ((:*:) * (S1 * (MetaSel (Just Symbol "_jeVersionNumber") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))) ((:*:) * (S1 * (MetaSel (Just Symbol "_jeStartedAt") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))) (S1 * (MetaSel (Just Symbol "_jeThingName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text))))))))

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.

jeStatus :: Lens' JobExecution (Maybe JobExecutionStatus) Source #

The status of the job execution. Can be one of: QUEUED, IN_PROGRESS, FAILED, SUCCESS, CANCELED, REJECTED, or REMOVED.

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.

Instances

Eq JobExecutionState Source # 
Data JobExecutionState Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JobExecutionState -> c JobExecutionState #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JobExecutionState #

toConstr :: JobExecutionState -> Constr #

dataTypeOf :: JobExecutionState -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c JobExecutionState) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JobExecutionState) #

gmapT :: (forall b. Data b => b -> b) -> JobExecutionState -> JobExecutionState #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JobExecutionState -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JobExecutionState -> r #

gmapQ :: (forall d. Data d => d -> u) -> JobExecutionState -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JobExecutionState -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JobExecutionState -> m JobExecutionState #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JobExecutionState -> m JobExecutionState #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JobExecutionState -> m JobExecutionState #

Read JobExecutionState Source # 
Show JobExecutionState Source # 
Generic JobExecutionState Source # 
Hashable JobExecutionState Source # 
FromJSON JobExecutionState Source # 
NFData JobExecutionState Source # 

Methods

rnf :: JobExecutionState -> () #

type Rep JobExecutionState Source # 
type Rep JobExecutionState = D1 * (MetaData "JobExecutionState" "Network.AWS.IoTJobsData.Types.Product" "amazonka-iot-jobs-dataplane-1.6.0-1BXy9I0VbTNJCQzMDHs5aK" False) (C1 * (MetaCons "JobExecutionState'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_jesStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe JobExecutionStatus))) ((:*:) * (S1 * (MetaSel (Just Symbol "_jesStatusDetails") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe (Map Text Text)))) (S1 * (MetaSel (Just Symbol "_jesVersionNumber") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))))))

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:

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.

Instances

Eq JobExecutionSummary Source # 
Data JobExecutionSummary Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> JobExecutionSummary -> c JobExecutionSummary #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c JobExecutionSummary #

toConstr :: JobExecutionSummary -> Constr #

dataTypeOf :: JobExecutionSummary -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c JobExecutionSummary) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c JobExecutionSummary) #

gmapT :: (forall b. Data b => b -> b) -> JobExecutionSummary -> JobExecutionSummary #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> JobExecutionSummary -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> JobExecutionSummary -> r #

gmapQ :: (forall d. Data d => d -> u) -> JobExecutionSummary -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> JobExecutionSummary -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> JobExecutionSummary -> m JobExecutionSummary #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> JobExecutionSummary -> m JobExecutionSummary #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> JobExecutionSummary -> m JobExecutionSummary #

Read JobExecutionSummary Source # 
Show JobExecutionSummary Source # 
Generic JobExecutionSummary Source # 
Hashable JobExecutionSummary Source # 
FromJSON JobExecutionSummary Source # 
NFData JobExecutionSummary Source # 

Methods

rnf :: JobExecutionSummary -> () #

type Rep JobExecutionSummary Source # 
type Rep JobExecutionSummary = D1 * (MetaData "JobExecutionSummary" "Network.AWS.IoTJobsData.Types.Product" "amazonka-iot-jobs-dataplane-1.6.0-1BXy9I0VbTNJCQzMDHs5aK" False) (C1 * (MetaCons "JobExecutionSummary'" PrefixI True) ((:*:) * ((:*:) * (S1 * (MetaSel (Just Symbol "_jJobId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text))) ((:*:) * (S1 * (MetaSel (Just Symbol "_jLastUpdatedAt") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))) (S1 * (MetaSel (Just Symbol "_jQueuedAt") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))))) ((:*:) * (S1 * (MetaSel (Just Symbol "_jExecutionNumber") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))) ((:*:) * (S1 * (MetaSel (Just Symbol "_jVersionNumber") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer))) (S1 * (MetaSel (Just Symbol "_jStartedAt") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Integer)))))))

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.