module Network.AWS.CognitoIdentity.UnlinkIdentity
(
UnlinkIdentity
, unlinkIdentity
, uiIdentityId
, uiLogins
, uiLoginsToRemove
, UnlinkIdentityResponse
, unlinkIdentityResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CognitoIdentity.Types
import qualified GHC.Exts
data UnlinkIdentity = UnlinkIdentity
{ _uiIdentityId :: Text
, _uiLogins :: Map Text Text
, _uiLoginsToRemove :: List "Logins" Text
} deriving (Eq, Show)
unlinkIdentity :: Text
-> UnlinkIdentity
unlinkIdentity p1 = UnlinkIdentity
{ _uiIdentityId = p1
, _uiLogins = mempty
, _uiLoginsToRemove = mempty
}
uiIdentityId :: Lens' UnlinkIdentity Text
uiIdentityId = lens _uiIdentityId (\s a -> s { _uiIdentityId = a })
uiLogins :: Lens' UnlinkIdentity (HashMap Text Text)
uiLogins = lens _uiLogins (\s a -> s { _uiLogins = a }) . _Map
uiLoginsToRemove :: Lens' UnlinkIdentity [Text]
uiLoginsToRemove = lens _uiLoginsToRemove (\s a -> s { _uiLoginsToRemove = a }) . _List
data UnlinkIdentityResponse = UnlinkIdentityResponse
deriving (Eq, Ord, Show, Generic)
unlinkIdentityResponse :: UnlinkIdentityResponse
unlinkIdentityResponse = UnlinkIdentityResponse
instance ToPath UnlinkIdentity where
toPath = const "/"
instance ToQuery UnlinkIdentity where
toQuery = const mempty
instance ToHeaders UnlinkIdentity
instance ToJSON UnlinkIdentity where
toJSON UnlinkIdentity{..} = object
[ "IdentityId" .= _uiIdentityId
, "Logins" .= _uiLogins
, "LoginsToRemove" .= _uiLoginsToRemove
]
instance AWSRequest UnlinkIdentity where
type Sv UnlinkIdentity = CognitoIdentity
type Rs UnlinkIdentity = UnlinkIdentityResponse
request = post "UnlinkIdentity"
response = nullResponse UnlinkIdentityResponse