{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.IoTJobsData.Types.Product where
import Network.AWS.IoTJobsData.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
data JobExecution = JobExecution'
{ _jeStatus :: !(Maybe JobExecutionStatus)
, _jeJobId :: !(Maybe Text)
, _jeLastUpdatedAt :: !(Maybe Integer)
, _jeQueuedAt :: !(Maybe Integer)
, _jeJobDocument :: !(Maybe Text)
, _jeStatusDetails :: !(Maybe (Map Text Text))
, _jeExecutionNumber :: !(Maybe Integer)
, _jeVersionNumber :: !(Maybe Integer)
, _jeStartedAt :: !(Maybe Integer)
, _jeThingName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecution
:: JobExecution
jobExecution =
JobExecution'
{ _jeStatus = Nothing
, _jeJobId = Nothing
, _jeLastUpdatedAt = Nothing
, _jeQueuedAt = Nothing
, _jeJobDocument = Nothing
, _jeStatusDetails = Nothing
, _jeExecutionNumber = Nothing
, _jeVersionNumber = Nothing
, _jeStartedAt = Nothing
, _jeThingName = Nothing
}
jeStatus :: Lens' JobExecution (Maybe JobExecutionStatus)
jeStatus = lens _jeStatus (\ s a -> s{_jeStatus = a})
jeJobId :: Lens' JobExecution (Maybe Text)
jeJobId = lens _jeJobId (\ s a -> s{_jeJobId = a})
jeLastUpdatedAt :: Lens' JobExecution (Maybe Integer)
jeLastUpdatedAt = lens _jeLastUpdatedAt (\ s a -> s{_jeLastUpdatedAt = a})
jeQueuedAt :: Lens' JobExecution (Maybe Integer)
jeQueuedAt = lens _jeQueuedAt (\ s a -> s{_jeQueuedAt = a})
jeJobDocument :: Lens' JobExecution (Maybe Text)
jeJobDocument = lens _jeJobDocument (\ s a -> s{_jeJobDocument = a})
jeStatusDetails :: Lens' JobExecution (HashMap Text Text)
jeStatusDetails = lens _jeStatusDetails (\ s a -> s{_jeStatusDetails = a}) . _Default . _Map
jeExecutionNumber :: Lens' JobExecution (Maybe Integer)
jeExecutionNumber = lens _jeExecutionNumber (\ s a -> s{_jeExecutionNumber = a})
jeVersionNumber :: Lens' JobExecution (Maybe Integer)
jeVersionNumber = lens _jeVersionNumber (\ s a -> s{_jeVersionNumber = a})
jeStartedAt :: Lens' JobExecution (Maybe Integer)
jeStartedAt = lens _jeStartedAt (\ s a -> s{_jeStartedAt = a})
jeThingName :: Lens' JobExecution (Maybe Text)
jeThingName = lens _jeThingName (\ s a -> s{_jeThingName = a})
instance FromJSON JobExecution where
parseJSON
= withObject "JobExecution"
(\ x ->
JobExecution' <$>
(x .:? "status") <*> (x .:? "jobId") <*>
(x .:? "lastUpdatedAt")
<*> (x .:? "queuedAt")
<*> (x .:? "jobDocument")
<*> (x .:? "statusDetails" .!= mempty)
<*> (x .:? "executionNumber")
<*> (x .:? "versionNumber")
<*> (x .:? "startedAt")
<*> (x .:? "thingName"))
instance Hashable JobExecution where
instance NFData JobExecution where
data JobExecutionState = JobExecutionState'
{ _jesStatus :: !(Maybe JobExecutionStatus)
, _jesStatusDetails :: !(Maybe (Map Text Text))
, _jesVersionNumber :: !(Maybe Integer)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecutionState
:: JobExecutionState
jobExecutionState =
JobExecutionState'
{ _jesStatus = Nothing
, _jesStatusDetails = Nothing
, _jesVersionNumber = Nothing
}
jesStatus :: Lens' JobExecutionState (Maybe JobExecutionStatus)
jesStatus = lens _jesStatus (\ s a -> s{_jesStatus = a})
jesStatusDetails :: Lens' JobExecutionState (HashMap Text Text)
jesStatusDetails = lens _jesStatusDetails (\ s a -> s{_jesStatusDetails = a}) . _Default . _Map
jesVersionNumber :: Lens' JobExecutionState (Maybe Integer)
jesVersionNumber = lens _jesVersionNumber (\ s a -> s{_jesVersionNumber = a})
instance FromJSON JobExecutionState where
parseJSON
= withObject "JobExecutionState"
(\ x ->
JobExecutionState' <$>
(x .:? "status") <*>
(x .:? "statusDetails" .!= mempty)
<*> (x .:? "versionNumber"))
instance Hashable JobExecutionState where
instance NFData JobExecutionState where
data JobExecutionSummary = JobExecutionSummary'
{ _jJobId :: !(Maybe Text)
, _jLastUpdatedAt :: !(Maybe Integer)
, _jQueuedAt :: !(Maybe Integer)
, _jExecutionNumber :: !(Maybe Integer)
, _jVersionNumber :: !(Maybe Integer)
, _jStartedAt :: !(Maybe Integer)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecutionSummary
:: JobExecutionSummary
jobExecutionSummary =
JobExecutionSummary'
{ _jJobId = Nothing
, _jLastUpdatedAt = Nothing
, _jQueuedAt = Nothing
, _jExecutionNumber = Nothing
, _jVersionNumber = Nothing
, _jStartedAt = Nothing
}
jJobId :: Lens' JobExecutionSummary (Maybe Text)
jJobId = lens _jJobId (\ s a -> s{_jJobId = a})
jLastUpdatedAt :: Lens' JobExecutionSummary (Maybe Integer)
jLastUpdatedAt = lens _jLastUpdatedAt (\ s a -> s{_jLastUpdatedAt = a})
jQueuedAt :: Lens' JobExecutionSummary (Maybe Integer)
jQueuedAt = lens _jQueuedAt (\ s a -> s{_jQueuedAt = a})
jExecutionNumber :: Lens' JobExecutionSummary (Maybe Integer)
jExecutionNumber = lens _jExecutionNumber (\ s a -> s{_jExecutionNumber = a})
jVersionNumber :: Lens' JobExecutionSummary (Maybe Integer)
jVersionNumber = lens _jVersionNumber (\ s a -> s{_jVersionNumber = a})
jStartedAt :: Lens' JobExecutionSummary (Maybe Integer)
jStartedAt = lens _jStartedAt (\ s a -> s{_jStartedAt = a})
instance FromJSON JobExecutionSummary where
parseJSON
= withObject "JobExecutionSummary"
(\ x ->
JobExecutionSummary' <$>
(x .:? "jobId") <*> (x .:? "lastUpdatedAt") <*>
(x .:? "queuedAt")
<*> (x .:? "executionNumber")
<*> (x .:? "versionNumber")
<*> (x .:? "startedAt"))
instance Hashable JobExecutionSummary where
instance NFData JobExecutionSummary where