{-# 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.GetQueryExecution
(
GetQueryExecution (..),
newGetQueryExecution,
getQueryExecution_queryExecutionId,
GetQueryExecutionResponse (..),
newGetQueryExecutionResponse,
getQueryExecutionResponse_queryExecution,
getQueryExecutionResponse_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 GetQueryExecution = GetQueryExecution'
{
GetQueryExecution -> Text
queryExecutionId :: Prelude.Text
}
deriving (GetQueryExecution -> GetQueryExecution -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetQueryExecution -> GetQueryExecution -> Bool
$c/= :: GetQueryExecution -> GetQueryExecution -> Bool
== :: GetQueryExecution -> GetQueryExecution -> Bool
$c== :: GetQueryExecution -> GetQueryExecution -> Bool
Prelude.Eq, ReadPrec [GetQueryExecution]
ReadPrec GetQueryExecution
Int -> ReadS GetQueryExecution
ReadS [GetQueryExecution]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetQueryExecution]
$creadListPrec :: ReadPrec [GetQueryExecution]
readPrec :: ReadPrec GetQueryExecution
$creadPrec :: ReadPrec GetQueryExecution
readList :: ReadS [GetQueryExecution]
$creadList :: ReadS [GetQueryExecution]
readsPrec :: Int -> ReadS GetQueryExecution
$creadsPrec :: Int -> ReadS GetQueryExecution
Prelude.Read, Int -> GetQueryExecution -> ShowS
[GetQueryExecution] -> ShowS
GetQueryExecution -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetQueryExecution] -> ShowS
$cshowList :: [GetQueryExecution] -> ShowS
show :: GetQueryExecution -> String
$cshow :: GetQueryExecution -> String
showsPrec :: Int -> GetQueryExecution -> ShowS
$cshowsPrec :: Int -> GetQueryExecution -> ShowS
Prelude.Show, forall x. Rep GetQueryExecution x -> GetQueryExecution
forall x. GetQueryExecution -> Rep GetQueryExecution x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetQueryExecution x -> GetQueryExecution
$cfrom :: forall x. GetQueryExecution -> Rep GetQueryExecution x
Prelude.Generic)
newGetQueryExecution ::
Prelude.Text ->
GetQueryExecution
newGetQueryExecution :: Text -> GetQueryExecution
newGetQueryExecution Text
pQueryExecutionId_ =
GetQueryExecution'
{ $sel:queryExecutionId:GetQueryExecution' :: Text
queryExecutionId =
Text
pQueryExecutionId_
}
getQueryExecution_queryExecutionId :: Lens.Lens' GetQueryExecution Prelude.Text
getQueryExecution_queryExecutionId :: Lens' GetQueryExecution Text
getQueryExecution_queryExecutionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryExecution' {Text
queryExecutionId :: Text
$sel:queryExecutionId:GetQueryExecution' :: GetQueryExecution -> Text
queryExecutionId} -> Text
queryExecutionId) (\s :: GetQueryExecution
s@GetQueryExecution' {} Text
a -> GetQueryExecution
s {$sel:queryExecutionId:GetQueryExecution' :: Text
queryExecutionId = Text
a} :: GetQueryExecution)
instance Core.AWSRequest GetQueryExecution where
type
AWSResponse GetQueryExecution =
GetQueryExecutionResponse
request :: (Service -> Service)
-> GetQueryExecution -> Request GetQueryExecution
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 GetQueryExecution
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetQueryExecution)))
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 QueryExecution -> Int -> GetQueryExecutionResponse
GetQueryExecutionResponse'
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
"QueryExecution")
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 GetQueryExecution where
hashWithSalt :: Int -> GetQueryExecution -> Int
hashWithSalt Int
_salt GetQueryExecution' {Text
queryExecutionId :: Text
$sel:queryExecutionId:GetQueryExecution' :: GetQueryExecution -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
queryExecutionId
instance Prelude.NFData GetQueryExecution where
rnf :: GetQueryExecution -> ()
rnf GetQueryExecution' {Text
queryExecutionId :: Text
$sel:queryExecutionId:GetQueryExecution' :: GetQueryExecution -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
queryExecutionId
instance Data.ToHeaders GetQueryExecution where
toHeaders :: GetQueryExecution -> 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.GetQueryExecution" ::
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 GetQueryExecution where
toJSON :: GetQueryExecution -> Value
toJSON GetQueryExecution' {Text
queryExecutionId :: Text
$sel:queryExecutionId:GetQueryExecution' :: GetQueryExecution -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"QueryExecutionId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
queryExecutionId)
]
)
instance Data.ToPath GetQueryExecution where
toPath :: GetQueryExecution -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetQueryExecution where
toQuery :: GetQueryExecution -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetQueryExecutionResponse = GetQueryExecutionResponse'
{
GetQueryExecutionResponse -> Maybe QueryExecution
queryExecution :: Prelude.Maybe QueryExecution,
GetQueryExecutionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetQueryExecutionResponse -> GetQueryExecutionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetQueryExecutionResponse -> GetQueryExecutionResponse -> Bool
$c/= :: GetQueryExecutionResponse -> GetQueryExecutionResponse -> Bool
== :: GetQueryExecutionResponse -> GetQueryExecutionResponse -> Bool
$c== :: GetQueryExecutionResponse -> GetQueryExecutionResponse -> Bool
Prelude.Eq, ReadPrec [GetQueryExecutionResponse]
ReadPrec GetQueryExecutionResponse
Int -> ReadS GetQueryExecutionResponse
ReadS [GetQueryExecutionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetQueryExecutionResponse]
$creadListPrec :: ReadPrec [GetQueryExecutionResponse]
readPrec :: ReadPrec GetQueryExecutionResponse
$creadPrec :: ReadPrec GetQueryExecutionResponse
readList :: ReadS [GetQueryExecutionResponse]
$creadList :: ReadS [GetQueryExecutionResponse]
readsPrec :: Int -> ReadS GetQueryExecutionResponse
$creadsPrec :: Int -> ReadS GetQueryExecutionResponse
Prelude.Read, Int -> GetQueryExecutionResponse -> ShowS
[GetQueryExecutionResponse] -> ShowS
GetQueryExecutionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetQueryExecutionResponse] -> ShowS
$cshowList :: [GetQueryExecutionResponse] -> ShowS
show :: GetQueryExecutionResponse -> String
$cshow :: GetQueryExecutionResponse -> String
showsPrec :: Int -> GetQueryExecutionResponse -> ShowS
$cshowsPrec :: Int -> GetQueryExecutionResponse -> ShowS
Prelude.Show, forall x.
Rep GetQueryExecutionResponse x -> GetQueryExecutionResponse
forall x.
GetQueryExecutionResponse -> Rep GetQueryExecutionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetQueryExecutionResponse x -> GetQueryExecutionResponse
$cfrom :: forall x.
GetQueryExecutionResponse -> Rep GetQueryExecutionResponse x
Prelude.Generic)
newGetQueryExecutionResponse ::
Prelude.Int ->
GetQueryExecutionResponse
newGetQueryExecutionResponse :: Int -> GetQueryExecutionResponse
newGetQueryExecutionResponse Int
pHttpStatus_ =
GetQueryExecutionResponse'
{ $sel:queryExecution:GetQueryExecutionResponse' :: Maybe QueryExecution
queryExecution =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetQueryExecutionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getQueryExecutionResponse_queryExecution :: Lens.Lens' GetQueryExecutionResponse (Prelude.Maybe QueryExecution)
getQueryExecutionResponse_queryExecution :: Lens' GetQueryExecutionResponse (Maybe QueryExecution)
getQueryExecutionResponse_queryExecution = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryExecutionResponse' {Maybe QueryExecution
queryExecution :: Maybe QueryExecution
$sel:queryExecution:GetQueryExecutionResponse' :: GetQueryExecutionResponse -> Maybe QueryExecution
queryExecution} -> Maybe QueryExecution
queryExecution) (\s :: GetQueryExecutionResponse
s@GetQueryExecutionResponse' {} Maybe QueryExecution
a -> GetQueryExecutionResponse
s {$sel:queryExecution:GetQueryExecutionResponse' :: Maybe QueryExecution
queryExecution = Maybe QueryExecution
a} :: GetQueryExecutionResponse)
getQueryExecutionResponse_httpStatus :: Lens.Lens' GetQueryExecutionResponse Prelude.Int
getQueryExecutionResponse_httpStatus :: Lens' GetQueryExecutionResponse Int
getQueryExecutionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryExecutionResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetQueryExecutionResponse' :: GetQueryExecutionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetQueryExecutionResponse
s@GetQueryExecutionResponse' {} Int
a -> GetQueryExecutionResponse
s {$sel:httpStatus:GetQueryExecutionResponse' :: Int
httpStatus = Int
a} :: GetQueryExecutionResponse)
instance Prelude.NFData GetQueryExecutionResponse where
rnf :: GetQueryExecutionResponse -> ()
rnf GetQueryExecutionResponse' {Int
Maybe QueryExecution
httpStatus :: Int
queryExecution :: Maybe QueryExecution
$sel:httpStatus:GetQueryExecutionResponse' :: GetQueryExecutionResponse -> Int
$sel:queryExecution:GetQueryExecutionResponse' :: GetQueryExecutionResponse -> Maybe QueryExecution
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe QueryExecution
queryExecution
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus