{-# 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.Transcribe.ListVocabularies
(
listVocabularies
, ListVocabularies
, lvNameContains
, lvNextToken
, lvStateEquals
, lvMaxResults
, listVocabulariesResponse
, ListVocabulariesResponse
, lvrsVocabularies
, lvrsStatus
, lvrsNextToken
, lvrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.Transcribe.Types
import Network.AWS.Transcribe.Types.Product
data ListVocabularies = ListVocabularies'
{ _lvNameContains :: !(Maybe Text)
, _lvNextToken :: !(Maybe Text)
, _lvStateEquals :: !(Maybe VocabularyState)
, _lvMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listVocabularies
:: ListVocabularies
listVocabularies =
ListVocabularies'
{ _lvNameContains = Nothing
, _lvNextToken = Nothing
, _lvStateEquals = Nothing
, _lvMaxResults = Nothing
}
lvNameContains :: Lens' ListVocabularies (Maybe Text)
lvNameContains = lens _lvNameContains (\ s a -> s{_lvNameContains = a})
lvNextToken :: Lens' ListVocabularies (Maybe Text)
lvNextToken = lens _lvNextToken (\ s a -> s{_lvNextToken = a})
lvStateEquals :: Lens' ListVocabularies (Maybe VocabularyState)
lvStateEquals = lens _lvStateEquals (\ s a -> s{_lvStateEquals = a})
lvMaxResults :: Lens' ListVocabularies (Maybe Natural)
lvMaxResults = lens _lvMaxResults (\ s a -> s{_lvMaxResults = a}) . mapping _Nat
instance AWSRequest ListVocabularies where
type Rs ListVocabularies = ListVocabulariesResponse
request = postJSON transcribe
response
= receiveJSON
(\ s h x ->
ListVocabulariesResponse' <$>
(x .?> "Vocabularies" .!@ mempty) <*>
(x .?> "Status")
<*> (x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListVocabularies where
instance NFData ListVocabularies where
instance ToHeaders ListVocabularies where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Transcribe.ListVocabularies" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListVocabularies where
toJSON ListVocabularies'{..}
= object
(catMaybes
[("NameContains" .=) <$> _lvNameContains,
("NextToken" .=) <$> _lvNextToken,
("StateEquals" .=) <$> _lvStateEquals,
("MaxResults" .=) <$> _lvMaxResults])
instance ToPath ListVocabularies where
toPath = const "/"
instance ToQuery ListVocabularies where
toQuery = const mempty
data ListVocabulariesResponse = ListVocabulariesResponse'
{ _lvrsVocabularies :: !(Maybe [VocabularyInfo])
, _lvrsStatus :: !(Maybe TranscriptionJobStatus)
, _lvrsNextToken :: !(Maybe Text)
, _lvrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listVocabulariesResponse
:: Int
-> ListVocabulariesResponse
listVocabulariesResponse pResponseStatus_ =
ListVocabulariesResponse'
{ _lvrsVocabularies = Nothing
, _lvrsStatus = Nothing
, _lvrsNextToken = Nothing
, _lvrsResponseStatus = pResponseStatus_
}
lvrsVocabularies :: Lens' ListVocabulariesResponse [VocabularyInfo]
lvrsVocabularies = lens _lvrsVocabularies (\ s a -> s{_lvrsVocabularies = a}) . _Default . _Coerce
lvrsStatus :: Lens' ListVocabulariesResponse (Maybe TranscriptionJobStatus)
lvrsStatus = lens _lvrsStatus (\ s a -> s{_lvrsStatus = a})
lvrsNextToken :: Lens' ListVocabulariesResponse (Maybe Text)
lvrsNextToken = lens _lvrsNextToken (\ s a -> s{_lvrsNextToken = a})
lvrsResponseStatus :: Lens' ListVocabulariesResponse Int
lvrsResponseStatus = lens _lvrsResponseStatus (\ s a -> s{_lvrsResponseStatus = a})
instance NFData ListVocabulariesResponse where