module Stratosphere.QuickSight.Theme.ThemeConfigurationProperty (
        module Exports, ThemeConfigurationProperty(..),
        mkThemeConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Theme.DataColorPaletteProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Theme.SheetStyleProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Theme.TypographyProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Theme.UIColorPaletteProperty as Exports
import Stratosphere.ResourceProperties
data ThemeConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html>
    ThemeConfigurationProperty {ThemeConfigurationProperty -> ()
haddock_workaround_ :: (),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html#cfn-quicksight-theme-themeconfiguration-datacolorpalette>
                                ThemeConfigurationProperty -> Maybe DataColorPaletteProperty
dataColorPalette :: (Prelude.Maybe DataColorPaletteProperty),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html#cfn-quicksight-theme-themeconfiguration-sheet>
                                ThemeConfigurationProperty -> Maybe SheetStyleProperty
sheet :: (Prelude.Maybe SheetStyleProperty),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html#cfn-quicksight-theme-themeconfiguration-typography>
                                ThemeConfigurationProperty -> Maybe TypographyProperty
typography :: (Prelude.Maybe TypographyProperty),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-theme-themeconfiguration.html#cfn-quicksight-theme-themeconfiguration-uicolorpalette>
                                ThemeConfigurationProperty -> Maybe UIColorPaletteProperty
uIColorPalette :: (Prelude.Maybe UIColorPaletteProperty)}
  deriving stock (ThemeConfigurationProperty -> ThemeConfigurationProperty -> Bool
(ThemeConfigurationProperty -> ThemeConfigurationProperty -> Bool)
-> (ThemeConfigurationProperty
    -> ThemeConfigurationProperty -> Bool)
-> Eq ThemeConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ThemeConfigurationProperty -> ThemeConfigurationProperty -> Bool
== :: ThemeConfigurationProperty -> ThemeConfigurationProperty -> Bool
$c/= :: ThemeConfigurationProperty -> ThemeConfigurationProperty -> Bool
/= :: ThemeConfigurationProperty -> ThemeConfigurationProperty -> Bool
Prelude.Eq, Int -> ThemeConfigurationProperty -> ShowS
[ThemeConfigurationProperty] -> ShowS
ThemeConfigurationProperty -> String
(Int -> ThemeConfigurationProperty -> ShowS)
-> (ThemeConfigurationProperty -> String)
-> ([ThemeConfigurationProperty] -> ShowS)
-> Show ThemeConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ThemeConfigurationProperty -> ShowS
showsPrec :: Int -> ThemeConfigurationProperty -> ShowS
$cshow :: ThemeConfigurationProperty -> String
show :: ThemeConfigurationProperty -> String
$cshowList :: [ThemeConfigurationProperty] -> ShowS
showList :: [ThemeConfigurationProperty] -> ShowS
Prelude.Show)
mkThemeConfigurationProperty :: ThemeConfigurationProperty
mkThemeConfigurationProperty :: ThemeConfigurationProperty
mkThemeConfigurationProperty
  = ThemeConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), dataColorPalette :: Maybe DataColorPaletteProperty
dataColorPalette = Maybe DataColorPaletteProperty
forall a. Maybe a
Prelude.Nothing,
       sheet :: Maybe SheetStyleProperty
sheet = Maybe SheetStyleProperty
forall a. Maybe a
Prelude.Nothing, typography :: Maybe TypographyProperty
typography = Maybe TypographyProperty
forall a. Maybe a
Prelude.Nothing,
       uIColorPalette :: Maybe UIColorPaletteProperty
uIColorPalette = Maybe UIColorPaletteProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties ThemeConfigurationProperty where
  toResourceProperties :: ThemeConfigurationProperty -> ResourceProperties
