module Stratosphere.QBusiness.Application.PersonalizationConfigurationProperty (
        PersonalizationConfigurationProperty(..),
        mkPersonalizationConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data PersonalizationConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-personalizationconfiguration.html>
    PersonalizationConfigurationProperty {PersonalizationConfigurationProperty -> ()
haddock_workaround_ :: (),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-personalizationconfiguration.html#cfn-qbusiness-application-personalizationconfiguration-personalizationcontrolmode>
                                          PersonalizationConfigurationProperty -> Value Text
personalizationControlMode :: (Value Prelude.Text)}
  deriving stock (PersonalizationConfigurationProperty
-> PersonalizationConfigurationProperty -> Bool
(PersonalizationConfigurationProperty
 -> PersonalizationConfigurationProperty -> Bool)
-> (PersonalizationConfigurationProperty
    -> PersonalizationConfigurationProperty -> Bool)
-> Eq PersonalizationConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PersonalizationConfigurationProperty
-> PersonalizationConfigurationProperty -> Bool
== :: PersonalizationConfigurationProperty
-> PersonalizationConfigurationProperty -> Bool
$c/= :: PersonalizationConfigurationProperty
-> PersonalizationConfigurationProperty -> Bool
/= :: PersonalizationConfigurationProperty
-> PersonalizationConfigurationProperty -> Bool
Prelude.Eq, Int -> PersonalizationConfigurationProperty -> ShowS
[PersonalizationConfigurationProperty] -> ShowS
PersonalizationConfigurationProperty -> String
(Int -> PersonalizationConfigurationProperty -> ShowS)
-> (PersonalizationConfigurationProperty -> String)
-> ([PersonalizationConfigurationProperty] -> ShowS)
-> Show PersonalizationConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PersonalizationConfigurationProperty -> ShowS
showsPrec :: Int -> PersonalizationConfigurationProperty -> ShowS
$cshow :: PersonalizationConfigurationProperty -> String
show :: PersonalizationConfigurationProperty -> String
$cshowList :: [PersonalizationConfigurationProperty] -> ShowS
showList :: [PersonalizationConfigurationProperty] -> ShowS
Prelude.Show)
mkPersonalizationConfigurationProperty ::
  Value Prelude.Text -> PersonalizationConfigurationProperty
mkPersonalizationConfigurationProperty :: Value Text -> PersonalizationConfigurationProperty
mkPersonalizationConfigurationProperty Value Text
personalizationControlMode
  = PersonalizationConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       personalizationControlMode :: Value Text
personalizationControlMode = Value Text
personalizationControlMode}
instance ToResourceProperties PersonalizationConfigurationProperty where
  toResourceProperties :: PersonalizationConfigurationProperty -> ResourceProperties
toResourceProperties PersonalizationConfigurationProperty {()
Value Text
haddock_workaround_ :: PersonalizationConfigurationProperty -> ()
personalizationControlMode :: PersonalizationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
personalizationControlMode :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QBusiness::Application.PersonalizationConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"PersonalizationControlMode"
                         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
personalizationControlMode]}
instance JSON.ToJSON PersonalizationConfigurationProperty where
  toJSON :: PersonalizationConfigurationProperty -> Value
toJSON PersonalizationConfigurationProperty {()
Value Text
haddock_workaround_ :: PersonalizationConfigurationProperty -> ()
personalizationControlMode :: PersonalizationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
personalizationControlMode :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"PersonalizationControlMode" 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
personalizationControlMode]
instance Property "PersonalizationControlMode" PersonalizationConfigurationProperty where
  type PropertyType "PersonalizationControlMode" PersonalizationConfigurationProperty = Value Prelude.Text
  set :: PropertyType
  "PersonalizationControlMode" PersonalizationConfigurationProperty
-> PersonalizationConfigurationProperty
-> PersonalizationConfigurationProperty
set PropertyType
  "PersonalizationControlMode" PersonalizationConfigurationProperty
newValue PersonalizationConfigurationProperty {()
Value Text
haddock_workaround_ :: PersonalizationConfigurationProperty -> ()
personalizationControlMode :: PersonalizationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
personalizationControlMode :: Value Text
..}
    = PersonalizationConfigurationProperty
        {personalizationControlMode :: Value Text
personalizationControlMode = PropertyType
  "PersonalizationControlMode" PersonalizationConfigurationProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}