module Stratosphere.QuickSight.Analysis.GeospatialGradientColorProperty (
        module Exports, GeospatialGradientColorProperty(..),
        mkGeospatialGradientColorProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.GeospatialGradientStepColorProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.GeospatialNullDataSettingsProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data GeospatialGradientColorProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatialgradientcolor.html>
    GeospatialGradientColorProperty {GeospatialGradientColorProperty -> ()
haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatialgradientcolor.html#cfn-quicksight-analysis-geospatialgradientcolor-defaultopacity>
                                     GeospatialGradientColorProperty -> Maybe (Value Double)
defaultOpacity :: (Prelude.Maybe (Value Prelude.Double)),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatialgradientcolor.html#cfn-quicksight-analysis-geospatialgradientcolor-nulldatasettings>
                                     GeospatialGradientColorProperty
-> Maybe GeospatialNullDataSettingsProperty
nullDataSettings :: (Prelude.Maybe GeospatialNullDataSettingsProperty),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatialgradientcolor.html#cfn-quicksight-analysis-geospatialgradientcolor-nulldatavisibility>
                                     GeospatialGradientColorProperty -> Maybe (Value Text)
nullDataVisibility :: (Prelude.Maybe (Value Prelude.Text)),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-geospatialgradientcolor.html#cfn-quicksight-analysis-geospatialgradientcolor-stepcolors>
                                     GeospatialGradientColorProperty
-> [GeospatialGradientStepColorProperty]
stepColors :: [GeospatialGradientStepColorProperty]}
  deriving stock (GeospatialGradientColorProperty
-> GeospatialGradientColorProperty -> Bool
(GeospatialGradientColorProperty
 -> GeospatialGradientColorProperty -> Bool)
-> (GeospatialGradientColorProperty
    -> GeospatialGradientColorProperty -> Bool)
-> Eq GeospatialGradientColorProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GeospatialGradientColorProperty
-> GeospatialGradientColorProperty -> Bool
== :: GeospatialGradientColorProperty
-> GeospatialGradientColorProperty -> Bool
$c/= :: GeospatialGradientColorProperty
-> GeospatialGradientColorProperty -> Bool
/= :: GeospatialGradientColorProperty
-> GeospatialGradientColorProperty -> Bool
Prelude.Eq, Int -> GeospatialGradientColorProperty -> ShowS
[GeospatialGradientColorProperty] -> ShowS
GeospatialGradientColorProperty -> String
(Int -> GeospatialGradientColorProperty -> ShowS)
-> (GeospatialGradientColorProperty -> String)
-> ([GeospatialGradientColorProperty] -> ShowS)
-> Show GeospatialGradientColorProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GeospatialGradientColorProperty -> ShowS
showsPrec :: Int -> GeospatialGradientColorProperty -> ShowS
$cshow :: GeospatialGradientColorProperty -> String
show :: GeospatialGradientColorProperty -> String
$cshowList :: [GeospatialGradientColorProperty] -> ShowS
showList :: [GeospatialGradientColorProperty] -> ShowS
Prelude.Show)
mkGeospatialGradientColorProperty ::
  [GeospatialGradientStepColorProperty]
  -> GeospatialGradientColorProperty
mkGeospatialGradientColorProperty :: [GeospatialGradientStepColorProperty]
-> GeospatialGradientColorProperty
mkGeospatialGradientColorProperty [GeospatialGradientStepColorProperty]
stepColors
  = GeospatialGradientColorProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), stepColors :: [GeospatialGradientStepColorProperty]
stepColors = [GeospatialGradientStepColorProperty]
stepColors,
       defaultOpacity :: Maybe (Value Double)
defaultOpacity = Maybe (Value Double)
forall a. Maybe a
Prelude.Nothing,
       nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataSettings = Maybe GeospatialNullDataSettingsProperty
forall a. Maybe a
Prelude.Nothing,
       nullDataVisibility :: Maybe (Value Text)
