module Network.AWS.CognitoIdentity.GetOpenIdToken
(
GetOpenIdToken
, getOpenIdToken
, goitIdentityId
, goitLogins
, GetOpenIdTokenResponse
, getOpenIdTokenResponse
, goitrIdentityId
, goitrToken
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CognitoIdentity.Types
import qualified GHC.Exts
data GetOpenIdToken = GetOpenIdToken
{ _goitIdentityId :: Text
, _goitLogins :: Map Text Text
} deriving (Eq, Show)
getOpenIdToken :: Text
-> GetOpenIdToken
getOpenIdToken p1 = GetOpenIdToken
{ _goitIdentityId = p1
, _goitLogins = mempty
}
goitIdentityId :: Lens' GetOpenIdToken Text
goitIdentityId = lens _goitIdentityId (\s a -> s { _goitIdentityId = a })
goitLogins :: Lens' GetOpenIdToken (HashMap Text Text)
goitLogins = lens _goitLogins (\s a -> s { _goitLogins = a }) . _Map
data GetOpenIdTokenResponse = GetOpenIdTokenResponse
{ _goitrIdentityId :: Maybe Text
, _goitrToken :: Maybe Text
} deriving (Eq, Ord, Show)
getOpenIdTokenResponse :: GetOpenIdTokenResponse
getOpenIdTokenResponse = GetOpenIdTokenResponse
{ _goitrIdentityId = Nothing
, _goitrToken = Nothing
}
goitrIdentityId :: Lens' GetOpenIdTokenResponse (Maybe Text)
goitrIdentityId = lens _goitrIdentityId (\s a -> s { _goitrIdentityId = a })
goitrToken :: Lens' GetOpenIdTokenResponse (Maybe Text)
goitrToken = lens _goitrToken (\s a -> s { _goitrToken = a })
instance ToPath GetOpenIdToken where
toPath = const "/"
instance ToQuery GetOpenIdToken where
toQuery = const mempty
instance ToHeaders GetOpenIdToken
instance ToJSON GetOpenIdToken where
toJSON GetOpenIdToken{..} = object
[ "IdentityId" .= _goitIdentityId
, "Logins" .= _goitLogins
]
instance AWSRequest GetOpenIdToken where
type Sv GetOpenIdToken = CognitoIdentity
type Rs GetOpenIdToken = GetOpenIdTokenResponse
request = post "GetOpenIdToken"
response = jsonResponse
instance FromJSON GetOpenIdTokenResponse where
parseJSON = withObject "GetOpenIdTokenResponse" $ \o -> GetOpenIdTokenResponse
<$> o .:? "IdentityId"
<*> o .:? "Token"