module Stratosphere.QBusiness.WebExperience.CustomizationConfigurationProperty (
        CustomizationConfigurationProperty(..),
        mkCustomizationConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data CustomizationConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-customizationconfiguration.html>
    CustomizationConfigurationProperty {CustomizationConfigurationProperty -> ()
haddock_workaround_ :: (),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-customizationconfiguration.html#cfn-qbusiness-webexperience-customizationconfiguration-customcssurl>
                                        CustomizationConfigurationProperty -> Maybe (Value Text)
customCSSUrl :: (Prelude.Maybe (Value Prelude.Text)),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-customizationconfiguration.html#cfn-qbusiness-webexperience-customizationconfiguration-faviconurl>
                                        CustomizationConfigurationProperty -> Maybe (Value Text)
faviconUrl :: (Prelude.Maybe (Value Prelude.Text)),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-customizationconfiguration.html#cfn-qbusiness-webexperience-customizationconfiguration-fonturl>
                                        CustomizationConfigurationProperty -> Maybe (Value Text)
fontUrl :: (Prelude.Maybe (Value Prelude.Text)),
                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-customizationconfiguration.html#cfn-qbusiness-webexperience-customizationconfiguration-logourl>
                                        CustomizationConfigurationProperty -> Maybe (Value Text)
logoUrl :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (CustomizationConfigurationProperty
-> CustomizationConfigurationProperty -> Bool
(CustomizationConfigurationProperty
 -> CustomizationConfigurationProperty -> Bool)
-> (CustomizationConfigurationProperty
    -> CustomizationConfigurationProperty -> Bool)
-> Eq CustomizationConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CustomizationConfigurationProperty
-> CustomizationConfigurationProperty -> Bool
== :: CustomizationConfigurationProperty
-> CustomizationConfigurationProperty -> Bool
$c/= :: CustomizationConfigurationProperty
-> CustomizationConfigurationProperty -> Bool
/= :: CustomizationConfigurationProperty
-> CustomizationConfigurationProperty -> Bool
Prelude.Eq, Int -> CustomizationConfigurationProperty -> ShowS
[CustomizationConfigurationProperty] -> ShowS
CustomizationConfigurationProperty -> String
(Int -> CustomizationConfigurationProperty -> ShowS)
-> (CustomizationConfigurationProperty -> String)
-> ([CustomizationConfigurationProperty] -> ShowS)
-> Show CustomizationConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CustomizationConfigurationProperty -> ShowS
showsPrec :: Int -> CustomizationConfigurationProperty -> ShowS
$cshow :: CustomizationConfigurationProperty -> String
show :: CustomizationConfigurationProperty -> String
$cshowList :: [CustomizationConfigurationProperty] -> ShowS
showList :: [CustomizationConfigurationProperty] -> ShowS
Prelude.Show)
mkCustomizationConfigurationProperty ::
  CustomizationConfigurationProperty
mkCustomizationConfigurationProperty :: CustomizationConfigurationProperty
mkCustomizationConfigurationProperty
  = CustomizationConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), customCSSUrl :: Maybe (Value Text)
customCSSUrl = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       faviconUrl :: Maybe (Value Text)
faviconUrl = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing, fontUrl :: Maybe (Value Text)
fontUrl = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing,
       logoUrl :: Maybe (Value Text)
logoUrl = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties CustomizationConfigurationProperty where
  toResourceProperties :: CustomizationConfigurationProperty -> ResourceProperties
toResourceProperties CustomizationConfigurationProperty {Maybe (Value Text)
()
haddock_workaround_ :: CustomizationConfigurationProperty -> ()
customCSSUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
faviconUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
fontUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
logoUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QBusiness::WebExperience.CustomizationConfiguration",
         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 -> 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
"CustomCSSUrl" (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)
customCSSUrl,
                            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
"FaviconUrl" (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)
faviconUrl,
                            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
"FontUrl" (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)
fontUrl,
                            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
"LogoUrl" (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)
logoUrl])}
instance JSON.ToJSON CustomizationConfigurationProperty where
  toJSON :: CustomizationConfigurationProperty -> Value
