{-# 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.DescribeTemplate
(
DescribeTemplate (..),
newDescribeTemplate,
describeTemplate_aliasName,
describeTemplate_versionNumber,
describeTemplate_awsAccountId,
describeTemplate_templateId,
DescribeTemplateResponse (..),
newDescribeTemplateResponse,
describeTemplateResponse_requestId,
describeTemplateResponse_template,
describeTemplateResponse_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 DescribeTemplate = DescribeTemplate'
{
DescribeTemplate -> Maybe Text
aliasName :: Prelude.Maybe Prelude.Text,
DescribeTemplate -> Maybe Natural
versionNumber :: Prelude.Maybe Prelude.Natural,
DescribeTemplate -> Text
awsAccountId :: Prelude.Text,
DescribeTemplate -> Text
templateId :: Prelude.Text
}
deriving (DescribeTemplate -> DescribeTemplate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTemplate -> DescribeTemplate -> Bool
$c/= :: DescribeTemplate -> DescribeTemplate -> Bool
== :: DescribeTemplate -> DescribeTemplate -> Bool
$c== :: DescribeTemplate -> DescribeTemplate -> Bool
Prelude.Eq, ReadPrec [DescribeTemplate]
ReadPrec DescribeTemplate
Int -> ReadS DescribeTemplate
ReadS [DescribeTemplate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTemplate]
$creadListPrec :: ReadPrec [DescribeTemplate]
readPrec :: ReadPrec DescribeTemplate
$creadPrec :: ReadPrec DescribeTemplate
readList :: ReadS [DescribeTemplate]
$creadList :: ReadS [DescribeTemplate]
readsPrec :: Int -> ReadS DescribeTemplate
$creadsPrec :: Int -> ReadS DescribeTemplate
Prelude.Read, Int -> DescribeTemplate -> ShowS
[DescribeTemplate] -> ShowS
DescribeTemplate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTemplate] -> ShowS
$cshowList :: [DescribeTemplate] -> ShowS
show :: DescribeTemplate -> String
$cshow :: DescribeTemplate -> String
showsPrec :: Int -> DescribeTemplate -> ShowS
$cshowsPrec :: Int -> DescribeTemplate -> ShowS
Prelude.Show, forall x. Rep DescribeTemplate x -> DescribeTemplate
forall x. DescribeTemplate -> Rep DescribeTemplate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeTemplate x -> DescribeTemplate
$cfrom :: forall x. DescribeTemplate -> Rep DescribeTemplate x
Prelude.Generic)
newDescribeTemplate ::
Prelude.Text ->
Prelude.Text ->
DescribeTemplate
newDescribeTemplate :: Text -> Text -> DescribeTemplate
newDescribeTemplate Text
pAwsAccountId_ Text
pTemplateId_ =
DescribeTemplate'
{ $sel:aliasName:DescribeTemplate' :: Maybe Text
aliasName = forall a. Maybe a
Prelude.Nothing,
$sel:versionNumber:DescribeTemplate' :: Maybe Natural
versionNumber = forall a. Maybe a
Prelude.Nothing,
$sel:awsAccountId:DescribeTemplate' :: Text
awsAccountId = Text
pAwsAccountId_,
$sel:templateId:DescribeTemplate' :: Text
templateId = Text
pTemplateId_
}
describeTemplate_aliasName :: Lens.Lens' DescribeTemplate (Prelude.Maybe Prelude.Text)
describeTemplate_aliasName :: Lens' DescribeTemplate (Maybe Text)
describeTemplate_aliasName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplate' {Maybe Text
aliasName :: Maybe Text
$sel:aliasName:DescribeTemplate' :: DescribeTemplate -> Maybe Text
aliasName} -> Maybe Text
aliasName) (\s :: DescribeTemplate
s@DescribeTemplate' {} Maybe Text
a -> DescribeTemplate
s {$sel:aliasName:DescribeTemplate' :: Maybe Text
aliasName = Maybe Text
a} :: DescribeTemplate)
describeTemplate_versionNumber :: Lens.Lens' DescribeTemplate (Prelude.Maybe Prelude.Natural)
describeTemplate_versionNumber :: Lens' DescribeTemplate (Maybe Natural)
describeTemplate_versionNumber = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplate' {Maybe Natural
versionNumber :: Maybe Natural
$sel:versionNumber:DescribeTemplate' :: DescribeTemplate -> Maybe Natural
versionNumber} -> Maybe Natural
versionNumber) (\s :: DescribeTemplate
s@DescribeTemplate' {} Maybe Natural
a -> DescribeTemplate
s {$sel:versionNumber:DescribeTemplate' :: Maybe Natural
versionNumber = Maybe Natural
a} :: DescribeTemplate)
describeTemplate_awsAccountId :: Lens.Lens' DescribeTemplate Prelude.Text
describeTemplate_awsAccountId :: Lens' DescribeTemplate Text
describeTemplate_awsAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplate' {Text
awsAccountId :: Text
$sel:awsAccountId:DescribeTemplate' :: DescribeTemplate -> Text
awsAccountId} -> Text
awsAccountId) (\s :: DescribeTemplate
s@DescribeTemplate' {} Text
a -> DescribeTemplate
s {$sel:awsAccountId:DescribeTemplate' :: Text
awsAccountId = Text
a} :: DescribeTemplate)
describeTemplate_templateId :: Lens.Lens' DescribeTemplate Prelude.Text
describeTemplate_templateId :: Lens' DescribeTemplate Text
describeTemplate_templateId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplate' {Text
templateId :: Text
$sel:templateId:DescribeTemplate' :: DescribeTemplate -> Text
templateId} -> Text
templateId) (\s :: DescribeTemplate
s@DescribeTemplate' {} Text
a -> DescribeTemplate
s {$sel:templateId:DescribeTemplate' :: Text
templateId = Text
a} :: DescribeTemplate)
instance Core.AWSRequest DescribeTemplate where
type
AWSResponse DescribeTemplate =
DescribeTemplateResponse
request :: (Service -> Service)
-> DescribeTemplate -> Request DescribeTemplate
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 DescribeTemplate
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeTemplate)))
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 Template -> Int -> DescribeTemplateResponse
DescribeTemplateResponse'
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
"Template")
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 DescribeTemplate where
hashWithSalt :: Int -> DescribeTemplate -> Int
hashWithSalt Int
_salt DescribeTemplate' {Maybe Natural
Maybe Text
Text
templateId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
aliasName :: Maybe Text
$sel:templateId:DescribeTemplate' :: DescribeTemplate -> Text
$sel:awsAccountId:DescribeTemplate' :: DescribeTemplate -> Text
$sel:versionNumber:DescribeTemplate' :: DescribeTemplate -> Maybe Natural
$sel:aliasName:DescribeTemplate' :: DescribeTemplate -> 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
templateId
instance Prelude.NFData DescribeTemplate where
rnf :: DescribeTemplate -> ()
rnf DescribeTemplate' {Maybe Natural
Maybe Text
Text
templateId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
aliasName :: Maybe Text
$sel:templateId:DescribeTemplate' :: DescribeTemplate -> Text
$sel:awsAccountId:DescribeTemplate' :: DescribeTemplate -> Text
$sel:versionNumber:DescribeTemplate' :: DescribeTemplate -> Maybe Natural
$sel:aliasName:DescribeTemplate' :: DescribeTemplate -> 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
templateId
instance Data.ToHeaders DescribeTemplate where
toHeaders :: DescribeTemplate -> 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 DescribeTemplate where
toPath :: DescribeTemplate -> ByteString
toPath DescribeTemplate' {Maybe Natural
Maybe Text
Text
templateId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
aliasName :: Maybe Text
$sel:templateId:DescribeTemplate' :: DescribeTemplate -> Text
$sel:awsAccountId:DescribeTemplate' :: DescribeTemplate -> Text
$sel:versionNumber:DescribeTemplate' :: DescribeTemplate -> Maybe Natural
$sel:aliasName:DescribeTemplate' :: DescribeTemplate -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/accounts/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
awsAccountId,
ByteString
"/templates/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
templateId
]
instance Data.ToQuery DescribeTemplate where
toQuery :: DescribeTemplate -> QueryString
toQuery DescribeTemplate' {Maybe Natural
Maybe Text
Text
templateId :: Text
awsAccountId :: Text
versionNumber :: Maybe Natural
aliasName :: Maybe Text
$sel:templateId:DescribeTemplate' :: DescribeTemplate -> Text
$sel:awsAccountId:DescribeTemplate' :: DescribeTemplate -> Text
$sel:versionNumber:DescribeTemplate' :: DescribeTemplate -> Maybe Natural
$sel:aliasName:DescribeTemplate' :: DescribeTemplate -> 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 DescribeTemplateResponse = DescribeTemplateResponse'
{
DescribeTemplateResponse -> Maybe Text
requestId :: Prelude.Maybe Prelude.Text,
DescribeTemplateResponse -> Maybe Template
template :: Prelude.Maybe Template,
DescribeTemplateResponse -> Int
status :: Prelude.Int
}
deriving (DescribeTemplateResponse -> DescribeTemplateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTemplateResponse -> DescribeTemplateResponse -> Bool
$c/= :: DescribeTemplateResponse -> DescribeTemplateResponse -> Bool
== :: DescribeTemplateResponse -> DescribeTemplateResponse -> Bool
$c== :: DescribeTemplateResponse -> DescribeTemplateResponse -> Bool
Prelude.Eq, ReadPrec [DescribeTemplateResponse]
ReadPrec DescribeTemplateResponse
Int -> ReadS DescribeTemplateResponse
ReadS [DescribeTemplateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTemplateResponse]
$creadListPrec :: ReadPrec [DescribeTemplateResponse]
readPrec :: ReadPrec DescribeTemplateResponse
$creadPrec :: ReadPrec DescribeTemplateResponse
readList :: ReadS [DescribeTemplateResponse]
$creadList :: ReadS [DescribeTemplateResponse]
readsPrec :: Int -> ReadS DescribeTemplateResponse
$creadsPrec :: Int -> ReadS DescribeTemplateResponse
Prelude.Read, Int -> DescribeTemplateResponse -> ShowS
[DescribeTemplateResponse] -> ShowS
DescribeTemplateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTemplateResponse] -> ShowS
$cshowList :: [DescribeTemplateResponse] -> ShowS
show :: DescribeTemplateResponse -> String
$cshow :: DescribeTemplateResponse -> String
showsPrec :: Int -> DescribeTemplateResponse -> ShowS
$cshowsPrec :: Int -> DescribeTemplateResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeTemplateResponse x -> DescribeTemplateResponse
forall x.
DescribeTemplateResponse -> Rep DescribeTemplateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeTemplateResponse x -> DescribeTemplateResponse
$cfrom :: forall x.
DescribeTemplateResponse -> Rep DescribeTemplateResponse x
Prelude.Generic)
newDescribeTemplateResponse ::
Prelude.Int ->
DescribeTemplateResponse
newDescribeTemplateResponse :: Int -> DescribeTemplateResponse
newDescribeTemplateResponse Int
pStatus_ =
DescribeTemplateResponse'
{ $sel:requestId:DescribeTemplateResponse' :: Maybe Text
requestId =
forall a. Maybe a
Prelude.Nothing,
$sel:template:DescribeTemplateResponse' :: Maybe Template
template = forall a. Maybe a
Prelude.Nothing,
$sel:status:DescribeTemplateResponse' :: Int
status = Int
pStatus_
}
describeTemplateResponse_requestId :: Lens.Lens' DescribeTemplateResponse (Prelude.Maybe Prelude.Text)
describeTemplateResponse_requestId :: Lens' DescribeTemplateResponse (Maybe Text)
describeTemplateResponse_requestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplateResponse' {Maybe Text
requestId :: Maybe Text
$sel:requestId:DescribeTemplateResponse' :: DescribeTemplateResponse -> Maybe Text
requestId} -> Maybe Text
requestId) (\s :: DescribeTemplateResponse
s@DescribeTemplateResponse' {} Maybe Text
a -> DescribeTemplateResponse
s {$sel:requestId:DescribeTemplateResponse' :: Maybe Text
requestId = Maybe Text
a} :: DescribeTemplateResponse)
describeTemplateResponse_template :: Lens.Lens' DescribeTemplateResponse (Prelude.Maybe Template)
describeTemplateResponse_template :: Lens' DescribeTemplateResponse (Maybe Template)
describeTemplateResponse_template = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplateResponse' {Maybe Template
template :: Maybe Template
$sel:template:DescribeTemplateResponse' :: DescribeTemplateResponse -> Maybe Template
template} -> Maybe Template
template) (\s :: DescribeTemplateResponse
s@DescribeTemplateResponse' {} Maybe Template
a -> DescribeTemplateResponse
s {$sel:template:DescribeTemplateResponse' :: Maybe Template
template = Maybe Template
a} :: DescribeTemplateResponse)
describeTemplateResponse_status :: Lens.Lens' DescribeTemplateResponse Prelude.Int
describeTemplateResponse_status :: Lens' DescribeTemplateResponse Int
describeTemplateResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplateResponse' {Int
status :: Int
$sel:status:DescribeTemplateResponse' :: DescribeTemplateResponse -> Int
status} -> Int
status) (\s :: DescribeTemplateResponse
s@DescribeTemplateResponse' {} Int
a -> DescribeTemplateResponse
s {$sel:status:DescribeTemplateResponse' :: Int
status = Int
a} :: DescribeTemplateResponse)
instance Prelude.NFData DescribeTemplateResponse where
rnf :: DescribeTemplateResponse -> ()
rnf DescribeTemplateResponse' {Int
Maybe Text
Maybe Template
status :: Int
template :: Maybe Template
requestId :: Maybe Text
$sel:status:DescribeTemplateResponse' :: DescribeTemplateResponse -> Int
$sel:template:DescribeTemplateResponse' :: DescribeTemplateResponse -> Maybe Template
$sel:requestId:DescribeTemplateResponse' :: DescribeTemplateResponse -> 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 Template
template
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
status