module Network.AWS.CognitoIdentity.GetOpenIdToken
(
getOpenIdToken
, GetOpenIdToken
, goitLogins
, goitIdentityId
, getOpenIdTokenResponse
, GetOpenIdTokenResponse
, goitrsToken
, goitrsIdentityId
, goitrsResponseStatus
) where
import Network.AWS.CognitoIdentity.Types
import Network.AWS.CognitoIdentity.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetOpenIdToken = GetOpenIdToken'
{ _goitLogins :: !(Maybe (Map Text Text))
, _goitIdentityId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getOpenIdToken
:: Text
-> GetOpenIdToken
getOpenIdToken pIdentityId_ =
GetOpenIdToken'
{ _goitLogins = Nothing
, _goitIdentityId = pIdentityId_
}
goitLogins :: Lens' GetOpenIdToken (HashMap Text Text)
goitLogins = lens _goitLogins (\ s a -> s{_goitLogins = a}) . _Default . _Map;
goitIdentityId :: Lens' GetOpenIdToken Text
goitIdentityId = lens _goitIdentityId (\ s a -> s{_goitIdentityId = a});
instance AWSRequest GetOpenIdToken where
type Rs GetOpenIdToken = GetOpenIdTokenResponse
request = postJSON cognitoIdentity
response
= receiveJSON
(\ s h x ->
GetOpenIdTokenResponse' <$>
(x .?> "Token") <*> (x .?> "IdentityId") <*>
(pure (fromEnum s)))
instance ToHeaders GetOpenIdToken where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityService.GetOpenIdToken" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetOpenIdToken where
toJSON GetOpenIdToken'{..}
= object
(catMaybes
[("Logins" .=) <$> _goitLogins,
Just ("IdentityId" .= _goitIdentityId)])
instance ToPath GetOpenIdToken where
toPath = const "/"
instance ToQuery GetOpenIdToken where
toQuery = const mempty
data GetOpenIdTokenResponse = GetOpenIdTokenResponse'
{ _goitrsToken :: !(Maybe Text)
, _goitrsIdentityId :: !(Maybe Text)
, _goitrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getOpenIdTokenResponse
:: Int
-> GetOpenIdTokenResponse
getOpenIdTokenResponse pResponseStatus_ =
GetOpenIdTokenResponse'
{ _goitrsToken = Nothing
, _goitrsIdentityId = Nothing
, _goitrsResponseStatus = pResponseStatus_
}
goitrsToken :: Lens' GetOpenIdTokenResponse (Maybe Text)
goitrsToken = lens _goitrsToken (\ s a -> s{_goitrsToken = a});
goitrsIdentityId :: Lens' GetOpenIdTokenResponse (Maybe Text)
goitrsIdentityId = lens _goitrsIdentityId (\ s a -> s{_goitrsIdentityId = a});
goitrsResponseStatus :: Lens' GetOpenIdTokenResponse Int
goitrsResponseStatus = lens _goitrsResponseStatus (\ s a -> s{_goitrsResponseStatus = a});