module Stratosphere.QuickSight.Analysis.GeospatialLayerJoinDefinitionProperty (
        module Exports, GeospatialLayerJoinDefinitionProperty(..),
        mkGeospatialLayerJoinDefinitionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.GeospatialLayerColorFieldProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.UnaggregatedFieldProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data GeospatialLayerJoinDefinitionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatiallayerjoindefinition.html>
    GeospatialLayerJoinDefinitionProperty {GeospatialLayerJoinDefinitionProperty -> ()
haddock_workaround_ :: (),
                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatiallayerjoindefinition.html#cfn-quicksight-analysis-geospatiallayerjoindefinition-colorfield>
                                           GeospatialLayerJoinDefinitionProperty
-> Maybe GeospatialLayerColorFieldProperty
colorField :: (Prelude.Maybe GeospatialLayerColorFieldProperty),
                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatiallayerjoindefinition.html#cfn-quicksight-analysis-geospatiallayerjoindefinition-datasetkeyfield>
                                           GeospatialLayerJoinDefinitionProperty
-> Maybe UnaggregatedFieldProperty
datasetKeyField :: (Prelude.Maybe UnaggregatedFieldProperty),
                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatiallayerjoindefinition.html#cfn-quicksight-analysis-geospatiallayerjoindefinition-shapekeyfield>
                                           GeospatialLayerJoinDefinitionProperty -> Maybe (Value Text)
shapeKeyField :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty -> Bool
(GeospatialLayerJoinDefinitionProperty
 -> GeospatialLayerJoinDefinitionProperty -> Bool)
-> (GeospatialLayerJoinDefinitionProperty
    -> GeospatialLayerJoinDefinitionProperty -> Bool)
-> Eq GeospatialLayerJoinDefinitionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty -> Bool
== :: GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty -> Bool
$c/= :: GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty -> Bool
/= :: GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty -> Bool
Prelude.Eq, Int -> GeospatialLayerJoinDefinitionProperty -> ShowS
[GeospatialLayerJoinDefinitionProperty] -> ShowS
GeospatialLayerJoinDefinitionProperty -> String
(Int -> GeospatialLayerJoinDefinitionProperty -> ShowS)
-> (GeospatialLayerJoinDefinitionProperty -> String)
-> ([GeospatialLayerJoinDefinitionProperty] -> ShowS)
-> Show GeospatialLayerJoinDefinitionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GeospatialLayerJoinDefinitionProperty -> ShowS
showsPrec :: Int -> GeospatialLayerJoinDefinitionProperty -> ShowS
$cshow :: GeospatialLayerJoinDefinitionProperty -> String
show :: GeospatialLayerJoinDefinitionProperty -> String
$cshowList :: [GeospatialLayerJoinDefinitionProperty] -> ShowS
showList :: [GeospatialLayerJoinDefinitionProperty] -> ShowS
Prelude.Show)
mkGeospatialLayerJoinDefinitionProperty ::
  GeospatialLayerJoinDefinitionProperty
mkGeospatialLayerJoinDefinitionProperty :: GeospatialLayerJoinDefinitionProperty
mkGeospatialLayerJoinDefinitionProperty
  = GeospatialLayerJoinDefinitionProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), colorField :: Maybe GeospatialLayerColorFieldProperty
colorField = Maybe GeospatialLayerColorFieldProperty
forall a. Maybe a
Prelude.Nothing,
       datasetKeyField :: Maybe UnaggregatedFieldProperty
datasetKeyField = Maybe UnaggregatedFieldProperty
forall a. Maybe a
Prelude.Nothing, shapeKeyField :: Maybe (Value Text)
shapeKeyField = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties GeospatialLayerJoinDefinitionProperty where
  toResourceProperties :: GeospatialLayerJoinDefinitionProperty -> ResourceProperties
toResourceProperties GeospatialLayerJoinDefinitionProperty {Maybe (Value Text)
Maybe GeospatialLayerColorFieldProperty
Maybe UnaggregatedFieldProperty
()
haddock_workaround_ :: GeospatialLayerJoinDefinitionProperty -> ()
colorField :: GeospatialLayerJoinDefinitionProperty
-> Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: GeospatialLayerJoinDefinitionProperty
-> Maybe UnaggregatedFieldProperty
shapeKeyField :: GeospatialLayerJoinDefinitionProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: Maybe UnaggregatedFieldProperty
shapeKeyField :: Maybe (Value Text)
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Analysis.GeospatialLayerJoinDefinition",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> GeospatialLayerColorFieldProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ColorField" (GeospatialLayerColorFieldProperty -> (Key, Value))
-> Maybe GeospatialLayerColorFieldProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GeospatialLayerColorFieldProperty
colorField,
                            Key -> UnaggregatedFieldProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DatasetKeyField" (UnaggregatedFieldProperty -> (Key, Value))
-> Maybe UnaggregatedFieldProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe UnaggregatedFieldProperty
datasetKeyField,
                            Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ShapeKeyField" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
shapeKeyField])}
instance JSON.ToJSON GeospatialLayerJoinDefinitionProperty where
  toJSON :: GeospatialLayerJoinDefinitionProperty -> Value
