{-# 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.ListTranscriptionJobs
(
listTranscriptionJobs
, ListTranscriptionJobs
, ltjStatus
, ltjNextToken
, ltjJobNameContains
, ltjMaxResults
, listTranscriptionJobsResponse
, ListTranscriptionJobsResponse
, ltjrsStatus
, ltjrsNextToken
, ltjrsTranscriptionJobSummaries
, ltjrsResponseStatus
) 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 ListTranscriptionJobs = ListTranscriptionJobs'
{ _ltjStatus :: !(Maybe TranscriptionJobStatus)
, _ltjNextToken :: !(Maybe Text)
, _ltjJobNameContains :: !(Maybe Text)
, _ltjMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTranscriptionJobs
:: ListTranscriptionJobs
listTranscriptionJobs =
ListTranscriptionJobs'
{ _ltjStatus = Nothing
, _ltjNextToken = Nothing
, _ltjJobNameContains = Nothing
, _ltjMaxResults = Nothing
}
ltjStatus :: Lens' ListTranscriptionJobs (Maybe TranscriptionJobStatus)
ltjStatus = lens _ltjStatus (\ s a -> s{_ltjStatus = a})
ltjNextToken :: Lens' ListTranscriptionJobs (Maybe Text)
ltjNextToken = lens _ltjNextToken (\ s a -> s{_ltjNextToken = a})
ltjJobNameContains :: Lens' ListTranscriptionJobs (Maybe Text)
ltjJobNameContains = lens _ltjJobNameContains (\ s a -> s{_ltjJobNameContains = a})
ltjMaxResults :: Lens' ListTranscriptionJobs (Maybe Natural)
ltjMaxResults = lens _ltjMaxResults (\ s a -> s{_ltjMaxResults = a}) . mapping _Nat
instance AWSRequest ListTranscriptionJobs where
type Rs ListTranscriptionJobs =
ListTranscriptionJobsResponse
request = postJSON transcribe
response
= receiveJSON
(\ s h x ->
ListTranscriptionJobsResponse' <$>
(x .?> "Status") <*> (x .?> "NextToken") <*>
(x .?> "TranscriptionJobSummaries" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListTranscriptionJobs where
instance NFData ListTranscriptionJobs where
instance ToHeaders ListTranscriptionJobs where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Transcribe.ListTranscriptionJobs" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListTranscriptionJobs where
toJSON ListTranscriptionJobs'{..}
= object
(catMaybes
[("Status" .=) <$> _ltjStatus,
("NextToken" .=) <$> _ltjNextToken,
("JobNameContains" .=) <$> _ltjJobNameContains,
("MaxResults" .=) <$> _ltjMaxResults])
instance ToPath ListTranscriptionJobs where
toPath = const "/"
instance ToQuery ListTranscriptionJobs where
toQuery = const mempty
data ListTranscriptionJobsResponse = ListTranscriptionJobsResponse'
{ _ltjrsStatus :: !(Maybe TranscriptionJobStatus)
, _ltjrsNextToken :: !(Maybe Text)
, _ltjrsTranscriptionJobSummaries :: !(Maybe [TranscriptionJobSummary])
, _ltjrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTranscriptionJobsResponse
:: Int
-> ListTranscriptionJobsResponse
listTranscriptionJobsResponse pResponseStatus_ =
ListTranscriptionJobsResponse'
{ _ltjrsStatus = Nothing
, _ltjrsNextToken = Nothing
, _ltjrsTranscriptionJobSummaries = Nothing
, _ltjrsResponseStatus = pResponseStatus_
}
ltjrsStatus :: Lens' ListTranscriptionJobsResponse (Maybe TranscriptionJobStatus)
ltjrsStatus = lens _ltjrsStatus (\ s a -> s{_ltjrsStatus = a})
ltjrsNextToken :: Lens' ListTranscriptionJobsResponse (Maybe Text)
ltjrsNextToken = lens _ltjrsNextToken (\ s a -> s{_ltjrsNextToken = a})
ltjrsTranscriptionJobSummaries :: Lens' ListTranscriptionJobsResponse [TranscriptionJobSummary]
ltjrsTranscriptionJobSummaries = lens _ltjrsTranscriptionJobSummaries (\ s a -> s{_ltjrsTranscriptionJobSummaries = a}) . _Default . _Coerce
ltjrsResponseStatus :: Lens' ListTranscriptionJobsResponse Int
ltjrsResponseStatus = lens _ltjrsResponseStatus (\ s a -> s{_ltjrsResponseStatus = a})
instance NFData ListTranscriptionJobsResponse where