module Stratosphere.QuickSight.Analysis.GlobalTableBorderOptionsProperty (
        module Exports, GlobalTableBorderOptionsProperty(..),
        mkGlobalTableBorderOptionsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.TableBorderOptionsProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Analysis.TableSideBorderOptionsProperty as Exports
import Stratosphere.ResourceProperties
data GlobalTableBorderOptionsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-globaltableborderoptions.html>
    GlobalTableBorderOptionsProperty {GlobalTableBorderOptionsProperty -> ()
haddock_workaround_ :: (),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-globaltableborderoptions.html#cfn-quicksight-analysis-globaltableborderoptions-sidespecificborder>
                                      GlobalTableBorderOptionsProperty
-> Maybe TableSideBorderOptionsProperty
sideSpecificBorder :: (Prelude.Maybe TableSideBorderOptionsProperty),
                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-globaltableborderoptions.html#cfn-quicksight-analysis-globaltableborderoptions-uniformborder>
                                      GlobalTableBorderOptionsProperty
-> Maybe TableBorderOptionsProperty
uniformBorder :: (Prelude.Maybe TableBorderOptionsProperty)}
  deriving stock (GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty -> Bool
(GlobalTableBorderOptionsProperty
 -> GlobalTableBorderOptionsProperty -> Bool)
-> (GlobalTableBorderOptionsProperty
    -> GlobalTableBorderOptionsProperty -> Bool)
-> Eq GlobalTableBorderOptionsProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty -> Bool
== :: GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty -> Bool
$c/= :: GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty -> Bool
/= :: GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty -> Bool
Prelude.Eq, Int -> GlobalTableBorderOptionsProperty -> ShowS
[GlobalTableBorderOptionsProperty] -> ShowS
GlobalTableBorderOptionsProperty -> String
(Int -> GlobalTableBorderOptionsProperty -> ShowS)
-> (GlobalTableBorderOptionsProperty -> String)
-> ([GlobalTableBorderOptionsProperty] -> ShowS)
-> Show GlobalTableBorderOptionsProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GlobalTableBorderOptionsProperty -> ShowS
showsPrec :: Int -> GlobalTableBorderOptionsProperty -> ShowS
$cshow :: GlobalTableBorderOptionsProperty -> String
show :: GlobalTableBorderOptionsProperty -> String
$cshowList :: [GlobalTableBorderOptionsProperty] -> ShowS
showList :: [GlobalTableBorderOptionsProperty] -> ShowS
Prelude.Show)
mkGlobalTableBorderOptionsProperty ::
  GlobalTableBorderOptionsProperty
mkGlobalTableBorderOptionsProperty :: GlobalTableBorderOptionsProperty
mkGlobalTableBorderOptionsProperty
  = GlobalTableBorderOptionsProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), sideSpecificBorder :: Maybe TableSideBorderOptionsProperty
sideSpecificBorder = Maybe TableSideBorderOptionsProperty
forall a. Maybe a
Prelude.Nothing,
       uniformBorder :: Maybe TableBorderOptionsProperty
uniformBorder = Maybe TableBorderOptionsProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties GlobalTableBorderOptionsProperty where
  toResourceProperties :: GlobalTableBorderOptionsProperty -> ResourceProperties
toResourceProperties GlobalTableBorderOptionsProperty {Maybe TableBorderOptionsProperty
Maybe TableSideBorderOptionsProperty
()
haddock_workaround_ :: GlobalTableBorderOptionsProperty -> ()
sideSpecificBorder :: GlobalTableBorderOptionsProperty
-> Maybe TableSideBorderOptionsProperty
uniformBorder :: GlobalTableBorderOptionsProperty
-> Maybe TableBorderOptionsProperty
haddock_workaround_ :: ()
sideSpecificBorder :: Maybe TableSideBorderOptionsProperty
uniformBorder :: Maybe TableBorderOptionsProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Analysis.GlobalTableBorderOptions",
         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 -> TableSideBorderOptionsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SideSpecificBorder" (TableSideBorderOptionsProperty -> (Key, Value))
-> Maybe TableSideBorderOptionsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TableSideBorderOptionsProperty
sideSpecificBorder,
                            Key -> TableBorderOptionsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"UniformBorder" (TableBorderOptionsProperty -> (Key, Value))
-> Maybe TableBorderOptionsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TableBorderOptionsProperty
uniformBorder])}
instance JSON.ToJSON GlobalTableBorderOptionsProperty where
  toJSON :: GlobalTableBorderOptionsProperty -> Value
