{-# 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.GetPipelineExecution
(
getPipelineExecution
, GetPipelineExecution
, gpePipelineName
, gpePipelineExecutionId
, getPipelineExecutionResponse
, GetPipelineExecutionResponse
, gpersPipelineExecution
, gpersResponseStatus
) 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 GetPipelineExecution = GetPipelineExecution'
{ _gpePipelineName :: !Text
, _gpePipelineExecutionId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getPipelineExecution
:: Text
-> Text
-> GetPipelineExecution
getPipelineExecution pPipelineName_ pPipelineExecutionId_ =
GetPipelineExecution'
{ _gpePipelineName = pPipelineName_
, _gpePipelineExecutionId = pPipelineExecutionId_
}
gpePipelineName :: Lens' GetPipelineExecution Text
gpePipelineName = lens _gpePipelineName (\ s a -> s{_gpePipelineName = a});
gpePipelineExecutionId :: Lens' GetPipelineExecution Text
gpePipelineExecutionId = lens _gpePipelineExecutionId (\ s a -> s{_gpePipelineExecutionId = a});
instance AWSRequest GetPipelineExecution where
type Rs GetPipelineExecution =
GetPipelineExecutionResponse
request = postJSON codePipeline
response
= receiveJSON
(\ s h x ->
GetPipelineExecutionResponse' <$>
(x .?> "pipelineExecution") <*> (pure (fromEnum s)))
instance Hashable GetPipelineExecution
instance NFData GetPipelineExecution
instance ToHeaders GetPipelineExecution where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodePipeline_20150709.GetPipelineExecution" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetPipelineExecution where
toJSON GetPipelineExecution'{..}
= object
(catMaybes
[Just ("pipelineName" .= _gpePipelineName),
Just
("pipelineExecutionId" .= _gpePipelineExecutionId)])
instance ToPath GetPipelineExecution where
toPath = const "/"
instance ToQuery GetPipelineExecution where
toQuery = const mempty
data GetPipelineExecutionResponse = GetPipelineExecutionResponse'
{ _gpersPipelineExecution :: !(Maybe PipelineExecution)
, _gpersResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getPipelineExecutionResponse
:: Int
-> GetPipelineExecutionResponse
getPipelineExecutionResponse pResponseStatus_ =
GetPipelineExecutionResponse'
{ _gpersPipelineExecution = Nothing
, _gpersResponseStatus = pResponseStatus_
}
gpersPipelineExecution :: Lens' GetPipelineExecutionResponse (Maybe PipelineExecution)
gpersPipelineExecution = lens _gpersPipelineExecution (\ s a -> s{_gpersPipelineExecution = a});
gpersResponseStatus :: Lens' GetPipelineExecutionResponse Int
gpersResponseStatus = lens _gpersResponseStatus (\ s a -> s{_gpersResponseStatus = a});
instance NFData GetPipelineExecutionResponse