{-# 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.CreatePreparedStatement
(
CreatePreparedStatement (..),
newCreatePreparedStatement,
createPreparedStatement_description,
createPreparedStatement_statementName,
createPreparedStatement_workGroup,
createPreparedStatement_queryStatement,
CreatePreparedStatementResponse (..),
newCreatePreparedStatementResponse,
createPreparedStatementResponse_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 CreatePreparedStatement = CreatePreparedStatement'
{
CreatePreparedStatement -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CreatePreparedStatement -> Text
statementName :: Prelude.Text,
CreatePreparedStatement -> Text
workGroup :: Prelude.Text,
CreatePreparedStatement -> Text
queryStatement :: Prelude.Text
}
deriving (CreatePreparedStatement -> CreatePreparedStatement -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreatePreparedStatement -> CreatePreparedStatement -> Bool
$c/= :: CreatePreparedStatement -> CreatePreparedStatement -> Bool
== :: CreatePreparedStatement -> CreatePreparedStatement -> Bool
$c== :: CreatePreparedStatement -> CreatePreparedStatement -> Bool
Prelude.Eq, ReadPrec [CreatePreparedStatement]
ReadPrec CreatePreparedStatement
Int -> ReadS CreatePreparedStatement
ReadS [CreatePreparedStatement]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreatePreparedStatement]
$creadListPrec :: ReadPrec [CreatePreparedStatement]
readPrec :: ReadPrec CreatePreparedStatement
$creadPrec :: ReadPrec CreatePreparedStatement
readList :: ReadS [CreatePreparedStatement]
$creadList :: ReadS [CreatePreparedStatement]
readsPrec :: Int -> ReadS CreatePreparedStatement
$creadsPrec :: Int -> ReadS CreatePreparedStatement
Prelude.Read, Int -> CreatePreparedStatement -> ShowS
[CreatePreparedStatement] -> ShowS
CreatePreparedStatement -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreatePreparedStatement] -> ShowS
$cshowList :: [CreatePreparedStatement] -> ShowS
show :: CreatePreparedStatement -> String
$cshow :: CreatePreparedStatement -> String
showsPrec :: Int -> CreatePreparedStatement -> ShowS
$cshowsPrec :: Int -> CreatePreparedStatement -> ShowS
Prelude.Show, forall x. Rep CreatePreparedStatement x -> CreatePreparedStatement
forall x. CreatePreparedStatement -> Rep CreatePreparedStatement x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreatePreparedStatement x -> CreatePreparedStatement
$cfrom :: forall x. CreatePreparedStatement -> Rep CreatePreparedStatement x
Prelude.Generic)
newCreatePreparedStatement ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
CreatePreparedStatement
newCreatePreparedStatement :: Text -> Text -> Text -> CreatePreparedStatement
newCreatePreparedStatement
Text
pStatementName_
Text
pWorkGroup_
Text
pQueryStatement_ =
CreatePreparedStatement'
{ $sel:description:CreatePreparedStatement' :: Maybe Text
description =
forall a. Maybe a
Prelude.Nothing,
$sel:statementName:CreatePreparedStatement' :: Text
statementName = Text
pStatementName_,
$sel:workGroup:CreatePreparedStatement' :: Text
workGroup = Text
pWorkGroup_,
$sel:queryStatement:CreatePreparedStatement' :: Text
queryStatement = Text
pQueryStatement_
}
createPreparedStatement_description :: Lens.Lens' CreatePreparedStatement (Prelude.Maybe Prelude.Text)
createPreparedStatement_description :: Lens' CreatePreparedStatement (Maybe Text)
createPreparedStatement_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePreparedStatement' {Maybe Text
description :: Maybe Text
$sel:description:CreatePreparedStatement' :: CreatePreparedStatement -> Maybe Text
description} -> Maybe Text
description) (\s :: CreatePreparedStatement
s@CreatePreparedStatement' {} Maybe Text
a -> CreatePreparedStatement
s {$sel:description:CreatePreparedStatement' :: Maybe Text
description = Maybe Text
a} :: CreatePreparedStatement)
createPreparedStatement_statementName :: Lens.Lens' CreatePreparedStatement Prelude.Text
createPreparedStatement_statementName :: Lens' CreatePreparedStatement Text
createPreparedStatement_statementName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePreparedStatement' {Text
statementName :: Text
$sel:statementName:CreatePreparedStatement' :: CreatePreparedStatement -> Text
statementName} -> Text
statementName) (\s :: CreatePreparedStatement
s@CreatePreparedStatement' {} Text
a -> CreatePreparedStatement
s {$sel:statementName:CreatePreparedStatement' :: Text
statementName = Text
a} :: CreatePreparedStatement)
createPreparedStatement_workGroup :: Lens.Lens' CreatePreparedStatement Prelude.Text
createPreparedStatement_workGroup :: Lens' CreatePreparedStatement Text
createPreparedStatement_workGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePreparedStatement' {Text
workGroup :: Text
$sel:workGroup:CreatePreparedStatement' :: CreatePreparedStatement -> Text
workGroup} -> Text
workGroup) (\s :: CreatePreparedStatement
s@CreatePreparedStatement' {} Text
a -> CreatePreparedStatement
s {$sel:workGroup:CreatePreparedStatement' :: Text
workGroup = Text
a} :: CreatePreparedStatement)
createPreparedStatement_queryStatement :: Lens.Lens' CreatePreparedStatement Prelude.Text
createPreparedStatement_queryStatement :: Lens' CreatePreparedStatement Text
createPreparedStatement_queryStatement = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePreparedStatement' {Text
queryStatement :: Text
$sel:queryStatement:CreatePreparedStatement' :: CreatePreparedStatement -> Text
queryStatement} -> Text
queryStatement) (\s :: CreatePreparedStatement
s@CreatePreparedStatement' {} Text
a -> CreatePreparedStatement
s {$sel:queryStatement:CreatePreparedStatement' :: Text
queryStatement = Text
a} :: CreatePreparedStatement)
instance Core.AWSRequest CreatePreparedStatement where
type
AWSResponse CreatePreparedStatement =
CreatePreparedStatementResponse
request :: (Service -> Service)
-> CreatePreparedStatement -> Request CreatePreparedStatement
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 CreatePreparedStatement
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreatePreparedStatement)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> CreatePreparedStatementResponse
CreatePreparedStatementResponse'
forall (f :: * -> *) a b. Functor 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 CreatePreparedStatement where
hashWithSalt :: Int -> CreatePreparedStatement -> Int
hashWithSalt Int
_salt CreatePreparedStatement' {Maybe Text
Text
queryStatement :: Text
workGroup :: Text
statementName :: Text
description :: Maybe Text
$sel:queryStatement:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:workGroup:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:statementName:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:description:CreatePreparedStatement' :: CreatePreparedStatement -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
statementName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workGroup
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
queryStatement
instance Prelude.NFData CreatePreparedStatement where
rnf :: CreatePreparedStatement -> ()
rnf CreatePreparedStatement' {Maybe Text
Text
queryStatement :: Text
workGroup :: Text
statementName :: Text
description :: Maybe Text
$sel:queryStatement:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:workGroup:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:statementName:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:description:CreatePreparedStatement' :: CreatePreparedStatement -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
statementName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workGroup
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
queryStatement
instance Data.ToHeaders CreatePreparedStatement where
toHeaders :: CreatePreparedStatement -> 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.CreatePreparedStatement" ::
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 CreatePreparedStatement where
toJSON :: CreatePreparedStatement -> Value
toJSON CreatePreparedStatement' {Maybe Text
Text
queryStatement :: Text
workGroup :: Text
statementName :: Text
description :: Maybe Text
$sel:queryStatement:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:workGroup:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:statementName:CreatePreparedStatement' :: CreatePreparedStatement -> Text
$sel:description:CreatePreparedStatement' :: CreatePreparedStatement -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Description" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
forall a. a -> Maybe a
Prelude.Just (Key
"StatementName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
statementName),
forall a. a -> Maybe a
Prelude.Just (Key
"WorkGroup" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
workGroup),
forall a. a -> Maybe a
Prelude.Just
(Key
"QueryStatement" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
queryStatement)
]
)
instance Data.ToPath CreatePreparedStatement where
toPath :: CreatePreparedStatement -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreatePreparedStatement where
toQuery :: CreatePreparedStatement -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreatePreparedStatementResponse = CreatePreparedStatementResponse'
{
CreatePreparedStatementResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreatePreparedStatementResponse
-> CreatePreparedStatementResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreatePreparedStatementResponse
-> CreatePreparedStatementResponse -> Bool
$c/= :: CreatePreparedStatementResponse
-> CreatePreparedStatementResponse -> Bool
== :: CreatePreparedStatementResponse
-> CreatePreparedStatementResponse -> Bool
$c== :: CreatePreparedStatementResponse
-> CreatePreparedStatementResponse -> Bool
Prelude.Eq, ReadPrec [CreatePreparedStatementResponse]
ReadPrec CreatePreparedStatementResponse
Int -> ReadS CreatePreparedStatementResponse
ReadS [CreatePreparedStatementResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreatePreparedStatementResponse]
$creadListPrec :: ReadPrec [CreatePreparedStatementResponse]
readPrec :: ReadPrec CreatePreparedStatementResponse
$creadPrec :: ReadPrec CreatePreparedStatementResponse
readList :: ReadS [CreatePreparedStatementResponse]
$creadList :: ReadS [CreatePreparedStatementResponse]
readsPrec :: Int -> ReadS CreatePreparedStatementResponse
$creadsPrec :: Int -> ReadS CreatePreparedStatementResponse
Prelude.Read, Int -> CreatePreparedStatementResponse -> ShowS
[CreatePreparedStatementResponse] -> ShowS
CreatePreparedStatementResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreatePreparedStatementResponse] -> ShowS
$cshowList :: [CreatePreparedStatementResponse] -> ShowS
show :: CreatePreparedStatementResponse -> String
$cshow :: CreatePreparedStatementResponse -> String
showsPrec :: Int -> CreatePreparedStatementResponse -> ShowS
$cshowsPrec :: Int -> CreatePreparedStatementResponse -> ShowS
Prelude.Show, forall x.
Rep CreatePreparedStatementResponse x
-> CreatePreparedStatementResponse
forall x.
CreatePreparedStatementResponse
-> Rep CreatePreparedStatementResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreatePreparedStatementResponse x
-> CreatePreparedStatementResponse
$cfrom :: forall x.
CreatePreparedStatementResponse
-> Rep CreatePreparedStatementResponse x
Prelude.Generic)
newCreatePreparedStatementResponse ::
Prelude.Int ->
CreatePreparedStatementResponse
newCreatePreparedStatementResponse :: Int -> CreatePreparedStatementResponse
newCreatePreparedStatementResponse Int
pHttpStatus_ =
CreatePreparedStatementResponse'
{ $sel:httpStatus:CreatePreparedStatementResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
createPreparedStatementResponse_httpStatus :: Lens.Lens' CreatePreparedStatementResponse Prelude.Int
createPreparedStatementResponse_httpStatus :: Lens' CreatePreparedStatementResponse Int
createPreparedStatementResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePreparedStatementResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreatePreparedStatementResponse' :: CreatePreparedStatementResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreatePreparedStatementResponse
s@CreatePreparedStatementResponse' {} Int
a -> CreatePreparedStatementResponse
s {$sel:httpStatus:CreatePreparedStatementResponse' :: Int
httpStatus = Int
a} :: CreatePreparedStatementResponse)
instance
Prelude.NFData
CreatePreparedStatementResponse
where
rnf :: CreatePreparedStatementResponse -> ()
rnf CreatePreparedStatementResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreatePreparedStatementResponse' :: CreatePreparedStatementResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus