amazonka-iot-jobs-dataplane-1.6.1: 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 # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

Enum JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

Eq JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

Data JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

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 # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

Read JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

Show JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

Generic JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

Associated Types

type Rep JobExecutionStatus :: Type -> Type #

Hashable JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

ToJSON JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

FromJSON JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

ToHeader JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

ToQuery JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

ToByteString JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

FromText JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

ToText JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

NFData JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

Methods

rnf :: JobExecutionStatus -> () #

type Rep JobExecutionStatus Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Sum

type Rep JobExecutionStatus = D1 (MetaData "JobExecutionStatus" "Network.AWS.IoTJobsData.Types.Sum" "amazonka-iot-jobs-dataplane-1.6.1-HQBkg3pfdMoKuuM15384PM" False) ((C1 (MetaCons "Canceled" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Failed" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "InProgress" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "Queued" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Rejected" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Removed" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Succeeded" PrefixI False) (U1 :: Type -> Type))))

JobExecution

data JobExecution Source #

Contains data about a job execution.

See: jobExecution smart constructor.

Instances
Eq JobExecution Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Data JobExecution Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

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 # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Show JobExecution Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Generic JobExecution Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Associated Types

type Rep JobExecution :: Type -> Type #

Hashable JobExecution Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

FromJSON JobExecution Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

NFData JobExecution Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Methods

rnf :: JobExecution -> () #

type Rep JobExecution Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

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 # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Data JobExecutionState Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

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 # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Show JobExecutionState Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Generic JobExecutionState Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Associated Types

type Rep JobExecutionState :: Type -> Type #

Hashable JobExecutionState Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

FromJSON JobExecutionState Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

NFData JobExecutionState Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Methods

rnf :: JobExecutionState -> () #

type Rep JobExecutionState Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

type Rep JobExecutionState = D1 (MetaData "JobExecutionState" "Network.AWS.IoTJobsData.Types.Product" "amazonka-iot-jobs-dataplane-1.6.1-HQBkg3pfdMoKuuM15384PM" False) (C1 (MetaCons "JobExecutionState'" PrefixI True) (S1 (MetaSel (Just "_jesStatus") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe JobExecutionStatus)) :*: (S1 (MetaSel (Just "_jesStatusDetails") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (Map Text Text))) :*: S1 (MetaSel (Just "_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 # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Data JobExecutionSummary Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

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 # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Show JobExecutionSummary Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Generic JobExecutionSummary Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Associated Types

type Rep JobExecutionSummary :: Type -> Type #

Hashable JobExecutionSummary Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

FromJSON JobExecutionSummary Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

NFData JobExecutionSummary Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

Methods

rnf :: JobExecutionSummary -> () #

type Rep JobExecutionSummary Source # 
Instance details

Defined in Network.AWS.IoTJobsData.Types.Product

type Rep JobExecutionSummary = D1 (MetaData "JobExecutionSummary" "Network.AWS.IoTJobsData.Types.Product" "amazonka-iot-jobs-dataplane-1.6.1-HQBkg3pfdMoKuuM15384PM" False) (C1 (MetaCons "JobExecutionSummary'" PrefixI True) ((S1 (MetaSel (Just "_jJobId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 (MetaSel (Just "_jLastUpdatedAt") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Integer)) :*: S1 (MetaSel (Just "_jQueuedAt") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Integer)))) :*: (S1 (MetaSel (Just "_jExecutionNumber") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Integer)) :*: (S1 (MetaSel (Just "_jVersionNumber") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Integer)) :*: S1 (MetaSel (Just "_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.