{-# 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.DescribeIdentityProvider
(
describeIdentityProvider
, DescribeIdentityProvider
, dipUserPoolId
, dipProviderName
, describeIdentityProviderResponse
, DescribeIdentityProviderResponse
, diprsResponseStatus
, diprsIdentityProvider
) 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 DescribeIdentityProvider = DescribeIdentityProvider'
{ _dipUserPoolId :: !Text
, _dipProviderName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeIdentityProvider
:: Text
-> Text
-> DescribeIdentityProvider
describeIdentityProvider pUserPoolId_ pProviderName_ =
DescribeIdentityProvider'
{_dipUserPoolId = pUserPoolId_, _dipProviderName = pProviderName_}
dipUserPoolId :: Lens' DescribeIdentityProvider Text
dipUserPoolId = lens _dipUserPoolId (\ s a -> s{_dipUserPoolId = a})
dipProviderName :: Lens' DescribeIdentityProvider Text
dipProviderName = lens _dipProviderName (\ s a -> s{_dipProviderName = a})
instance AWSRequest DescribeIdentityProvider where
type Rs DescribeIdentityProvider =
DescribeIdentityProviderResponse
request = postJSON cognitoIdentityProvider
response
= receiveJSON
(\ s h x ->
DescribeIdentityProviderResponse' <$>
(pure (fromEnum s)) <*> (x .:> "IdentityProvider"))
instance Hashable DescribeIdentityProvider where
instance NFData DescribeIdentityProvider where
instance ToHeaders DescribeIdentityProvider where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.DescribeIdentityProvider"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeIdentityProvider where
toJSON DescribeIdentityProvider'{..}
= object
(catMaybes
[Just ("UserPoolId" .= _dipUserPoolId),
Just ("ProviderName" .= _dipProviderName)])
instance ToPath DescribeIdentityProvider where
toPath = const "/"
instance ToQuery DescribeIdentityProvider where
toQuery = const mempty
data DescribeIdentityProviderResponse = DescribeIdentityProviderResponse'
{ _diprsResponseStatus :: !Int
, _diprsIdentityProvider :: !IdentityProviderType
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeIdentityProviderResponse
:: Int
-> IdentityProviderType
-> DescribeIdentityProviderResponse
describeIdentityProviderResponse pResponseStatus_ pIdentityProvider_ =
DescribeIdentityProviderResponse'
{ _diprsResponseStatus = pResponseStatus_
, _diprsIdentityProvider = pIdentityProvider_
}
diprsResponseStatus :: Lens' DescribeIdentityProviderResponse Int
diprsResponseStatus = lens _diprsResponseStatus (\ s a -> s{_diprsResponseStatus = a})
diprsIdentityProvider :: Lens' DescribeIdentityProviderResponse IdentityProviderType
diprsIdentityProvider = lens _diprsIdentityProvider (\ s a -> s{_diprsIdentityProvider = a})
instance NFData DescribeIdentityProviderResponse
where