{-# 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.ListResourceServers
(
listResourceServers
, ListResourceServers
, lrsNextToken
, lrsMaxResults
, lrsUserPoolId
, listResourceServersResponse
, ListResourceServersResponse
, lrsrsNextToken
, lrsrsResponseStatus
, lrsrsResourceServers
) 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 ListResourceServers = ListResourceServers'
{ _lrsNextToken :: !(Maybe Text)
, _lrsMaxResults :: !(Maybe Nat)
, _lrsUserPoolId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listResourceServers
:: Text
-> ListResourceServers
listResourceServers pUserPoolId_ =
ListResourceServers'
{ _lrsNextToken = Nothing
, _lrsMaxResults = Nothing
, _lrsUserPoolId = pUserPoolId_
}
lrsNextToken :: Lens' ListResourceServers (Maybe Text)
lrsNextToken = lens _lrsNextToken (\ s a -> s{_lrsNextToken = a})
lrsMaxResults :: Lens' ListResourceServers (Maybe Natural)
lrsMaxResults = lens _lrsMaxResults (\ s a -> s{_lrsMaxResults = a}) . mapping _Nat
lrsUserPoolId :: Lens' ListResourceServers Text
lrsUserPoolId = lens _lrsUserPoolId (\ s a -> s{_lrsUserPoolId = a})
instance AWSRequest ListResourceServers where
type Rs ListResourceServers =
ListResourceServersResponse
request = postJSON cognitoIdentityProvider
response
= receiveJSON
(\ s h x ->
ListResourceServersResponse' <$>
(x .?> "NextToken") <*> (pure (fromEnum s)) <*>
(x .?> "ResourceServers" .!@ mempty))
instance Hashable ListResourceServers where
instance NFData ListResourceServers where
instance ToHeaders ListResourceServers where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.ListResourceServers"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListResourceServers where
toJSON ListResourceServers'{..}
= object
(catMaybes
[("NextToken" .=) <$> _lrsNextToken,
("MaxResults" .=) <$> _lrsMaxResults,
Just ("UserPoolId" .= _lrsUserPoolId)])
instance ToPath ListResourceServers where
toPath = const "/"
instance ToQuery ListResourceServers where
toQuery = const mempty
data ListResourceServersResponse = ListResourceServersResponse'
{ _lrsrsNextToken :: !(Maybe Text)
, _lrsrsResponseStatus :: !Int
, _lrsrsResourceServers :: ![ResourceServerType]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listResourceServersResponse
:: Int
-> ListResourceServersResponse
listResourceServersResponse pResponseStatus_ =
ListResourceServersResponse'
{ _lrsrsNextToken = Nothing
, _lrsrsResponseStatus = pResponseStatus_
, _lrsrsResourceServers = mempty
}
lrsrsNextToken :: Lens' ListResourceServersResponse (Maybe Text)
lrsrsNextToken = lens _lrsrsNextToken (\ s a -> s{_lrsrsNextToken = a})
lrsrsResponseStatus :: Lens' ListResourceServersResponse Int
lrsrsResponseStatus = lens _lrsrsResponseStatus (\ s a -> s{_lrsrsResponseStatus = a})
lrsrsResourceServers :: Lens' ListResourceServersResponse [ResourceServerType]
lrsrsResourceServers = lens _lrsrsResourceServers (\ s a -> s{_lrsrsResourceServers = a}) . _Coerce
instance NFData ListResourceServersResponse where