{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Polly.ListSpeechSynthesisTasks
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns a list of SpeechSynthesisTask objects ordered by their creation
-- date. This operation can filter the tasks by their status, for example,
-- allowing users to list only tasks that are completed.
--
-- This operation returns paginated results.
module Amazonka.Polly.ListSpeechSynthesisTasks
  ( -- * Creating a Request
    ListSpeechSynthesisTasks (..),
    newListSpeechSynthesisTasks,

    -- * Request Lenses
    listSpeechSynthesisTasks_maxResults,
    listSpeechSynthesisTasks_nextToken,
    listSpeechSynthesisTasks_status,

    -- * Destructuring the Response
    ListSpeechSynthesisTasksResponse (..),
    newListSpeechSynthesisTasksResponse,

    -- * Response Lenses
    listSpeechSynthesisTasksResponse_nextToken,
    listSpeechSynthesisTasksResponse_synthesisTasks,
    listSpeechSynthesisTasksResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Polly.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newListSpeechSynthesisTasks' smart constructor.
data ListSpeechSynthesisTasks = ListSpeechSynthesisTasks'
  { -- | Maximum number of speech synthesis tasks returned in a List operation.
    ListSpeechSynthesisTasks -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The pagination token to use in the next request to continue the listing
    -- of speech synthesis tasks.
    ListSpeechSynthesisTasks -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | Status of the speech synthesis tasks returned in a List operation
    ListSpeechSynthesisTasks -> Maybe TaskStatus
status :: Prelude.Maybe TaskStatus
  }
  deriving (ListSpeechSynthesisTasks -> ListSpeechSynthesisTasks -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListSpeechSynthesisTasks -> ListSpeechSynthesisTasks -> Bool
$c/= :: ListSpeechSynthesisTasks -> ListSpeechSynthesisTasks -> Bool
== :: ListSpeechSynthesisTasks -> ListSpeechSynthesisTasks -> Bool
$c== :: ListSpeechSynthesisTasks -> ListSpeechSynthesisTasks -> Bool
Prelude.Eq, ReadPrec [ListSpeechSynthesisTasks]
ReadPrec ListSpeechSynthesisTasks
Int -> ReadS ListSpeechSynthesisTasks
ReadS [ListSpeechSynthesisTasks]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListSpeechSynthesisTasks]
$creadListPrec :: ReadPrec [ListSpeechSynthesisTasks]
readPrec :: ReadPrec ListSpeechSynthesisTasks
$creadPrec :: ReadPrec ListSpeechSynthesisTasks
readList :: ReadS [ListSpeechSynthesisTasks]
$creadList :: ReadS [ListSpeechSynthesisTasks]
readsPrec :: Int -> ReadS ListSpeechSynthesisTasks
$creadsPrec :: Int -> ReadS ListSpeechSynthesisTasks
Prelude.Read, Int -> ListSpeechSynthesisTasks -> ShowS
[ListSpeechSynthesisTasks] -> ShowS
ListSpeechSynthesisTasks -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListSpeechSynthesisTasks] -> ShowS
$cshowList :: [ListSpeechSynthesisTasks] -> ShowS
show :: ListSpeechSynthesisTasks -> String
$cshow :: ListSpeechSynthesisTasks -> String
showsPrec :: Int -> ListSpeechSynthesisTasks -> ShowS
$cshowsPrec :: Int -> ListSpeechSynthesisTasks -> ShowS
Prelude.Show, forall x.
Rep ListSpeechSynthesisTasks x -> ListSpeechSynthesisTasks
forall x.
ListSpeechSynthesisTasks -> Rep ListSpeechSynthesisTasks x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListSpeechSynthesisTasks x -> ListSpeechSynthesisTasks
$cfrom :: forall x.
ListSpeechSynthesisTasks -> Rep ListSpeechSynthesisTasks x
Prelude.Generic)

-- |
-- Create a value of 'ListSpeechSynthesisTasks' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'maxResults', 'listSpeechSynthesisTasks_maxResults' - Maximum number of speech synthesis tasks returned in a List operation.
--
-- 'nextToken', 'listSpeechSynthesisTasks_nextToken' - The pagination token to use in the next request to continue the listing
-- of speech synthesis tasks.
--
-- 'status', 'listSpeechSynthesisTasks_status' - Status of the speech synthesis tasks returned in a List operation
newListSpeechSynthesisTasks ::
  ListSpeechSynthesisTasks
newListSpeechSynthesisTasks :: ListSpeechSynthesisTasks
newListSpeechSynthesisTasks =
  ListSpeechSynthesisTasks'
    { $sel:maxResults:ListSpeechSynthesisTasks' :: Maybe Natural
maxResults =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListSpeechSynthesisTasks' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:status:ListSpeechSynthesisTasks' :: Maybe TaskStatus
status = forall a. Maybe a
Prelude.Nothing
    }

