module Stratosphere.QuickSight.Dashboard.GeospatialLayerItemProperty ( module Exports, GeospatialLayerItemProperty(..), mkGeospatialLayerItemProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.GeospatialDataSourceItemProperty as Exports import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.GeospatialLayerDefinitionProperty as Exports import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.GeospatialLayerJoinDefinitionProperty as Exports import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.LayerCustomActionProperty as Exports import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.TooltipOptionsProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data GeospatialLayerItemProperty = -- | See: GeospatialLayerItemProperty {haddock_workaround_ :: (), -- | See: actions :: (Prelude.Maybe [LayerCustomActionProperty]), -- | See: dataSource :: (Prelude.Maybe GeospatialDataSourceItemProperty), -- | See: joinDefinition :: (Prelude.Maybe GeospatialLayerJoinDefinitionProperty), -- | See: label :: (Prelude.Maybe (Value Prelude.Text)), -- | See: layerDefinition :: (Prelude.Maybe GeospatialLayerDefinitionProperty), -- | See: layerId :: (Value Prelude.Text), -- | See: layerType :: (Prelude.Maybe (Value Prelude.Text)), -- | See: tooltip :: (Prelude.Maybe TooltipOptionsProperty), -- | See: visibility :: (Prelude.Maybe (Value Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkGeospatialLayerItemProperty :: Value Prelude.Text -> GeospatialLayerItemProperty mkGeospatialLayerItemProperty layerId = GeospatialLayerItemProperty {haddock_workaround_ = (), layerId = layerId, actions = Prelude.Nothing, dataSource = Prelude.Nothing, joinDefinition = Prelude.Nothing, label = Prelude.Nothing, layerDefinition = Prelude.Nothing, layerType = Prelude.Nothing, tooltip = Prelude.Nothing, visibility = Prelude.Nothing} instance ToResourceProperties GeospatialLayerItemProperty where toResourceProperties GeospatialLayerItemProperty {..} = ResourceProperties {awsType = "AWS::QuickSight::Dashboard.GeospatialLayerItem", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["LayerId" JSON..= layerId] (Prelude.catMaybes [(JSON..=) "Actions" Prelude.<$> actions, (JSON..=) "DataSource" Prelude.<$> dataSource, (JSON..=) "JoinDefinition" Prelude.<$> joinDefinition, (JSON..=) "Label" Prelude.<$> label, (JSON..=) "LayerDefinition" Prelude.<$> layerDefinition, (JSON..=) "LayerType" Prelude.<$> layerType, (JSON..=) "Tooltip" Prelude.<$> tooltip, (JSON..=) "Visibility" Prelude.<$> visibility]))} instance JSON.ToJSON GeospatialLayerItemProperty where toJSON GeospatialLayerItemProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["LayerId" JSON..= layerId] (Prelude.catMaybes [(JSON..=) "Actions" Prelude.<$> actions, (JSON..=) "DataSource" Prelude.<$> dataSource, (JSON..=) "JoinDefinition" Prelude.<$> joinDefinition, (JSON..=) "Label" Prelude.<$> label, (JSON..=) "LayerDefinition" Prelude.<$> layerDefinition, (JSON..=) "LayerType" Prelude.<$> layerType, (JSON..=) "Tooltip" Prelude.<$> tooltip, (JSON..=) "Visibility" Prelude.<$> visibility]))) instance Property "Actions" GeospatialLayerItemProperty where type PropertyType "Actions" GeospatialLayerItemProperty = [LayerCustomActionProperty] set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {actions = Prelude.pure newValue, ..} instance Property "DataSource" GeospatialLayerItemProperty where type PropertyType "DataSource" GeospatialLayerItemProperty = GeospatialDataSourceItemProperty set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {dataSource = Prelude.pure newValue, ..} instance Property "JoinDefinition" GeospatialLayerItemProperty where type PropertyType "JoinDefinition" GeospatialLayerItemProperty = GeospatialLayerJoinDefinitionProperty set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {joinDefinition = Prelude.pure newValue, ..} instance Property "Label" GeospatialLayerItemProperty where type PropertyType "Label" GeospatialLayerItemProperty = Value Prelude.Text set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {label = Prelude.pure newValue, ..} instance Property "LayerDefinition" GeospatialLayerItemProperty where type PropertyType "LayerDefinition" GeospatialLayerItemProperty = GeospatialLayerDefinitionProperty set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {layerDefinition = Prelude.pure newValue, ..} instance Property "LayerId" GeospatialLayerItemProperty where type PropertyType "LayerId" GeospatialLayerItemProperty = Value Prelude.Text set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {layerId = newValue, ..} instance Property "LayerType" GeospatialLayerItemProperty where type PropertyType "LayerType" GeospatialLayerItemProperty = Value Prelude.Text set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {layerType = Prelude.pure newValue, ..} instance Property "Tooltip" GeospatialLayerItemProperty where type PropertyType "Tooltip" GeospatialLayerItemProperty = TooltipOptionsProperty set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {tooltip = Prelude.pure newValue, ..} instance Property "Visibility" GeospatialLayerItemProperty where type PropertyType "Visibility" GeospatialLayerItemProperty = Value Prelude.Text set newValue GeospatialLayerItemProperty {..} = GeospatialLayerItemProperty {visibility = Prelude.pure newValue, ..}