module Network.AWS.ElasticTranscoder.ListJobsByPipeline
(
listJobsByPipeline
, ListJobsByPipeline
, ljbpAscending
, ljbpPageToken
, ljbpPipelineId
, listJobsByPipelineResponse
, ListJobsByPipelineResponse
, ljbprsNextPageToken
, ljbprsJobs
, ljbprsStatus
) where
import Network.AWS.ElasticTranscoder.Types
import Network.AWS.ElasticTranscoder.Types.Product
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListJobsByPipeline = ListJobsByPipeline'
{ _ljbpAscending :: !(Maybe Text)
, _ljbpPageToken :: !(Maybe Text)
, _ljbpPipelineId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listJobsByPipeline
:: Text
-> ListJobsByPipeline
listJobsByPipeline pPipelineId_ =
ListJobsByPipeline'
{ _ljbpAscending = Nothing
, _ljbpPageToken = Nothing
, _ljbpPipelineId = pPipelineId_
}
ljbpAscending :: Lens' ListJobsByPipeline (Maybe Text)
ljbpAscending = lens _ljbpAscending (\ s a -> s{_ljbpAscending = a});
ljbpPageToken :: Lens' ListJobsByPipeline (Maybe Text)
ljbpPageToken = lens _ljbpPageToken (\ s a -> s{_ljbpPageToken = a});
ljbpPipelineId :: Lens' ListJobsByPipeline Text
ljbpPipelineId = lens _ljbpPipelineId (\ s a -> s{_ljbpPipelineId = a});
instance AWSPager ListJobsByPipeline where
page rq rs
| stop (rs ^. ljbprsNextPageToken) = Nothing
| stop (rs ^. ljbprsJobs) = Nothing
| otherwise =
Just $ rq &
ljbpPageToken .~ rs ^. ljbprsNextPageToken
instance AWSRequest ListJobsByPipeline where
type Sv ListJobsByPipeline = ElasticTranscoder
type Rs ListJobsByPipeline =
ListJobsByPipelineResponse
request = get
response
= receiveJSON
(\ s h x ->
ListJobsByPipelineResponse' <$>
(x .?> "NextPageToken") <*> (x .?> "Jobs" .!@ mempty)
<*> (pure (fromEnum s)))
instance ToHeaders ListJobsByPipeline where
toHeaders = const mempty
instance ToPath ListJobsByPipeline where
toPath ListJobsByPipeline'{..}
= mconcat
["/2012-09-25/jobsByPipeline/", toBS _ljbpPipelineId]
instance ToQuery ListJobsByPipeline where
toQuery ListJobsByPipeline'{..}
= mconcat
["Ascending" =: _ljbpAscending,
"PageToken" =: _ljbpPageToken]
data ListJobsByPipelineResponse = ListJobsByPipelineResponse'
{ _ljbprsNextPageToken :: !(Maybe Text)
, _ljbprsJobs :: !(Maybe [Job'])
, _ljbprsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listJobsByPipelineResponse
:: Int
-> ListJobsByPipelineResponse
listJobsByPipelineResponse pStatus_ =
ListJobsByPipelineResponse'
{ _ljbprsNextPageToken = Nothing
, _ljbprsJobs = Nothing
, _ljbprsStatus = pStatus_
}
ljbprsNextPageToken :: Lens' ListJobsByPipelineResponse (Maybe Text)
ljbprsNextPageToken = lens _ljbprsNextPageToken (\ s a -> s{_ljbprsNextPageToken = a});
ljbprsJobs :: Lens' ListJobsByPipelineResponse [Job']
ljbprsJobs = lens _ljbprsJobs (\ s a -> s{_ljbprsJobs = a}) . _Default . _Coerce;
ljbprsStatus :: Lens' ListJobsByPipelineResponse Int
ljbprsStatus = lens _ljbprsStatus (\ s a -> s{_ljbprsStatus = a});