-- | Maximum number of speech synthesis tasks returned in a List operation.
listSpeechSynthesisTasks_maxResults :: Lens.Lens' ListSpeechSynthesisTasks (Prelude.Maybe Prelude.Natural)
listSpeechSynthesisTasks_maxResults :: Lens' ListSpeechSynthesisTasks (Maybe Natural)
listSpeechSynthesisTasks_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSpeechSynthesisTasks' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListSpeechSynthesisTasks
s@ListSpeechSynthesisTasks' {} Maybe Natural
a -> ListSpeechSynthesisTasks
s {$sel:maxResults:ListSpeechSynthesisTasks' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListSpeechSynthesisTasks)

-- | The pagination token to use in the next request to continue the listing
-- of speech synthesis tasks.
listSpeechSynthesisTasks_nextToken :: Lens.Lens' ListSpeechSynthesisTasks (Prelude.Maybe Prelude.Text)
listSpeechSynthesisTasks_nextToken :: Lens' ListSpeechSynthesisTasks (Maybe Text)
listSpeechSynthesisTasks_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSpeechSynthesisTasks' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListSpeechSynthesisTasks
s@ListSpeechSynthesisTasks' {} Maybe Text
a -> ListSpeechSynthesisTasks
s {$sel:nextToken:ListSpeechSynthesisTasks' :: Maybe Text
nextToken = Maybe Text
a} :: ListSpeechSynthesisTasks)

-- | Status of the speech synthesis tasks returned in a List operation
listSpeechSynthesisTasks_status :: Lens.Lens' ListSpeechSynthesisTasks (Prelude.Maybe TaskStatus)
listSpeechSynthesisTasks_status :: Lens' ListSpeechSynthesisTasks (Maybe TaskStatus)
listSpeechSynthesisTasks_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSpeechSynthesisTasks' {Maybe TaskStatus
status :: Maybe TaskStatus
$sel:status:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe TaskStatus
status} -> Maybe TaskStatus
status) (\s :: ListSpeechSynthesisTasks
s@ListSpeechSynthesisTasks' {} Maybe TaskStatus
a -> ListSpeechSynthesisTasks
s {$sel:status:ListSpeechSynthesisTasks' :: Maybe TaskStatus
status = Maybe TaskStatus
a} :: ListSpeechSynthesisTasks)

instance Core.AWSPager ListSpeechSynthesisTasks where
  page :: ListSpeechSynthesisTasks
-> AWSResponse ListSpeechSynthesisTasks
-> Maybe ListSpeechSynthesisTasks
page ListSpeechSynthesisTasks
rq AWSResponse ListSpeechSynthesisTasks
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListSpeechSynthesisTasks
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListSpeechSynthesisTasksResponse (Maybe Text)
listSpeechSynthesisTasksResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListSpeechSynthesisTasks
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListSpeechSynthesisTasksResponse (Maybe [SynthesisTask])
listSpeechSynthesisTasksResponse_synthesisTasks
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ ListSpeechSynthesisTasks
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListSpeechSynthesisTasks (Maybe Text)
listSpeechSynthesisTasks_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListSpeechSynthesisTasks
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListSpeechSynthesisTasksResponse (Maybe Text)
listSpeechSynthesisTasksResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest ListSpeechSynthesisTasks where
  type
    AWSResponse ListSpeechSynthesisTasks =
      ListSpeechSynthesisTasksResponse
  request :: (Service -> Service)
-> ListSpeechSynthesisTasks -> Request ListSpeechSynthesisTasks
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListSpeechSynthesisTasks
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListSpeechSynthesisTasks)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe [SynthesisTask] -> Int -> ListSpeechSynthesisTasksResponse
ListSpeechSynthesisTasksResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"NextToken")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SynthesisTasks" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable ListSpeechSynthesisTasks where
  hashWithSalt :: Int -> ListSpeechSynthesisTasks -> Int
hashWithSalt Int
_salt ListSpeechSynthesisTasks' {Maybe Natural
Maybe Text
Maybe TaskStatus
status :: Maybe TaskStatus
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:status:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe TaskStatus
$sel:nextToken:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe Text
$sel:maxResults:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe Natural
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TaskStatus
status

instance Prelude.NFData ListSpeechSynthesisTasks where
  rnf :: ListSpeechSynthesisTasks -> ()