nullDataVisibility = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties GeospatialGradientColorProperty where
  toResourceProperties :: GeospatialGradientColorProperty -> ResourceProperties
toResourceProperties GeospatialGradientColorProperty {[GeospatialGradientStepColorProperty]
Maybe (Value Double)
Maybe (Value Text)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: GeospatialGradientColorProperty -> ()
defaultOpacity :: GeospatialGradientColorProperty -> Maybe (Value Double)
nullDataSettings :: GeospatialGradientColorProperty
-> Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: GeospatialGradientColorProperty -> Maybe (Value Text)
stepColors :: GeospatialGradientColorProperty
-> [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Analysis.GeospatialGradientColor",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
                           [Key
"StepColors" Key -> [GeospatialGradientStepColorProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [GeospatialGradientStepColorProperty]
stepColors]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                              [Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DefaultOpacity" (Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
defaultOpacity,
                               Key -> GeospatialNullDataSettingsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NullDataSettings" (GeospatialNullDataSettingsProperty -> (Key, Value))
-> Maybe GeospatialNullDataSettingsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GeospatialNullDataSettingsProperty
nullDataSettings,
                               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
"NullDataVisibility" (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)
nullDataVisibility]))}
instance JSON.ToJSON GeospatialGradientColorProperty where
  toJSON :: GeospatialGradientColorProperty -> Value
toJSON GeospatialGradientColorProperty {[GeospatialGradientStepColorProperty]
Maybe (Value Double)
Maybe (Value Text)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: GeospatialGradientColorProperty -> ()
defaultOpacity :: GeospatialGradientColorProperty -> Maybe (Value Double)
nullDataSettings :: GeospatialGradientColorProperty
-> Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: GeospatialGradientColorProperty -> Maybe (Value Text)
stepColors :: GeospatialGradientColorProperty
-> [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
              [Key
"StepColors" Key -> [GeospatialGradientStepColorProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [GeospatialGradientStepColorProperty]
stepColors]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                 [Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DefaultOpacity" (Value Double -> (Key, Value))
-> Maybe (Value Double) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Double)
defaultOpacity,
                  Key -> GeospatialNullDataSettingsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"NullDataSettings" (GeospatialNullDataSettingsProperty -> (Key, Value))
-> Maybe GeospatialNullDataSettingsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GeospatialNullDataSettingsProperty
nullDataSettings,
                  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
"NullDataVisibility" (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)
nullDataVisibility])))
instance Property "DefaultOpacity" GeospatialGradientColorProperty where
  type PropertyType "DefaultOpacity" GeospatialGradientColorProperty = Value Prelude.Double
  set :: PropertyType "DefaultOpacity" GeospatialGradientColorProperty
