{-# 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.UpdatePipeline
(
updatePipeline
, UpdatePipeline
, upPipeline
, updatePipelineResponse
, UpdatePipelineResponse
, uprsPipeline
, uprsResponseStatus
) 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
newtype UpdatePipeline = UpdatePipeline'
{ _upPipeline :: PipelineDeclaration
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updatePipeline
:: PipelineDeclaration
-> UpdatePipeline
updatePipeline pPipeline_ = UpdatePipeline' {_upPipeline = pPipeline_}
upPipeline :: Lens' UpdatePipeline PipelineDeclaration
upPipeline = lens _upPipeline (\ s a -> s{_upPipeline = a})
instance AWSRequest UpdatePipeline where
type Rs UpdatePipeline = UpdatePipelineResponse
request = postJSON codePipeline
response
= receiveJSON
(\ s h x ->
UpdatePipelineResponse' <$>
(x .?> "pipeline") <*> (pure (fromEnum s)))
instance Hashable UpdatePipeline where
instance NFData UpdatePipeline where
instance ToHeaders UpdatePipeline where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodePipeline_20150709.UpdatePipeline" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdatePipeline where
toJSON UpdatePipeline'{..}
= object
(catMaybes [Just ("pipeline" .= _upPipeline)])
instance ToPath UpdatePipeline where
toPath = const "/"
instance ToQuery UpdatePipeline where
toQuery = const mempty
data UpdatePipelineResponse = UpdatePipelineResponse'
{ _uprsPipeline :: !(Maybe PipelineDeclaration)
, _uprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updatePipelineResponse
:: Int
-> UpdatePipelineResponse
updatePipelineResponse pResponseStatus_ =
UpdatePipelineResponse'
{_uprsPipeline = Nothing, _uprsResponseStatus = pResponseStatus_}
uprsPipeline :: Lens' UpdatePipelineResponse (Maybe PipelineDeclaration)
uprsPipeline = lens _uprsPipeline (\ s a -> s{_uprsPipeline = a})
uprsResponseStatus :: Lens' UpdatePipelineResponse Int
uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a})
instance NFData UpdatePipelineResponse where