{-# 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.ListUserImportJobs
(
listUserImportJobs
, ListUserImportJobs
, luijPaginationToken
, luijUserPoolId
, luijMaxResults
, listUserImportJobsResponse
, ListUserImportJobsResponse
, luijrsPaginationToken
, luijrsUserImportJobs
, luijrsResponseStatus
) 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 ListUserImportJobs = ListUserImportJobs'
{ _luijPaginationToken :: !(Maybe Text)
, _luijUserPoolId :: !Text
, _luijMaxResults :: !Nat
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listUserImportJobs
:: Text
-> Natural
-> ListUserImportJobs
listUserImportJobs pUserPoolId_ pMaxResults_ =
ListUserImportJobs'
{ _luijPaginationToken = Nothing
, _luijUserPoolId = pUserPoolId_
, _luijMaxResults = _Nat # pMaxResults_
}
luijPaginationToken :: Lens' ListUserImportJobs (Maybe Text)
luijPaginationToken = lens _luijPaginationToken (\ s a -> s{_luijPaginationToken = a});
luijUserPoolId :: Lens' ListUserImportJobs Text
luijUserPoolId = lens _luijUserPoolId (\ s a -> s{_luijUserPoolId = a});
luijMaxResults :: Lens' ListUserImportJobs Natural
luijMaxResults = lens _luijMaxResults (\ s a -> s{_luijMaxResults = a}) . _Nat;
instance AWSRequest ListUserImportJobs where
type Rs ListUserImportJobs =
ListUserImportJobsResponse
request = postJSON cognitoIdentityProvider
response
= receiveJSON
(\ s h x ->
ListUserImportJobsResponse' <$>
(x .?> "PaginationToken") <*>
(x .?> "UserImportJobs")
<*> (pure (fromEnum s)))
instance Hashable ListUserImportJobs
instance NFData ListUserImportJobs
instance ToHeaders ListUserImportJobs where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.ListUserImportJobs"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListUserImportJobs where
toJSON ListUserImportJobs'{..}
= object
(catMaybes
[("PaginationToken" .=) <$> _luijPaginationToken,
Just ("UserPoolId" .= _luijUserPoolId),
Just ("MaxResults" .= _luijMaxResults)])
instance ToPath ListUserImportJobs where
toPath = const "/"
instance ToQuery ListUserImportJobs where
toQuery = const mempty
data ListUserImportJobsResponse = ListUserImportJobsResponse'
{ _luijrsPaginationToken :: !(Maybe Text)
, _luijrsUserImportJobs :: !(Maybe (List1 UserImportJobType))
, _luijrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
listUserImportJobsResponse
:: Int
-> ListUserImportJobsResponse
listUserImportJobsResponse pResponseStatus_ =
ListUserImportJobsResponse'
{ _luijrsPaginationToken = Nothing
, _luijrsUserImportJobs = Nothing
, _luijrsResponseStatus = pResponseStatus_
}
luijrsPaginationToken :: Lens' ListUserImportJobsResponse (Maybe Text)
luijrsPaginationToken = lens _luijrsPaginationToken (\ s a -> s{_luijrsPaginationToken = a});
luijrsUserImportJobs :: Lens' ListUserImportJobsResponse (Maybe (NonEmpty UserImportJobType))
luijrsUserImportJobs = lens _luijrsUserImportJobs (\ s a -> s{_luijrsUserImportJobs = a}) . mapping _List1;
luijrsResponseStatus :: Lens' ListUserImportJobsResponse Int
luijrsResponseStatus = lens _luijrsResponseStatus (\ s a -> s{_luijrsResponseStatus = a});
instance NFData ListUserImportJobsResponse