toJSON GlobalTableBorderOptionsProperty {Maybe TableBorderOptionsProperty
Maybe TableSideBorderOptionsProperty
()
haddock_workaround_ :: GlobalTableBorderOptionsProperty -> ()
sideSpecificBorder :: GlobalTableBorderOptionsProperty
-> Maybe TableSideBorderOptionsProperty
uniformBorder :: GlobalTableBorderOptionsProperty
-> Maybe TableBorderOptionsProperty
haddock_workaround_ :: ()
sideSpecificBorder :: Maybe TableSideBorderOptionsProperty
uniformBorder :: Maybe TableBorderOptionsProperty
..}
    = [(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 -> TableSideBorderOptionsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SideSpecificBorder" (TableSideBorderOptionsProperty -> (Key, Value))
-> Maybe TableSideBorderOptionsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TableSideBorderOptionsProperty
sideSpecificBorder,
               Key -> TableBorderOptionsProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"UniformBorder" (TableBorderOptionsProperty -> (Key, Value))
-> Maybe TableBorderOptionsProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TableBorderOptionsProperty
uniformBorder]))
instance Property "SideSpecificBorder" GlobalTableBorderOptionsProperty where
  type PropertyType "SideSpecificBorder" GlobalTableBorderOptionsProperty = TableSideBorderOptionsProperty
  set :: PropertyType "SideSpecificBorder" GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty
set PropertyType "SideSpecificBorder" GlobalTableBorderOptionsProperty
newValue GlobalTableBorderOptionsProperty {Maybe TableBorderOptionsProperty
Maybe TableSideBorderOptionsProperty
()
haddock_workaround_ :: GlobalTableBorderOptionsProperty -> ()
sideSpecificBorder :: GlobalTableBorderOptionsProperty
-> Maybe TableSideBorderOptionsProperty
uniformBorder :: GlobalTableBorderOptionsProperty
-> Maybe TableBorderOptionsProperty
haddock_workaround_ :: ()
sideSpecificBorder :: Maybe TableSideBorderOptionsProperty
uniformBorder :: Maybe TableBorderOptionsProperty
..}
    = GlobalTableBorderOptionsProperty
        {sideSpecificBorder :: Maybe TableSideBorderOptionsProperty
sideSpecificBorder = TableSideBorderOptionsProperty
-> Maybe TableSideBorderOptionsProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "SideSpecificBorder" GlobalTableBorderOptionsProperty
TableSideBorderOptionsProperty
newValue, Maybe TableBorderOptionsProperty
()
haddock_workaround_ :: ()
uniformBorder :: Maybe TableBorderOptionsProperty
haddock_workaround_ :: ()
uniformBorder :: Maybe TableBorderOptionsProperty
..}
instance Property "UniformBorder" GlobalTableBorderOptionsProperty where
  type PropertyType "UniformBorder" GlobalTableBorderOptionsProperty = TableBorderOptionsProperty
  set :: PropertyType "UniformBorder" GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty
-> GlobalTableBorderOptionsProperty
set PropertyType "UniformBorder" GlobalTableBorderOptionsProperty
newValue GlobalTableBorderOptionsProperty {Maybe TableBorderOptionsProperty
Maybe TableSideBorderOptionsProperty
()
haddock_workaround_ :: GlobalTableBorderOptionsProperty -> ()
sideSpecificBorder :: GlobalTableBorderOptionsProperty
-> Maybe TableSideBorderOptionsProperty
uniformBorder :: GlobalTableBorderOptionsProperty
-> Maybe TableBorderOptionsProperty
haddock_workaround_ :: ()
sideSpecificBorder :: Maybe TableSideBorderOptionsProperty
uniformBorder :: Maybe TableBorderOptionsProperty
..}
    = GlobalTableBorderOptionsProperty
        {uniformBorder :: Maybe TableBorderOptionsProperty
uniformBorder = TableBorderOptionsProperty -> Maybe TableBorderOptionsProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "UniformBorder" GlobalTableBorderOptionsProperty
TableBorderOptionsProperty
newValue, Maybe TableSideBorderOptionsProperty
()
haddock_workaround_ :: ()
sideSpecificBorder :: Maybe TableSideBorderOptionsProperty
haddock_workaround_ :: ()
sideSpecificBorder :: Maybe TableSideBorderOptionsProperty
..}