{-# 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.ElasticTranscoder.ListJobsByPipeline
(
listJobsByPipeline
, ListJobsByPipeline
, ljbpAscending
, ljbpPageToken
, ljbpPipelineId
, listJobsByPipelineResponse
, ListJobsByPipelineResponse
, ljbprsNextPageToken
, ljbprsJobs
, ljbprsResponseStatus
) where
import Network.AWS.ElasticTranscoder.Types
import Network.AWS.ElasticTranscoder.Types.Product
import Network.AWS.Lens
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 Rs ListJobsByPipeline =
ListJobsByPipelineResponse
request = get elasticTranscoder
response
= receiveJSON
(\ s h x ->
ListJobsByPipelineResponse' <$>
(x .?> "NextPageToken") <*> (x .?> "Jobs" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListJobsByPipeline where
instance NFData ListJobsByPipeline where
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'])
, _ljbprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listJobsByPipelineResponse
:: Int
-> ListJobsByPipelineResponse
listJobsByPipelineResponse pResponseStatus_ =
ListJobsByPipelineResponse'
{ _ljbprsNextPageToken = Nothing
, _ljbprsJobs = Nothing
, _ljbprsResponseStatus = pResponseStatus_
}
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
ljbprsResponseStatus :: Lens' ListJobsByPipelineResponse Int
ljbprsResponseStatus = lens _ljbprsResponseStatus (\ s a -> s{_ljbprsResponseStatus = a})
instance NFData ListJobsByPipelineResponse where