{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.IoTJobsData.DescribeJobExecution
(
describeJobExecution
, DescribeJobExecution
, djeIncludeJobDocument
, djeExecutionNumber
, djeJobId
, djeThingName
, describeJobExecutionResponse
, DescribeJobExecutionResponse
, djersExecution
, djersResponseStatus
) where
import Network.AWS.IoTJobsData.Types
import Network.AWS.IoTJobsData.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeJobExecution = DescribeJobExecution'
{ _djeIncludeJobDocument :: !(Maybe Bool)
, _djeExecutionNumber :: !(Maybe Integer)
, _djeJobId :: !Text
, _djeThingName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeJobExecution
:: Text
-> Text
-> DescribeJobExecution
describeJobExecution pJobId_ pThingName_ =
DescribeJobExecution'
{ _djeIncludeJobDocument = Nothing
, _djeExecutionNumber = Nothing
, _djeJobId = pJobId_
, _djeThingName = pThingName_
}
djeIncludeJobDocument :: Lens' DescribeJobExecution (Maybe Bool)
djeIncludeJobDocument = lens _djeIncludeJobDocument (\ s a -> s{_djeIncludeJobDocument = a})
djeExecutionNumber :: Lens' DescribeJobExecution (Maybe Integer)
djeExecutionNumber = lens _djeExecutionNumber (\ s a -> s{_djeExecutionNumber = a})
djeJobId :: Lens' DescribeJobExecution Text
djeJobId = lens _djeJobId (\ s a -> s{_djeJobId = a})
djeThingName :: Lens' DescribeJobExecution Text
djeThingName = lens _djeThingName (\ s a -> s{_djeThingName = a})
instance AWSRequest DescribeJobExecution where
type Rs DescribeJobExecution =
DescribeJobExecutionResponse
request = get ioTJobsData
response
= receiveJSON
(\ s h x ->
DescribeJobExecutionResponse' <$>
(x .?> "execution") <*> (pure (fromEnum s)))
instance Hashable DescribeJobExecution where
instance NFData DescribeJobExecution where
instance ToHeaders DescribeJobExecution where
toHeaders = const mempty
instance ToPath DescribeJobExecution where
toPath DescribeJobExecution'{..}
= mconcat
["/things/", toBS _djeThingName, "/jobs/",
toBS _djeJobId]
instance ToQuery DescribeJobExecution where
toQuery DescribeJobExecution'{..}
= mconcat
["includeJobDocument" =: _djeIncludeJobDocument,
"executionNumber" =: _djeExecutionNumber]
data DescribeJobExecutionResponse = DescribeJobExecutionResponse'
{ _djersExecution :: !(Maybe JobExecution)
, _djersResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeJobExecutionResponse
:: Int
-> DescribeJobExecutionResponse
describeJobExecutionResponse pResponseStatus_ =
DescribeJobExecutionResponse'
{_djersExecution = Nothing, _djersResponseStatus = pResponseStatus_}
djersExecution :: Lens' DescribeJobExecutionResponse (Maybe JobExecution)
djersExecution = lens _djersExecution (\ s a -> s{_djersExecution = a})
djersResponseStatus :: Lens' DescribeJobExecutionResponse Int
djersResponseStatus = lens _djersResponseStatus (\ s a -> s{_djersResponseStatus = a})
instance NFData DescribeJobExecutionResponse where