module Network.AWS.CognitoIdentity.GetOpenIdTokenForDeveloperIdentity
(
getOpenIdTokenForDeveloperIdentity
, GetOpenIdTokenForDeveloperIdentity
, goitfdiTokenDuration
, goitfdiIdentityId
, goitfdiIdentityPoolId
, goitfdiLogins
, getOpenIdTokenForDeveloperIdentityResponse
, GetOpenIdTokenForDeveloperIdentityResponse
, goitfdirsToken
, goitfdirsIdentityId
, goitfdirsResponseStatus
) where
import Network.AWS.CognitoIdentity.Types
import Network.AWS.CognitoIdentity.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetOpenIdTokenForDeveloperIdentity = GetOpenIdTokenForDeveloperIdentity'
{ _goitfdiTokenDuration :: !(Maybe Nat)
, _goitfdiIdentityId :: !(Maybe Text)
, _goitfdiIdentityPoolId :: !Text
, _goitfdiLogins :: !(Map Text Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getOpenIdTokenForDeveloperIdentity
:: Text
-> GetOpenIdTokenForDeveloperIdentity
getOpenIdTokenForDeveloperIdentity pIdentityPoolId_ =
GetOpenIdTokenForDeveloperIdentity'
{ _goitfdiTokenDuration = Nothing
, _goitfdiIdentityId = Nothing
, _goitfdiIdentityPoolId = pIdentityPoolId_
, _goitfdiLogins = mempty
}
goitfdiTokenDuration :: Lens' GetOpenIdTokenForDeveloperIdentity (Maybe Natural)
goitfdiTokenDuration = lens _goitfdiTokenDuration (\ s a -> s{_goitfdiTokenDuration = a}) . mapping _Nat;
goitfdiIdentityId :: Lens' GetOpenIdTokenForDeveloperIdentity (Maybe Text)
goitfdiIdentityId = lens _goitfdiIdentityId (\ s a -> s{_goitfdiIdentityId = a});
goitfdiIdentityPoolId :: Lens' GetOpenIdTokenForDeveloperIdentity Text
goitfdiIdentityPoolId = lens _goitfdiIdentityPoolId (\ s a -> s{_goitfdiIdentityPoolId = a});
goitfdiLogins :: Lens' GetOpenIdTokenForDeveloperIdentity (HashMap Text Text)
goitfdiLogins = lens _goitfdiLogins (\ s a -> s{_goitfdiLogins = a}) . _Map;
instance AWSRequest
GetOpenIdTokenForDeveloperIdentity where
type Rs GetOpenIdTokenForDeveloperIdentity =
GetOpenIdTokenForDeveloperIdentityResponse
request = postJSON cognitoIdentity
response
= receiveJSON
(\ s h x ->
GetOpenIdTokenForDeveloperIdentityResponse' <$>
(x .?> "Token") <*> (x .?> "IdentityId") <*>
(pure (fromEnum s)))
instance Hashable GetOpenIdTokenForDeveloperIdentity
instance NFData GetOpenIdTokenForDeveloperIdentity
instance ToHeaders GetOpenIdTokenForDeveloperIdentity
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityService.GetOpenIdTokenForDeveloperIdentity"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetOpenIdTokenForDeveloperIdentity
where
toJSON GetOpenIdTokenForDeveloperIdentity'{..}
= object
(catMaybes
[("TokenDuration" .=) <$> _goitfdiTokenDuration,
("IdentityId" .=) <$> _goitfdiIdentityId,
Just ("IdentityPoolId" .= _goitfdiIdentityPoolId),
Just ("Logins" .= _goitfdiLogins)])
instance ToPath GetOpenIdTokenForDeveloperIdentity
where
toPath = const "/"
instance ToQuery GetOpenIdTokenForDeveloperIdentity
where
toQuery = const mempty
data GetOpenIdTokenForDeveloperIdentityResponse = GetOpenIdTokenForDeveloperIdentityResponse'
{ _goitfdirsToken :: !(Maybe Text)
, _goitfdirsIdentityId :: !(Maybe Text)
, _goitfdirsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getOpenIdTokenForDeveloperIdentityResponse
:: Int
-> GetOpenIdTokenForDeveloperIdentityResponse
getOpenIdTokenForDeveloperIdentityResponse pResponseStatus_ =
GetOpenIdTokenForDeveloperIdentityResponse'
{ _goitfdirsToken = Nothing
, _goitfdirsIdentityId = Nothing
, _goitfdirsResponseStatus = pResponseStatus_
}
goitfdirsToken :: Lens' GetOpenIdTokenForDeveloperIdentityResponse (Maybe Text)
goitfdirsToken = lens _goitfdirsToken (\ s a -> s{_goitfdirsToken = a});
goitfdirsIdentityId :: Lens' GetOpenIdTokenForDeveloperIdentityResponse (Maybe Text)
goitfdirsIdentityId = lens _goitfdirsIdentityId (\ s a -> s{_goitfdirsIdentityId = a});
goitfdirsResponseStatus :: Lens' GetOpenIdTokenForDeveloperIdentityResponse Int
goitfdirsResponseStatus = lens _goitfdirsResponseStatus (\ s a -> s{_goitfdirsResponseStatus = a});
instance NFData
GetOpenIdTokenForDeveloperIdentityResponse