toJSON GeospatialLayerJoinDefinitionProperty {Maybe (Value Text)
Maybe GeospatialLayerColorFieldProperty
Maybe UnaggregatedFieldProperty
()
haddock_workaround_ :: GeospatialLayerJoinDefinitionProperty -> ()
colorField :: GeospatialLayerJoinDefinitionProperty
-> Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: GeospatialLayerJoinDefinitionProperty
-> Maybe UnaggregatedFieldProperty
shapeKeyField :: GeospatialLayerJoinDefinitionProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: Maybe UnaggregatedFieldProperty
shapeKeyField :: Maybe (Value Text)
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> GeospatialLayerColorFieldProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ColorField" (GeospatialLayerColorFieldProperty -> (Key, Value))
-> Maybe GeospatialLayerColorFieldProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GeospatialLayerColorFieldProperty
colorField,
               Key -> UnaggregatedFieldProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DatasetKeyField" (UnaggregatedFieldProperty -> (Key, Value))
-> Maybe UnaggregatedFieldProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe UnaggregatedFieldProperty
datasetKeyField,
               Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ShapeKeyField" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
shapeKeyField]))
instance Property "ColorField" GeospatialLayerJoinDefinitionProperty where
  type PropertyType "ColorField" GeospatialLayerJoinDefinitionProperty = GeospatialLayerColorFieldProperty
  set :: PropertyType "ColorField" GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty
set PropertyType "ColorField" GeospatialLayerJoinDefinitionProperty
newValue GeospatialLayerJoinDefinitionProperty {Maybe (Value Text)
Maybe GeospatialLayerColorFieldProperty
Maybe UnaggregatedFieldProperty
()
haddock_workaround_ :: GeospatialLayerJoinDefinitionProperty -> ()
colorField :: GeospatialLayerJoinDefinitionProperty
-> Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: GeospatialLayerJoinDefinitionProperty
-> Maybe UnaggregatedFieldProperty
shapeKeyField :: GeospatialLayerJoinDefinitionProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: Maybe UnaggregatedFieldProperty
shapeKeyField :: Maybe (Value Text)
..}
    = GeospatialLayerJoinDefinitionProperty
        {colorField :: Maybe GeospatialLayerColorFieldProperty
colorField = GeospatialLayerColorFieldProperty
-> Maybe GeospatialLayerColorFieldProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ColorField" GeospatialLayerJoinDefinitionProperty
GeospatialLayerColorFieldProperty
newValue, Maybe (Value Text)
Maybe UnaggregatedFieldProperty
()
haddock_workaround_ :: ()
datasetKeyField :: Maybe UnaggregatedFieldProperty
shapeKeyField :: Maybe (Value Text)
haddock_workaround_ :: ()
datasetKeyField :: Maybe UnaggregatedFieldProperty
shapeKeyField :: Maybe (Value Text)
..}
instance Property "DatasetKeyField" GeospatialLayerJoinDefinitionProperty where
  type PropertyType "DatasetKeyField" GeospatialLayerJoinDefinitionProperty = UnaggregatedFieldProperty
  set :: PropertyType
  "DatasetKeyField" GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty
set PropertyType
  "DatasetKeyField" GeospatialLayerJoinDefinitionProperty
newValue GeospatialLayerJoinDefinitionProperty {Maybe (Value Text)
Maybe GeospatialLayerColorFieldProperty
Maybe UnaggregatedFieldProperty
()
haddock_workaround_ :: GeospatialLayerJoinDefinitionProperty -> ()
colorField :: GeospatialLayerJoinDefinitionProperty
-> Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: GeospatialLayerJoinDefinitionProperty
-> Maybe UnaggregatedFieldProperty
shapeKeyField :: GeospatialLayerJoinDefinitionProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: Maybe UnaggregatedFieldProperty
shapeKeyField :: Maybe (Value Text)
..}
    = GeospatialLayerJoinDefinitionProperty
        {datasetKeyField :: Maybe UnaggregatedFieldProperty
datasetKeyField = UnaggregatedFieldProperty -> Maybe UnaggregatedFieldProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "DatasetKeyField" GeospatialLayerJoinDefinitionProperty
UnaggregatedFieldProperty
newValue, Maybe (Value Text)
Maybe GeospatialLayerColorFieldProperty
()
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
shapeKeyField :: Maybe (Value Text)
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
shapeKeyField :: Maybe (Value Text)
..}
instance Property "ShapeKeyField" GeospatialLayerJoinDefinitionProperty where
  type PropertyType "ShapeKeyField" GeospatialLayerJoinDefinitionProperty = Value Prelude.Text
  set :: PropertyType "ShapeKeyField" GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty
-> GeospatialLayerJoinDefinitionProperty
set PropertyType "ShapeKeyField" GeospatialLayerJoinDefinitionProperty
newValue GeospatialLayerJoinDefinitionProperty {Maybe (Value Text)
Maybe GeospatialLayerColorFieldProperty
Maybe UnaggregatedFieldProperty
()
haddock_workaround_ :: GeospatialLayerJoinDefinitionProperty -> ()
colorField :: GeospatialLayerJoinDefinitionProperty
-> Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: GeospatialLayerJoinDefinitionProperty
-> Maybe UnaggregatedFieldProperty
shapeKeyField :: GeospatialLayerJoinDefinitionProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: Maybe UnaggregatedFieldProperty
shapeKeyField :: Maybe (Value Text)
..}
    = GeospatialLayerJoinDefinitionProperty
        {shapeKeyField :: Maybe (Value Text)
shapeKeyField = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "ShapeKeyField" GeospatialLayerJoinDefinitionProperty
Value Text
newValue, Maybe GeospatialLayerColorFieldProperty
Maybe UnaggregatedFieldProperty
()
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: Maybe UnaggregatedFieldProperty
haddock_workaround_ :: ()
colorField :: Maybe GeospatialLayerColorFieldProperty
datasetKeyField :: Maybe UnaggregatedFieldProperty
..}