toResourceProperties ThemeConfigurationProperty {Maybe DataColorPaletteProperty
Maybe SheetStyleProperty
Maybe TypographyProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ThemeConfigurationProperty -> ()
dataColorPalette :: ThemeConfigurationProperty -> Maybe DataColorPaletteProperty
sheet :: ThemeConfigurationProperty -> Maybe SheetStyleProperty
typography :: ThemeConfigurationProperty -> Maybe TypographyProperty
uIColorPalette :: ThemeConfigurationProperty -> Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Theme.ThemeConfiguration",
         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 -> DataColorPaletteProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DataColorPalette" (DataColorPaletteProperty -> (Key, Value))
-> Maybe DataColorPaletteProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DataColorPaletteProperty
dataColorPalette,
                            Key -> SheetStyleProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Sheet" (SheetStyleProperty -> (Key, Value))
-> Maybe SheetStyleProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SheetStyleProperty
sheet,
                            Key -> TypographyProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Typography" (TypographyProperty -> (Key, Value))
-> Maybe TypographyProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TypographyProperty
typography,
                            Key -> UIColorPaletteProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"UIColorPalette" (UIColorPaletteProperty -> (Key, Value))
-> Maybe UIColorPaletteProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe UIColorPaletteProperty
uIColorPalette])}
instance JSON.ToJSON ThemeConfigurationProperty where
  toJSON :: ThemeConfigurationProperty -> Value
toJSON ThemeConfigurationProperty {Maybe DataColorPaletteProperty
Maybe SheetStyleProperty
Maybe TypographyProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ThemeConfigurationProperty -> ()
dataColorPalette :: ThemeConfigurationProperty -> Maybe DataColorPaletteProperty
sheet :: ThemeConfigurationProperty -> Maybe SheetStyleProperty
typography :: ThemeConfigurationProperty -> Maybe TypographyProperty
uIColorPalette :: ThemeConfigurationProperty -> Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
    = [(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 -> DataColorPaletteProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"DataColorPalette" (DataColorPaletteProperty -> (Key, Value))
-> Maybe DataColorPaletteProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DataColorPaletteProperty
dataColorPalette,
               Key -> SheetStyleProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Sheet" (SheetStyleProperty -> (Key, Value))
-> Maybe SheetStyleProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SheetStyleProperty
sheet,
               Key -> TypographyProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Typography" (TypographyProperty -> (Key, Value))
-> Maybe TypographyProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TypographyProperty
typography,
               Key -> UIColorPaletteProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"UIColorPalette" (UIColorPaletteProperty -> (Key, Value))
-> Maybe UIColorPaletteProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe UIColorPaletteProperty
uIColorPalette]))
instance Property "DataColorPalette" ThemeConfigurationProperty where
  type PropertyType "DataColorPalette" ThemeConfigurationProperty = DataColorPaletteProperty
  set :: PropertyType "DataColorPalette" ThemeConfigurationProperty
