{-# 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.UpdateEndpoint
(
updateEndpoint
, UpdateEndpoint
, ueApplicationId
, ueEndpointId
, ueEndpointRequest
, updateEndpointResponse
, UpdateEndpointResponse
, uersResponseStatus
, uersMessageBody
) 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 UpdateEndpoint = UpdateEndpoint'
{ _ueApplicationId :: !Text
, _ueEndpointId :: !Text
, _ueEndpointRequest :: !EndpointRequest
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateEndpoint
:: Text
-> Text
-> EndpointRequest
-> UpdateEndpoint
updateEndpoint pApplicationId_ pEndpointId_ pEndpointRequest_ =
UpdateEndpoint'
{ _ueApplicationId = pApplicationId_
, _ueEndpointId = pEndpointId_
, _ueEndpointRequest = pEndpointRequest_
}
ueApplicationId :: Lens' UpdateEndpoint Text
ueApplicationId = lens _ueApplicationId (\ s a -> s{_ueApplicationId = a});
ueEndpointId :: Lens' UpdateEndpoint Text
ueEndpointId = lens _ueEndpointId (\ s a -> s{_ueEndpointId = a});
ueEndpointRequest :: Lens' UpdateEndpoint EndpointRequest
ueEndpointRequest = lens _ueEndpointRequest (\ s a -> s{_ueEndpointRequest = a});
instance AWSRequest UpdateEndpoint where
type Rs UpdateEndpoint = UpdateEndpointResponse
request = putJSON pinpoint
response
= receiveJSON
(\ s h x ->
UpdateEndpointResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable UpdateEndpoint
instance NFData UpdateEndpoint
instance ToHeaders UpdateEndpoint where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateEndpoint where
toJSON UpdateEndpoint'{..}
= object
(catMaybes
[Just ("EndpointRequest" .= _ueEndpointRequest)])
instance ToPath UpdateEndpoint where
toPath UpdateEndpoint'{..}
= mconcat
["/v1/apps/", toBS _ueApplicationId, "/endpoints/",
toBS _ueEndpointId]
instance ToQuery UpdateEndpoint where
toQuery = const mempty
data UpdateEndpointResponse = UpdateEndpointResponse'
{ _uersResponseStatus :: !Int
, _uersMessageBody :: !MessageBody
} deriving (Eq,Read,Show,Data,Typeable,Generic)
updateEndpointResponse
:: Int
-> MessageBody
-> UpdateEndpointResponse
updateEndpointResponse pResponseStatus_ pMessageBody_ =
UpdateEndpointResponse'
{ _uersResponseStatus = pResponseStatus_
, _uersMessageBody = pMessageBody_
}
uersResponseStatus :: Lens' UpdateEndpointResponse Int
uersResponseStatus = lens _uersResponseStatus (\ s a -> s{_uersResponseStatus = a});
uersMessageBody :: Lens' UpdateEndpointResponse MessageBody
uersMessageBody = lens _uersMessageBody (\ s a -> s{_uersMessageBody = a});
instance NFData UpdateEndpointResponse