{-# 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.GetSessionEmbedUrl
(
GetSessionEmbedUrl (..),
newGetSessionEmbedUrl,
getSessionEmbedUrl_entryPoint,
getSessionEmbedUrl_sessionLifetimeInMinutes,
getSessionEmbedUrl_userArn,
getSessionEmbedUrl_awsAccountId,
GetSessionEmbedUrlResponse (..),
newGetSessionEmbedUrlResponse,
getSessionEmbedUrlResponse_embedUrl,
getSessionEmbedUrlResponse_requestId,
getSessionEmbedUrlResponse_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 GetSessionEmbedUrl = GetSessionEmbedUrl'
{
GetSessionEmbedUrl -> Maybe Text
entryPoint :: Prelude.Maybe Prelude.Text,
GetSessionEmbedUrl -> Maybe Natural
sessionLifetimeInMinutes :: Prelude.Maybe Prelude.Natural,
GetSessionEmbedUrl -> Maybe Text
userArn :: Prelude.Maybe Prelude.Text,
GetSessionEmbedUrl -> Text
awsAccountId :: Prelude.Text
}
deriving (GetSessionEmbedUrl -> GetSessionEmbedUrl -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSessionEmbedUrl -> GetSessionEmbedUrl -> Bool
$c/= :: GetSessionEmbedUrl -> GetSessionEmbedUrl -> Bool
== :: GetSessionEmbedUrl -> GetSessionEmbedUrl -> Bool
$c== :: GetSessionEmbedUrl -> GetSessionEmbedUrl -> Bool
Prelude.Eq, ReadPrec [GetSessionEmbedUrl]
ReadPrec GetSessionEmbedUrl
Int -> ReadS GetSessionEmbedUrl
ReadS [GetSessionEmbedUrl]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSessionEmbedUrl]
$creadListPrec :: ReadPrec [GetSessionEmbedUrl]
readPrec :: ReadPrec GetSessionEmbedUrl
$creadPrec :: ReadPrec GetSessionEmbedUrl
readList :: ReadS [GetSessionEmbedUrl]
$creadList :: ReadS [GetSessionEmbedUrl]
readsPrec :: Int -> ReadS GetSessionEmbedUrl
$creadsPrec :: Int -> ReadS GetSessionEmbedUrl
Prelude.Read, Int -> GetSessionEmbedUrl -> ShowS
[GetSessionEmbedUrl] -> ShowS
GetSessionEmbedUrl -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSessionEmbedUrl] -> ShowS
$cshowList :: [GetSessionEmbedUrl] -> ShowS
show :: GetSessionEmbedUrl -> String
$cshow :: GetSessionEmbedUrl -> String
showsPrec :: Int -> GetSessionEmbedUrl -> ShowS
$cshowsPrec :: Int -> GetSessionEmbedUrl -> ShowS
Prelude.Show, forall x. Rep GetSessionEmbedUrl x -> GetSessionEmbedUrl
forall x. GetSessionEmbedUrl -> Rep GetSessionEmbedUrl x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSessionEmbedUrl x -> GetSessionEmbedUrl
$cfrom :: forall x. GetSessionEmbedUrl -> Rep GetSessionEmbedUrl x
Prelude.Generic)
newGetSessionEmbedUrl ::
Prelude.Text ->
GetSessionEmbedUrl
newGetSessionEmbedUrl :: Text -> GetSessionEmbedUrl
newGetSessionEmbedUrl Text
pAwsAccountId_ =
GetSessionEmbedUrl'
{ $sel:entryPoint:GetSessionEmbedUrl' :: Maybe Text
entryPoint = forall a. Maybe a
Prelude.Nothing,
$sel:sessionLifetimeInMinutes:GetSessionEmbedUrl' :: Maybe Natural
sessionLifetimeInMinutes = forall a. Maybe a
Prelude.Nothing,
$sel:userArn:GetSessionEmbedUrl' :: Maybe Text
userArn = forall a. Maybe a
Prelude.Nothing,
$sel:awsAccountId:GetSessionEmbedUrl' :: Text
awsAccountId = Text
pAwsAccountId_
}
getSessionEmbedUrl_entryPoint :: Lens.Lens' GetSessionEmbedUrl (Prelude.Maybe Prelude.Text)
getSessionEmbedUrl_entryPoint :: Lens' GetSessionEmbedUrl (Maybe Text)
getSessionEmbedUrl_entryPoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionEmbedUrl' {Maybe Text
entryPoint :: Maybe Text
$sel:entryPoint:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
entryPoint} -> Maybe Text
entryPoint) (\s :: GetSessionEmbedUrl
s@GetSessionEmbedUrl' {} Maybe Text
a -> GetSessionEmbedUrl
s {$sel:entryPoint:GetSessionEmbedUrl' :: Maybe Text
entryPoint = Maybe Text
a} :: GetSessionEmbedUrl)
getSessionEmbedUrl_sessionLifetimeInMinutes :: Lens.Lens' GetSessionEmbedUrl (Prelude.Maybe Prelude.Natural)
getSessionEmbedUrl_sessionLifetimeInMinutes :: Lens' GetSessionEmbedUrl (Maybe Natural)
getSessionEmbedUrl_sessionLifetimeInMinutes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionEmbedUrl' {Maybe Natural
sessionLifetimeInMinutes :: Maybe Natural
$sel:sessionLifetimeInMinutes:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Natural
sessionLifetimeInMinutes} -> Maybe Natural
sessionLifetimeInMinutes) (\s :: GetSessionEmbedUrl
s@GetSessionEmbedUrl' {} Maybe Natural
a -> GetSessionEmbedUrl
s {$sel:sessionLifetimeInMinutes:GetSessionEmbedUrl' :: Maybe Natural
sessionLifetimeInMinutes = Maybe Natural
a} :: GetSessionEmbedUrl)
getSessionEmbedUrl_userArn :: Lens.Lens' GetSessionEmbedUrl (Prelude.Maybe Prelude.Text)
getSessionEmbedUrl_userArn :: Lens' GetSessionEmbedUrl (Maybe Text)
getSessionEmbedUrl_userArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionEmbedUrl' {Maybe Text
userArn :: Maybe Text
$sel:userArn:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
userArn} -> Maybe Text
userArn) (\s :: GetSessionEmbedUrl
s@GetSessionEmbedUrl' {} Maybe Text
a -> GetSessionEmbedUrl
s {$sel:userArn:GetSessionEmbedUrl' :: Maybe Text
userArn = Maybe Text
a} :: GetSessionEmbedUrl)
getSessionEmbedUrl_awsAccountId :: Lens.Lens' GetSessionEmbedUrl Prelude.Text
getSessionEmbedUrl_awsAccountId :: Lens' GetSessionEmbedUrl Text
getSessionEmbedUrl_awsAccountId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionEmbedUrl' {Text
awsAccountId :: Text
$sel:awsAccountId:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Text
awsAccountId} -> Text
awsAccountId) (\s :: GetSessionEmbedUrl
s@GetSessionEmbedUrl' {} Text
a -> GetSessionEmbedUrl
s {$sel:awsAccountId:GetSessionEmbedUrl' :: Text
awsAccountId = Text
a} :: GetSessionEmbedUrl)
instance Core.AWSRequest GetSessionEmbedUrl where
type
AWSResponse GetSessionEmbedUrl =
GetSessionEmbedUrlResponse
request :: (Service -> Service)
-> GetSessionEmbedUrl -> Request GetSessionEmbedUrl
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 GetSessionEmbedUrl
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetSessionEmbedUrl)))
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 (Sensitive Text)
-> Maybe Text -> Int -> GetSessionEmbedUrlResponse
GetSessionEmbedUrlResponse'
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
"EmbedUrl")
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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable GetSessionEmbedUrl where
hashWithSalt :: Int -> GetSessionEmbedUrl -> Int
hashWithSalt Int
_salt GetSessionEmbedUrl' {Maybe Natural
Maybe Text
Text
awsAccountId :: Text
userArn :: Maybe Text
sessionLifetimeInMinutes :: Maybe Natural
entryPoint :: Maybe Text
$sel:awsAccountId:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Text
$sel:userArn:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
$sel:sessionLifetimeInMinutes:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Natural
$sel:entryPoint:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
entryPoint
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
sessionLifetimeInMinutes
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
userArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
awsAccountId
instance Prelude.NFData GetSessionEmbedUrl where
rnf :: GetSessionEmbedUrl -> ()
rnf GetSessionEmbedUrl' {Maybe Natural
Maybe Text
Text
awsAccountId :: Text
userArn :: Maybe Text
sessionLifetimeInMinutes :: Maybe Natural
entryPoint :: Maybe Text
$sel:awsAccountId:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Text
$sel:userArn:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
$sel:sessionLifetimeInMinutes:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Natural
$sel:entryPoint:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
entryPoint
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
sessionLifetimeInMinutes
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
userArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
awsAccountId
instance Data.ToHeaders GetSessionEmbedUrl where
toHeaders :: GetSessionEmbedUrl -> 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 GetSessionEmbedUrl where
toPath :: GetSessionEmbedUrl -> ByteString
toPath GetSessionEmbedUrl' {Maybe Natural
Maybe Text
Text
awsAccountId :: Text
userArn :: Maybe Text
sessionLifetimeInMinutes :: Maybe Natural
entryPoint :: Maybe Text
$sel:awsAccountId:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Text
$sel:userArn:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
$sel:sessionLifetimeInMinutes:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Natural
$sel:entryPoint:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/accounts/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
awsAccountId,
ByteString
"/session-embed-url"
]
instance Data.ToQuery GetSessionEmbedUrl where
toQuery :: GetSessionEmbedUrl -> QueryString
toQuery GetSessionEmbedUrl' {Maybe Natural
Maybe Text
Text
awsAccountId :: Text
userArn :: Maybe Text
sessionLifetimeInMinutes :: Maybe Natural
entryPoint :: Maybe Text
$sel:awsAccountId:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Text
$sel:userArn:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
$sel:sessionLifetimeInMinutes:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Natural
$sel:entryPoint:GetSessionEmbedUrl' :: GetSessionEmbedUrl -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"entry-point" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
entryPoint,
ByteString
"session-lifetime" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
sessionLifetimeInMinutes,
ByteString
"user-arn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
userArn
]
data GetSessionEmbedUrlResponse = GetSessionEmbedUrlResponse'
{
GetSessionEmbedUrlResponse -> Maybe (Sensitive Text)
embedUrl :: Prelude.Maybe (Data.Sensitive Prelude.Text),
GetSessionEmbedUrlResponse -> Maybe Text
requestId :: Prelude.Maybe Prelude.Text,
GetSessionEmbedUrlResponse -> Int
status :: Prelude.Int
}
deriving (GetSessionEmbedUrlResponse -> GetSessionEmbedUrlResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSessionEmbedUrlResponse -> GetSessionEmbedUrlResponse -> Bool
$c/= :: GetSessionEmbedUrlResponse -> GetSessionEmbedUrlResponse -> Bool
== :: GetSessionEmbedUrlResponse -> GetSessionEmbedUrlResponse -> Bool
$c== :: GetSessionEmbedUrlResponse -> GetSessionEmbedUrlResponse -> Bool
Prelude.Eq, Int -> GetSessionEmbedUrlResponse -> ShowS
[GetSessionEmbedUrlResponse] -> ShowS
GetSessionEmbedUrlResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSessionEmbedUrlResponse] -> ShowS
$cshowList :: [GetSessionEmbedUrlResponse] -> ShowS
show :: GetSessionEmbedUrlResponse -> String
$cshow :: GetSessionEmbedUrlResponse -> String
showsPrec :: Int -> GetSessionEmbedUrlResponse -> ShowS
$cshowsPrec :: Int -> GetSessionEmbedUrlResponse -> ShowS
Prelude.Show, forall x.
Rep GetSessionEmbedUrlResponse x -> GetSessionEmbedUrlResponse
forall x.
GetSessionEmbedUrlResponse -> Rep GetSessionEmbedUrlResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetSessionEmbedUrlResponse x -> GetSessionEmbedUrlResponse
$cfrom :: forall x.
GetSessionEmbedUrlResponse -> Rep GetSessionEmbedUrlResponse x
Prelude.Generic)
newGetSessionEmbedUrlResponse ::
Prelude.Int ->
GetSessionEmbedUrlResponse
newGetSessionEmbedUrlResponse :: Int -> GetSessionEmbedUrlResponse
newGetSessionEmbedUrlResponse Int
pStatus_ =
GetSessionEmbedUrlResponse'
{ $sel:embedUrl:GetSessionEmbedUrlResponse' :: Maybe (Sensitive Text)
embedUrl =
forall a. Maybe a
Prelude.Nothing,
$sel:requestId:GetSessionEmbedUrlResponse' :: Maybe Text
requestId = forall a. Maybe a
Prelude.Nothing,
$sel:status:GetSessionEmbedUrlResponse' :: Int
status = Int
pStatus_
}
getSessionEmbedUrlResponse_embedUrl :: Lens.Lens' GetSessionEmbedUrlResponse (Prelude.Maybe Prelude.Text)
getSessionEmbedUrlResponse_embedUrl :: Lens' GetSessionEmbedUrlResponse (Maybe Text)
getSessionEmbedUrlResponse_embedUrl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionEmbedUrlResponse' {Maybe (Sensitive Text)
embedUrl :: Maybe (Sensitive Text)
$sel:embedUrl:GetSessionEmbedUrlResponse' :: GetSessionEmbedUrlResponse -> Maybe (Sensitive Text)
embedUrl} -> Maybe (Sensitive Text)
embedUrl) (\s :: GetSessionEmbedUrlResponse
s@GetSessionEmbedUrlResponse' {} Maybe (Sensitive Text)
a -> GetSessionEmbedUrlResponse
s {$sel:embedUrl:GetSessionEmbedUrlResponse' :: Maybe (Sensitive Text)
embedUrl = Maybe (Sensitive Text)
a} :: GetSessionEmbedUrlResponse) 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 a. Iso' (Sensitive a) a
Data._Sensitive
getSessionEmbedUrlResponse_requestId :: Lens.Lens' GetSessionEmbedUrlResponse (Prelude.Maybe Prelude.Text)
getSessionEmbedUrlResponse_requestId :: Lens' GetSessionEmbedUrlResponse (Maybe Text)
getSessionEmbedUrlResponse_requestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionEmbedUrlResponse' {Maybe Text
requestId :: Maybe Text
$sel:requestId:GetSessionEmbedUrlResponse' :: GetSessionEmbedUrlResponse -> Maybe Text
requestId} -> Maybe Text
requestId) (\s :: GetSessionEmbedUrlResponse
s@GetSessionEmbedUrlResponse' {} Maybe Text
a -> GetSessionEmbedUrlResponse
s {$sel:requestId:GetSessionEmbedUrlResponse' :: Maybe Text
requestId = Maybe Text
a} :: GetSessionEmbedUrlResponse)
getSessionEmbedUrlResponse_status :: Lens.Lens' GetSessionEmbedUrlResponse Prelude.Int
getSessionEmbedUrlResponse_status :: Lens' GetSessionEmbedUrlResponse Int
getSessionEmbedUrlResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionEmbedUrlResponse' {Int
status :: Int
$sel:status:GetSessionEmbedUrlResponse' :: GetSessionEmbedUrlResponse -> Int
status} -> Int
status) (\s :: GetSessionEmbedUrlResponse
s@GetSessionEmbedUrlResponse' {} Int
a -> GetSessionEmbedUrlResponse
s {$sel:status:GetSessionEmbedUrlResponse' :: Int
status = Int
a} :: GetSessionEmbedUrlResponse)
instance Prelude.NFData GetSessionEmbedUrlResponse where
rnf :: GetSessionEmbedUrlResponse -> ()
rnf GetSessionEmbedUrlResponse' {Int
Maybe Text
Maybe (Sensitive Text)
status :: Int
requestId :: Maybe Text
embedUrl :: Maybe (Sensitive Text)
$sel:status:GetSessionEmbedUrlResponse' :: GetSessionEmbedUrlResponse -> Int
$sel:requestId:GetSessionEmbedUrlResponse' :: GetSessionEmbedUrlResponse -> Maybe Text
$sel:embedUrl:GetSessionEmbedUrlResponse' :: GetSessionEmbedUrlResponse -> Maybe (Sensitive Text)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
embedUrl
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 Int
status