{-# 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.Pinpoint.UpdateApplicationSettings
(
updateApplicationSettings
, UpdateApplicationSettings
, uasApplicationId
, uasWriteApplicationSettingsRequest
, updateApplicationSettingsResponse
, UpdateApplicationSettingsResponse
, uasrsResponseStatus
, uasrsApplicationSettingsResource
) where
import Network.AWS.Lens
import Network.AWS.Pinpoint.Types
import Network.AWS.Pinpoint.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateApplicationSettings = UpdateApplicationSettings'
{ _uasApplicationId :: !Text
, _uasWriteApplicationSettingsRequest :: !WriteApplicationSettingsRequest
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateApplicationSettings
:: Text
-> WriteApplicationSettingsRequest
-> UpdateApplicationSettings
updateApplicationSettings pApplicationId_ pWriteApplicationSettingsRequest_ =
UpdateApplicationSettings'
{ _uasApplicationId = pApplicationId_
, _uasWriteApplicationSettingsRequest = pWriteApplicationSettingsRequest_
}
uasApplicationId :: Lens' UpdateApplicationSettings Text
uasApplicationId = lens _uasApplicationId (\ s a -> s{_uasApplicationId = a})
uasWriteApplicationSettingsRequest :: Lens' UpdateApplicationSettings WriteApplicationSettingsRequest
uasWriteApplicationSettingsRequest = lens _uasWriteApplicationSettingsRequest (\ s a -> s{_uasWriteApplicationSettingsRequest = a})
instance AWSRequest UpdateApplicationSettings where
type Rs UpdateApplicationSettings =
UpdateApplicationSettingsResponse
request = putJSON pinpoint
response
= receiveJSON
(\ s h x ->
UpdateApplicationSettingsResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable UpdateApplicationSettings where
instance NFData UpdateApplicationSettings where
instance ToHeaders UpdateApplicationSettings where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateApplicationSettings where
toJSON UpdateApplicationSettings'{..}
= object
(catMaybes
[Just
("WriteApplicationSettingsRequest" .=
_uasWriteApplicationSettingsRequest)])
instance ToPath UpdateApplicationSettings where
toPath UpdateApplicationSettings'{..}
= mconcat
["/v1/apps/", toBS _uasApplicationId, "/settings"]
instance ToQuery UpdateApplicationSettings where
toQuery = const mempty
data UpdateApplicationSettingsResponse = UpdateApplicationSettingsResponse'
{ _uasrsResponseStatus :: !Int
, _uasrsApplicationSettingsResource :: !ApplicationSettingsResource
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateApplicationSettingsResponse
:: Int
-> ApplicationSettingsResource
-> UpdateApplicationSettingsResponse
updateApplicationSettingsResponse pResponseStatus_ pApplicationSettingsResource_ =
UpdateApplicationSettingsResponse'
{ _uasrsResponseStatus = pResponseStatus_
, _uasrsApplicationSettingsResource = pApplicationSettingsResource_
}
uasrsResponseStatus :: Lens' UpdateApplicationSettingsResponse Int
uasrsResponseStatus = lens _uasrsResponseStatus (\ s a -> s{_uasrsResponseStatus = a})
uasrsApplicationSettingsResource :: Lens' UpdateApplicationSettingsResponse ApplicationSettingsResource
uasrsApplicationSettingsResource = lens _uasrsApplicationSettingsResource (\ s a -> s{_uasrsApplicationSettingsResource = a})
instance NFData UpdateApplicationSettingsResponse
where