{-# 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.CognitoSync.SetCognitoEvents
(
setCognitoEvents
, SetCognitoEvents
, sceIdentityPoolId
, sceEvents
, setCognitoEventsResponse
, SetCognitoEventsResponse
) where
import Network.AWS.CognitoSync.Types
import Network.AWS.CognitoSync.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data SetCognitoEvents = SetCognitoEvents'
{ _sceIdentityPoolId :: !Text
, _sceEvents :: !(Map Text Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
setCognitoEvents
:: Text
-> SetCognitoEvents
setCognitoEvents pIdentityPoolId_ =
SetCognitoEvents'
{ _sceIdentityPoolId = pIdentityPoolId_
, _sceEvents = mempty
}
sceIdentityPoolId :: Lens' SetCognitoEvents Text
sceIdentityPoolId = lens _sceIdentityPoolId (\ s a -> s{_sceIdentityPoolId = a});
sceEvents :: Lens' SetCognitoEvents (HashMap Text Text)
sceEvents = lens _sceEvents (\ s a -> s{_sceEvents = a}) . _Map;
instance AWSRequest SetCognitoEvents where
type Rs SetCognitoEvents = SetCognitoEventsResponse
request = postJSON cognitoSync
response = receiveNull SetCognitoEventsResponse'
instance Hashable SetCognitoEvents
instance NFData SetCognitoEvents
instance ToHeaders SetCognitoEvents where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON SetCognitoEvents where
toJSON SetCognitoEvents'{..}
= object (catMaybes [Just ("Events" .= _sceEvents)])
instance ToPath SetCognitoEvents where
toPath SetCognitoEvents'{..}
= mconcat
["/identitypools/", toBS _sceIdentityPoolId,
"/events"]
instance ToQuery SetCognitoEvents where
toQuery = const mempty
data SetCognitoEventsResponse =
SetCognitoEventsResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
setCognitoEventsResponse
:: SetCognitoEventsResponse
setCognitoEventsResponse = SetCognitoEventsResponse'
instance NFData SetCognitoEventsResponse