{-# 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.SendUsersMessages
(
sendUsersMessages
, SendUsersMessages
, sumsApplicationId
, sumsSendUsersMessageRequest
, sendUsersMessagesResponse
, SendUsersMessagesResponse
, sumrsResponseStatus
, sumrsSendUsersMessageResponse
) 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 SendUsersMessages = SendUsersMessages'
{ _sumsApplicationId :: !Text
, _sumsSendUsersMessageRequest :: !SendUsersMessageRequest
} deriving (Eq, Read, Show, Data, Typeable, Generic)
sendUsersMessages
:: Text
-> SendUsersMessageRequest
-> SendUsersMessages
sendUsersMessages pApplicationId_ pSendUsersMessageRequest_ =
SendUsersMessages'
{ _sumsApplicationId = pApplicationId_
, _sumsSendUsersMessageRequest = pSendUsersMessageRequest_
}
sumsApplicationId :: Lens' SendUsersMessages Text
sumsApplicationId = lens _sumsApplicationId (\ s a -> s{_sumsApplicationId = a})
sumsSendUsersMessageRequest :: Lens' SendUsersMessages SendUsersMessageRequest
sumsSendUsersMessageRequest = lens _sumsSendUsersMessageRequest (\ s a -> s{_sumsSendUsersMessageRequest = a})
instance AWSRequest SendUsersMessages where
type Rs SendUsersMessages = SendUsersMessagesResponse
request = postJSON pinpoint
response
= receiveJSON
(\ s h x ->
SendUsersMessagesResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable SendUsersMessages where
instance NFData SendUsersMessages where
instance ToHeaders SendUsersMessages where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON SendUsersMessages where
toJSON SendUsersMessages'{..}
= object
(catMaybes
[Just
("SendUsersMessageRequest" .=
_sumsSendUsersMessageRequest)])
instance ToPath SendUsersMessages where
toPath SendUsersMessages'{..}
= mconcat
["/v1/apps/", toBS _sumsApplicationId,
"/users-messages"]
instance ToQuery SendUsersMessages where
toQuery = const mempty
data SendUsersMessagesResponse = SendUsersMessagesResponse'
{ _sumrsResponseStatus :: !Int
, _sumrsSendUsersMessageResponse :: !SendUsersMessageResponse
} deriving (Eq, Read, Show, Data, Typeable, Generic)
sendUsersMessagesResponse
:: Int
-> SendUsersMessageResponse
-> SendUsersMessagesResponse
sendUsersMessagesResponse pResponseStatus_ pSendUsersMessageResponse_ =
SendUsersMessagesResponse'
{ _sumrsResponseStatus = pResponseStatus_
, _sumrsSendUsersMessageResponse = pSendUsersMessageResponse_
}
sumrsResponseStatus :: Lens' SendUsersMessagesResponse Int
sumrsResponseStatus = lens _sumrsResponseStatus (\ s a -> s{_sumrsResponseStatus = a})
sumrsSendUsersMessageResponse :: Lens' SendUsersMessagesResponse SendUsersMessageResponse
sumrsSendUsersMessageResponse = lens _sumrsSendUsersMessageResponse (\ s a -> s{_sumrsSendUsersMessageResponse = a})
instance NFData SendUsersMessagesResponse where