module Network.AWS.CodePipeline.StartPipelineExecution
(
startPipelineExecution
, StartPipelineExecution
, speName
, startPipelineExecutionResponse
, StartPipelineExecutionResponse
, spersPipelineExecutionId
, spersResponseStatus
) where
import Network.AWS.CodePipeline.Types
import Network.AWS.CodePipeline.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype StartPipelineExecution = StartPipelineExecution'
{ _speName :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
startPipelineExecution
:: Text
-> StartPipelineExecution
startPipelineExecution pName_ =
StartPipelineExecution'
{ _speName = pName_
}
speName :: Lens' StartPipelineExecution Text
speName = lens _speName (\ s a -> s{_speName = a});
instance AWSRequest StartPipelineExecution where
type Rs StartPipelineExecution =
StartPipelineExecutionResponse
request = postJSON codePipeline
response
= receiveJSON
(\ s h x ->
StartPipelineExecutionResponse' <$>
(x .?> "pipelineExecutionId") <*>
(pure (fromEnum s)))
instance ToHeaders StartPipelineExecution where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodePipeline_20150709.StartPipelineExecution" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON StartPipelineExecution where
toJSON StartPipelineExecution'{..}
= object (catMaybes [Just ("name" .= _speName)])
instance ToPath StartPipelineExecution where
toPath = const "/"
instance ToQuery StartPipelineExecution where
toQuery = const mempty
data StartPipelineExecutionResponse = StartPipelineExecutionResponse'
{ _spersPipelineExecutionId :: !(Maybe Text)
, _spersResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
startPipelineExecutionResponse
:: Int
-> StartPipelineExecutionResponse
startPipelineExecutionResponse pResponseStatus_ =
StartPipelineExecutionResponse'
{ _spersPipelineExecutionId = Nothing
, _spersResponseStatus = pResponseStatus_
}
spersPipelineExecutionId :: Lens' StartPipelineExecutionResponse (Maybe Text)
spersPipelineExecutionId = lens _spersPipelineExecutionId (\ s a -> s{_spersPipelineExecutionId = a});
spersResponseStatus :: Lens' StartPipelineExecutionResponse Int
spersResponseStatus = lens _spersResponseStatus (\ s a -> s{_spersResponseStatus = a});