{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Module : Network.AWS.CognitoIdentity.ListIdentities -- Copyright : (c) 2013-2014 Brendan Hay -- License : This Source Code Form is subject to the terms of -- the Mozilla Public License, v. 2.0. -- A copy of the MPL can be found in the LICENSE file or -- you can obtain it at http://mozilla.org/MPL/2.0/. -- Maintainer : Brendan Hay -- Stability : experimental -- Portability : non-portable (GHC extensions) -- -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | Lists the identities in a pool. -- -- module Network.AWS.CognitoIdentity.ListIdentities ( -- * Request ListIdentities -- ** Request constructor , listIdentities -- ** Request lenses , liIdentityPoolId , liMaxResults , liNextToken -- * Response , ListIdentitiesResponse -- ** Response constructor , listIdentitiesResponse -- ** Response lenses , lirIdentities , lirIdentityPoolId , lirNextToken ) where import Network.AWS.Prelude import Network.AWS.Request.JSON import Network.AWS.CognitoIdentity.Types import qualified GHC.Exts data ListIdentities = ListIdentities { _liIdentityPoolId :: Text , _liMaxResults :: Nat , _liNextToken :: Maybe Text } deriving (Eq, Ord, Show) -- | 'ListIdentities' constructor. -- -- The fields accessible through corresponding lenses are: -- -- * 'liIdentityPoolId' @::@ 'Text' -- -- * 'liMaxResults' @::@ 'Natural' -- -- * 'liNextToken' @::@ 'Maybe' 'Text' -- listIdentities :: Text -- ^ 'liIdentityPoolId' -> Natural -- ^ 'liMaxResults' -> ListIdentities listIdentities p1 p2 = ListIdentities { _liIdentityPoolId = p1 , _liMaxResults = withIso _Nat (const id) p2 , _liNextToken = Nothing } -- | An identity pool ID in the format REGION:GUID. liIdentityPoolId :: Lens' ListIdentities Text liIdentityPoolId = lens _liIdentityPoolId (\s a -> s { _liIdentityPoolId = a }) -- | The maximum number of identities to return. liMaxResults :: Lens' ListIdentities Natural liMaxResults = lens _liMaxResults (\s a -> s { _liMaxResults = a }) . _Nat -- | A pagination token. liNextToken :: Lens' ListIdentities (Maybe Text) liNextToken = lens _liNextToken (\s a -> s { _liNextToken = a }) data ListIdentitiesResponse = ListIdentitiesResponse { _lirIdentities :: List "Identities" IdentityDescription , _lirIdentityPoolId :: Maybe Text , _lirNextToken :: Maybe Text } deriving (Eq, Show) -- | 'ListIdentitiesResponse' constructor. -- -- The fields accessible through corresponding lenses are: -- -- * 'lirIdentities' @::@ ['IdentityDescription'] -- -- * 'lirIdentityPoolId' @::@ 'Maybe' 'Text' -- -- * 'lirNextToken' @::@ 'Maybe' 'Text' -- listIdentitiesResponse :: ListIdentitiesResponse listIdentitiesResponse = ListIdentitiesResponse { _lirIdentityPoolId = Nothing , _lirIdentities = mempty , _lirNextToken = Nothing } -- | An object containing a set of identities and associated mappings. lirIdentities :: Lens' ListIdentitiesResponse [IdentityDescription] lirIdentities = lens _lirIdentities (\s a -> s { _lirIdentities = a }) . _List -- | An identity pool ID in the format REGION:GUID. lirIdentityPoolId :: Lens' ListIdentitiesResponse (Maybe Text) lirIdentityPoolId = lens _lirIdentityPoolId (\s a -> s { _lirIdentityPoolId = a }) -- | A pagination token. lirNextToken :: Lens' ListIdentitiesResponse (Maybe Text) lirNextToken = lens _lirNextToken (\s a -> s { _lirNextToken = a }) instance ToPath ListIdentities where toPath = const "/" instance ToQuery ListIdentities where toQuery = const mempty instance ToHeaders ListIdentities instance ToJSON ListIdentities where toJSON ListIdentities{..} = object [ "IdentityPoolId" .= _liIdentityPoolId , "MaxResults" .= _liMaxResults , "NextToken" .= _liNextToken ] instance AWSRequest ListIdentities where type Sv ListIdentities = CognitoIdentity type Rs ListIdentities = ListIdentitiesResponse request = post "ListIdentities" response = jsonResponse instance FromJSON ListIdentitiesResponse where parseJSON = withObject "ListIdentitiesResponse" $ \o -> ListIdentitiesResponse <$> o .: "Identities" <*> o .:? "IdentityPoolId" <*> o .:? "NextToken"