{-# 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.PutActionRevision
(
putActionRevision
, PutActionRevision
, pPipelineName
, pStageName
, pActionName
, pActionRevision
, putActionRevisionResponse
, PutActionRevisionResponse
, prsNewRevision
, prsPipelineExecutionId
, prsResponseStatus
) 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 PutActionRevision = PutActionRevision'
{ _pPipelineName :: !Text
, _pStageName :: !Text
, _pActionName :: !Text
, _pActionRevision :: !ActionRevision
} deriving (Eq, Read, Show, Data, Typeable, Generic)
putActionRevision
:: Text
-> Text
-> Text
-> ActionRevision
-> PutActionRevision
putActionRevision pPipelineName_ pStageName_ pActionName_ pActionRevision_ =
PutActionRevision'
{ _pPipelineName = pPipelineName_
, _pStageName = pStageName_
, _pActionName = pActionName_
, _pActionRevision = pActionRevision_
}
pPipelineName :: Lens' PutActionRevision Text
pPipelineName = lens _pPipelineName (\ s a -> s{_pPipelineName = a})
pStageName :: Lens' PutActionRevision Text
pStageName = lens _pStageName (\ s a -> s{_pStageName = a})
pActionName :: Lens' PutActionRevision Text
pActionName = lens _pActionName (\ s a -> s{_pActionName = a})
pActionRevision :: Lens' PutActionRevision ActionRevision
pActionRevision = lens _pActionRevision (\ s a -> s{_pActionRevision = a})
instance AWSRequest PutActionRevision where
type Rs PutActionRevision = PutActionRevisionResponse
request = postJSON codePipeline
response
= receiveJSON
(\ s h x ->
PutActionRevisionResponse' <$>
(x .?> "newRevision") <*>
(x .?> "pipelineExecutionId")
<*> (pure (fromEnum s)))
instance Hashable PutActionRevision where
instance NFData PutActionRevision where
instance ToHeaders PutActionRevision where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodePipeline_20150709.PutActionRevision" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON PutActionRevision where
toJSON PutActionRevision'{..}
= object
(catMaybes
[Just ("pipelineName" .= _pPipelineName),
Just ("stageName" .= _pStageName),
Just ("actionName" .= _pActionName),
Just ("actionRevision" .= _pActionRevision)])
instance ToPath PutActionRevision where
toPath = const "/"
instance ToQuery PutActionRevision where
toQuery = const mempty
data PutActionRevisionResponse = PutActionRevisionResponse'
{ _prsNewRevision :: !(Maybe Bool)
, _prsPipelineExecutionId :: !(Maybe Text)
, _prsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
putActionRevisionResponse
:: Int
-> PutActionRevisionResponse
putActionRevisionResponse pResponseStatus_ =
PutActionRevisionResponse'
{ _prsNewRevision = Nothing
, _prsPipelineExecutionId = Nothing
, _prsResponseStatus = pResponseStatus_
}
prsNewRevision :: Lens' PutActionRevisionResponse (Maybe Bool)
prsNewRevision = lens _prsNewRevision (\ s a -> s{_prsNewRevision = a})
prsPipelineExecutionId :: Lens' PutActionRevisionResponse (Maybe Text)
prsPipelineExecutionId = lens _prsPipelineExecutionId (\ s a -> s{_prsPipelineExecutionId = a})
prsResponseStatus :: Lens' PutActionRevisionResponse Int
prsResponseStatus = lens _prsResponseStatus (\ s a -> s{_prsResponseStatus = a})
instance NFData PutActionRevisionResponse where