{-# 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.GetCalculationExecutionStatus
(
GetCalculationExecutionStatus (..),
newGetCalculationExecutionStatus,
getCalculationExecutionStatus_calculationExecutionId,
GetCalculationExecutionStatusResponse (..),
newGetCalculationExecutionStatusResponse,
getCalculationExecutionStatusResponse_statistics,
getCalculationExecutionStatusResponse_status,
getCalculationExecutionStatusResponse_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 GetCalculationExecutionStatus = GetCalculationExecutionStatus'
{
GetCalculationExecutionStatus -> Text
calculationExecutionId :: Prelude.Text
}
deriving (GetCalculationExecutionStatus
-> GetCalculationExecutionStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCalculationExecutionStatus
-> GetCalculationExecutionStatus -> Bool
$c/= :: GetCalculationExecutionStatus
-> GetCalculationExecutionStatus -> Bool
== :: GetCalculationExecutionStatus
-> GetCalculationExecutionStatus -> Bool
$c== :: GetCalculationExecutionStatus
-> GetCalculationExecutionStatus -> Bool
Prelude.Eq, ReadPrec [GetCalculationExecutionStatus]
ReadPrec GetCalculationExecutionStatus
Int -> ReadS GetCalculationExecutionStatus
ReadS [GetCalculationExecutionStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCalculationExecutionStatus]
$creadListPrec :: ReadPrec [GetCalculationExecutionStatus]
readPrec :: ReadPrec GetCalculationExecutionStatus
$creadPrec :: ReadPrec GetCalculationExecutionStatus
readList :: ReadS [GetCalculationExecutionStatus]
$creadList :: ReadS [GetCalculationExecutionStatus]
readsPrec :: Int -> ReadS GetCalculationExecutionStatus
$creadsPrec :: Int -> ReadS GetCalculationExecutionStatus
Prelude.Read, Int -> GetCalculationExecutionStatus -> ShowS
[GetCalculationExecutionStatus] -> ShowS
GetCalculationExecutionStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCalculationExecutionStatus] -> ShowS
$cshowList :: [GetCalculationExecutionStatus] -> ShowS
show :: GetCalculationExecutionStatus -> String
$cshow :: GetCalculationExecutionStatus -> String
showsPrec :: Int -> GetCalculationExecutionStatus -> ShowS
$cshowsPrec :: Int -> GetCalculationExecutionStatus -> ShowS
Prelude.Show, forall x.
Rep GetCalculationExecutionStatus x
-> GetCalculationExecutionStatus
forall x.
GetCalculationExecutionStatus
-> Rep GetCalculationExecutionStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetCalculationExecutionStatus x
-> GetCalculationExecutionStatus
$cfrom :: forall x.
GetCalculationExecutionStatus
-> Rep GetCalculationExecutionStatus x
Prelude.Generic)
newGetCalculationExecutionStatus ::
Prelude.Text ->
GetCalculationExecutionStatus
newGetCalculationExecutionStatus :: Text -> GetCalculationExecutionStatus
newGetCalculationExecutionStatus
Text
pCalculationExecutionId_ =
GetCalculationExecutionStatus'
{ $sel:calculationExecutionId:GetCalculationExecutionStatus' :: Text
calculationExecutionId =
Text
pCalculationExecutionId_
}
getCalculationExecutionStatus_calculationExecutionId :: Lens.Lens' GetCalculationExecutionStatus Prelude.Text
getCalculationExecutionStatus_calculationExecutionId :: Lens' GetCalculationExecutionStatus Text
getCalculationExecutionStatus_calculationExecutionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCalculationExecutionStatus' {Text
calculationExecutionId :: Text
$sel:calculationExecutionId:GetCalculationExecutionStatus' :: GetCalculationExecutionStatus -> Text
calculationExecutionId} -> Text
calculationExecutionId) (\s :: GetCalculationExecutionStatus
s@GetCalculationExecutionStatus' {} Text
a -> GetCalculationExecutionStatus
s {$sel:calculationExecutionId:GetCalculationExecutionStatus' :: Text
calculationExecutionId = Text
a} :: GetCalculationExecutionStatus)
instance
Core.AWSRequest
GetCalculationExecutionStatus
where
type
AWSResponse GetCalculationExecutionStatus =
GetCalculationExecutionStatusResponse
request :: (Service -> Service)
-> GetCalculationExecutionStatus
-> Request GetCalculationExecutionStatus
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 GetCalculationExecutionStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetCalculationExecutionStatus)))
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 CalculationStatistics
-> Maybe CalculationStatus
-> Int
-> GetCalculationExecutionStatusResponse
GetCalculationExecutionStatusResponse'
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
"Statistics")
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
GetCalculationExecutionStatus
where
hashWithSalt :: Int -> GetCalculationExecutionStatus -> Int
hashWithSalt Int
_salt GetCalculationExecutionStatus' {Text
calculationExecutionId :: Text
$sel:calculationExecutionId:GetCalculationExecutionStatus' :: GetCalculationExecutionStatus -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
calculationExecutionId
instance Prelude.NFData GetCalculationExecutionStatus where
rnf :: GetCalculationExecutionStatus -> ()
rnf GetCalculationExecutionStatus' {Text
calculationExecutionId :: Text
$sel:calculationExecutionId:GetCalculationExecutionStatus' :: GetCalculationExecutionStatus -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
calculationExecutionId
instance Data.ToHeaders GetCalculationExecutionStatus where
toHeaders :: GetCalculationExecutionStatus -> 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.GetCalculationExecutionStatus" ::
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 GetCalculationExecutionStatus where
toJSON :: GetCalculationExecutionStatus -> Value
toJSON GetCalculationExecutionStatus' {Text
calculationExecutionId :: Text
$sel:calculationExecutionId:GetCalculationExecutionStatus' :: GetCalculationExecutionStatus -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"CalculationExecutionId"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
calculationExecutionId
)
]
)
instance Data.ToPath GetCalculationExecutionStatus where
toPath :: GetCalculationExecutionStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetCalculationExecutionStatus where
toQuery :: GetCalculationExecutionStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetCalculationExecutionStatusResponse = GetCalculationExecutionStatusResponse'
{
GetCalculationExecutionStatusResponse
-> Maybe CalculationStatistics
statistics :: Prelude.Maybe CalculationStatistics,
GetCalculationExecutionStatusResponse -> Maybe CalculationStatus
status :: Prelude.Maybe CalculationStatus,
GetCalculationExecutionStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetCalculationExecutionStatusResponse
-> GetCalculationExecutionStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCalculationExecutionStatusResponse
-> GetCalculationExecutionStatusResponse -> Bool
$c/= :: GetCalculationExecutionStatusResponse
-> GetCalculationExecutionStatusResponse -> Bool
== :: GetCalculationExecutionStatusResponse
-> GetCalculationExecutionStatusResponse -> Bool
$c== :: GetCalculationExecutionStatusResponse
-> GetCalculationExecutionStatusResponse -> Bool
Prelude.Eq, ReadPrec [GetCalculationExecutionStatusResponse]
ReadPrec GetCalculationExecutionStatusResponse
Int -> ReadS GetCalculationExecutionStatusResponse
ReadS [GetCalculationExecutionStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCalculationExecutionStatusResponse]
$creadListPrec :: ReadPrec [GetCalculationExecutionStatusResponse]
readPrec :: ReadPrec GetCalculationExecutionStatusResponse
$creadPrec :: ReadPrec GetCalculationExecutionStatusResponse
readList :: ReadS [GetCalculationExecutionStatusResponse]
$creadList :: ReadS [GetCalculationExecutionStatusResponse]
readsPrec :: Int -> ReadS GetCalculationExecutionStatusResponse
$creadsPrec :: Int -> ReadS GetCalculationExecutionStatusResponse
Prelude.Read, Int -> GetCalculationExecutionStatusResponse -> ShowS
[GetCalculationExecutionStatusResponse] -> ShowS
GetCalculationExecutionStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCalculationExecutionStatusResponse] -> ShowS
$cshowList :: [GetCalculationExecutionStatusResponse] -> ShowS
show :: GetCalculationExecutionStatusResponse -> String
$cshow :: GetCalculationExecutionStatusResponse -> String
showsPrec :: Int -> GetCalculationExecutionStatusResponse -> ShowS
$cshowsPrec :: Int -> GetCalculationExecutionStatusResponse -> ShowS
Prelude.Show, forall x.
Rep GetCalculationExecutionStatusResponse x
-> GetCalculationExecutionStatusResponse
forall x.
GetCalculationExecutionStatusResponse
-> Rep GetCalculationExecutionStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetCalculationExecutionStatusResponse x
-> GetCalculationExecutionStatusResponse
$cfrom :: forall x.
GetCalculationExecutionStatusResponse
-> Rep GetCalculationExecutionStatusResponse x
Prelude.Generic)
newGetCalculationExecutionStatusResponse ::
Prelude.Int ->
GetCalculationExecutionStatusResponse
newGetCalculationExecutionStatusResponse :: Int -> GetCalculationExecutionStatusResponse
newGetCalculationExecutionStatusResponse Int
pHttpStatus_ =
GetCalculationExecutionStatusResponse'
{ $sel:statistics:GetCalculationExecutionStatusResponse' :: Maybe CalculationStatistics
statistics =
forall a. Maybe a
Prelude.Nothing,
$sel:status:GetCalculationExecutionStatusResponse' :: Maybe CalculationStatus
status = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetCalculationExecutionStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getCalculationExecutionStatusResponse_statistics :: Lens.Lens' GetCalculationExecutionStatusResponse (Prelude.Maybe CalculationStatistics)
getCalculationExecutionStatusResponse_statistics :: Lens'
GetCalculationExecutionStatusResponse (Maybe CalculationStatistics)
getCalculationExecutionStatusResponse_statistics = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCalculationExecutionStatusResponse' {Maybe CalculationStatistics
statistics :: Maybe CalculationStatistics
$sel:statistics:GetCalculationExecutionStatusResponse' :: GetCalculationExecutionStatusResponse
-> Maybe CalculationStatistics
statistics} -> Maybe CalculationStatistics
statistics) (\s :: GetCalculationExecutionStatusResponse
s@GetCalculationExecutionStatusResponse' {} Maybe CalculationStatistics
a -> GetCalculationExecutionStatusResponse
s {$sel:statistics:GetCalculationExecutionStatusResponse' :: Maybe CalculationStatistics
statistics = Maybe CalculationStatistics
a} :: GetCalculationExecutionStatusResponse)
getCalculationExecutionStatusResponse_status :: Lens.Lens' GetCalculationExecutionStatusResponse (Prelude.Maybe CalculationStatus)
getCalculationExecutionStatusResponse_status :: Lens'
GetCalculationExecutionStatusResponse (Maybe CalculationStatus)
getCalculationExecutionStatusResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCalculationExecutionStatusResponse' {Maybe CalculationStatus
status :: Maybe CalculationStatus
$sel:status:GetCalculationExecutionStatusResponse' :: GetCalculationExecutionStatusResponse -> Maybe CalculationStatus
status} -> Maybe CalculationStatus
status) (\s :: GetCalculationExecutionStatusResponse
s@GetCalculationExecutionStatusResponse' {} Maybe CalculationStatus
a -> GetCalculationExecutionStatusResponse
s {$sel:status:GetCalculationExecutionStatusResponse' :: Maybe CalculationStatus
status = Maybe CalculationStatus
a} :: GetCalculationExecutionStatusResponse)
getCalculationExecutionStatusResponse_httpStatus :: Lens.Lens' GetCalculationExecutionStatusResponse Prelude.Int
getCalculationExecutionStatusResponse_httpStatus :: Lens' GetCalculationExecutionStatusResponse Int
getCalculationExecutionStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCalculationExecutionStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetCalculationExecutionStatusResponse' :: GetCalculationExecutionStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetCalculationExecutionStatusResponse
s@GetCalculationExecutionStatusResponse' {} Int
a -> GetCalculationExecutionStatusResponse
s {$sel:httpStatus:GetCalculationExecutionStatusResponse' :: Int
httpStatus = Int
a} :: GetCalculationExecutionStatusResponse)
instance
Prelude.NFData
GetCalculationExecutionStatusResponse
where
rnf :: GetCalculationExecutionStatusResponse -> ()
rnf GetCalculationExecutionStatusResponse' {Int
Maybe CalculationStatistics
Maybe CalculationStatus
httpStatus :: Int
status :: Maybe CalculationStatus
statistics :: Maybe CalculationStatistics
$sel:httpStatus:GetCalculationExecutionStatusResponse' :: GetCalculationExecutionStatusResponse -> Int
$sel:status:GetCalculationExecutionStatusResponse' :: GetCalculationExecutionStatusResponse -> Maybe CalculationStatus
$sel:statistics:GetCalculationExecutionStatusResponse' :: GetCalculationExecutionStatusResponse
-> Maybe CalculationStatistics
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CalculationStatistics
statistics
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CalculationStatus
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus