{-# 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.Mobile.UpdateProject
(
updateProject
, UpdateProject
, upContents
, upProjectId
, updateProjectResponse
, UpdateProjectResponse
, uprsDetails
, uprsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Mobile.Types
import Network.AWS.Mobile.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateProject = UpdateProject'
{ _upContents :: !(Maybe ByteString)
, _upProjectId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateProject
:: Text
-> UpdateProject
updateProject pProjectId_ =
UpdateProject' {_upContents = Nothing, _upProjectId = pProjectId_}
upContents :: Lens' UpdateProject (Maybe ByteString)
upContents = lens _upContents (\ s a -> s{_upContents = a})
upProjectId :: Lens' UpdateProject Text
upProjectId = lens _upProjectId (\ s a -> s{_upProjectId = a})
instance AWSRequest UpdateProject where
type Rs UpdateProject = UpdateProjectResponse
request = postBody mobile
response
= receiveJSON
(\ s h x ->
UpdateProjectResponse' <$>
(x .?> "details") <*> (pure (fromEnum s)))
instance Hashable UpdateProject where
instance NFData UpdateProject where
instance ToBody UpdateProject where
toBody = toBody . _upContents
instance ToHeaders UpdateProject where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath UpdateProject where
toPath = const "/update"
instance ToQuery UpdateProject where
toQuery UpdateProject'{..}
= mconcat ["projectId" =: _upProjectId]
data UpdateProjectResponse = UpdateProjectResponse'
{ _uprsDetails :: !(Maybe ProjectDetails)
, _uprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateProjectResponse
:: Int
-> UpdateProjectResponse
updateProjectResponse pResponseStatus_ =
UpdateProjectResponse'
{_uprsDetails = Nothing, _uprsResponseStatus = pResponseStatus_}
uprsDetails :: Lens' UpdateProjectResponse (Maybe ProjectDetails)
uprsDetails = lens _uprsDetails (\ s a -> s{_uprsDetails = a})
uprsResponseStatus :: Lens' UpdateProjectResponse Int
uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a})
instance NFData UpdateProjectResponse where