{-# 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.CodeCommit.UpdatePullRequestStatus
(
updatePullRequestStatus
, UpdatePullRequestStatus
, uprsPullRequestId
, uprsPullRequestStatus
, updatePullRequestStatusResponse
, UpdatePullRequestStatusResponse
, uprsrsResponseStatus
, uprsrsPullRequest
) where
import Network.AWS.CodeCommit.Types
import Network.AWS.CodeCommit.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdatePullRequestStatus = UpdatePullRequestStatus'
{ _uprsPullRequestId :: !Text
, _uprsPullRequestStatus :: !PullRequestStatusEnum
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updatePullRequestStatus
:: Text
-> PullRequestStatusEnum
-> UpdatePullRequestStatus
updatePullRequestStatus pPullRequestId_ pPullRequestStatus_ =
UpdatePullRequestStatus'
{ _uprsPullRequestId = pPullRequestId_
, _uprsPullRequestStatus = pPullRequestStatus_
}
uprsPullRequestId :: Lens' UpdatePullRequestStatus Text
uprsPullRequestId = lens _uprsPullRequestId (\ s a -> s{_uprsPullRequestId = a})
uprsPullRequestStatus :: Lens' UpdatePullRequestStatus PullRequestStatusEnum
uprsPullRequestStatus = lens _uprsPullRequestStatus (\ s a -> s{_uprsPullRequestStatus = a})
instance AWSRequest UpdatePullRequestStatus where
type Rs UpdatePullRequestStatus =
UpdatePullRequestStatusResponse
request = postJSON codeCommit
response
= receiveJSON
(\ s h x ->
UpdatePullRequestStatusResponse' <$>
(pure (fromEnum s)) <*> (x .:> "pullRequest"))
instance Hashable UpdatePullRequestStatus where
instance NFData UpdatePullRequestStatus where
instance ToHeaders UpdatePullRequestStatus where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("CodeCommit_20150413.UpdatePullRequestStatus" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdatePullRequestStatus where
toJSON UpdatePullRequestStatus'{..}
= object
(catMaybes
[Just ("pullRequestId" .= _uprsPullRequestId),
Just
("pullRequestStatus" .= _uprsPullRequestStatus)])
instance ToPath UpdatePullRequestStatus where
toPath = const "/"
instance ToQuery UpdatePullRequestStatus where
toQuery = const mempty
data UpdatePullRequestStatusResponse = UpdatePullRequestStatusResponse'
{ _uprsrsResponseStatus :: !Int
, _uprsrsPullRequest :: !PullRequest
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updatePullRequestStatusResponse
:: Int
-> PullRequest
-> UpdatePullRequestStatusResponse
updatePullRequestStatusResponse pResponseStatus_ pPullRequest_ =
UpdatePullRequestStatusResponse'
{ _uprsrsResponseStatus = pResponseStatus_
, _uprsrsPullRequest = pPullRequest_
}
uprsrsResponseStatus :: Lens' UpdatePullRequestStatusResponse Int
uprsrsResponseStatus = lens _uprsrsResponseStatus (\ s a -> s{_uprsrsResponseStatus = a})
uprsrsPullRequest :: Lens' UpdatePullRequestStatusResponse PullRequest
uprsrsPullRequest = lens _uprsrsPullRequest (\ s a -> s{_uprsrsPullRequest = a})
instance NFData UpdatePullRequestStatusResponse where