{-# 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.DescribeTemplatePermissions
(
DescribeTemplatePermissions (..),
newDescribeTemplatePermissions,
describeTemplatePermissions_awsAccountId,
describeTemplatePermissions_templateId,
DescribeTemplatePermissionsResponse (..),
newDescribeTemplatePermissionsResponse,
describeTemplatePermissionsResponse_permissions,
describeTemplatePermissionsResponse_requestId,
describeTemplatePermissionsResponse_templateArn,
describeTemplatePermissionsResponse_templateId,
describeTemplatePermissionsResponse_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 DescribeTemplatePermissions = DescribeTemplatePermissions'
{
DescribeTemplatePermissions -> Text
awsAccountId :: Prelude.Text,
DescribeTemplatePermissions -> Text
templateId :: Prelude.Text
}
deriving (DescribeTemplatePermissions -> DescribeTemplatePermissions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTemplatePermissions -> DescribeTemplatePermissions -> Bool
$c/= :: DescribeTemplatePermissions -> DescribeTemplatePermissions -> Bool
== :: DescribeTemplatePermissions -> DescribeTemplatePermissions -> Bool
$c== :: DescribeTemplatePermissions -> DescribeTemplatePermissions -> Bool
Prelude.Eq, ReadPrec [DescribeTemplatePermissions]
ReadPrec DescribeTemplatePermissions
Int -> ReadS DescribeTemplatePermissions
ReadS [DescribeTemplatePermissions]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTemplatePermissions]
$creadListPrec :: ReadPrec [DescribeTemplatePermissions]
readPrec :: ReadPrec DescribeTemplatePermissions
$creadPrec :: ReadPrec DescribeTemplatePermissions
readList :: ReadS [DescribeTemplatePermissions]
$creadList :: ReadS [DescribeTemplatePermissions]
readsPrec :: Int -> ReadS DescribeTemplatePermissions
$creadsPrec :: Int -> ReadS DescribeTemplatePermissions
Prelude.Read, Int -> DescribeTemplatePermissions -> ShowS
[DescribeTemplatePermissions] -> ShowS
DescribeTemplatePermissions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTemplatePermissions] -> ShowS
$cshowList :: [DescribeTemplatePermissions] -> ShowS
show :: DescribeTemplatePermissions -> String
$cshow :: DescribeTemplatePermissions -> String
showsPrec :: Int -> DescribeTemplatePermissions -> ShowS
$cshowsPrec :: Int -> DescribeTemplatePermissions -> ShowS
Prelude.Show, forall x.
Rep DescribeTemplatePermissions x -> DescribeTemplatePermissions
forall x.
DescribeTemplatePermissions -> Rep DescribeTemplatePermissions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeTemplatePermissions x -> DescribeTemplatePermissions
$cfrom :: forall x.
DescribeTemplatePermissions -> Rep DescribeTemplatePermissions x
Prelude.Generic)
newDescribeTemplatePermissions ::
Prelude.Text ->
Prelude.Text ->
DescribeTemplatePermissions
newDescribeTemplatePermissions :: Text -> Text -> DescribeTemplatePermissions
newDescribeTemplatePermissions
Text
pAwsAccountId_
Text
pTemplateId_ =
DescribeTemplatePermissions'
{ $sel:awsAccountId:DescribeTemplatePermissions' :: Text
awsAccountId =
Text
pAwsAccountId_,
$sel:templateId:DescribeTemplatePermissions' :: Text
templateId = Text
pTemplateId_
}
describeTemplatePermissions_awsAccountId :: Lens.Lens' DescribeTemplatePermissions Prelude.Text
describeTemplatePermissions_awsAccountId :: Lens' DescribeTemplatePermissions Text
describeTemplatePermissions_awsAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplatePermissions' {Text
awsAccountId :: Text
$sel:awsAccountId:DescribeTemplatePermissions' :: DescribeTemplatePermissions -> Text
awsAccountId} -> Text
awsAccountId) (\s :: DescribeTemplatePermissions
s@DescribeTemplatePermissions' {} Text
a -> DescribeTemplatePermissions
s {$sel:awsAccountId:DescribeTemplatePermissions' :: Text
awsAccountId = Text
a} :: DescribeTemplatePermissions)
describeTemplatePermissions_templateId :: Lens.Lens' DescribeTemplatePermissions Prelude.Text
describeTemplatePermissions_templateId :: Lens' DescribeTemplatePermissions Text
describeTemplatePermissions_templateId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplatePermissions' {Text
templateId :: Text
$sel:templateId:DescribeTemplatePermissions' :: DescribeTemplatePermissions -> Text
templateId} -> Text
templateId) (\s :: DescribeTemplatePermissions
s@DescribeTemplatePermissions' {} Text
a -> DescribeTemplatePermissions
s {$sel:templateId:DescribeTemplatePermissions' :: Text
templateId = Text
a} :: DescribeTemplatePermissions)
instance Core.AWSRequest DescribeTemplatePermissions where
type
AWSResponse DescribeTemplatePermissions =
DescribeTemplatePermissionsResponse
request :: (Service -> Service)
-> DescribeTemplatePermissions
-> Request DescribeTemplatePermissions
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 DescribeTemplatePermissions
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeTemplatePermissions)))
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 (NonEmpty ResourcePermission)
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeTemplatePermissionsResponse
DescribeTemplatePermissionsResponse'
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
"Permissions")
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
"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
"TemplateArn")
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
"TemplateId")
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 DescribeTemplatePermissions where
hashWithSalt :: Int -> DescribeTemplatePermissions -> Int
hashWithSalt Int
_salt DescribeTemplatePermissions' {Text
templateId :: Text
awsAccountId :: Text
$sel:templateId:DescribeTemplatePermissions' :: DescribeTemplatePermissions -> Text
$sel:awsAccountId:DescribeTemplatePermissions' :: DescribeTemplatePermissions -> Text
..} =
Int
_salt
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 DescribeTemplatePermissions where
rnf :: DescribeTemplatePermissions -> ()
rnf DescribeTemplatePermissions' {Text
templateId :: Text
awsAccountId :: Text
$sel:templateId:DescribeTemplatePermissions' :: DescribeTemplatePermissions -> Text
$sel:awsAccountId:DescribeTemplatePermissions' :: DescribeTemplatePermissions -> Text
..} =
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 DescribeTemplatePermissions where
toHeaders :: DescribeTemplatePermissions -> 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 DescribeTemplatePermissions where
toPath :: DescribeTemplatePermissions -> ByteString
toPath DescribeTemplatePermissions' {Text
templateId :: Text
awsAccountId :: Text
$sel:templateId:DescribeTemplatePermissions' :: DescribeTemplatePermissions -> Text
$sel:awsAccountId:DescribeTemplatePermissions' :: DescribeTemplatePermissions -> 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,
ByteString
"/permissions"
]
instance Data.ToQuery DescribeTemplatePermissions where
toQuery :: DescribeTemplatePermissions -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeTemplatePermissionsResponse = DescribeTemplatePermissionsResponse'
{
DescribeTemplatePermissionsResponse
-> Maybe (NonEmpty ResourcePermission)
permissions :: Prelude.Maybe (Prelude.NonEmpty ResourcePermission),
DescribeTemplatePermissionsResponse -> Maybe Text
requestId :: Prelude.Maybe Prelude.Text,
DescribeTemplatePermissionsResponse -> Maybe Text
templateArn :: Prelude.Maybe Prelude.Text,
DescribeTemplatePermissionsResponse -> Maybe Text
templateId :: Prelude.Maybe Prelude.Text,
DescribeTemplatePermissionsResponse -> Int
status :: Prelude.Int
}
deriving (DescribeTemplatePermissionsResponse
-> DescribeTemplatePermissionsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTemplatePermissionsResponse
-> DescribeTemplatePermissionsResponse -> Bool
$c/= :: DescribeTemplatePermissionsResponse
-> DescribeTemplatePermissionsResponse -> Bool
== :: DescribeTemplatePermissionsResponse
-> DescribeTemplatePermissionsResponse -> Bool
$c== :: DescribeTemplatePermissionsResponse
-> DescribeTemplatePermissionsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeTemplatePermissionsResponse]
ReadPrec DescribeTemplatePermissionsResponse
Int -> ReadS DescribeTemplatePermissionsResponse
ReadS [DescribeTemplatePermissionsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTemplatePermissionsResponse]
$creadListPrec :: ReadPrec [DescribeTemplatePermissionsResponse]
readPrec :: ReadPrec DescribeTemplatePermissionsResponse
$creadPrec :: ReadPrec DescribeTemplatePermissionsResponse
readList :: ReadS [DescribeTemplatePermissionsResponse]
$creadList :: ReadS [DescribeTemplatePermissionsResponse]
readsPrec :: Int -> ReadS DescribeTemplatePermissionsResponse
$creadsPrec :: Int -> ReadS DescribeTemplatePermissionsResponse
Prelude.Read, Int -> DescribeTemplatePermissionsResponse -> ShowS
[DescribeTemplatePermissionsResponse] -> ShowS
DescribeTemplatePermissionsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTemplatePermissionsResponse] -> ShowS
$cshowList :: [DescribeTemplatePermissionsResponse] -> ShowS
show :: DescribeTemplatePermissionsResponse -> String
$cshow :: DescribeTemplatePermissionsResponse -> String
showsPrec :: Int -> DescribeTemplatePermissionsResponse -> ShowS
$cshowsPrec :: Int -> DescribeTemplatePermissionsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeTemplatePermissionsResponse x
-> DescribeTemplatePermissionsResponse
forall x.
DescribeTemplatePermissionsResponse
-> Rep DescribeTemplatePermissionsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeTemplatePermissionsResponse x
-> DescribeTemplatePermissionsResponse
$cfrom :: forall x.
DescribeTemplatePermissionsResponse
-> Rep DescribeTemplatePermissionsResponse x
Prelude.Generic)
newDescribeTemplatePermissionsResponse ::
Prelude.Int ->
DescribeTemplatePermissionsResponse
newDescribeTemplatePermissionsResponse :: Int -> DescribeTemplatePermissionsResponse
newDescribeTemplatePermissionsResponse Int
pStatus_ =
DescribeTemplatePermissionsResponse'
{ $sel:permissions:DescribeTemplatePermissionsResponse' :: Maybe (NonEmpty ResourcePermission)
permissions =
forall a. Maybe a
Prelude.Nothing,
$sel:requestId:DescribeTemplatePermissionsResponse' :: Maybe Text
requestId = forall a. Maybe a
Prelude.Nothing,
$sel:templateArn:DescribeTemplatePermissionsResponse' :: Maybe Text
templateArn = forall a. Maybe a
Prelude.Nothing,
$sel:templateId:DescribeTemplatePermissionsResponse' :: Maybe Text
templateId = forall a. Maybe a
Prelude.Nothing,
$sel:status:DescribeTemplatePermissionsResponse' :: Int
status = Int
pStatus_
}
describeTemplatePermissionsResponse_permissions :: Lens.Lens' DescribeTemplatePermissionsResponse (Prelude.Maybe (Prelude.NonEmpty ResourcePermission))
describeTemplatePermissionsResponse_permissions :: Lens'
DescribeTemplatePermissionsResponse
(Maybe (NonEmpty ResourcePermission))
describeTemplatePermissionsResponse_permissions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplatePermissionsResponse' {Maybe (NonEmpty ResourcePermission)
permissions :: Maybe (NonEmpty ResourcePermission)
$sel:permissions:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse
-> Maybe (NonEmpty ResourcePermission)
permissions} -> Maybe (NonEmpty ResourcePermission)
permissions) (\s :: DescribeTemplatePermissionsResponse
s@DescribeTemplatePermissionsResponse' {} Maybe (NonEmpty ResourcePermission)
a -> DescribeTemplatePermissionsResponse
s {$sel:permissions:DescribeTemplatePermissionsResponse' :: Maybe (NonEmpty ResourcePermission)
permissions = Maybe (NonEmpty ResourcePermission)
a} :: DescribeTemplatePermissionsResponse) 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
describeTemplatePermissionsResponse_requestId :: Lens.Lens' DescribeTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)
describeTemplatePermissionsResponse_requestId :: Lens' DescribeTemplatePermissionsResponse (Maybe Text)
describeTemplatePermissionsResponse_requestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplatePermissionsResponse' {Maybe Text
requestId :: Maybe Text
$sel:requestId:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse -> Maybe Text
requestId} -> Maybe Text
requestId) (\s :: DescribeTemplatePermissionsResponse
s@DescribeTemplatePermissionsResponse' {} Maybe Text
a -> DescribeTemplatePermissionsResponse
s {$sel:requestId:DescribeTemplatePermissionsResponse' :: Maybe Text
requestId = Maybe Text
a} :: DescribeTemplatePermissionsResponse)
describeTemplatePermissionsResponse_templateArn :: Lens.Lens' DescribeTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)
describeTemplatePermissionsResponse_templateArn :: Lens' DescribeTemplatePermissionsResponse (Maybe Text)
describeTemplatePermissionsResponse_templateArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplatePermissionsResponse' {Maybe Text
templateArn :: Maybe Text
$sel:templateArn:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse -> Maybe Text
templateArn} -> Maybe Text
templateArn) (\s :: DescribeTemplatePermissionsResponse
s@DescribeTemplatePermissionsResponse' {} Maybe Text
a -> DescribeTemplatePermissionsResponse
s {$sel:templateArn:DescribeTemplatePermissionsResponse' :: Maybe Text
templateArn = Maybe Text
a} :: DescribeTemplatePermissionsResponse)
describeTemplatePermissionsResponse_templateId :: Lens.Lens' DescribeTemplatePermissionsResponse (Prelude.Maybe Prelude.Text)
describeTemplatePermissionsResponse_templateId :: Lens' DescribeTemplatePermissionsResponse (Maybe Text)
describeTemplatePermissionsResponse_templateId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplatePermissionsResponse' {Maybe Text
templateId :: Maybe Text
$sel:templateId:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse -> Maybe Text
templateId} -> Maybe Text
templateId) (\s :: DescribeTemplatePermissionsResponse
s@DescribeTemplatePermissionsResponse' {} Maybe Text
a -> DescribeTemplatePermissionsResponse
s {$sel:templateId:DescribeTemplatePermissionsResponse' :: Maybe Text
templateId = Maybe Text
a} :: DescribeTemplatePermissionsResponse)
describeTemplatePermissionsResponse_status :: Lens.Lens' DescribeTemplatePermissionsResponse Prelude.Int
describeTemplatePermissionsResponse_status :: Lens' DescribeTemplatePermissionsResponse Int
describeTemplatePermissionsResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTemplatePermissionsResponse' {Int
status :: Int
$sel:status:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse -> Int
status} -> Int
status) (\s :: DescribeTemplatePermissionsResponse
s@DescribeTemplatePermissionsResponse' {} Int
a -> DescribeTemplatePermissionsResponse
s {$sel:status:DescribeTemplatePermissionsResponse' :: Int
status = Int
a} :: DescribeTemplatePermissionsResponse)
instance
Prelude.NFData
DescribeTemplatePermissionsResponse
where
rnf :: DescribeTemplatePermissionsResponse -> ()
rnf DescribeTemplatePermissionsResponse' {Int
Maybe (NonEmpty ResourcePermission)
Maybe Text
status :: Int
templateId :: Maybe Text
templateArn :: Maybe Text
requestId :: Maybe Text
permissions :: Maybe (NonEmpty ResourcePermission)
$sel:status:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse -> Int
$sel:templateId:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse -> Maybe Text
$sel:templateArn:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse -> Maybe Text
$sel:requestId:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse -> Maybe Text
$sel:permissions:DescribeTemplatePermissionsResponse' :: DescribeTemplatePermissionsResponse
-> Maybe (NonEmpty ResourcePermission)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty ResourcePermission)
permissions
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Text
templateArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
templateId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
status