{-# 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.CognitoIdentityProvider.AdminRemoveUserFromGroup
(
adminRemoveUserFromGroup
, AdminRemoveUserFromGroup
, arufgUserPoolId
, arufgUsername
, arufgGroupName
, adminRemoveUserFromGroupResponse
, AdminRemoveUserFromGroupResponse
) where
import Network.AWS.CognitoIdentityProvider.Types
import Network.AWS.CognitoIdentityProvider.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data AdminRemoveUserFromGroup = AdminRemoveUserFromGroup'
{ _arufgUserPoolId :: !Text
, _arufgUsername :: !(Sensitive Text)
, _arufgGroupName :: !Text
} deriving (Eq, Show, Data, Typeable, Generic)
adminRemoveUserFromGroup
:: Text
-> Text
-> Text
-> AdminRemoveUserFromGroup
adminRemoveUserFromGroup pUserPoolId_ pUsername_ pGroupName_ =
AdminRemoveUserFromGroup'
{ _arufgUserPoolId = pUserPoolId_
, _arufgUsername = _Sensitive # pUsername_
, _arufgGroupName = pGroupName_
}
arufgUserPoolId :: Lens' AdminRemoveUserFromGroup Text
arufgUserPoolId = lens _arufgUserPoolId (\ s a -> s{_arufgUserPoolId = a})
arufgUsername :: Lens' AdminRemoveUserFromGroup Text
arufgUsername = lens _arufgUsername (\ s a -> s{_arufgUsername = a}) . _Sensitive
arufgGroupName :: Lens' AdminRemoveUserFromGroup Text
arufgGroupName = lens _arufgGroupName (\ s a -> s{_arufgGroupName = a})
instance AWSRequest AdminRemoveUserFromGroup where
type Rs AdminRemoveUserFromGroup =
AdminRemoveUserFromGroupResponse
request = postJSON cognitoIdentityProvider
response
= receiveNull AdminRemoveUserFromGroupResponse'
instance Hashable AdminRemoveUserFromGroup where
instance NFData AdminRemoveUserFromGroup where
instance ToHeaders AdminRemoveUserFromGroup where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.AdminRemoveUserFromGroup"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AdminRemoveUserFromGroup where
toJSON AdminRemoveUserFromGroup'{..}
= object
(catMaybes
[Just ("UserPoolId" .= _arufgUserPoolId),
Just ("Username" .= _arufgUsername),
Just ("GroupName" .= _arufgGroupName)])
instance ToPath AdminRemoveUserFromGroup where
toPath = const "/"
instance ToQuery AdminRemoveUserFromGroup where
toQuery = const mempty
data AdminRemoveUserFromGroupResponse =
AdminRemoveUserFromGroupResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
adminRemoveUserFromGroupResponse
:: AdminRemoveUserFromGroupResponse
adminRemoveUserFromGroupResponse = AdminRemoveUserFromGroupResponse'
instance NFData AdminRemoveUserFromGroupResponse
where