module Network.AWS.CognitoIdentityProvider.AdminSetUserSettings
(
adminSetUserSettings
, AdminSetUserSettings
, asusUserPoolId
, asusUsername
, asusMFAOptions
, adminSetUserSettingsResponse
, AdminSetUserSettingsResponse
, asusrsResponseStatus
) 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 AdminSetUserSettings = AdminSetUserSettings'
{ _asusUserPoolId :: !Text
, _asusUsername :: !(Sensitive Text)
, _asusMFAOptions :: ![MFAOptionType]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
adminSetUserSettings
:: Text
-> Text
-> AdminSetUserSettings
adminSetUserSettings pUserPoolId_ pUsername_ =
AdminSetUserSettings'
{ _asusUserPoolId = pUserPoolId_
, _asusUsername = _Sensitive # pUsername_
, _asusMFAOptions = mempty
}
asusUserPoolId :: Lens' AdminSetUserSettings Text
asusUserPoolId = lens _asusUserPoolId (\ s a -> s{_asusUserPoolId = a});
asusUsername :: Lens' AdminSetUserSettings Text
asusUsername = lens _asusUsername (\ s a -> s{_asusUsername = a}) . _Sensitive;
asusMFAOptions :: Lens' AdminSetUserSettings [MFAOptionType]
asusMFAOptions = lens _asusMFAOptions (\ s a -> s{_asusMFAOptions = a}) . _Coerce;
instance AWSRequest AdminSetUserSettings where
type Rs AdminSetUserSettings =
AdminSetUserSettingsResponse
request = postJSON cognitoIdentityProvider
response
= receiveEmpty
(\ s h x ->
AdminSetUserSettingsResponse' <$>
(pure (fromEnum s)))
instance Hashable AdminSetUserSettings
instance NFData AdminSetUserSettings
instance ToHeaders AdminSetUserSettings where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.AdminSetUserSettings"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AdminSetUserSettings where
toJSON AdminSetUserSettings'{..}
= object
(catMaybes
[Just ("UserPoolId" .= _asusUserPoolId),
Just ("Username" .= _asusUsername),
Just ("MFAOptions" .= _asusMFAOptions)])
instance ToPath AdminSetUserSettings where
toPath = const "/"
instance ToQuery AdminSetUserSettings where
toQuery = const mempty
newtype AdminSetUserSettingsResponse = AdminSetUserSettingsResponse'
{ _asusrsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
adminSetUserSettingsResponse
:: Int
-> AdminSetUserSettingsResponse
adminSetUserSettingsResponse pResponseStatus_ =
AdminSetUserSettingsResponse'
{ _asusrsResponseStatus = pResponseStatus_
}
asusrsResponseStatus :: Lens' AdminSetUserSettingsResponse Int
asusrsResponseStatus = lens _asusrsResponseStatus (\ s a -> s{_asusrsResponseStatus = a});
instance NFData AdminSetUserSettingsResponse