-> GeospatialGradientColorProperty
-> GeospatialGradientColorProperty
set PropertyType "DefaultOpacity" GeospatialGradientColorProperty
newValue GeospatialGradientColorProperty {[GeospatialGradientStepColorProperty]
Maybe (Value Double)
Maybe (Value Text)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: GeospatialGradientColorProperty -> ()
defaultOpacity :: GeospatialGradientColorProperty -> Maybe (Value Double)
nullDataSettings :: GeospatialGradientColorProperty
-> Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: GeospatialGradientColorProperty -> Maybe (Value Text)
stepColors :: GeospatialGradientColorProperty
-> [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
..}
    = GeospatialGradientColorProperty
        {defaultOpacity :: Maybe (Value Double)
defaultOpacity = Value Double -> Maybe (Value Double)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "DefaultOpacity" GeospatialGradientColorProperty
Value Double
newValue, [GeospatialGradientStepColorProperty]
Maybe (Value Text)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: ()
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
..}
instance Property "NullDataSettings" GeospatialGradientColorProperty where
  type PropertyType "NullDataSettings" GeospatialGradientColorProperty = GeospatialNullDataSettingsProperty
  set :: PropertyType "NullDataSettings" GeospatialGradientColorProperty
-> GeospatialGradientColorProperty
-> GeospatialGradientColorProperty
set PropertyType "NullDataSettings" GeospatialGradientColorProperty
newValue GeospatialGradientColorProperty {[GeospatialGradientStepColorProperty]
Maybe (Value Double)
Maybe (Value Text)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: GeospatialGradientColorProperty -> ()
defaultOpacity :: GeospatialGradientColorProperty -> Maybe (Value Double)
nullDataSettings :: GeospatialGradientColorProperty
-> Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: GeospatialGradientColorProperty -> Maybe (Value Text)
stepColors :: GeospatialGradientColorProperty
-> [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
..}
    = GeospatialGradientColorProperty
        {nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataSettings = GeospatialNullDataSettingsProperty
-> Maybe GeospatialNullDataSettingsProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "NullDataSettings" GeospatialGradientColorProperty
GeospatialNullDataSettingsProperty
newValue, [GeospatialGradientStepColorProperty]
Maybe (Value Double)
Maybe (Value Text)
()
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
..}
instance Property "NullDataVisibility" GeospatialGradientColorProperty where
  type PropertyType "NullDataVisibility" GeospatialGradientColorProperty = Value Prelude.Text
  set :: PropertyType "NullDataVisibility" GeospatialGradientColorProperty
-> GeospatialGradientColorProperty
-> GeospatialGradientColorProperty
set PropertyType "NullDataVisibility" GeospatialGradientColorProperty
newValue GeospatialGradientColorProperty {[GeospatialGradientStepColorProperty]
Maybe (Value Double)
Maybe (Value Text)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: GeospatialGradientColorProperty -> ()
defaultOpacity :: GeospatialGradientColorProperty -> Maybe (Value Double)
nullDataSettings :: GeospatialGradientColorProperty
-> Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: GeospatialGradientColorProperty -> Maybe (Value Text)
stepColors :: GeospatialGradientColorProperty
-> [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
..}
    = GeospatialGradientColorProperty
        {nullDataVisibility :: Maybe (Value Text)
nullDataVisibility = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "NullDataVisibility" GeospatialGradientColorProperty
Value Text
newValue, [GeospatialGradientStepColorProperty]
Maybe (Value Double)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
stepColors :: [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
stepColors :: [GeospatialGradientStepColorProperty]
..}
instance Property "StepColors" GeospatialGradientColorProperty where
  type PropertyType "StepColors" GeospatialGradientColorProperty = [GeospatialGradientStepColorProperty]
  set :: PropertyType "StepColors" GeospatialGradientColorProperty
-> GeospatialGradientColorProperty
-> GeospatialGradientColorProperty
set PropertyType "StepColors" GeospatialGradientColorProperty
newValue GeospatialGradientColorProperty {[GeospatialGradientStepColorProperty]
Maybe (Value Double)
Maybe (Value Text)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: GeospatialGradientColorProperty -> ()
defaultOpacity :: GeospatialGradientColorProperty -> Maybe (Value Double)
nullDataSettings :: GeospatialGradientColorProperty
-> Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: GeospatialGradientColorProperty -> Maybe (Value Text)
stepColors :: GeospatialGradientColorProperty
-> [GeospatialGradientStepColorProperty]
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
stepColors :: [GeospatialGradientStepColorProperty]
..}
    = GeospatialGradientColorProperty {stepColors :: [GeospatialGradientStepColorProperty]
stepColors = [GeospatialGradientStepColorProperty]
PropertyType "StepColors" GeospatialGradientColorProperty
newValue, Maybe (Value Double)
Maybe (Value Text)
Maybe GeospatialNullDataSettingsProperty
()
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
haddock_workaround_ :: ()
defaultOpacity :: Maybe (Value Double)
nullDataSettings :: Maybe GeospatialNullDataSettingsProperty
nullDataVisibility :: Maybe (Value Text)
..}