{-# 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.RetryStageExecution
(
retryStageExecution
, RetryStageExecution
, rsePipelineName
, rseStageName
, rsePipelineExecutionId
, rseRetryMode
, retryStageExecutionResponse
, RetryStageExecutionResponse
, rsersPipelineExecutionId
, rsersResponseStatus
) 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 RetryStageExecution = RetryStageExecution'
{ _rsePipelineName :: !Text
, _rseStageName :: !Text
, _rsePipelineExecutionId :: !Text
, _rseRetryMode :: !StageRetryMode
} deriving (Eq, Read, Show, Data, Typeable, Generic)
retryStageExecution
:: Text
-> Text
-> Text
-> StageRetryMode
-> RetryStageExecution
retryStageExecution pPipelineName_ pStageName_ pPipelineExecutionId_ pRetryMode_ =
RetryStageExecution'
{ _rsePipelineName = pPipelineName_
, _rseStageName = pStageName_
, _rsePipelineExecutionId = pPipelineExecutionId_
, _rseRetryMode = pRetryMode_
}
rsePipelineName :: Lens' RetryStageExecution Text
rsePipelineName = lens _rsePipelineName (\ s a -> s{_rsePipelineName = a})
rseStageName :: Lens' RetryStageExecution Text
rseStageName = lens _rseStageName (\ s a -> s{_rseStageName = a})
rsePipelineExecutionId :: Lens' RetryStageExecution Text
rsePipelineExecutionId = lens _rsePipelineExecutionId (\ s a -> s{_rsePipelineExecutionId = a})
rseRetryMode :: Lens' RetryStageExecution StageRetryMode
rseRetryMode = lens _rseRetryMode (\ s a -> s{_rseRetryMode = a})
instance AWSRequest RetryStageExecution where
type Rs RetryStageExecution =
RetryStageExecutionResponse
request = postJSON codePipeline
response
= receiveJSON
(\ s h x ->
RetryStageExecutionResponse' <$>
(x .?> "pipelineExecutionId") <*>
(pure (fromEnum s)))
instance Hashable RetryStageExecution where
instance NFData RetryStageExecution where
instance ToHeaders RetryStageExecution where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodePipeline_20150709.RetryStageExecution" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON RetryStageExecution where
toJSON RetryStageExecution'{..}
= object
(catMaybes
[Just ("pipelineName" .= _rsePipelineName),
Just ("stageName" .= _rseStageName),
Just
("pipelineExecutionId" .= _rsePipelineExecutionId),
Just ("retryMode" .= _rseRetryMode)])
instance ToPath RetryStageExecution where
toPath = const "/"
instance ToQuery RetryStageExecution where
toQuery = const mempty
data RetryStageExecutionResponse = RetryStageExecutionResponse'
{ _rsersPipelineExecutionId :: !(Maybe Text)
, _rsersResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
retryStageExecutionResponse
:: Int
-> RetryStageExecutionResponse
retryStageExecutionResponse pResponseStatus_ =
RetryStageExecutionResponse'
{ _rsersPipelineExecutionId = Nothing
, _rsersResponseStatus = pResponseStatus_
}
rsersPipelineExecutionId :: Lens' RetryStageExecutionResponse (Maybe Text)
rsersPipelineExecutionId = lens _rsersPipelineExecutionId (\ s a -> s{_rsersPipelineExecutionId = a})
rsersResponseStatus :: Lens' RetryStageExecutionResponse Int
rsersResponseStatus = lens _rsersResponseStatus (\ s a -> s{_rsersResponseStatus = a})
instance NFData RetryStageExecutionResponse where