{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Glue.Types.CrawlerTargets 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.CatalogTarget
import Amazonka.Glue.Types.DeltaTarget
import Amazonka.Glue.Types.DynamoDBTarget
import Amazonka.Glue.Types.JdbcTarget
import Amazonka.Glue.Types.MongoDBTarget
import Amazonka.Glue.Types.S3Target
import qualified Amazonka.Prelude as Prelude
data CrawlerTargets = CrawlerTargets'
{
CrawlerTargets -> Maybe [CatalogTarget]
catalogTargets :: Prelude.Maybe [CatalogTarget],
CrawlerTargets -> Maybe [DeltaTarget]
deltaTargets :: Prelude.Maybe [DeltaTarget],
CrawlerTargets -> Maybe [DynamoDBTarget]
dynamoDBTargets :: Prelude.Maybe [DynamoDBTarget],
CrawlerTargets -> Maybe [JdbcTarget]
jdbcTargets :: Prelude.Maybe [JdbcTarget],
CrawlerTargets -> Maybe [MongoDBTarget]
mongoDBTargets :: Prelude.Maybe [MongoDBTarget],
CrawlerTargets -> Maybe [S3Target]
s3Targets :: Prelude.Maybe [S3Target]
}
deriving (CrawlerTargets -> CrawlerTargets -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CrawlerTargets -> CrawlerTargets -> Bool
$c/= :: CrawlerTargets -> CrawlerTargets -> Bool
== :: CrawlerTargets -> CrawlerTargets -> Bool
$c== :: CrawlerTargets -> CrawlerTargets -> Bool
Prelude.Eq, ReadPrec [CrawlerTargets]
ReadPrec CrawlerTargets
Int -> ReadS CrawlerTargets
ReadS [CrawlerTargets]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CrawlerTargets]
$creadListPrec :: ReadPrec [CrawlerTargets]
readPrec :: ReadPrec CrawlerTargets
$creadPrec :: ReadPrec CrawlerTargets
readList :: ReadS [CrawlerTargets]
$creadList :: ReadS [CrawlerTargets]
readsPrec :: Int -> ReadS CrawlerTargets
$creadsPrec :: Int -> ReadS CrawlerTargets
Prelude.Read, Int -> CrawlerTargets -> ShowS
[CrawlerTargets] -> ShowS
CrawlerTargets -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CrawlerTargets] -> ShowS
$cshowList :: [CrawlerTargets] -> ShowS
show :: CrawlerTargets -> String
$cshow :: CrawlerTargets -> String
showsPrec :: Int -> CrawlerTargets -> ShowS
$cshowsPrec :: Int -> CrawlerTargets -> ShowS
Prelude.Show, forall x. Rep CrawlerTargets x -> CrawlerTargets
forall x. CrawlerTargets -> Rep CrawlerTargets x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CrawlerTargets x -> CrawlerTargets
$cfrom :: forall x. CrawlerTargets -> Rep CrawlerTargets x
Prelude.Generic)
newCrawlerTargets ::
CrawlerTargets
newCrawlerTargets :: CrawlerTargets
newCrawlerTargets =
CrawlerTargets'
{ $sel:catalogTargets:CrawlerTargets' :: Maybe [CatalogTarget]
catalogTargets = forall a. Maybe a
Prelude.Nothing,
$sel:deltaTargets:CrawlerTargets' :: Maybe [DeltaTarget]
deltaTargets = forall a. Maybe a
Prelude.Nothing,
$sel:dynamoDBTargets:CrawlerTargets' :: Maybe [DynamoDBTarget]
dynamoDBTargets = forall a. Maybe a
Prelude.Nothing,
$sel:jdbcTargets:CrawlerTargets' :: Maybe [JdbcTarget]
jdbcTargets = forall a. Maybe a
Prelude.Nothing,
$sel:mongoDBTargets:CrawlerTargets' :: Maybe [MongoDBTarget]
mongoDBTargets = forall a. Maybe a
Prelude.Nothing,
$sel:s3Targets:CrawlerTargets' :: Maybe [S3Target]
s3Targets = forall a. Maybe a
Prelude.Nothing
}
crawlerTargets_catalogTargets :: Lens.Lens' CrawlerTargets (Prelude.Maybe [CatalogTarget])
crawlerTargets_catalogTargets :: Lens' CrawlerTargets (Maybe [CatalogTarget])
crawlerTargets_catalogTargets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CrawlerTargets' {Maybe [CatalogTarget]
catalogTargets :: Maybe [CatalogTarget]
$sel:catalogTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [CatalogTarget]
catalogTargets} -> Maybe [CatalogTarget]
catalogTargets) (\s :: CrawlerTargets
s@CrawlerTargets' {} Maybe [CatalogTarget]
a -> CrawlerTargets
s {$sel:catalogTargets:CrawlerTargets' :: Maybe [CatalogTarget]
catalogTargets = Maybe [CatalogTarget]
a} :: CrawlerTargets) 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
crawlerTargets_deltaTargets :: Lens.Lens' CrawlerTargets (Prelude.Maybe [DeltaTarget])
crawlerTargets_deltaTargets :: Lens' CrawlerTargets (Maybe [DeltaTarget])
crawlerTargets_deltaTargets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CrawlerTargets' {Maybe [DeltaTarget]
deltaTargets :: Maybe [DeltaTarget]
$sel:deltaTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [DeltaTarget]
deltaTargets} -> Maybe [DeltaTarget]
deltaTargets) (\s :: CrawlerTargets
s@CrawlerTargets' {} Maybe [DeltaTarget]
a -> CrawlerTargets
s {$sel:deltaTargets:CrawlerTargets' :: Maybe [DeltaTarget]
deltaTargets = Maybe [DeltaTarget]
a} :: CrawlerTargets) 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
crawlerTargets_dynamoDBTargets :: Lens.Lens' CrawlerTargets (Prelude.Maybe [DynamoDBTarget])
crawlerTargets_dynamoDBTargets :: Lens' CrawlerTargets (Maybe [DynamoDBTarget])
crawlerTargets_dynamoDBTargets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CrawlerTargets' {Maybe [DynamoDBTarget]
dynamoDBTargets :: Maybe [DynamoDBTarget]
$sel:dynamoDBTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [DynamoDBTarget]
dynamoDBTargets} -> Maybe [DynamoDBTarget]
dynamoDBTargets) (\s :: CrawlerTargets
s@CrawlerTargets' {} Maybe [DynamoDBTarget]
a -> CrawlerTargets
s {$sel:dynamoDBTargets:CrawlerTargets' :: Maybe [DynamoDBTarget]
dynamoDBTargets = Maybe [DynamoDBTarget]
a} :: CrawlerTargets) 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
crawlerTargets_jdbcTargets :: Lens.Lens' CrawlerTargets (Prelude.Maybe [JdbcTarget])
crawlerTargets_jdbcTargets :: Lens' CrawlerTargets (Maybe [JdbcTarget])
crawlerTargets_jdbcTargets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CrawlerTargets' {Maybe [JdbcTarget]
jdbcTargets :: Maybe [JdbcTarget]
$sel:jdbcTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [JdbcTarget]
jdbcTargets} -> Maybe [JdbcTarget]
jdbcTargets) (\s :: CrawlerTargets
s@CrawlerTargets' {} Maybe [JdbcTarget]
a -> CrawlerTargets
s {$sel:jdbcTargets:CrawlerTargets' :: Maybe [JdbcTarget]
jdbcTargets = Maybe [JdbcTarget]
a} :: CrawlerTargets) 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
crawlerTargets_mongoDBTargets :: Lens.Lens' CrawlerTargets (Prelude.Maybe [MongoDBTarget])
crawlerTargets_mongoDBTargets :: Lens' CrawlerTargets (Maybe [MongoDBTarget])
crawlerTargets_mongoDBTargets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CrawlerTargets' {Maybe [MongoDBTarget]
mongoDBTargets :: Maybe [MongoDBTarget]
$sel:mongoDBTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [MongoDBTarget]
mongoDBTargets} -> Maybe [MongoDBTarget]
mongoDBTargets) (\s :: CrawlerTargets
s@CrawlerTargets' {} Maybe [MongoDBTarget]
a -> CrawlerTargets
s {$sel:mongoDBTargets:CrawlerTargets' :: Maybe [MongoDBTarget]
mongoDBTargets = Maybe [MongoDBTarget]
a} :: CrawlerTargets) 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
crawlerTargets_s3Targets :: Lens.Lens' CrawlerTargets (Prelude.Maybe [S3Target])
crawlerTargets_s3Targets :: Lens' CrawlerTargets (Maybe [S3Target])
crawlerTargets_s3Targets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CrawlerTargets' {Maybe [S3Target]
s3Targets :: Maybe [S3Target]
$sel:s3Targets:CrawlerTargets' :: CrawlerTargets -> Maybe [S3Target]
s3Targets} -> Maybe [S3Target]
s3Targets) (\s :: CrawlerTargets
s@CrawlerTargets' {} Maybe [S3Target]
a -> CrawlerTargets
s {$sel:s3Targets:CrawlerTargets' :: Maybe [S3Target]
s3Targets = Maybe [S3Target]
a} :: CrawlerTargets) 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
instance Data.FromJSON CrawlerTargets where
parseJSON :: Value -> Parser CrawlerTargets
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"CrawlerTargets"
( \Object
x ->
Maybe [CatalogTarget]
-> Maybe [DeltaTarget]
-> Maybe [DynamoDBTarget]
-> Maybe [JdbcTarget]
-> Maybe [MongoDBTarget]
-> Maybe [S3Target]
-> CrawlerTargets
CrawlerTargets'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"CatalogTargets" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"DeltaTargets" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"DynamoDBTargets"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"JdbcTargets" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"MongoDBTargets" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= 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 -> Parser (Maybe a)
Data..:? Key
"S3Targets" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
)
instance Prelude.Hashable CrawlerTargets where
hashWithSalt :: Int -> CrawlerTargets -> Int
hashWithSalt Int
_salt CrawlerTargets' {Maybe [CatalogTarget]
Maybe [DeltaTarget]
Maybe [DynamoDBTarget]
Maybe [JdbcTarget]
Maybe [MongoDBTarget]
Maybe [S3Target]
s3Targets :: Maybe [S3Target]
mongoDBTargets :: Maybe [MongoDBTarget]
jdbcTargets :: Maybe [JdbcTarget]
dynamoDBTargets :: Maybe [DynamoDBTarget]
deltaTargets :: Maybe [DeltaTarget]
catalogTargets :: Maybe [CatalogTarget]
$sel:s3Targets:CrawlerTargets' :: CrawlerTargets -> Maybe [S3Target]
$sel:mongoDBTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [MongoDBTarget]
$sel:jdbcTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [JdbcTarget]
$sel:dynamoDBTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [DynamoDBTarget]
$sel:deltaTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [DeltaTarget]
$sel:catalogTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [CatalogTarget]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [CatalogTarget]
catalogTargets
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [DeltaTarget]
deltaTargets
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [DynamoDBTarget]
dynamoDBTargets
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [JdbcTarget]
jdbcTargets
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [MongoDBTarget]
mongoDBTargets
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [S3Target]
s3Targets
instance Prelude.NFData CrawlerTargets where
rnf :: CrawlerTargets -> ()
rnf CrawlerTargets' {Maybe [CatalogTarget]
Maybe [DeltaTarget]
Maybe [DynamoDBTarget]
Maybe [JdbcTarget]
Maybe [MongoDBTarget]
Maybe [S3Target]
s3Targets :: Maybe [S3Target]
mongoDBTargets :: Maybe [MongoDBTarget]
jdbcTargets :: Maybe [JdbcTarget]
dynamoDBTargets :: Maybe [DynamoDBTarget]
deltaTargets :: Maybe [DeltaTarget]
catalogTargets :: Maybe [CatalogTarget]
$sel:s3Targets:CrawlerTargets' :: CrawlerTargets -> Maybe [S3Target]
$sel:mongoDBTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [MongoDBTarget]
$sel:jdbcTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [JdbcTarget]
$sel:dynamoDBTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [DynamoDBTarget]
$sel:deltaTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [DeltaTarget]
$sel:catalogTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [CatalogTarget]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [CatalogTarget]
catalogTargets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [DeltaTarget]
deltaTargets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [DynamoDBTarget]
dynamoDBTargets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [JdbcTarget]
jdbcTargets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [MongoDBTarget]
mongoDBTargets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [S3Target]
s3Targets
instance Data.ToJSON CrawlerTargets where
toJSON :: CrawlerTargets -> Value
toJSON CrawlerTargets' {Maybe [CatalogTarget]
Maybe [DeltaTarget]
Maybe [DynamoDBTarget]
Maybe [JdbcTarget]
Maybe [MongoDBTarget]
Maybe [S3Target]
s3Targets :: Maybe [S3Target]
mongoDBTargets :: Maybe [MongoDBTarget]
jdbcTargets :: Maybe [JdbcTarget]
dynamoDBTargets :: Maybe [DynamoDBTarget]
deltaTargets :: Maybe [DeltaTarget]
catalogTargets :: Maybe [CatalogTarget]
$sel:s3Targets:CrawlerTargets' :: CrawlerTargets -> Maybe [S3Target]
$sel:mongoDBTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [MongoDBTarget]
$sel:jdbcTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [JdbcTarget]
$sel:dynamoDBTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [DynamoDBTarget]
$sel:deltaTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [DeltaTarget]
$sel:catalogTargets:CrawlerTargets' :: CrawlerTargets -> Maybe [CatalogTarget]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"CatalogTargets" 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 [CatalogTarget]
catalogTargets,
(Key
"DeltaTargets" 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 [DeltaTarget]
deltaTargets,
(Key
"DynamoDBTargets" 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 [DynamoDBTarget]
dynamoDBTargets,
(Key
"JdbcTargets" 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 [JdbcTarget]
jdbcTargets,
(Key
"MongoDBTargets" 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 [MongoDBTarget]
mongoDBTargets,
(Key
"S3Targets" 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 [S3Target]
s3Targets
]
)