-> ThemeConfigurationProperty -> ThemeConfigurationProperty
set PropertyType "DataColorPalette" ThemeConfigurationProperty
newValue ThemeConfigurationProperty {Maybe DataColorPaletteProperty
Maybe SheetStyleProperty
Maybe TypographyProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ThemeConfigurationProperty -> ()
dataColorPalette :: ThemeConfigurationProperty -> Maybe DataColorPaletteProperty
sheet :: ThemeConfigurationProperty -> Maybe SheetStyleProperty
typography :: ThemeConfigurationProperty -> Maybe TypographyProperty
uIColorPalette :: ThemeConfigurationProperty -> Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
    = ThemeConfigurationProperty
        {dataColorPalette :: Maybe DataColorPaletteProperty
dataColorPalette = DataColorPaletteProperty -> Maybe DataColorPaletteProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "DataColorPalette" ThemeConfigurationProperty
DataColorPaletteProperty
newValue, Maybe SheetStyleProperty
Maybe TypographyProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ()
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
instance Property "Sheet" ThemeConfigurationProperty where
  type PropertyType "Sheet" ThemeConfigurationProperty = SheetStyleProperty
  set :: PropertyType "Sheet" ThemeConfigurationProperty
-> ThemeConfigurationProperty -> ThemeConfigurationProperty
set PropertyType "Sheet" ThemeConfigurationProperty
newValue ThemeConfigurationProperty {Maybe DataColorPaletteProperty
Maybe SheetStyleProperty
Maybe TypographyProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ThemeConfigurationProperty -> ()
dataColorPalette :: ThemeConfigurationProperty -> Maybe DataColorPaletteProperty
sheet :: ThemeConfigurationProperty -> Maybe SheetStyleProperty
typography :: ThemeConfigurationProperty -> Maybe TypographyProperty
uIColorPalette :: ThemeConfigurationProperty -> Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
    = ThemeConfigurationProperty {sheet :: Maybe SheetStyleProperty
sheet = SheetStyleProperty -> Maybe SheetStyleProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Sheet" ThemeConfigurationProperty
SheetStyleProperty
newValue, Maybe DataColorPaletteProperty
Maybe TypographyProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
instance Property "Typography" ThemeConfigurationProperty where
  type PropertyType "Typography" ThemeConfigurationProperty = TypographyProperty
  set :: PropertyType "Typography" ThemeConfigurationProperty
-> ThemeConfigurationProperty -> ThemeConfigurationProperty
set PropertyType "Typography" ThemeConfigurationProperty
newValue ThemeConfigurationProperty {Maybe DataColorPaletteProperty
Maybe SheetStyleProperty
Maybe TypographyProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ThemeConfigurationProperty -> ()
dataColorPalette :: ThemeConfigurationProperty -> Maybe DataColorPaletteProperty
sheet :: ThemeConfigurationProperty -> Maybe SheetStyleProperty
typography :: ThemeConfigurationProperty -> Maybe TypographyProperty
uIColorPalette :: ThemeConfigurationProperty -> Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
    = ThemeConfigurationProperty
        {typography :: Maybe TypographyProperty
typography = TypographyProperty -> Maybe TypographyProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Typography" ThemeConfigurationProperty
TypographyProperty
newValue, Maybe DataColorPaletteProperty
Maybe SheetStyleProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
uIColorPalette :: Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
instance Property "UIColorPalette" ThemeConfigurationProperty where
  type PropertyType "UIColorPalette" ThemeConfigurationProperty = UIColorPaletteProperty
  set :: PropertyType "UIColorPalette" ThemeConfigurationProperty
-> ThemeConfigurationProperty -> ThemeConfigurationProperty
set PropertyType "UIColorPalette" ThemeConfigurationProperty
newValue ThemeConfigurationProperty {Maybe DataColorPaletteProperty
Maybe SheetStyleProperty
Maybe TypographyProperty
Maybe UIColorPaletteProperty
()
haddock_workaround_ :: ThemeConfigurationProperty -> ()
dataColorPalette :: ThemeConfigurationProperty -> Maybe DataColorPaletteProperty
sheet :: ThemeConfigurationProperty -> Maybe SheetStyleProperty
typography :: ThemeConfigurationProperty -> Maybe TypographyProperty
uIColorPalette :: ThemeConfigurationProperty -> Maybe UIColorPaletteProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
uIColorPalette :: Maybe UIColorPaletteProperty
..}
    = ThemeConfigurationProperty
        {uIColorPalette :: Maybe UIColorPaletteProperty
uIColorPalette = UIColorPaletteProperty -> Maybe UIColorPaletteProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "UIColorPalette" ThemeConfigurationProperty
UIColorPaletteProperty
newValue, Maybe DataColorPaletteProperty
Maybe SheetStyleProperty
Maybe TypographyProperty
()
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
haddock_workaround_ :: ()
dataColorPalette :: Maybe DataColorPaletteProperty
sheet :: Maybe SheetStyleProperty
typography :: Maybe TypographyProperty
..}