{-# 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.CodePipeline.ListPipelineExecutions
(
listPipelineExecutions
, ListPipelineExecutions
, lpeNextToken
, lpeMaxResults
, lpePipelineName
, listPipelineExecutionsResponse
, ListPipelineExecutionsResponse
, lpersNextToken
, lpersPipelineExecutionSummaries
, lpersResponseStatus
) where
import Network.AWS.CodePipeline.Types
import Network.AWS.CodePipeline.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListPipelineExecutions = ListPipelineExecutions'
{ _lpeNextToken :: !(Maybe Text)
, _lpeMaxResults :: !(Maybe Nat)
, _lpePipelineName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listPipelineExecutions
:: Text
-> ListPipelineExecutions
listPipelineExecutions pPipelineName_ =
ListPipelineExecutions'
{ _lpeNextToken = Nothing
, _lpeMaxResults = Nothing
, _lpePipelineName = pPipelineName_
}
lpeNextToken :: Lens' ListPipelineExecutions (Maybe Text)
lpeNextToken = lens _lpeNextToken (\ s a -> s{_lpeNextToken = a})
lpeMaxResults :: Lens' ListPipelineExecutions (Maybe Natural)
lpeMaxResults = lens _lpeMaxResults (\ s a -> s{_lpeMaxResults = a}) . mapping _Nat
lpePipelineName :: Lens' ListPipelineExecutions Text
lpePipelineName = lens _lpePipelineName (\ s a -> s{_lpePipelineName = a})
instance AWSRequest ListPipelineExecutions where
type Rs ListPipelineExecutions =
ListPipelineExecutionsResponse
request = postJSON codePipeline
response
= receiveJSON
(\ s h x ->
ListPipelineExecutionsResponse' <$>
(x .?> "nextToken") <*>
(x .?> "pipelineExecutionSummaries" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListPipelineExecutions where
instance NFData ListPipelineExecutions where
instance ToHeaders ListPipelineExecutions where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodePipeline_20150709.ListPipelineExecutions" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListPipelineExecutions where
toJSON ListPipelineExecutions'{..}
= object
(catMaybes
[("nextToken" .=) <$> _lpeNextToken,
("maxResults" .=) <$> _lpeMaxResults,
Just ("pipelineName" .= _lpePipelineName)])
instance ToPath ListPipelineExecutions where
toPath = const "/"
instance ToQuery ListPipelineExecutions where
toQuery = const mempty
data ListPipelineExecutionsResponse = ListPipelineExecutionsResponse'
{ _lpersNextToken :: !(Maybe Text)
, _lpersPipelineExecutionSummaries :: !(Maybe [PipelineExecutionSummary])
, _lpersResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listPipelineExecutionsResponse
:: Int
-> ListPipelineExecutionsResponse
listPipelineExecutionsResponse pResponseStatus_ =
ListPipelineExecutionsResponse'
{ _lpersNextToken = Nothing
, _lpersPipelineExecutionSummaries = Nothing
, _lpersResponseStatus = pResponseStatus_
}
lpersNextToken :: Lens' ListPipelineExecutionsResponse (Maybe Text)
lpersNextToken = lens _lpersNextToken (\ s a -> s{_lpersNextToken = a})
lpersPipelineExecutionSummaries :: Lens' ListPipelineExecutionsResponse [PipelineExecutionSummary]
lpersPipelineExecutionSummaries = lens _lpersPipelineExecutionSummaries (\ s a -> s{_lpersPipelineExecutionSummaries = a}) . _Default . _Coerce
lpersResponseStatus :: Lens' ListPipelineExecutionsResponse Int
lpersResponseStatus = lens _lpersResponseStatus (\ s a -> s{_lpersResponseStatus = a})
instance NFData ListPipelineExecutionsResponse where