module Stratosphere.Glue.Crawler.HudiTargetProperty ( HudiTargetProperty(..), mkHudiTargetProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data HudiTargetProperty = -- | See: HudiTargetProperty {haddock_workaround_ :: (), -- | See: connectionName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: exclusions :: (Prelude.Maybe (ValueList Prelude.Text)), -- | See: maximumTraversalDepth :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: paths :: (Prelude.Maybe (ValueList Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkHudiTargetProperty :: HudiTargetProperty mkHudiTargetProperty = HudiTargetProperty {haddock_workaround_ = (), connectionName = Prelude.Nothing, exclusions = Prelude.Nothing, maximumTraversalDepth = Prelude.Nothing, paths = Prelude.Nothing} instance ToResourceProperties HudiTargetProperty where toResourceProperties HudiTargetProperty {..} = ResourceProperties {awsType = "AWS::Glue::Crawler.HudiTarget", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "ConnectionName" Prelude.<$> connectionName, (JSON..=) "Exclusions" Prelude.<$> exclusions, (JSON..=) "MaximumTraversalDepth" Prelude.<$> maximumTraversalDepth, (JSON..=) "Paths" Prelude.<$> paths])} instance JSON.ToJSON HudiTargetProperty where toJSON HudiTargetProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "ConnectionName" Prelude.<$> connectionName, (JSON..=) "Exclusions" Prelude.<$> exclusions, (JSON..=) "MaximumTraversalDepth" Prelude.<$> maximumTraversalDepth, (JSON..=) "Paths" Prelude.<$> paths])) instance Property "ConnectionName" HudiTargetProperty where type PropertyType "ConnectionName" HudiTargetProperty = Value Prelude.Text set newValue HudiTargetProperty {..} = HudiTargetProperty {connectionName = Prelude.pure newValue, ..} instance Property "Exclusions" HudiTargetProperty where type PropertyType "Exclusions" HudiTargetProperty = ValueList Prelude.Text set newValue HudiTargetProperty {..} = HudiTargetProperty {exclusions = Prelude.pure newValue, ..} instance Property "MaximumTraversalDepth" HudiTargetProperty where type PropertyType "MaximumTraversalDepth" HudiTargetProperty = Value Prelude.Integer set newValue HudiTargetProperty {..} = HudiTargetProperty {maximumTraversalDepth = Prelude.pure newValue, ..} instance Property "Paths" HudiTargetProperty where type PropertyType "Paths" HudiTargetProperty = ValueList Prelude.Text set newValue HudiTargetProperty {..} = HudiTargetProperty {paths = Prelude.pure newValue, ..}