{-# 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.Glue.GetCrawlers
(
GetCrawlers (..),
newGetCrawlers,
getCrawlers_maxResults,
getCrawlers_nextToken,
GetCrawlersResponse (..),
newGetCrawlersResponse,
getCrawlersResponse_crawlers,
getCrawlersResponse_nextToken,
getCrawlersResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Glue.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetCrawlers = GetCrawlers'
{
GetCrawlers -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
GetCrawlers -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
}
deriving (GetCrawlers -> GetCrawlers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCrawlers -> GetCrawlers -> Bool
$c/= :: GetCrawlers -> GetCrawlers -> Bool
== :: GetCrawlers -> GetCrawlers -> Bool
$c== :: GetCrawlers -> GetCrawlers -> Bool
Prelude.Eq, ReadPrec [GetCrawlers]
ReadPrec GetCrawlers
Int -> ReadS GetCrawlers
ReadS [GetCrawlers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCrawlers]
$creadListPrec :: ReadPrec [GetCrawlers]
readPrec :: ReadPrec GetCrawlers
$creadPrec :: ReadPrec GetCrawlers
readList :: ReadS [GetCrawlers]
$creadList :: ReadS [GetCrawlers]
readsPrec :: Int -> ReadS GetCrawlers
$creadsPrec :: Int -> ReadS GetCrawlers
Prelude.Read, Int -> GetCrawlers -> ShowS
[GetCrawlers] -> ShowS
GetCrawlers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCrawlers] -> ShowS
$cshowList :: [GetCrawlers] -> ShowS
show :: GetCrawlers -> String
$cshow :: GetCrawlers -> String
showsPrec :: Int -> GetCrawlers -> ShowS
$cshowsPrec :: Int -> GetCrawlers -> ShowS
Prelude.Show, forall x. Rep GetCrawlers x -> GetCrawlers
forall x. GetCrawlers -> Rep GetCrawlers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetCrawlers x -> GetCrawlers
$cfrom :: forall x. GetCrawlers -> Rep GetCrawlers x
Prelude.Generic)
newGetCrawlers ::
GetCrawlers
newGetCrawlers :: GetCrawlers
newGetCrawlers =
GetCrawlers'
{ $sel:maxResults:GetCrawlers' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:GetCrawlers' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
}
getCrawlers_maxResults :: Lens.Lens' GetCrawlers (Prelude.Maybe Prelude.Natural)
getCrawlers_maxResults :: Lens' GetCrawlers (Maybe Natural)
getCrawlers_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCrawlers' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:GetCrawlers' :: GetCrawlers -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: GetCrawlers
s@GetCrawlers' {} Maybe Natural
a -> GetCrawlers
s {$sel:maxResults:GetCrawlers' :: Maybe Natural
maxResults = Maybe Natural
a} :: GetCrawlers)
getCrawlers_nextToken :: Lens.Lens' GetCrawlers (Prelude.Maybe Prelude.Text)
getCrawlers_nextToken :: Lens' GetCrawlers (Maybe Text)
getCrawlers_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCrawlers' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetCrawlers' :: GetCrawlers -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetCrawlers
s@GetCrawlers' {} Maybe Text
a -> GetCrawlers
s {$sel:nextToken:GetCrawlers' :: Maybe Text
nextToken = Maybe Text
a} :: GetCrawlers)
instance Core.AWSPager GetCrawlers where
page :: GetCrawlers -> AWSResponse GetCrawlers -> Maybe GetCrawlers
page GetCrawlers
rq AWSResponse GetCrawlers
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse GetCrawlers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetCrawlersResponse (Maybe Text)
getCrawlersResponse_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 GetCrawlers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetCrawlersResponse (Maybe [Crawler])
getCrawlersResponse_crawlers
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.$ GetCrawlers
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' GetCrawlers (Maybe Text)
getCrawlers_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse GetCrawlers
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetCrawlersResponse (Maybe Text)
getCrawlersResponse_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 GetCrawlers where
type AWSResponse GetCrawlers = GetCrawlersResponse
request :: (Service -> Service) -> GetCrawlers -> Request GetCrawlers
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 GetCrawlers
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetCrawlers)))
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 [Crawler] -> Maybe Text -> Int -> GetCrawlersResponse
GetCrawlersResponse'
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
"Crawlers" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
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
"NextToken")
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 GetCrawlers where
hashWithSalt :: Int -> GetCrawlers -> Int
hashWithSalt Int
_salt GetCrawlers' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:nextToken:GetCrawlers' :: GetCrawlers -> Maybe Text
$sel:maxResults:GetCrawlers' :: GetCrawlers -> 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
instance Prelude.NFData GetCrawlers where
rnf :: GetCrawlers -> ()
rnf GetCrawlers' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:nextToken:GetCrawlers' :: GetCrawlers -> Maybe Text
$sel:maxResults:GetCrawlers' :: GetCrawlers -> 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
instance Data.ToHeaders GetCrawlers where
toHeaders :: GetCrawlers -> 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
"AWSGlue.GetCrawlers" :: 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 GetCrawlers where
toJSON :: GetCrawlers -> Value
toJSON GetCrawlers' {Maybe Natural
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:nextToken:GetCrawlers' :: GetCrawlers -> Maybe Text
$sel:maxResults:GetCrawlers' :: GetCrawlers -> 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
]
)
instance Data.ToPath GetCrawlers where
toPath :: GetCrawlers -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetCrawlers where
toQuery :: GetCrawlers -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetCrawlersResponse = GetCrawlersResponse'
{
GetCrawlersResponse -> Maybe [Crawler]
crawlers :: Prelude.Maybe [Crawler],
GetCrawlersResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetCrawlersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetCrawlersResponse -> GetCrawlersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCrawlersResponse -> GetCrawlersResponse -> Bool
$c/= :: GetCrawlersResponse -> GetCrawlersResponse -> Bool
== :: GetCrawlersResponse -> GetCrawlersResponse -> Bool
$c== :: GetCrawlersResponse -> GetCrawlersResponse -> Bool
Prelude.Eq, ReadPrec [GetCrawlersResponse]
ReadPrec GetCrawlersResponse
Int -> ReadS GetCrawlersResponse
ReadS [GetCrawlersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetCrawlersResponse]
$creadListPrec :: ReadPrec [GetCrawlersResponse]
readPrec :: ReadPrec GetCrawlersResponse
$creadPrec :: ReadPrec GetCrawlersResponse
readList :: ReadS [GetCrawlersResponse]
$creadList :: ReadS [GetCrawlersResponse]
readsPrec :: Int -> ReadS GetCrawlersResponse
$creadsPrec :: Int -> ReadS GetCrawlersResponse
Prelude.Read, Int -> GetCrawlersResponse -> ShowS
[GetCrawlersResponse] -> ShowS
GetCrawlersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetCrawlersResponse] -> ShowS
$cshowList :: [GetCrawlersResponse] -> ShowS
show :: GetCrawlersResponse -> String
$cshow :: GetCrawlersResponse -> String
showsPrec :: Int -> GetCrawlersResponse -> ShowS
$cshowsPrec :: Int -> GetCrawlersResponse -> ShowS
Prelude.Show, forall x. Rep GetCrawlersResponse x -> GetCrawlersResponse
forall x. GetCrawlersResponse -> Rep GetCrawlersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetCrawlersResponse x -> GetCrawlersResponse
$cfrom :: forall x. GetCrawlersResponse -> Rep GetCrawlersResponse x
Prelude.Generic)
newGetCrawlersResponse ::
Prelude.Int ->
GetCrawlersResponse
newGetCrawlersResponse :: Int -> GetCrawlersResponse
newGetCrawlersResponse Int
pHttpStatus_ =
GetCrawlersResponse'
{ $sel:crawlers:GetCrawlersResponse' :: Maybe [Crawler]
crawlers = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:GetCrawlersResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetCrawlersResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getCrawlersResponse_crawlers :: Lens.Lens' GetCrawlersResponse (Prelude.Maybe [Crawler])
getCrawlersResponse_crawlers :: Lens' GetCrawlersResponse (Maybe [Crawler])
getCrawlersResponse_crawlers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCrawlersResponse' {Maybe [Crawler]
crawlers :: Maybe [Crawler]
$sel:crawlers:GetCrawlersResponse' :: GetCrawlersResponse -> Maybe [Crawler]
crawlers} -> Maybe [Crawler]
crawlers) (\s :: GetCrawlersResponse
s@GetCrawlersResponse' {} Maybe [Crawler]
a -> GetCrawlersResponse
s {$sel:crawlers:GetCrawlersResponse' :: Maybe [Crawler]
crawlers = Maybe [Crawler]
a} :: GetCrawlersResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getCrawlersResponse_nextToken :: Lens.Lens' GetCrawlersResponse (Prelude.Maybe Prelude.Text)
getCrawlersResponse_nextToken :: Lens' GetCrawlersResponse (Maybe Text)
getCrawlersResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCrawlersResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetCrawlersResponse' :: GetCrawlersResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetCrawlersResponse
s@GetCrawlersResponse' {} Maybe Text
a -> GetCrawlersResponse
s {$sel:nextToken:GetCrawlersResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetCrawlersResponse)
getCrawlersResponse_httpStatus :: Lens.Lens' GetCrawlersResponse Prelude.Int
getCrawlersResponse_httpStatus :: Lens' GetCrawlersResponse Int
getCrawlersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetCrawlersResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetCrawlersResponse' :: GetCrawlersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetCrawlersResponse
s@GetCrawlersResponse' {} Int
a -> GetCrawlersResponse
s {$sel:httpStatus:GetCrawlersResponse' :: Int
httpStatus = Int
a} :: GetCrawlersResponse)
instance Prelude.NFData GetCrawlersResponse where
rnf :: GetCrawlersResponse -> ()
rnf GetCrawlersResponse' {Int
Maybe [Crawler]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
crawlers :: Maybe [Crawler]
$sel:httpStatus:GetCrawlersResponse' :: GetCrawlersResponse -> Int
$sel:nextToken:GetCrawlersResponse' :: GetCrawlersResponse -> Maybe Text
$sel:crawlers:GetCrawlersResponse' :: GetCrawlersResponse -> Maybe [Crawler]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Crawler]
crawlers
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 Int
httpStatus