{-# 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.DescribeUserPool
(
describeUserPool
, DescribeUserPool
, dUserPoolId
, describeUserPoolResponse
, DescribeUserPoolResponse
, duprsUserPool
, duprsResponseStatus
) 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
newtype DescribeUserPool = DescribeUserPool'
{ _dUserPoolId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeUserPool
:: Text
-> DescribeUserPool
describeUserPool pUserPoolId_ = DescribeUserPool' {_dUserPoolId = pUserPoolId_}
dUserPoolId :: Lens' DescribeUserPool Text
dUserPoolId = lens _dUserPoolId (\ s a -> s{_dUserPoolId = a})
instance AWSRequest DescribeUserPool where
type Rs DescribeUserPool = DescribeUserPoolResponse
request = postJSON cognitoIdentityProvider
response
= receiveJSON
(\ s h x ->
DescribeUserPoolResponse' <$>
(x .?> "UserPool") <*> (pure (fromEnum s)))
instance Hashable DescribeUserPool where
instance NFData DescribeUserPool where
instance ToHeaders DescribeUserPool where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.DescribeUserPool"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeUserPool where
toJSON DescribeUserPool'{..}
= object
(catMaybes [Just ("UserPoolId" .= _dUserPoolId)])
instance ToPath DescribeUserPool where
toPath = const "/"
instance ToQuery DescribeUserPool where
toQuery = const mempty
data DescribeUserPoolResponse = DescribeUserPoolResponse'
{ _duprsUserPool :: !(Maybe UserPoolType)
, _duprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeUserPoolResponse
:: Int
-> DescribeUserPoolResponse
describeUserPoolResponse pResponseStatus_ =
DescribeUserPoolResponse'
{_duprsUserPool = Nothing, _duprsResponseStatus = pResponseStatus_}
duprsUserPool :: Lens' DescribeUserPoolResponse (Maybe UserPoolType)
duprsUserPool = lens _duprsUserPool (\ s a -> s{_duprsUserPool = a})
duprsResponseStatus :: Lens' DescribeUserPoolResponse Int
duprsResponseStatus = lens _duprsResponseStatus (\ s a -> s{_duprsResponseStatus = a})
instance NFData DescribeUserPoolResponse where