module Network.AWS.ElasticTranscoder.ListPipelines
(
ListPipelines
, listPipelines
, lpAscending
, lpPageToken
, ListPipelinesResponse
, listPipelinesResponse
, lprNextPageToken
, lprPipelines
) where
import Network.AWS.Prelude
import Network.AWS.Request.RestJSON
import Network.AWS.ElasticTranscoder.Types
import qualified GHC.Exts
data ListPipelines = ListPipelines
{ _lpAscending :: Maybe Text
, _lpPageToken :: Maybe Text
} deriving (Eq, Ord, Read, Show)
listPipelines :: ListPipelines
listPipelines = ListPipelines
{ _lpAscending = Nothing
, _lpPageToken = Nothing
}
lpAscending :: Lens' ListPipelines (Maybe Text)
lpAscending = lens _lpAscending (\s a -> s { _lpAscending = a })
lpPageToken :: Lens' ListPipelines (Maybe Text)
lpPageToken = lens _lpPageToken (\s a -> s { _lpPageToken = a })
data ListPipelinesResponse = ListPipelinesResponse
{ _lprNextPageToken :: Maybe Text
, _lprPipelines :: List "Pipelines" Pipeline
} deriving (Eq, Read, Show)
listPipelinesResponse :: ListPipelinesResponse
listPipelinesResponse = ListPipelinesResponse
{ _lprPipelines = mempty
, _lprNextPageToken = Nothing
}
lprNextPageToken :: Lens' ListPipelinesResponse (Maybe Text)
lprNextPageToken = lens _lprNextPageToken (\s a -> s { _lprNextPageToken = a })
lprPipelines :: Lens' ListPipelinesResponse [Pipeline]
lprPipelines = lens _lprPipelines (\s a -> s { _lprPipelines = a }) . _List
instance ToPath ListPipelines where
toPath = const "/2012-09-25/pipelines"
instance ToQuery ListPipelines where
toQuery ListPipelines{..} = mconcat
[ "Ascending" =? _lpAscending
, "PageToken" =? _lpPageToken
]
instance ToHeaders ListPipelines
instance ToJSON ListPipelines where
toJSON = const (toJSON Empty)
instance AWSRequest ListPipelines where
type Sv ListPipelines = ElasticTranscoder
type Rs ListPipelines = ListPipelinesResponse
request = get
response = jsonResponse
instance FromJSON ListPipelinesResponse where
parseJSON = withObject "ListPipelinesResponse" $ \o -> ListPipelinesResponse
<$> o .:? "NextPageToken"
<*> o .:? "Pipelines" .!= mempty
instance AWSPager ListPipelines where
page rq rs
| stop (rs ^. lprNextPageToken) = Nothing
| otherwise = (\x -> rq & lpPageToken ?~ x)
<$> (rs ^. lprNextPageToken)