toJSON CustomizationConfigurationProperty {Maybe (Value Text)
()
haddock_workaround_ :: CustomizationConfigurationProperty -> ()
customCSSUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
faviconUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
fontUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
logoUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: 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 -> 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
"CustomCSSUrl" (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)
customCSSUrl,
               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
"FaviconUrl" (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)
faviconUrl,
               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
"FontUrl" (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)
fontUrl,
               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
"LogoUrl" (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)
logoUrl]))
instance Property "CustomCSSUrl" CustomizationConfigurationProperty where
  type PropertyType "CustomCSSUrl" CustomizationConfigurationProperty = Value Prelude.Text
  set :: PropertyType "CustomCSSUrl" CustomizationConfigurationProperty
-> CustomizationConfigurationProperty
-> CustomizationConfigurationProperty
set PropertyType "CustomCSSUrl" CustomizationConfigurationProperty
newValue CustomizationConfigurationProperty {Maybe (Value Text)
()
haddock_workaround_ :: CustomizationConfigurationProperty -> ()
customCSSUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
faviconUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
fontUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
logoUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
..}
    = CustomizationConfigurationProperty
        {customCSSUrl :: Maybe (Value Text)
customCSSUrl = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "CustomCSSUrl" CustomizationConfigurationProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
haddock_workaround_ :: ()
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
..}
instance Property "FaviconUrl" CustomizationConfigurationProperty where
  type PropertyType "FaviconUrl" CustomizationConfigurationProperty = Value Prelude.Text
  set :: PropertyType "FaviconUrl" CustomizationConfigurationProperty
-> CustomizationConfigurationProperty
-> CustomizationConfigurationProperty
set PropertyType "FaviconUrl" CustomizationConfigurationProperty
newValue CustomizationConfigurationProperty {Maybe (Value Text)
()
haddock_workaround_ :: CustomizationConfigurationProperty -> ()
customCSSUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
faviconUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
fontUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
logoUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
..}
    = CustomizationConfigurationProperty
        {faviconUrl :: Maybe (Value Text)
faviconUrl = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "FaviconUrl" CustomizationConfigurationProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
..}
instance Property "FontUrl" CustomizationConfigurationProperty where
  type PropertyType "FontUrl" CustomizationConfigurationProperty = Value Prelude.Text
  set :: PropertyType "FontUrl" CustomizationConfigurationProperty
-> CustomizationConfigurationProperty
-> CustomizationConfigurationProperty
set PropertyType "FontUrl" CustomizationConfigurationProperty
newValue CustomizationConfigurationProperty {Maybe (Value Text)
()
haddock_workaround_ :: CustomizationConfigurationProperty -> ()
customCSSUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
faviconUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
fontUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
logoUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
..}
    = CustomizationConfigurationProperty
        {fontUrl :: Maybe (Value Text)
fontUrl = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "FontUrl" CustomizationConfigurationProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
..}
instance Property "LogoUrl" CustomizationConfigurationProperty where
  type PropertyType "LogoUrl" CustomizationConfigurationProperty = Value Prelude.Text
  set :: PropertyType "LogoUrl" CustomizationConfigurationProperty
-> CustomizationConfigurationProperty
-> CustomizationConfigurationProperty
set PropertyType "LogoUrl" CustomizationConfigurationProperty
newValue CustomizationConfigurationProperty {Maybe (Value Text)
()
haddock_workaround_ :: CustomizationConfigurationProperty -> ()
customCSSUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
faviconUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
fontUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
logoUrl :: CustomizationConfigurationProperty -> Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
logoUrl :: Maybe (Value Text)
..}
    = CustomizationConfigurationProperty
        {logoUrl :: Maybe (Value Text)
logoUrl = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "LogoUrl" CustomizationConfigurationProperty
Value Text
newValue, Maybe (Value Text)
()
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
haddock_workaround_ :: ()
customCSSUrl :: Maybe (Value Text)
faviconUrl :: Maybe (Value Text)
fontUrl :: Maybe (Value Text)
..}