rnf ListSpeechSynthesisTasks' {Maybe Natural
Maybe Text
Maybe TaskStatus
status :: Maybe TaskStatus
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:status:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe TaskStatus
$sel:nextToken:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe Text
$sel:maxResults:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe Natural
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TaskStatus
status

instance Data.ToHeaders ListSpeechSynthesisTasks where
  toHeaders :: ListSpeechSynthesisTasks -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance Data.ToPath ListSpeechSynthesisTasks where
  toPath :: ListSpeechSynthesisTasks -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/v1/synthesisTasks"

instance Data.ToQuery ListSpeechSynthesisTasks where
  toQuery :: ListSpeechSynthesisTasks -> QueryString
toQuery ListSpeechSynthesisTasks' {Maybe Natural
Maybe Text
Maybe TaskStatus
status :: Maybe TaskStatus
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:status:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe TaskStatus
$sel:nextToken:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe Text
$sel:maxResults:ListSpeechSynthesisTasks' :: ListSpeechSynthesisTasks -> Maybe Natural
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"MaxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
maxResults,
        ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken,
        ByteString
"Status" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe TaskStatus
status
      ]

-- | /See:/ 'newListSpeechSynthesisTasksResponse' smart constructor.
data ListSpeechSynthesisTasksResponse = ListSpeechSynthesisTasksResponse'
  { -- | An opaque pagination token returned from the previous List operation in
    -- this request. If present, this indicates where to continue the listing.
    ListSpeechSynthesisTasksResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | List of SynthesisTask objects that provides information from the
    -- specified task in the list request, including output format, creation
    -- time, task status, and so on.
    ListSpeechSynthesisTasksResponse -> Maybe [SynthesisTask]
synthesisTasks :: Prelude.Maybe [SynthesisTask],
    -- | The response's http status code.
    ListSpeechSynthesisTasksResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListSpeechSynthesisTasksResponse
-> ListSpeechSynthesisTasksResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListSpeechSynthesisTasksResponse
-> ListSpeechSynthesisTasksResponse -> Bool
$c/= :: ListSpeechSynthesisTasksResponse
-> ListSpeechSynthesisTasksResponse -> Bool
== :: ListSpeechSynthesisTasksResponse
-> ListSpeechSynthesisTasksResponse -> Bool
$c== :: ListSpeechSynthesisTasksResponse
-> ListSpeechSynthesisTasksResponse -> Bool
Prelude.Eq, ReadPrec [ListSpeechSynthesisTasksResponse]
ReadPrec ListSpeechSynthesisTasksResponse
Int -> ReadS ListSpeechSynthesisTasksResponse
ReadS [ListSpeechSynthesisTasksResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListSpeechSynthesisTasksResponse]
$creadListPrec :: ReadPrec [ListSpeechSynthesisTasksResponse]
readPrec :: ReadPrec ListSpeechSynthesisTasksResponse
$creadPrec :: ReadPrec ListSpeechSynthesisTasksResponse
readList :: ReadS [ListSpeechSynthesisTasksResponse]
$creadList :: ReadS [ListSpeechSynthesisTasksResponse]
readsPrec :: Int -> ReadS ListSpeechSynthesisTasksResponse
$creadsPrec :: Int -> ReadS ListSpeechSynthesisTasksResponse
Prelude.Read, Int -> ListSpeechSynthesisTasksResponse -> ShowS
[ListSpeechSynthesisTasksResponse] -> ShowS
ListSpeechSynthesisTasksResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListSpeechSynthesisTasksResponse] -> ShowS
$cshowList :: [ListSpeechSynthesisTasksResponse] -> ShowS
show :: ListSpeechSynthesisTasksResponse -> String
$cshow :: ListSpeechSynthesisTasksResponse -> String
showsPrec :: Int -> ListSpeechSynthesisTasksResponse -> ShowS
$cshowsPrec :: Int -> ListSpeechSynthesisTasksResponse -> ShowS
Prelude.Show, forall x.
Rep ListSpeechSynthesisTasksResponse x
-> ListSpeechSynthesisTasksResponse
forall x.
ListSpeechSynthesisTasksResponse
-> Rep ListSpeechSynthesisTasksResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListSpeechSynthesisTasksResponse x
-> ListSpeechSynthesisTasksResponse
$cfrom :: forall x.
ListSpeechSynthesisTasksResponse
-> Rep ListSpeechSynthesisTasksResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListSpeechSynthesisTasksResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'nextToken', 'listSpeechSynthesisTasksResponse_nextToken' - An opaque pagination token returned from the previous List operation in
-- this request. If present, this indicates where to continue the listing.
--
-- 'synthesisTasks', 'listSpeechSynthesisTasksResponse_synthesisTasks' - List of SynthesisTask objects that provides information from the
-- specified task in the list request, including output format, creation
-- time, task status, and so on.
--
-- 'httpStatus', 'listSpeechSynthesisTasksResponse_httpStatus' - The response's http status code.
newListSpeechSynthesisTasksResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListSpeechSynthesisTasksResponse
newListSpeechSynthesisTasksResponse :: Int -> ListSpeechSynthesisTasksResponse
newListSpeechSynthesisTasksResponse Int
pHttpStatus_ =
  ListSpeechSynthesisTasksResponse'
    { $sel:nextToken:ListSpeechSynthesisTasksResponse' :: Maybe Text
nextToken =
        forall a. Maybe a
Prelude.Nothing,
      $sel:synthesisTasks:ListSpeechSynthesisTasksResponse' :: Maybe [SynthesisTask]
synthesisTasks = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListSpeechSynthesisTasksResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | An opaque pagination token returned from the previous List operation in
-- this request. If present, this indicates where to continue the listing.
listSpeechSynthesisTasksResponse_nextToken :: Lens.Lens' ListSpeechSynthesisTasksResponse (Prelude.Maybe Prelude.Text)
listSpeechSynthesisTasksResponse_nextToken :: Lens' ListSpeechSynthesisTasksResponse (Maybe Text)
listSpeechSynthesisTasksResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSpeechSynthesisTasksResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListSpeechSynthesisTasksResponse' :: ListSpeechSynthesisTasksResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListSpeechSynthesisTasksResponse
s@ListSpeechSynthesisTasksResponse' {} Maybe Text
a -> ListSpeechSynthesisTasksResponse
s {$sel:nextToken:ListSpeechSynthesisTasksResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListSpeechSynthesisTasksResponse)

-- | List of SynthesisTask objects that provides information from the
-- specified task in the list request, including output format, creation
-- time, task status, and so on.
listSpeechSynthesisTasksResponse_synthesisTasks :: Lens.Lens' ListSpeechSynthesisTasksResponse (Prelude.Maybe [SynthesisTask])
listSpeechSynthesisTasksResponse_synthesisTasks :: Lens' ListSpeechSynthesisTasksResponse (Maybe [SynthesisTask])
listSpeechSynthesisTasksResponse_synthesisTasks = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSpeechSynthesisTasksResponse' {Maybe [SynthesisTask]
synthesisTasks :: Maybe [SynthesisTask]
$sel:synthesisTasks:ListSpeechSynthesisTasksResponse' :: ListSpeechSynthesisTasksResponse -> Maybe [SynthesisTask]
synthesisTasks} -> Maybe [SynthesisTask]
synthesisTasks) (\s :: ListSpeechSynthesisTasksResponse
s@ListSpeechSynthesisTasksResponse' {} Maybe [SynthesisTask]
a -> ListSpeechSynthesisTasksResponse
s {$sel:synthesisTasks:ListSpeechSynthesisTasksResponse' :: Maybe [SynthesisTask]
synthesisTasks = Maybe [SynthesisTask]
a} :: ListSpeechSynthesisTasksResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The response's http status code.
listSpeechSynthesisTasksResponse_httpStatus :: Lens.Lens' ListSpeechSynthesisTasksResponse Prelude.Int
listSpeechSynthesisTasksResponse_httpStatus :: Lens' ListSpeechSynthesisTasksResponse Int
listSpeechSynthesisTasksResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSpeechSynthesisTasksResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListSpeechSynthesisTasksResponse' :: ListSpeechSynthesisTasksResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListSpeechSynthesisTasksResponse
s@ListSpeechSynthesisTasksResponse' {} Int
a -> ListSpeechSynthesisTasksResponse
s {$sel:httpStatus:ListSpeechSynthesisTasksResponse' :: Int
httpStatus = Int
a} :: ListSpeechSynthesisTasksResponse)

instance
  Prelude.NFData
    ListSpeechSynthesisTasksResponse
  where
  rnf :: ListSpeechSynthesisTasksResponse -> ()
rnf ListSpeechSynthesisTasksResponse' {Int
Maybe [SynthesisTask]
Maybe Text
httpStatus :: Int
synthesisTasks :: Maybe [SynthesisTask]
nextToken :: Maybe Text
$sel:httpStatus:ListSpeechSynthesisTasksResponse' :: ListSpeechSynthesisTasksResponse -> Int
$sel:synthesisTasks:ListSpeechSynthesisTasksResponse' :: ListSpeechSynthesisTasksResponse -> Maybe [SynthesisTask]
$sel:nextToken:ListSpeechSynthesisTasksResponse' :: ListSpeechSynthesisTasksResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SynthesisTask]
synthesisTasks
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus