{-# 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.QuickSight.DescribeTheme
(
DescribeTheme (..),
newDescribeTheme,
describeTheme_aliasName,
describeTheme_versionNumber,
describeTheme_awsAccountId,
describeTheme_themeId,
DescribeThemeResponse (..),
newDescribeThemeResponse,
describeThemeResponse_requestId,
describeThemeResponse_theme,
describeThemeResponse_status,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.QuickSight.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeTheme = DescribeTheme'
{
DescribeTheme -> Maybe Text
aliasName :: Prelude.Maybe Prelude.Text,
DescribeTheme -> Maybe Natural
versionNumber :: Prelude.Maybe Prelude.Natural,
DescribeTheme -> Text
awsAccountId :: Prelude.Text,
DescribeTheme -> Text
themeId :: Prelude.Text
}
deriving (DescribeTheme -> DescribeTheme -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTheme -> DescribeTheme -> Bool
$c/= :: DescribeTheme -> DescribeTheme -> Bool
== :: DescribeTheme -> DescribeTheme -> Bool
$c== :: DescribeTheme -> DescribeTheme -> Bool
Prelude.Eq, ReadPrec [DescribeTheme]
ReadPrec DescribeTheme
Int -> ReadS DescribeTheme
ReadS [DescribeTheme]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTheme]
$creadListPrec :: ReadPrec [DescribeTheme]
readPrec :: ReadPrec DescribeTheme
$creadPrec :: ReadPrec DescribeTheme
readList :: ReadS [DescribeTheme]
$creadList :: ReadS [DescribeTheme]
readsPrec :: Int -> ReadS DescribeTheme
$creadsPrec :: Int -> ReadS DescribeTheme
Prelude.Read, Int -> DescribeTheme -> ShowS
[DescribeTheme] -> ShowS
DescribeTheme -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTheme] -> ShowS
$cshowList :: [DescribeTheme] -> ShowS
show :: DescribeTheme -> String
$cshow :: DescribeTheme -> String
showsPrec :: Int -> DescribeTheme -> ShowS
$cshowsPrec :: Int -> DescribeTheme -> ShowS
Prelude.Show, forall x. Rep DescribeTheme x -> DescribeTheme
forall x. DescribeTheme -> Rep DescribeTheme x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeTheme x -> DescribeTheme
$cfrom :: forall x. DescribeTheme -> Rep DescribeTheme x
Prelude.Generic)
newDescribeTheme ::
Prelude.Text ->
Prelude.Text ->
DescribeTheme
newDescribeTheme :: Text -> Text -> DescribeTheme
newDescribeTheme Text
pAwsAccountId_ Text
pThemeId_ =
DescribeTheme'
{ $sel:aliasName:DescribeTheme' :: Maybe Text
aliasName = forall a. Maybe a
Prelude.Nothing,
$sel:versionNumber:DescribeTheme' :: Maybe Natural
versionNumber = forall a. Maybe a
Prelude.Nothing,
$sel:awsAccountId:DescribeTheme' :: Text
awsAccountId = Text
pAwsAccountId_,
$sel:themeId:DescribeTheme' :: Text
themeId = Text
pThemeId_
}
describeTheme_aliasName :: Lens.Lens' DescribeTheme (Prelude.Maybe Prelude.Text)
describeTheme_aliasName :: Lens' DescribeTheme (Maybe Text)
describeTheme_aliasName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTheme' {Maybe Text
aliasName :: Maybe Text
$sel:aliasName:DescribeTheme' :: DescribeTheme -> Maybe Text
aliasName} -> Maybe Text
aliasName) (\s :: DescribeTheme
s@DescribeTheme' {} Maybe Text
a -> DescribeTheme
s {$sel:aliasName:DescribeTheme' :: Maybe Text
aliasName = Maybe Text
a} :: DescribeTheme)
describeTheme_versionNumber :: Lens.Lens' DescribeTheme (Prelude.Maybe Prelude.Natural)
describeTheme_versionNumber :: Lens' DescribeTheme (Maybe Natural)
describeTheme_versionNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTheme' {Maybe Natural
versionNumber :: Maybe Natural
$sel:versionNumber:DescribeTheme' :: DescribeTheme -> Maybe Natural
versionNumber} -> Maybe Natural
versionNumber) (\s :: DescribeTheme
s@DescribeTheme' {} Maybe Natural
a -> DescribeTheme
s {$sel:versionNumber:DescribeTheme' :: Maybe Natural
versionNumber = Maybe Natural
a} :: DescribeTheme)
describeTheme_awsAccountId :: Lens.Lens' DescribeTheme Prelude.Text
describeTheme_awsAccountId :: Lens' DescribeTheme Text
describeTheme_awsAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTheme' {Text
awsAccountId :: Text
$sel:awsAccountId:DescribeTheme' :: DescribeTheme -> Text
awsAccountId} -> Text
awsAccountId) (\s :: DescribeTheme
s@DescribeTheme' {} Text
a -> DescribeTheme
s {$sel:awsAccountId:DescribeTheme' :: Text
awsAccountId = Text
a} :: DescribeTheme)
describeTheme_themeId :: Lens.Lens' DescribeTheme Prelude.Text
describeTheme_themeId :: Lens' DescribeTheme Text
describeTheme_themeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTheme' {Text
themeId :: Text
$sel:themeId:DescribeTheme' :: DescribeTheme -> Text
themeId} -> Text
themeId) (\s :: DescribeTheme
s@DescribeTheme' {} Text
a -> DescribeTheme
s {$sel:themeId:DescribeTheme' :: Text
themeId = Text
a} :: DescribeTheme)
instance Core.AWSRequest DescribeTheme where
type
AWSResponse DescribeTheme =
DescribeThemeResponse
request :: (Service -> Service) -> DescribeTheme -> Request DescribeTheme
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 DescribeTheme
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeTheme)))
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 Theme -> Int -> DescribeThemeResponse
DescribeThemeResponse'
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
"RequestId")
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
"Theme")
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 DescribeTheme where
hashWithSalt :: Int -> DescribeTheme -> Int
hashWithSalt Int
_salt DescribeTheme' {Maybe Natural
Maybe Text
Text
themeId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
aliasName :: Maybe Text
$sel:themeId:DescribeTheme' :: DescribeTheme -> Text
$sel:awsAccountId:DescribeTheme' :: DescribeTheme -> Text
$sel:versionNumber:DescribeTheme' :: DescribeTheme -> Maybe Natural
$sel:aliasName:DescribeTheme' :: DescribeTheme -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
aliasName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
versionNumber
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
awsAccountId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
themeId
instance Prelude.NFData DescribeTheme where
rnf :: DescribeTheme -> ()
rnf DescribeTheme' {Maybe Natural
Maybe Text
Text
themeId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
aliasName :: Maybe Text
$sel:themeId:DescribeTheme' :: DescribeTheme -> Text
$sel:awsAccountId:DescribeTheme' :: DescribeTheme -> Text
$sel:versionNumber:DescribeTheme' :: DescribeTheme -> Maybe Natural
$sel:aliasName:DescribeTheme' :: DescribeTheme -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
aliasName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
versionNumber
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
awsAccountId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
themeId
instance Data.ToHeaders DescribeTheme where
toHeaders :: DescribeTheme -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DescribeTheme where
toPath :: DescribeTheme -> ByteString
toPath DescribeTheme' {Maybe Natural
Maybe Text
Text
themeId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
aliasName :: Maybe Text
$sel:themeId:DescribeTheme' :: DescribeTheme -> Text
$sel:awsAccountId:DescribeTheme' :: DescribeTheme -> Text
$sel:versionNumber:DescribeTheme' :: DescribeTheme -> Maybe Natural
$sel:aliasName:DescribeTheme' :: DescribeTheme -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/accounts/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
awsAccountId,
ByteString
"/themes/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
themeId
]
instance Data.ToQuery DescribeTheme where
toQuery :: DescribeTheme -> QueryString
toQuery DescribeTheme' {Maybe Natural
Maybe Text
Text
themeId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
aliasName :: Maybe Text
$sel:themeId:DescribeTheme' :: DescribeTheme -> Text
$sel:awsAccountId:DescribeTheme' :: DescribeTheme -> Text
$sel:versionNumber:DescribeTheme' :: DescribeTheme -> Maybe Natural
$sel:aliasName:DescribeTheme' :: DescribeTheme -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"alias-name" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
aliasName,
ByteString
"version-number" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
versionNumber
]
data DescribeThemeResponse = DescribeThemeResponse'
{
DescribeThemeResponse -> Maybe Text
requestId :: Prelude.Maybe Prelude.Text,
DescribeThemeResponse -> Maybe Theme
theme :: Prelude.Maybe Theme,
DescribeThemeResponse -> Int
status :: Prelude.Int
}
deriving (DescribeThemeResponse -> DescribeThemeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeThemeResponse -> DescribeThemeResponse -> Bool
$c/= :: DescribeThemeResponse -> DescribeThemeResponse -> Bool
== :: DescribeThemeResponse -> DescribeThemeResponse -> Bool
$c== :: DescribeThemeResponse -> DescribeThemeResponse -> Bool
Prelude.Eq, ReadPrec [DescribeThemeResponse]
ReadPrec DescribeThemeResponse
Int -> ReadS DescribeThemeResponse
ReadS [DescribeThemeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeThemeResponse]
$creadListPrec :: ReadPrec [DescribeThemeResponse]
readPrec :: ReadPrec DescribeThemeResponse
$creadPrec :: ReadPrec DescribeThemeResponse
readList :: ReadS [DescribeThemeResponse]
$creadList :: ReadS [DescribeThemeResponse]
readsPrec :: Int -> ReadS DescribeThemeResponse
$creadsPrec :: Int -> ReadS DescribeThemeResponse
Prelude.Read, Int -> DescribeThemeResponse -> ShowS
[DescribeThemeResponse] -> ShowS
DescribeThemeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeThemeResponse] -> ShowS
$cshowList :: [DescribeThemeResponse] -> ShowS
show :: DescribeThemeResponse -> String
$cshow :: DescribeThemeResponse -> String
showsPrec :: Int -> DescribeThemeResponse -> ShowS
$cshowsPrec :: Int -> DescribeThemeResponse -> ShowS
Prelude.Show, forall x. Rep DescribeThemeResponse x -> DescribeThemeResponse
forall x. DescribeThemeResponse -> Rep DescribeThemeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeThemeResponse x -> DescribeThemeResponse
$cfrom :: forall x. DescribeThemeResponse -> Rep DescribeThemeResponse x
Prelude.Generic)
newDescribeThemeResponse ::
Prelude.Int ->
DescribeThemeResponse
newDescribeThemeResponse :: Int -> DescribeThemeResponse
newDescribeThemeResponse Int
pStatus_ =
DescribeThemeResponse'
{ $sel:requestId:DescribeThemeResponse' :: Maybe Text
requestId = forall a. Maybe a
Prelude.Nothing,
$sel:theme:DescribeThemeResponse' :: Maybe Theme
theme = forall a. Maybe a
Prelude.Nothing,
$sel:status:DescribeThemeResponse' :: Int
status = Int
pStatus_
}
describeThemeResponse_requestId :: Lens.Lens' DescribeThemeResponse (Prelude.Maybe Prelude.Text)
describeThemeResponse_requestId :: Lens' DescribeThemeResponse (Maybe Text)
describeThemeResponse_requestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeThemeResponse' {Maybe Text
requestId :: Maybe Text
$sel:requestId:DescribeThemeResponse' :: DescribeThemeResponse -> Maybe Text
requestId} -> Maybe Text
requestId) (\s :: DescribeThemeResponse
s@DescribeThemeResponse' {} Maybe Text
a -> DescribeThemeResponse
s {$sel:requestId:DescribeThemeResponse' :: Maybe Text
requestId = Maybe Text
a} :: DescribeThemeResponse)
describeThemeResponse_theme :: Lens.Lens' DescribeThemeResponse (Prelude.Maybe Theme)
describeThemeResponse_theme :: Lens' DescribeThemeResponse (Maybe Theme)
describeThemeResponse_theme = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeThemeResponse' {Maybe Theme
theme :: Maybe Theme
$sel:theme:DescribeThemeResponse' :: DescribeThemeResponse -> Maybe Theme
theme} -> Maybe Theme
theme) (\s :: DescribeThemeResponse
s@DescribeThemeResponse' {} Maybe Theme
a -> DescribeThemeResponse
s {$sel:theme:DescribeThemeResponse' :: Maybe Theme
theme = Maybe Theme
a} :: DescribeThemeResponse)
describeThemeResponse_status :: Lens.Lens' DescribeThemeResponse Prelude.Int
describeThemeResponse_status :: Lens' DescribeThemeResponse Int
describeThemeResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeThemeResponse' {Int
status :: Int
$sel:status:DescribeThemeResponse' :: DescribeThemeResponse -> Int
status} -> Int
status) (\s :: DescribeThemeResponse
s@DescribeThemeResponse' {} Int
a -> DescribeThemeResponse
s {$sel:status:DescribeThemeResponse' :: Int
status = Int
a} :: DescribeThemeResponse)
instance Prelude.NFData DescribeThemeResponse where
rnf :: DescribeThemeResponse -> ()
rnf DescribeThemeResponse' {Int
Maybe Text
Maybe Theme
status :: Int
theme :: Maybe Theme
requestId :: Maybe Text
$sel:status:DescribeThemeResponse' :: DescribeThemeResponse -> Int
$sel:theme:DescribeThemeResponse' :: DescribeThemeResponse -> Maybe Theme
$sel:requestId:DescribeThemeResponse' :: DescribeThemeResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
requestId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Theme
theme
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
status