{-# 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.AdminGetUser
(
adminGetUser
, AdminGetUser
, aguUserPoolId
, aguUsername
, adminGetUserResponse
, AdminGetUserResponse
, agursEnabled
, agursUserStatus
, agursUserAttributes
, agursUserCreateDate
, agursUserMFASettingList
, agursMFAOptions
, agursUserLastModifiedDate
, agursPreferredMFASetting
, agursResponseStatus
, agursUsername
) 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 AdminGetUser = AdminGetUser'
{ _aguUserPoolId :: !Text
, _aguUsername :: !(Sensitive Text)
} deriving (Eq, Show, Data, Typeable, Generic)
adminGetUser
:: Text
-> Text
-> AdminGetUser
adminGetUser pUserPoolId_ pUsername_ =
AdminGetUser'
{_aguUserPoolId = pUserPoolId_, _aguUsername = _Sensitive # pUsername_}
aguUserPoolId :: Lens' AdminGetUser Text
aguUserPoolId = lens _aguUserPoolId (\ s a -> s{_aguUserPoolId = a})
aguUsername :: Lens' AdminGetUser Text
aguUsername = lens _aguUsername (\ s a -> s{_aguUsername = a}) . _Sensitive
instance AWSRequest AdminGetUser where
type Rs AdminGetUser = AdminGetUserResponse
request = postJSON cognitoIdentityProvider
response
= receiveJSON
(\ s h x ->
AdminGetUserResponse' <$>
(x .?> "Enabled") <*> (x .?> "UserStatus") <*>
(x .?> "UserAttributes" .!@ mempty)
<*> (x .?> "UserCreateDate")
<*> (x .?> "UserMFASettingList" .!@ mempty)
<*> (x .?> "MFAOptions" .!@ mempty)
<*> (x .?> "UserLastModifiedDate")
<*> (x .?> "PreferredMfaSetting")
<*> (pure (fromEnum s))
<*> (x .:> "Username"))
instance Hashable AdminGetUser where
instance NFData AdminGetUser where
instance ToHeaders AdminGetUser where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.AdminGetUser" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AdminGetUser where
toJSON AdminGetUser'{..}
= object
(catMaybes
[Just ("UserPoolId" .= _aguUserPoolId),
Just ("Username" .= _aguUsername)])
instance ToPath AdminGetUser where
toPath = const "/"
instance ToQuery AdminGetUser where
toQuery = const mempty
data AdminGetUserResponse = AdminGetUserResponse'
{ _agursEnabled :: !(Maybe Bool)
, _agursUserStatus :: !(Maybe UserStatusType)
, _agursUserAttributes :: !(Maybe [AttributeType])
, _agursUserCreateDate :: !(Maybe POSIX)
, _agursUserMFASettingList :: !(Maybe [Text])
, _agursMFAOptions :: !(Maybe [MFAOptionType])
, _agursUserLastModifiedDate :: !(Maybe POSIX)
, _agursPreferredMFASetting :: !(Maybe Text)
, _agursResponseStatus :: !Int
, _agursUsername :: !(Sensitive Text)
} deriving (Eq, Show, Data, Typeable, Generic)
adminGetUserResponse
:: Int
-> Text
-> AdminGetUserResponse
adminGetUserResponse pResponseStatus_ pUsername_ =
AdminGetUserResponse'
{ _agursEnabled = Nothing
, _agursUserStatus = Nothing
, _agursUserAttributes = Nothing
, _agursUserCreateDate = Nothing
, _agursUserMFASettingList = Nothing
, _agursMFAOptions = Nothing
, _agursUserLastModifiedDate = Nothing
, _agursPreferredMFASetting = Nothing
, _agursResponseStatus = pResponseStatus_
, _agursUsername = _Sensitive # pUsername_
}
agursEnabled :: Lens' AdminGetUserResponse (Maybe Bool)
agursEnabled = lens _agursEnabled (\ s a -> s{_agursEnabled = a})
agursUserStatus :: Lens' AdminGetUserResponse (Maybe UserStatusType)
agursUserStatus = lens _agursUserStatus (\ s a -> s{_agursUserStatus = a})
agursUserAttributes :: Lens' AdminGetUserResponse [AttributeType]
agursUserAttributes = lens _agursUserAttributes (\ s a -> s{_agursUserAttributes = a}) . _Default . _Coerce
agursUserCreateDate :: Lens' AdminGetUserResponse (Maybe UTCTime)
agursUserCreateDate = lens _agursUserCreateDate (\ s a -> s{_agursUserCreateDate = a}) . mapping _Time
agursUserMFASettingList :: Lens' AdminGetUserResponse [Text]
agursUserMFASettingList = lens _agursUserMFASettingList (\ s a -> s{_agursUserMFASettingList = a}) . _Default . _Coerce
agursMFAOptions :: Lens' AdminGetUserResponse [MFAOptionType]
agursMFAOptions = lens _agursMFAOptions (\ s a -> s{_agursMFAOptions = a}) . _Default . _Coerce
agursUserLastModifiedDate :: Lens' AdminGetUserResponse (Maybe UTCTime)
agursUserLastModifiedDate = lens _agursUserLastModifiedDate (\ s a -> s{_agursUserLastModifiedDate = a}) . mapping _Time
agursPreferredMFASetting :: Lens' AdminGetUserResponse (Maybe Text)
agursPreferredMFASetting = lens _agursPreferredMFASetting (\ s a -> s{_agursPreferredMFASetting = a})
agursResponseStatus :: Lens' AdminGetUserResponse Int
agursResponseStatus = lens _agursResponseStatus (\ s a -> s{_agursResponseStatus = a})
agursUsername :: Lens' AdminGetUserResponse Text
agursUsername = lens _agursUsername (\ s a -> s{_agursUsername = a}) . _Sensitive
instance NFData AdminGetUserResponse where