{-# 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.GetQueryResults
(
GetQueryResults (..),
newGetQueryResults,
getQueryResults_maxResults,
getQueryResults_nextToken,
getQueryResults_queryExecutionId,
GetQueryResultsResponse (..),
newGetQueryResultsResponse,
getQueryResultsResponse_nextToken,
getQueryResultsResponse_resultSet,
getQueryResultsResponse_updateCount,
getQueryResultsResponse_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 GetQueryResults = GetQueryResults'
{
GetQueryResults -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
GetQueryResults -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetQueryResults -> Text
queryExecutionId :: Prelude.Text
}
deriving (GetQueryResults -> GetQueryResults -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetQueryResults -> GetQueryResults -> Bool
$c/= :: GetQueryResults -> GetQueryResults -> Bool
== :: GetQueryResults -> GetQueryResults -> Bool
$c== :: GetQueryResults -> GetQueryResults -> Bool
Prelude.Eq, ReadPrec [GetQueryResults]
ReadPrec GetQueryResults
Int -> ReadS GetQueryResults
ReadS [GetQueryResults]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetQueryResults]
$creadListPrec :: ReadPrec [GetQueryResults]
readPrec :: ReadPrec GetQueryResults
$creadPrec :: ReadPrec GetQueryResults
readList :: ReadS [GetQueryResults]
$creadList :: ReadS [GetQueryResults]
readsPrec :: Int -> ReadS GetQueryResults
$creadsPrec :: Int -> ReadS GetQueryResults
Prelude.Read, Int -> GetQueryResults -> ShowS
[GetQueryResults] -> ShowS
GetQueryResults -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetQueryResults] -> ShowS
$cshowList :: [GetQueryResults] -> ShowS
show :: GetQueryResults -> String
$cshow :: GetQueryResults -> String
showsPrec :: Int -> GetQueryResults -> ShowS
$cshowsPrec :: Int -> GetQueryResults -> ShowS
Prelude.Show, forall x. Rep GetQueryResults x -> GetQueryResults
forall x. GetQueryResults -> Rep GetQueryResults x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetQueryResults x -> GetQueryResults
$cfrom :: forall x. GetQueryResults -> Rep GetQueryResults x
Prelude.Generic)
newGetQueryResults ::
Prelude.Text ->
GetQueryResults
newGetQueryResults :: Text -> GetQueryResults
newGetQueryResults Text
pQueryExecutionId_ =
GetQueryResults'
{ $sel:maxResults:GetQueryResults' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:GetQueryResults' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:queryExecutionId:GetQueryResults' :: Text
queryExecutionId = Text
pQueryExecutionId_
}
getQueryResults_maxResults :: Lens.Lens' GetQueryResults (Prelude.Maybe Prelude.Natural)
getQueryResults_maxResults :: Lens' GetQueryResults (Maybe Natural)
getQueryResults_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryResults' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:GetQueryResults' :: GetQueryResults -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: GetQueryResults
s@GetQueryResults' {} Maybe Natural
a -> GetQueryResults
s {$sel:maxResults:GetQueryResults' :: Maybe Natural
maxResults = Maybe Natural
a} :: GetQueryResults)
getQueryResults_nextToken :: Lens.Lens' GetQueryResults (Prelude.Maybe Prelude.Text)
getQueryResults_nextToken :: Lens' GetQueryResults (Maybe Text)
getQueryResults_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryResults' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetQueryResults' :: GetQueryResults -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetQueryResults
s@GetQueryResults' {} Maybe Text
a -> GetQueryResults
s {$sel:nextToken:GetQueryResults' :: Maybe Text
nextToken = Maybe Text
a} :: GetQueryResults)
getQueryResults_queryExecutionId :: Lens.Lens' GetQueryResults Prelude.Text
getQueryResults_queryExecutionId :: Lens' GetQueryResults Text
getQueryResults_queryExecutionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryResults' {Text
queryExecutionId :: Text
$sel:queryExecutionId:GetQueryResults' :: GetQueryResults -> Text
queryExecutionId} -> Text
queryExecutionId) (\s :: GetQueryResults
s@GetQueryResults' {} Text
a -> GetQueryResults
s {$sel:queryExecutionId:GetQueryResults' :: Text
queryExecutionId = Text
a} :: GetQueryResults)
instance Core.AWSPager GetQueryResults where
page :: GetQueryResults
-> AWSResponse GetQueryResults -> Maybe GetQueryResults
page GetQueryResults
rq AWSResponse GetQueryResults
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse GetQueryResults
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetQueryResultsResponse (Maybe Text)
getQueryResultsResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse GetQueryResults
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetQueryResultsResponse (Maybe ResultSet)
getQueryResultsResponse_resultSet
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Lens' ResultSet (Maybe [Row])
resultSet_rows
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| Bool
Prelude.otherwise =
forall a. a -> Maybe a
Prelude.Just
forall a b. (a -> b) -> a -> b
Prelude.$ GetQueryResults
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' GetQueryResults (Maybe Text)
getQueryResults_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse GetQueryResults
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetQueryResultsResponse (Maybe Text)
getQueryResultsResponse_nextToken
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
instance Core.AWSRequest GetQueryResults where
type
AWSResponse GetQueryResults =
GetQueryResultsResponse
request :: (Service -> Service) -> GetQueryResults -> Request GetQueryResults
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 GetQueryResults
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetQueryResults)))
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 ResultSet
-> Maybe Integer
-> Int
-> GetQueryResultsResponse
GetQueryResultsResponse'
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
"NextToken")
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
"ResultSet")
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
"UpdateCount")
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 GetQueryResults where
hashWithSalt :: Int -> GetQueryResults -> Int
hashWithSalt Int
_salt GetQueryResults' {Maybe Natural
Maybe Text
Text
queryExecutionId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:queryExecutionId:GetQueryResults' :: GetQueryResults -> Text
$sel:nextToken:GetQueryResults' :: GetQueryResults -> Maybe Text
$sel:maxResults:GetQueryResults' :: GetQueryResults -> Maybe Natural
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
queryExecutionId
instance Prelude.NFData GetQueryResults where
rnf :: GetQueryResults -> ()
rnf GetQueryResults' {Maybe Natural
Maybe Text
Text
queryExecutionId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:queryExecutionId:GetQueryResults' :: GetQueryResults -> Text
$sel:nextToken:GetQueryResults' :: GetQueryResults -> Maybe Text
$sel:maxResults:GetQueryResults' :: GetQueryResults -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
queryExecutionId
instance Data.ToHeaders GetQueryResults where
toHeaders :: GetQueryResults -> 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.GetQueryResults" ::
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 GetQueryResults where
toJSON :: GetQueryResults -> Value
toJSON GetQueryResults' {Maybe Natural
Maybe Text
Text
queryExecutionId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:queryExecutionId:GetQueryResults' :: GetQueryResults -> Text
$sel:nextToken:GetQueryResults' :: GetQueryResults -> Maybe Text
$sel:maxResults:GetQueryResults' :: GetQueryResults -> Maybe Natural
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"MaxResults" 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 Natural
maxResults,
(Key
"NextToken" 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
nextToken,
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 GetQueryResults where
toPath :: GetQueryResults -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetQueryResults where
toQuery :: GetQueryResults -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetQueryResultsResponse = GetQueryResultsResponse'
{
GetQueryResultsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetQueryResultsResponse -> Maybe ResultSet
resultSet :: Prelude.Maybe ResultSet,
GetQueryResultsResponse -> Maybe Integer
updateCount :: Prelude.Maybe Prelude.Integer,
GetQueryResultsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetQueryResultsResponse -> GetQueryResultsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetQueryResultsResponse -> GetQueryResultsResponse -> Bool
$c/= :: GetQueryResultsResponse -> GetQueryResultsResponse -> Bool
== :: GetQueryResultsResponse -> GetQueryResultsResponse -> Bool
$c== :: GetQueryResultsResponse -> GetQueryResultsResponse -> Bool
Prelude.Eq, ReadPrec [GetQueryResultsResponse]
ReadPrec GetQueryResultsResponse
Int -> ReadS GetQueryResultsResponse
ReadS [GetQueryResultsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetQueryResultsResponse]
$creadListPrec :: ReadPrec [GetQueryResultsResponse]
readPrec :: ReadPrec GetQueryResultsResponse
$creadPrec :: ReadPrec GetQueryResultsResponse
readList :: ReadS [GetQueryResultsResponse]
$creadList :: ReadS [GetQueryResultsResponse]
readsPrec :: Int -> ReadS GetQueryResultsResponse
$creadsPrec :: Int -> ReadS GetQueryResultsResponse
Prelude.Read, Int -> GetQueryResultsResponse -> ShowS
[GetQueryResultsResponse] -> ShowS
GetQueryResultsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetQueryResultsResponse] -> ShowS
$cshowList :: [GetQueryResultsResponse] -> ShowS
show :: GetQueryResultsResponse -> String
$cshow :: GetQueryResultsResponse -> String
showsPrec :: Int -> GetQueryResultsResponse -> ShowS
$cshowsPrec :: Int -> GetQueryResultsResponse -> ShowS
Prelude.Show, forall x. Rep GetQueryResultsResponse x -> GetQueryResultsResponse
forall x. GetQueryResultsResponse -> Rep GetQueryResultsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetQueryResultsResponse x -> GetQueryResultsResponse
$cfrom :: forall x. GetQueryResultsResponse -> Rep GetQueryResultsResponse x
Prelude.Generic)
newGetQueryResultsResponse ::
Prelude.Int ->
GetQueryResultsResponse
newGetQueryResultsResponse :: Int -> GetQueryResultsResponse
newGetQueryResultsResponse Int
pHttpStatus_ =
GetQueryResultsResponse'
{ $sel:nextToken:GetQueryResultsResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:resultSet:GetQueryResultsResponse' :: Maybe ResultSet
resultSet = forall a. Maybe a
Prelude.Nothing,
$sel:updateCount:GetQueryResultsResponse' :: Maybe Integer
updateCount = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetQueryResultsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getQueryResultsResponse_nextToken :: Lens.Lens' GetQueryResultsResponse (Prelude.Maybe Prelude.Text)
getQueryResultsResponse_nextToken :: Lens' GetQueryResultsResponse (Maybe Text)
getQueryResultsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryResultsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetQueryResultsResponse' :: GetQueryResultsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetQueryResultsResponse
s@GetQueryResultsResponse' {} Maybe Text
a -> GetQueryResultsResponse
s {$sel:nextToken:GetQueryResultsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetQueryResultsResponse)
getQueryResultsResponse_resultSet :: Lens.Lens' GetQueryResultsResponse (Prelude.Maybe ResultSet)
getQueryResultsResponse_resultSet :: Lens' GetQueryResultsResponse (Maybe ResultSet)
getQueryResultsResponse_resultSet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryResultsResponse' {Maybe ResultSet
resultSet :: Maybe ResultSet
$sel:resultSet:GetQueryResultsResponse' :: GetQueryResultsResponse -> Maybe ResultSet
resultSet} -> Maybe ResultSet
resultSet) (\s :: GetQueryResultsResponse
s@GetQueryResultsResponse' {} Maybe ResultSet
a -> GetQueryResultsResponse
s {$sel:resultSet:GetQueryResultsResponse' :: Maybe ResultSet
resultSet = Maybe ResultSet
a} :: GetQueryResultsResponse)
getQueryResultsResponse_updateCount :: Lens.Lens' GetQueryResultsResponse (Prelude.Maybe Prelude.Integer)
getQueryResultsResponse_updateCount :: Lens' GetQueryResultsResponse (Maybe Integer)
getQueryResultsResponse_updateCount = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryResultsResponse' {Maybe Integer
updateCount :: Maybe Integer
$sel:updateCount:GetQueryResultsResponse' :: GetQueryResultsResponse -> Maybe Integer
updateCount} -> Maybe Integer
updateCount) (\s :: GetQueryResultsResponse
s@GetQueryResultsResponse' {} Maybe Integer
a -> GetQueryResultsResponse
s {$sel:updateCount:GetQueryResultsResponse' :: Maybe Integer
updateCount = Maybe Integer
a} :: GetQueryResultsResponse)
getQueryResultsResponse_httpStatus :: Lens.Lens' GetQueryResultsResponse Prelude.Int
getQueryResultsResponse_httpStatus :: Lens' GetQueryResultsResponse Int
getQueryResultsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetQueryResultsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetQueryResultsResponse' :: GetQueryResultsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetQueryResultsResponse
s@GetQueryResultsResponse' {} Int
a -> GetQueryResultsResponse
s {$sel:httpStatus:GetQueryResultsResponse' :: Int
httpStatus = Int
a} :: GetQueryResultsResponse)
instance Prelude.NFData GetQueryResultsResponse where
rnf :: GetQueryResultsResponse -> ()
rnf GetQueryResultsResponse' {Int
Maybe Integer
Maybe Text
Maybe ResultSet
httpStatus :: Int
updateCount :: Maybe Integer
resultSet :: Maybe ResultSet
nextToken :: Maybe Text
$sel:httpStatus:GetQueryResultsResponse' :: GetQueryResultsResponse -> Int
$sel:updateCount:GetQueryResultsResponse' :: GetQueryResultsResponse -> Maybe Integer
$sel:resultSet:GetQueryResultsResponse' :: GetQueryResultsResponse -> Maybe ResultSet
$sel:nextToken:GetQueryResultsResponse' :: GetQueryResultsResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ResultSet
resultSet
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
updateCount
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus