module Stratosphere.QuickSight.Dashboard.HeaderFooterSectionConfigurationProperty (
        module Exports, HeaderFooterSectionConfigurationProperty(..),
        mkHeaderFooterSectionConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.SectionLayoutConfigurationProperty as Exports
import {-# SOURCE #-} Stratosphere.QuickSight.Dashboard.SectionStyleProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data HeaderFooterSectionConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-headerfootersectionconfiguration.html>
    HeaderFooterSectionConfigurationProperty {HeaderFooterSectionConfigurationProperty -> ()
haddock_workaround_ :: (),
                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-headerfootersectionconfiguration.html#cfn-quicksight-dashboard-headerfootersectionconfiguration-layout>
                                              HeaderFooterSectionConfigurationProperty
-> SectionLayoutConfigurationProperty
layout :: SectionLayoutConfigurationProperty,
                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-headerfootersectionconfiguration.html#cfn-quicksight-dashboard-headerfootersectionconfiguration-sectionid>
                                              HeaderFooterSectionConfigurationProperty -> Value Text
sectionId :: (Value Prelude.Text),
                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-headerfootersectionconfiguration.html#cfn-quicksight-dashboard-headerfootersectionconfiguration-style>
                                              HeaderFooterSectionConfigurationProperty
-> Maybe SectionStyleProperty
style :: (Prelude.Maybe SectionStyleProperty)}
  deriving stock (HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty -> Bool
(HeaderFooterSectionConfigurationProperty
 -> HeaderFooterSectionConfigurationProperty -> Bool)
-> (HeaderFooterSectionConfigurationProperty
    -> HeaderFooterSectionConfigurationProperty -> Bool)
-> Eq HeaderFooterSectionConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty -> Bool
== :: HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty -> Bool
$c/= :: HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty -> Bool
/= :: HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty -> Bool
Prelude.Eq, Int -> HeaderFooterSectionConfigurationProperty -> ShowS
[HeaderFooterSectionConfigurationProperty] -> ShowS
HeaderFooterSectionConfigurationProperty -> String
(Int -> HeaderFooterSectionConfigurationProperty -> ShowS)
-> (HeaderFooterSectionConfigurationProperty -> String)
-> ([HeaderFooterSectionConfigurationProperty] -> ShowS)
-> Show HeaderFooterSectionConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> HeaderFooterSectionConfigurationProperty -> ShowS
showsPrec :: Int -> HeaderFooterSectionConfigurationProperty -> ShowS
$cshow :: HeaderFooterSectionConfigurationProperty -> String
show :: HeaderFooterSectionConfigurationProperty -> String
$cshowList :: [HeaderFooterSectionConfigurationProperty] -> ShowS
showList :: [HeaderFooterSectionConfigurationProperty] -> ShowS
Prelude.Show)
mkHeaderFooterSectionConfigurationProperty ::
  SectionLayoutConfigurationProperty
  -> Value Prelude.Text -> HeaderFooterSectionConfigurationProperty
mkHeaderFooterSectionConfigurationProperty :: SectionLayoutConfigurationProperty
-> Value Text -> HeaderFooterSectionConfigurationProperty
mkHeaderFooterSectionConfigurationProperty SectionLayoutConfigurationProperty
layout Value Text
sectionId
  = HeaderFooterSectionConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), layout :: SectionLayoutConfigurationProperty
layout = SectionLayoutConfigurationProperty
layout, sectionId :: Value Text
sectionId = Value Text
sectionId,
       style :: Maybe SectionStyleProperty
style = Maybe SectionStyleProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties HeaderFooterSectionConfigurationProperty where
  toResourceProperties :: HeaderFooterSectionConfigurationProperty -> ResourceProperties
toResourceProperties HeaderFooterSectionConfigurationProperty {Maybe SectionStyleProperty
()
Value Text
SectionLayoutConfigurationProperty
haddock_workaround_ :: HeaderFooterSectionConfigurationProperty -> ()
layout :: HeaderFooterSectionConfigurationProperty
-> SectionLayoutConfigurationProperty
sectionId :: HeaderFooterSectionConfigurationProperty -> Value Text
style :: HeaderFooterSectionConfigurationProperty
-> Maybe SectionStyleProperty
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
sectionId :: Value Text
style :: Maybe SectionStyleProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Dashboard.HeaderFooterSectionConfiguration",
         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
"Layout" Key -> SectionLayoutConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= SectionLayoutConfigurationProperty
layout, Key
"SectionId" 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..= Value Text
sectionId]
                           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes [Key -> SectionStyleProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Style" (SectionStyleProperty -> (Key, Value))
-> Maybe SectionStyleProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SectionStyleProperty
style]))}
instance JSON.ToJSON HeaderFooterSectionConfigurationProperty where
  toJSON :: HeaderFooterSectionConfigurationProperty -> Value
