module Network.AWS.CognitoIdentityProvider.AdminGetUser
(
adminGetUser
, AdminGetUser
, aguUserPoolId
, aguUsername
, adminGetUserResponse
, AdminGetUserResponse
, agursEnabled
, agursUserStatus
, agursUserAttributes
, agursUserCreateDate
, agursMFAOptions
, agursUserLastModifiedDate
, 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,Read,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 .?> "MFAOptions" .!@ mempty)
<*> (x .?> "UserLastModifiedDate")
<*> (pure (fromEnum s))
<*> (x .:> "Username"))
instance Hashable AdminGetUser
instance NFData AdminGetUser
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)
, _agursMFAOptions :: !(Maybe [MFAOptionType])
, _agursUserLastModifiedDate :: !(Maybe POSIX)
, _agursResponseStatus :: !Int
, _agursUsername :: !(Sensitive Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
adminGetUserResponse
:: Int
-> Text
-> AdminGetUserResponse
adminGetUserResponse pResponseStatus_ pUsername_ =
AdminGetUserResponse'
{ _agursEnabled = Nothing
, _agursUserStatus = Nothing
, _agursUserAttributes = Nothing
, _agursUserCreateDate = Nothing
, _agursMFAOptions = Nothing
, _agursUserLastModifiedDate = 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;
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;
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