{-# 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.Athena.GetSessionStatus
(
GetSessionStatus (..),
newGetSessionStatus,
getSessionStatus_sessionId,
GetSessionStatusResponse (..),
newGetSessionStatusResponse,
getSessionStatusResponse_sessionId,
getSessionStatusResponse_status,
getSessionStatusResponse_httpStatus,
)
where
import Amazonka.Athena.Types
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetSessionStatus = GetSessionStatus'
{
GetSessionStatus -> Text
sessionId :: Prelude.Text
}
deriving (GetSessionStatus -> GetSessionStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSessionStatus -> GetSessionStatus -> Bool
$c/= :: GetSessionStatus -> GetSessionStatus -> Bool
== :: GetSessionStatus -> GetSessionStatus -> Bool
$c== :: GetSessionStatus -> GetSessionStatus -> Bool
Prelude.Eq, ReadPrec [GetSessionStatus]
ReadPrec GetSessionStatus
Int -> ReadS GetSessionStatus
ReadS [GetSessionStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSessionStatus]
$creadListPrec :: ReadPrec [GetSessionStatus]
readPrec :: ReadPrec GetSessionStatus
$creadPrec :: ReadPrec GetSessionStatus
readList :: ReadS [GetSessionStatus]
$creadList :: ReadS [GetSessionStatus]
readsPrec :: Int -> ReadS GetSessionStatus
$creadsPrec :: Int -> ReadS GetSessionStatus
Prelude.Read, Int -> GetSessionStatus -> ShowS
[GetSessionStatus] -> ShowS
GetSessionStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSessionStatus] -> ShowS
$cshowList :: [GetSessionStatus] -> ShowS
show :: GetSessionStatus -> String
$cshow :: GetSessionStatus -> String
showsPrec :: Int -> GetSessionStatus -> ShowS
$cshowsPrec :: Int -> GetSessionStatus -> ShowS
Prelude.Show, forall x. Rep GetSessionStatus x -> GetSessionStatus
forall x. GetSessionStatus -> Rep GetSessionStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSessionStatus x -> GetSessionStatus
$cfrom :: forall x. GetSessionStatus -> Rep GetSessionStatus x
Prelude.Generic)
newGetSessionStatus ::
Prelude.Text ->
GetSessionStatus
newGetSessionStatus :: Text -> GetSessionStatus
newGetSessionStatus Text
pSessionId_ =
GetSessionStatus' {$sel:sessionId:GetSessionStatus' :: Text
sessionId = Text
pSessionId_}
getSessionStatus_sessionId :: Lens.Lens' GetSessionStatus Prelude.Text
getSessionStatus_sessionId :: Lens' GetSessionStatus Text
getSessionStatus_sessionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionStatus' {Text
sessionId :: Text
$sel:sessionId:GetSessionStatus' :: GetSessionStatus -> Text
sessionId} -> Text
sessionId) (\s :: GetSessionStatus
s@GetSessionStatus' {} Text
a -> GetSessionStatus
s {$sel:sessionId:GetSessionStatus' :: Text
sessionId = Text
a} :: GetSessionStatus)
instance Core.AWSRequest GetSessionStatus where
type
AWSResponse GetSessionStatus =
GetSessionStatusResponse
request :: (Service -> Service)
-> GetSessionStatus -> Request GetSessionStatus
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetSessionStatus
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetSessionStatus)))
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 SessionStatus -> Int -> GetSessionStatusResponse
GetSessionStatusResponse'
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
"SessionId")
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
"Status")
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 GetSessionStatus where
hashWithSalt :: Int -> GetSessionStatus -> Int
hashWithSalt Int
_salt GetSessionStatus' {Text
sessionId :: Text
$sel:sessionId:GetSessionStatus' :: GetSessionStatus -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sessionId
instance Prelude.NFData GetSessionStatus where
rnf :: GetSessionStatus -> ()
rnf GetSessionStatus' {Text
sessionId :: Text
$sel:sessionId:GetSessionStatus' :: GetSessionStatus -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
sessionId
instance Data.ToHeaders GetSessionStatus where
toHeaders :: GetSessionStatus -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonAthena.GetSessionStatus" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON GetSessionStatus where
toJSON :: GetSessionStatus -> Value
toJSON GetSessionStatus' {Text
sessionId :: Text
$sel:sessionId:GetSessionStatus' :: GetSessionStatus -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"SessionId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
sessionId)]
)
instance Data.ToPath GetSessionStatus where
toPath :: GetSessionStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetSessionStatus where
toQuery :: GetSessionStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetSessionStatusResponse = GetSessionStatusResponse'
{
GetSessionStatusResponse -> Maybe Text
sessionId :: Prelude.Maybe Prelude.Text,
GetSessionStatusResponse -> Maybe SessionStatus
status :: Prelude.Maybe SessionStatus,
GetSessionStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSessionStatusResponse -> GetSessionStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSessionStatusResponse -> GetSessionStatusResponse -> Bool
$c/= :: GetSessionStatusResponse -> GetSessionStatusResponse -> Bool
== :: GetSessionStatusResponse -> GetSessionStatusResponse -> Bool
$c== :: GetSessionStatusResponse -> GetSessionStatusResponse -> Bool
Prelude.Eq, ReadPrec [GetSessionStatusResponse]
ReadPrec GetSessionStatusResponse
Int -> ReadS GetSessionStatusResponse
ReadS [GetSessionStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSessionStatusResponse]
$creadListPrec :: ReadPrec [GetSessionStatusResponse]
readPrec :: ReadPrec GetSessionStatusResponse
$creadPrec :: ReadPrec GetSessionStatusResponse
readList :: ReadS [GetSessionStatusResponse]
$creadList :: ReadS [GetSessionStatusResponse]
readsPrec :: Int -> ReadS GetSessionStatusResponse
$creadsPrec :: Int -> ReadS GetSessionStatusResponse
Prelude.Read, Int -> GetSessionStatusResponse -> ShowS
[GetSessionStatusResponse] -> ShowS
GetSessionStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSessionStatusResponse] -> ShowS
$cshowList :: [GetSessionStatusResponse] -> ShowS
show :: GetSessionStatusResponse -> String
$cshow :: GetSessionStatusResponse -> String
showsPrec :: Int -> GetSessionStatusResponse -> ShowS
$cshowsPrec :: Int -> GetSessionStatusResponse -> ShowS
Prelude.Show, forall x.
Rep GetSessionStatusResponse x -> GetSessionStatusResponse
forall x.
GetSessionStatusResponse -> Rep GetSessionStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetSessionStatusResponse x -> GetSessionStatusResponse
$cfrom :: forall x.
GetSessionStatusResponse -> Rep GetSessionStatusResponse x
Prelude.Generic)
newGetSessionStatusResponse ::
Prelude.Int ->
GetSessionStatusResponse
newGetSessionStatusResponse :: Int -> GetSessionStatusResponse
newGetSessionStatusResponse Int
pHttpStatus_ =
GetSessionStatusResponse'
{ $sel:sessionId:GetSessionStatusResponse' :: Maybe Text
sessionId =
forall a. Maybe a
Prelude.Nothing,
$sel:status:GetSessionStatusResponse' :: Maybe SessionStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSessionStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSessionStatusResponse_sessionId :: Lens.Lens' GetSessionStatusResponse (Prelude.Maybe Prelude.Text)
getSessionStatusResponse_sessionId :: Lens' GetSessionStatusResponse (Maybe Text)
getSessionStatusResponse_sessionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionStatusResponse' {Maybe Text
sessionId :: Maybe Text
$sel:sessionId:GetSessionStatusResponse' :: GetSessionStatusResponse -> Maybe Text
sessionId} -> Maybe Text
sessionId) (\s :: GetSessionStatusResponse
s@GetSessionStatusResponse' {} Maybe Text
a -> GetSessionStatusResponse
s {$sel:sessionId:GetSessionStatusResponse' :: Maybe Text
sessionId = Maybe Text
a} :: GetSessionStatusResponse)
getSessionStatusResponse_status :: Lens.Lens' GetSessionStatusResponse (Prelude.Maybe SessionStatus)
getSessionStatusResponse_status :: Lens' GetSessionStatusResponse (Maybe SessionStatus)
getSessionStatusResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionStatusResponse' {Maybe SessionStatus
status :: Maybe SessionStatus
$sel:status:GetSessionStatusResponse' :: GetSessionStatusResponse -> Maybe SessionStatus
status} -> Maybe SessionStatus
status) (\s :: GetSessionStatusResponse
s@GetSessionStatusResponse' {} Maybe SessionStatus
a -> GetSessionStatusResponse
s {$sel:status:GetSessionStatusResponse' :: Maybe SessionStatus
status = Maybe SessionStatus
a} :: GetSessionStatusResponse)
getSessionStatusResponse_httpStatus :: Lens.Lens' GetSessionStatusResponse Prelude.Int
getSessionStatusResponse_httpStatus :: Lens' GetSessionStatusResponse Int
getSessionStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSessionStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSessionStatusResponse' :: GetSessionStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSessionStatusResponse
s@GetSessionStatusResponse' {} Int
a -> GetSessionStatusResponse
s {$sel:httpStatus:GetSessionStatusResponse' :: Int
httpStatus = Int
a} :: GetSessionStatusResponse)
instance Prelude.NFData GetSessionStatusResponse where
rnf :: GetSessionStatusResponse -> ()
rnf GetSessionStatusResponse' {Int
Maybe Text
Maybe SessionStatus
httpStatus :: Int
status :: Maybe SessionStatus
sessionId :: Maybe Text
$sel:httpStatus:GetSessionStatusResponse' :: GetSessionStatusResponse -> Int
$sel:status:GetSessionStatusResponse' :: GetSessionStatusResponse -> Maybe SessionStatus
$sel:sessionId:GetSessionStatusResponse' :: GetSessionStatusResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sessionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SessionStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus