{-# 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 #-}
module Amazonka.Polly.DescribeVoices
(
DescribeVoices (..),
newDescribeVoices,
describeVoices_engine,
describeVoices_includeAdditionalLanguageCodes,
describeVoices_languageCode,
describeVoices_nextToken,
DescribeVoicesResponse (..),
newDescribeVoicesResponse,
describeVoicesResponse_nextToken,
describeVoicesResponse_voices,
describeVoicesResponse_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
data DescribeVoices = DescribeVoices'
{
DescribeVoices -> Maybe Engine
engine :: Prelude.Maybe Engine,
DescribeVoices -> Maybe Bool
includeAdditionalLanguageCodes :: Prelude.Maybe Prelude.Bool,
DescribeVoices -> Maybe LanguageCode
languageCode :: Prelude.Maybe LanguageCode,
DescribeVoices -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
}
deriving (DescribeVoices -> DescribeVoices -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeVoices -> DescribeVoices -> Bool
$c/= :: DescribeVoices -> DescribeVoices -> Bool
== :: DescribeVoices -> DescribeVoices -> Bool
$c== :: DescribeVoices -> DescribeVoices -> Bool
Prelude.Eq, ReadPrec [DescribeVoices]
ReadPrec DescribeVoices
Int -> ReadS DescribeVoices
ReadS [DescribeVoices]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeVoices]
$creadListPrec :: ReadPrec [DescribeVoices]
readPrec :: ReadPrec DescribeVoices
$creadPrec :: ReadPrec DescribeVoices
readList :: ReadS [DescribeVoices]
$creadList :: ReadS [DescribeVoices]
readsPrec :: Int -> ReadS DescribeVoices
$creadsPrec :: Int -> ReadS DescribeVoices
Prelude.Read, Int -> DescribeVoices -> ShowS
[DescribeVoices] -> ShowS
DescribeVoices -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeVoices] -> ShowS
$cshowList :: [DescribeVoices] -> ShowS
show :: DescribeVoices -> String
$cshow :: DescribeVoices -> String
showsPrec :: Int -> DescribeVoices -> ShowS
$cshowsPrec :: Int -> DescribeVoices -> ShowS
Prelude.Show, forall x. Rep DescribeVoices x -> DescribeVoices
forall x. DescribeVoices -> Rep DescribeVoices x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeVoices x -> DescribeVoices
$cfrom :: forall x. DescribeVoices -> Rep DescribeVoices x
Prelude.Generic)
newDescribeVoices ::
DescribeVoices
newDescribeVoices :: DescribeVoices
newDescribeVoices =
DescribeVoices'
{ $sel:engine:DescribeVoices' :: Maybe Engine
engine = forall a. Maybe a
Prelude.Nothing,
$sel:includeAdditionalLanguageCodes:DescribeVoices' :: Maybe Bool
includeAdditionalLanguageCodes = forall a. Maybe a
Prelude.Nothing,
$sel:languageCode:DescribeVoices' :: Maybe LanguageCode
languageCode = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:DescribeVoices' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
}
describeVoices_engine :: Lens.Lens' DescribeVoices (Prelude.Maybe Engine)
describeVoices_engine :: Lens' DescribeVoices (Maybe Engine)
describeVoices_engine = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVoices' {Maybe Engine
engine :: Maybe Engine
$sel:engine:DescribeVoices' :: DescribeVoices -> Maybe Engine
engine} -> Maybe Engine
engine) (\s :: DescribeVoices
s@DescribeVoices' {} Maybe Engine
a -> DescribeVoices
s {$sel:engine:DescribeVoices' :: Maybe Engine
engine = Maybe Engine
a} :: DescribeVoices)
describeVoices_includeAdditionalLanguageCodes :: Lens.Lens' DescribeVoices (Prelude.Maybe Prelude.Bool)
describeVoices_includeAdditionalLanguageCodes :: Lens' DescribeVoices (Maybe Bool)
describeVoices_includeAdditionalLanguageCodes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVoices' {Maybe Bool
includeAdditionalLanguageCodes :: Maybe Bool
$sel:includeAdditionalLanguageCodes:DescribeVoices' :: DescribeVoices -> Maybe Bool
includeAdditionalLanguageCodes} -> Maybe Bool
includeAdditionalLanguageCodes) (\s :: DescribeVoices
s@DescribeVoices' {} Maybe Bool
a -> DescribeVoices
s {$sel:includeAdditionalLanguageCodes:DescribeVoices' :: Maybe Bool
includeAdditionalLanguageCodes = Maybe Bool
a} :: DescribeVoices)
describeVoices_languageCode :: Lens.Lens' DescribeVoices (Prelude.Maybe LanguageCode)
describeVoices_languageCode :: Lens' DescribeVoices (Maybe LanguageCode)
describeVoices_languageCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVoices' {Maybe LanguageCode
languageCode :: Maybe LanguageCode
$sel:languageCode:DescribeVoices' :: DescribeVoices -> Maybe LanguageCode
languageCode} -> Maybe LanguageCode
languageCode) (\s :: DescribeVoices
s@DescribeVoices' {} Maybe LanguageCode
a -> DescribeVoices
s {$sel:languageCode:DescribeVoices' :: Maybe LanguageCode
languageCode = Maybe LanguageCode
a} :: DescribeVoices)
describeVoices_nextToken :: Lens.Lens' DescribeVoices (Prelude.Maybe Prelude.Text)
describeVoices_nextToken :: Lens' DescribeVoices (Maybe Text)
describeVoices_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVoices' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeVoices' :: DescribeVoices -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeVoices
s@DescribeVoices' {} Maybe Text
a -> DescribeVoices
s {$sel:nextToken:DescribeVoices' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeVoices)
instance Core.AWSPager DescribeVoices where
page :: DescribeVoices
-> AWSResponse DescribeVoices -> Maybe DescribeVoices
page DescribeVoices
rq AWSResponse DescribeVoices
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeVoices
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeVoicesResponse (Maybe Text)
describeVoicesResponse_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 DescribeVoices
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeVoicesResponse (Maybe [Voice])
describeVoicesResponse_voices
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.$ DescribeVoices
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeVoices (Maybe Text)
describeVoices_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeVoices
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeVoicesResponse (Maybe Text)
describeVoicesResponse_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 DescribeVoices where
type
AWSResponse DescribeVoices =
DescribeVoicesResponse
request :: (Service -> Service) -> DescribeVoices -> Request DescribeVoices
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 DescribeVoices
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeVoices)))
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 [Voice] -> Int -> DescribeVoicesResponse
DescribeVoicesResponse'
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
"Voices" 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 DescribeVoices where
hashWithSalt :: Int -> DescribeVoices -> Int
hashWithSalt Int
_salt DescribeVoices' {Maybe Bool
Maybe Text
Maybe Engine
Maybe LanguageCode
nextToken :: Maybe Text
languageCode :: Maybe LanguageCode
includeAdditionalLanguageCodes :: Maybe Bool
engine :: Maybe Engine
$sel:nextToken:DescribeVoices' :: DescribeVoices -> Maybe Text
$sel:languageCode:DescribeVoices' :: DescribeVoices -> Maybe LanguageCode
$sel:includeAdditionalLanguageCodes:DescribeVoices' :: DescribeVoices -> Maybe Bool
$sel:engine:DescribeVoices' :: DescribeVoices -> Maybe Engine
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Engine
engine
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
includeAdditionalLanguageCodes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LanguageCode
languageCode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
instance Prelude.NFData DescribeVoices where
rnf :: DescribeVoices -> ()
rnf DescribeVoices' {Maybe Bool
Maybe Text
Maybe Engine
Maybe LanguageCode
nextToken :: Maybe Text
languageCode :: Maybe LanguageCode
includeAdditionalLanguageCodes :: Maybe Bool
engine :: Maybe Engine
$sel:nextToken:DescribeVoices' :: DescribeVoices -> Maybe Text
$sel:languageCode:DescribeVoices' :: DescribeVoices -> Maybe LanguageCode
$sel:includeAdditionalLanguageCodes:DescribeVoices' :: DescribeVoices -> Maybe Bool
$sel:engine:DescribeVoices' :: DescribeVoices -> Maybe Engine
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Engine
engine
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
includeAdditionalLanguageCodes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LanguageCode
languageCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
instance Data.ToHeaders DescribeVoices where
toHeaders :: DescribeVoices -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeVoices where
toPath :: DescribeVoices -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/v1/voices"
instance Data.ToQuery DescribeVoices where
toQuery :: DescribeVoices -> QueryString
toQuery DescribeVoices' {Maybe Bool
Maybe Text
Maybe Engine
Maybe LanguageCode
nextToken :: Maybe Text
languageCode :: Maybe LanguageCode
includeAdditionalLanguageCodes :: Maybe Bool
engine :: Maybe Engine
$sel:nextToken:DescribeVoices' :: DescribeVoices -> Maybe Text
$sel:languageCode:DescribeVoices' :: DescribeVoices -> Maybe LanguageCode
$sel:includeAdditionalLanguageCodes:DescribeVoices' :: DescribeVoices -> Maybe Bool
$sel:engine:DescribeVoices' :: DescribeVoices -> Maybe Engine
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Engine" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Engine
engine,
ByteString
"IncludeAdditionalLanguageCodes"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
includeAdditionalLanguageCodes,
ByteString
"LanguageCode" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe LanguageCode
languageCode,
ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken
]
data DescribeVoicesResponse = DescribeVoicesResponse'
{
DescribeVoicesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
DescribeVoicesResponse -> Maybe [Voice]
voices :: Prelude.Maybe [Voice],
DescribeVoicesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeVoicesResponse -> DescribeVoicesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeVoicesResponse -> DescribeVoicesResponse -> Bool
$c/= :: DescribeVoicesResponse -> DescribeVoicesResponse -> Bool
== :: DescribeVoicesResponse -> DescribeVoicesResponse -> Bool
$c== :: DescribeVoicesResponse -> DescribeVoicesResponse -> Bool
Prelude.Eq, ReadPrec [DescribeVoicesResponse]
ReadPrec DescribeVoicesResponse
Int -> ReadS DescribeVoicesResponse
ReadS [DescribeVoicesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeVoicesResponse]
$creadListPrec :: ReadPrec [DescribeVoicesResponse]
readPrec :: ReadPrec DescribeVoicesResponse
$creadPrec :: ReadPrec DescribeVoicesResponse
readList :: ReadS [DescribeVoicesResponse]
$creadList :: ReadS [DescribeVoicesResponse]
readsPrec :: Int -> ReadS DescribeVoicesResponse
$creadsPrec :: Int -> ReadS DescribeVoicesResponse
Prelude.Read, Int -> DescribeVoicesResponse -> ShowS
[DescribeVoicesResponse] -> ShowS
DescribeVoicesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeVoicesResponse] -> ShowS
$cshowList :: [DescribeVoicesResponse] -> ShowS
show :: DescribeVoicesResponse -> String
$cshow :: DescribeVoicesResponse -> String
showsPrec :: Int -> DescribeVoicesResponse -> ShowS
$cshowsPrec :: Int -> DescribeVoicesResponse -> ShowS
Prelude.Show, forall x. Rep DescribeVoicesResponse x -> DescribeVoicesResponse
forall x. DescribeVoicesResponse -> Rep DescribeVoicesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeVoicesResponse x -> DescribeVoicesResponse
$cfrom :: forall x. DescribeVoicesResponse -> Rep DescribeVoicesResponse x
Prelude.Generic)
newDescribeVoicesResponse ::
Prelude.Int ->
DescribeVoicesResponse
newDescribeVoicesResponse :: Int -> DescribeVoicesResponse
newDescribeVoicesResponse Int
pHttpStatus_ =
DescribeVoicesResponse'
{ $sel:nextToken:DescribeVoicesResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:voices:DescribeVoicesResponse' :: Maybe [Voice]
voices = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeVoicesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeVoicesResponse_nextToken :: Lens.Lens' DescribeVoicesResponse (Prelude.Maybe Prelude.Text)
describeVoicesResponse_nextToken :: Lens' DescribeVoicesResponse (Maybe Text)
describeVoicesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVoicesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeVoicesResponse' :: DescribeVoicesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeVoicesResponse
s@DescribeVoicesResponse' {} Maybe Text
a -> DescribeVoicesResponse
s {$sel:nextToken:DescribeVoicesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeVoicesResponse)
describeVoicesResponse_voices :: Lens.Lens' DescribeVoicesResponse (Prelude.Maybe [Voice])
describeVoicesResponse_voices :: Lens' DescribeVoicesResponse (Maybe [Voice])
describeVoicesResponse_voices = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVoicesResponse' {Maybe [Voice]
voices :: Maybe [Voice]
$sel:voices:DescribeVoicesResponse' :: DescribeVoicesResponse -> Maybe [Voice]
voices} -> Maybe [Voice]
voices) (\s :: DescribeVoicesResponse
s@DescribeVoicesResponse' {} Maybe [Voice]
a -> DescribeVoicesResponse
s {$sel:voices:DescribeVoicesResponse' :: Maybe [Voice]
voices = Maybe [Voice]
a} :: DescribeVoicesResponse) 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
describeVoicesResponse_httpStatus :: Lens.Lens' DescribeVoicesResponse Prelude.Int
describeVoicesResponse_httpStatus :: Lens' DescribeVoicesResponse Int
describeVoicesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeVoicesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeVoicesResponse' :: DescribeVoicesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeVoicesResponse
s@DescribeVoicesResponse' {} Int
a -> DescribeVoicesResponse
s {$sel:httpStatus:DescribeVoicesResponse' :: Int
httpStatus = Int
a} :: DescribeVoicesResponse)
instance Prelude.NFData DescribeVoicesResponse where
rnf :: DescribeVoicesResponse -> ()
rnf DescribeVoicesResponse' {Int
Maybe [Voice]
Maybe Text
httpStatus :: Int
voices :: Maybe [Voice]
nextToken :: Maybe Text
$sel:httpStatus:DescribeVoicesResponse' :: DescribeVoicesResponse -> Int
$sel:voices:DescribeVoicesResponse' :: DescribeVoicesResponse -> Maybe [Voice]
$sel:nextToken:DescribeVoicesResponse' :: DescribeVoicesResponse -> 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 [Voice]
voices
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus