{-# 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.GetUserAttributeVerificationCode
(
getUserAttributeVerificationCode
, GetUserAttributeVerificationCode
, guavcAccessToken
, guavcAttributeName
, getUserAttributeVerificationCodeResponse
, GetUserAttributeVerificationCodeResponse
, guavcrsCodeDeliveryDetails
, guavcrsResponseStatus
) 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 GetUserAttributeVerificationCode = GetUserAttributeVerificationCode'
{ _guavcAccessToken :: !(Maybe (Sensitive Text))
, _guavcAttributeName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getUserAttributeVerificationCode
:: Text
-> GetUserAttributeVerificationCode
getUserAttributeVerificationCode pAttributeName_ =
GetUserAttributeVerificationCode'
{ _guavcAccessToken = Nothing
, _guavcAttributeName = pAttributeName_
}
guavcAccessToken :: Lens' GetUserAttributeVerificationCode (Maybe Text)
guavcAccessToken = lens _guavcAccessToken (\ s a -> s{_guavcAccessToken = a}) . mapping _Sensitive;
guavcAttributeName :: Lens' GetUserAttributeVerificationCode Text
guavcAttributeName = lens _guavcAttributeName (\ s a -> s{_guavcAttributeName = a});
instance AWSRequest GetUserAttributeVerificationCode
where
type Rs GetUserAttributeVerificationCode =
GetUserAttributeVerificationCodeResponse
request = postJSON cognitoIdentityProvider
response
= receiveJSON
(\ s h x ->
GetUserAttributeVerificationCodeResponse' <$>
(x .?> "CodeDeliveryDetails") <*>
(pure (fromEnum s)))
instance Hashable GetUserAttributeVerificationCode
instance NFData GetUserAttributeVerificationCode
instance ToHeaders GetUserAttributeVerificationCode
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.GetUserAttributeVerificationCode"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetUserAttributeVerificationCode
where
toJSON GetUserAttributeVerificationCode'{..}
= object
(catMaybes
[("AccessToken" .=) <$> _guavcAccessToken,
Just ("AttributeName" .= _guavcAttributeName)])
instance ToPath GetUserAttributeVerificationCode
where
toPath = const "/"
instance ToQuery GetUserAttributeVerificationCode
where
toQuery = const mempty
data GetUserAttributeVerificationCodeResponse = GetUserAttributeVerificationCodeResponse'
{ _guavcrsCodeDeliveryDetails :: !(Maybe CodeDeliveryDetailsType)
, _guavcrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getUserAttributeVerificationCodeResponse
:: Int
-> GetUserAttributeVerificationCodeResponse
getUserAttributeVerificationCodeResponse pResponseStatus_ =
GetUserAttributeVerificationCodeResponse'
{ _guavcrsCodeDeliveryDetails = Nothing
, _guavcrsResponseStatus = pResponseStatus_
}
guavcrsCodeDeliveryDetails :: Lens' GetUserAttributeVerificationCodeResponse (Maybe CodeDeliveryDetailsType)
guavcrsCodeDeliveryDetails = lens _guavcrsCodeDeliveryDetails (\ s a -> s{_guavcrsCodeDeliveryDetails = a});
guavcrsResponseStatus :: Lens' GetUserAttributeVerificationCodeResponse Int
guavcrsResponseStatus = lens _guavcrsResponseStatus (\ s a -> s{_guavcrsResponseStatus = a});
instance NFData
GetUserAttributeVerificationCodeResponse