stratosphere-0.46.0: library-gen/Stratosphere/ResourceProperties/GlueCrawlerTargets.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html
module Stratosphere.ResourceProperties.GlueCrawlerTargets where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.GlueCrawlerCatalogTarget
import Stratosphere.ResourceProperties.GlueCrawlerDynamoDBTarget
import Stratosphere.ResourceProperties.GlueCrawlerJdbcTarget
import Stratosphere.ResourceProperties.GlueCrawlerS3Target
-- | Full data type definition for GlueCrawlerTargets. See
-- 'glueCrawlerTargets' for a more convenient constructor.
data GlueCrawlerTargets =
GlueCrawlerTargets
{ _glueCrawlerTargetsCatalogTargets :: Maybe [GlueCrawlerCatalogTarget]
, _glueCrawlerTargetsDynamoDBTargets :: Maybe [GlueCrawlerDynamoDBTarget]
, _glueCrawlerTargetsJdbcTargets :: Maybe [GlueCrawlerJdbcTarget]
, _glueCrawlerTargetsS3Targets :: Maybe [GlueCrawlerS3Target]
} deriving (Show, Eq)
instance ToJSON GlueCrawlerTargets where
toJSON GlueCrawlerTargets{..} =
object $
catMaybes
[ fmap (("CatalogTargets",) . toJSON) _glueCrawlerTargetsCatalogTargets
, fmap (("DynamoDBTargets",) . toJSON) _glueCrawlerTargetsDynamoDBTargets
, fmap (("JdbcTargets",) . toJSON) _glueCrawlerTargetsJdbcTargets
, fmap (("S3Targets",) . toJSON) _glueCrawlerTargetsS3Targets
]
-- | Constructor for 'GlueCrawlerTargets' containing required fields as
-- arguments.
glueCrawlerTargets
:: GlueCrawlerTargets
glueCrawlerTargets =
GlueCrawlerTargets
{ _glueCrawlerTargetsCatalogTargets = Nothing
, _glueCrawlerTargetsDynamoDBTargets = Nothing
, _glueCrawlerTargetsJdbcTargets = Nothing
, _glueCrawlerTargetsS3Targets = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-catalogtargets
gctCatalogTargets :: Lens' GlueCrawlerTargets (Maybe [GlueCrawlerCatalogTarget])
gctCatalogTargets = lens _glueCrawlerTargetsCatalogTargets (\s a -> s { _glueCrawlerTargetsCatalogTargets = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-dynamodbtargets
gctDynamoDBTargets :: Lens' GlueCrawlerTargets (Maybe [GlueCrawlerDynamoDBTarget])
gctDynamoDBTargets = lens _glueCrawlerTargetsDynamoDBTargets (\s a -> s { _glueCrawlerTargetsDynamoDBTargets = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-jdbctargets
gctJdbcTargets :: Lens' GlueCrawlerTargets (Maybe [GlueCrawlerJdbcTarget])
gctJdbcTargets = lens _glueCrawlerTargetsJdbcTargets (\s a -> s { _glueCrawlerTargetsJdbcTargets = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-s3targets
gctS3Targets :: Lens' GlueCrawlerTargets (Maybe [GlueCrawlerS3Target])
gctS3Targets = lens _glueCrawlerTargetsS3Targets (\s a -> s { _glueCrawlerTargetsS3Targets = a })