{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.Polly.ListLexicons -- Copyright : (c) 2013-2017 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns a list of pronunciation lexicons stored in an AWS Region. For more information, see . -- -- module Network.AWS.Polly.ListLexicons ( -- * Creating a Request listLexicons , ListLexicons -- * Request Lenses , llNextToken -- * Destructuring the Response , listLexiconsResponse , ListLexiconsResponse -- * Response Lenses , llrsLexicons , llrsNextToken , llrsResponseStatus ) where import Network.AWS.Lens import Network.AWS.Polly.Types import Network.AWS.Polly.Types.Product import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'listLexicons' smart constructor. newtype ListLexicons = ListLexicons' { _llNextToken :: Maybe Text } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'ListLexicons' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'llNextToken' - An opaque pagination token returned from previous @ListLexicons@ operation. If present, indicates where to continue the list of lexicons. listLexicons :: ListLexicons listLexicons = ListLexicons' {_llNextToken = Nothing} -- | An opaque pagination token returned from previous @ListLexicons@ operation. If present, indicates where to continue the list of lexicons. llNextToken :: Lens' ListLexicons (Maybe Text) llNextToken = lens _llNextToken (\ s a -> s{_llNextToken = a}); instance AWSRequest ListLexicons where type Rs ListLexicons = ListLexiconsResponse request = get polly response = receiveJSON (\ s h x -> ListLexiconsResponse' <$> (x .?> "Lexicons" .!@ mempty) <*> (x .?> "NextToken") <*> (pure (fromEnum s))) instance Hashable ListLexicons where instance NFData ListLexicons where instance ToHeaders ListLexicons where toHeaders = const mempty instance ToPath ListLexicons where toPath = const "/v1/lexicons" instance ToQuery ListLexicons where toQuery ListLexicons'{..} = mconcat ["NextToken" =: _llNextToken] -- | /See:/ 'listLexiconsResponse' smart constructor. data ListLexiconsResponse = ListLexiconsResponse' { _llrsLexicons :: !(Maybe [LexiconDescription]) , _llrsNextToken :: !(Maybe Text) , _llrsResponseStatus :: !Int } deriving (Eq, Show, Data, Typeable, Generic) -- | Creates a value of 'ListLexiconsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'llrsLexicons' - A list of lexicon names and attributes. -- -- * 'llrsNextToken' - The pagination token to use in the next request to continue the listing of lexicons. @NextToken@ is returned only if the response is truncated. -- -- * 'llrsResponseStatus' - -- | The response status code. listLexiconsResponse :: Int -- ^ 'llrsResponseStatus' -> ListLexiconsResponse listLexiconsResponse pResponseStatus_ = ListLexiconsResponse' { _llrsLexicons = Nothing , _llrsNextToken = Nothing , _llrsResponseStatus = pResponseStatus_ } -- | A list of lexicon names and attributes. llrsLexicons :: Lens' ListLexiconsResponse [LexiconDescription] llrsLexicons = lens _llrsLexicons (\ s a -> s{_llrsLexicons = a}) . _Default . _Coerce; -- | The pagination token to use in the next request to continue the listing of lexicons. @NextToken@ is returned only if the response is truncated. llrsNextToken :: Lens' ListLexiconsResponse (Maybe Text) llrsNextToken = lens _llrsNextToken (\ s a -> s{_llrsNextToken = a}); -- | -- | The response status code. llrsResponseStatus :: Lens' ListLexiconsResponse Int llrsResponseStatus = lens _llrsResponseStatus (\ s a -> s{_llrsResponseStatus = a}); instance NFData ListLexiconsResponse where