toJSON HeaderFooterSectionConfigurationProperty {Maybe SectionStyleProperty
()
Value Text
SectionLayoutConfigurationProperty
haddock_workaround_ :: HeaderFooterSectionConfigurationProperty -> ()
layout :: HeaderFooterSectionConfigurationProperty
-> SectionLayoutConfigurationProperty
sectionId :: HeaderFooterSectionConfigurationProperty -> Value Text
style :: HeaderFooterSectionConfigurationProperty
-> Maybe SectionStyleProperty
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
sectionId :: Value Text
style :: Maybe SectionStyleProperty
..}
    = [(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
"Layout" Key -> SectionLayoutConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= SectionLayoutConfigurationProperty
layout, Key
"SectionId" 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..= Value Text
sectionId]
              ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes [Key -> SectionStyleProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Style" (SectionStyleProperty -> (Key, Value))
-> Maybe SectionStyleProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SectionStyleProperty
style])))
instance Property "Layout" HeaderFooterSectionConfigurationProperty where
  type PropertyType "Layout" HeaderFooterSectionConfigurationProperty = SectionLayoutConfigurationProperty
  set :: PropertyType "Layout" HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty
set PropertyType "Layout" HeaderFooterSectionConfigurationProperty
newValue HeaderFooterSectionConfigurationProperty {Maybe SectionStyleProperty
()
Value Text
SectionLayoutConfigurationProperty
haddock_workaround_ :: HeaderFooterSectionConfigurationProperty -> ()
layout :: HeaderFooterSectionConfigurationProperty
-> SectionLayoutConfigurationProperty
sectionId :: HeaderFooterSectionConfigurationProperty -> Value Text
style :: HeaderFooterSectionConfigurationProperty
-> Maybe SectionStyleProperty
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
sectionId :: Value Text
style :: Maybe SectionStyleProperty
..}
    = HeaderFooterSectionConfigurationProperty {layout :: SectionLayoutConfigurationProperty
layout = PropertyType "Layout" HeaderFooterSectionConfigurationProperty
SectionLayoutConfigurationProperty
newValue, Maybe SectionStyleProperty
()
Value Text
haddock_workaround_ :: ()
sectionId :: Value Text
style :: Maybe SectionStyleProperty
haddock_workaround_ :: ()
sectionId :: Value Text
style :: Maybe SectionStyleProperty
..}
instance Property "SectionId" HeaderFooterSectionConfigurationProperty where
  type PropertyType "SectionId" HeaderFooterSectionConfigurationProperty = Value Prelude.Text
  set :: PropertyType "SectionId" HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty
set PropertyType "SectionId" HeaderFooterSectionConfigurationProperty
newValue HeaderFooterSectionConfigurationProperty {Maybe SectionStyleProperty
()
Value Text
SectionLayoutConfigurationProperty
haddock_workaround_ :: HeaderFooterSectionConfigurationProperty -> ()
layout :: HeaderFooterSectionConfigurationProperty
-> SectionLayoutConfigurationProperty
sectionId :: HeaderFooterSectionConfigurationProperty -> Value Text
style :: HeaderFooterSectionConfigurationProperty
-> Maybe SectionStyleProperty
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
sectionId :: Value Text
style :: Maybe SectionStyleProperty
..}
    = HeaderFooterSectionConfigurationProperty
        {sectionId :: Value Text
sectionId = PropertyType "SectionId" HeaderFooterSectionConfigurationProperty
Value Text
newValue, Maybe SectionStyleProperty
()
SectionLayoutConfigurationProperty
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
style :: Maybe SectionStyleProperty
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
style :: Maybe SectionStyleProperty
..}
instance Property "Style" HeaderFooterSectionConfigurationProperty where
  type PropertyType "Style" HeaderFooterSectionConfigurationProperty = SectionStyleProperty
  set :: PropertyType "Style" HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty
-> HeaderFooterSectionConfigurationProperty
set PropertyType "Style" HeaderFooterSectionConfigurationProperty
newValue HeaderFooterSectionConfigurationProperty {Maybe SectionStyleProperty
()
Value Text
SectionLayoutConfigurationProperty
haddock_workaround_ :: HeaderFooterSectionConfigurationProperty -> ()
layout :: HeaderFooterSectionConfigurationProperty
-> SectionLayoutConfigurationProperty
sectionId :: HeaderFooterSectionConfigurationProperty -> Value Text
style :: HeaderFooterSectionConfigurationProperty
-> Maybe SectionStyleProperty
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
sectionId :: Value Text
style :: Maybe SectionStyleProperty
..}
    = HeaderFooterSectionConfigurationProperty
        {style :: Maybe SectionStyleProperty
style = SectionStyleProperty -> Maybe SectionStyleProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Style" HeaderFooterSectionConfigurationProperty
SectionStyleProperty
newValue, ()
Value Text
SectionLayoutConfigurationProperty
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
sectionId :: Value Text
haddock_workaround_ :: ()
layout :: SectionLayoutConfigurationProperty
sectionId :: Value Text
..}