{-# 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.IoT.DescribeJob
(
describeJob
, DescribeJob
, djJobId
, describeJobResponse
, DescribeJobResponse
, djrsDocumentSource
, djrsJob
, djrsResponseStatus
) where
import Network.AWS.IoT.Types
import Network.AWS.IoT.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeJob = DescribeJob'
{ _djJobId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeJob
:: Text
-> DescribeJob
describeJob pJobId_ = DescribeJob' {_djJobId = pJobId_}
djJobId :: Lens' DescribeJob Text
djJobId = lens _djJobId (\ s a -> s{_djJobId = a})
instance AWSRequest DescribeJob where
type Rs DescribeJob = DescribeJobResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
DescribeJobResponse' <$>
(x .?> "documentSource") <*> (x .?> "job") <*>
(pure (fromEnum s)))
instance Hashable DescribeJob where
instance NFData DescribeJob where
instance ToHeaders DescribeJob where
toHeaders = const mempty
instance ToPath DescribeJob where
toPath DescribeJob'{..}
= mconcat ["/jobs/", toBS _djJobId]
instance ToQuery DescribeJob where
toQuery = const mempty
data DescribeJobResponse = DescribeJobResponse'
{ _djrsDocumentSource :: !(Maybe Text)
, _djrsJob :: !(Maybe Job)
, _djrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeJobResponse
:: Int
-> DescribeJobResponse
describeJobResponse pResponseStatus_ =
DescribeJobResponse'
{ _djrsDocumentSource = Nothing
, _djrsJob = Nothing
, _djrsResponseStatus = pResponseStatus_
}
djrsDocumentSource :: Lens' DescribeJobResponse (Maybe Text)
djrsDocumentSource = lens _djrsDocumentSource (\ s a -> s{_djrsDocumentSource = a})
djrsJob :: Lens' DescribeJobResponse (Maybe Job)
djrsJob = lens _djrsJob (\ s a -> s{_djrsJob = a})
djrsResponseStatus :: Lens' DescribeJobResponse Int
djrsResponseStatus = lens _djrsResponseStatus (\ s a -> s{_djrsResponseStatus = a})
instance NFData DescribeJobResponse where