module Stratosphere.QuickSight.DataSource.MariaDbParametersProperty (
        MariaDbParametersProperty(..), mkMariaDbParametersProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data MariaDbParametersProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-datasource-mariadbparameters.html>
    MariaDbParametersProperty {MariaDbParametersProperty -> ()
haddock_workaround_ :: (),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-datasource-mariadbparameters.html#cfn-quicksight-datasource-mariadbparameters-database>
                               MariaDbParametersProperty -> Value Text
database :: (Value Prelude.Text),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-datasource-mariadbparameters.html#cfn-quicksight-datasource-mariadbparameters-host>
                               MariaDbParametersProperty -> Value Text
host :: (Value Prelude.Text),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-datasource-mariadbparameters.html#cfn-quicksight-datasource-mariadbparameters-port>
                               MariaDbParametersProperty -> Value Double
port :: (Value Prelude.Double)}
  deriving stock (MariaDbParametersProperty -> MariaDbParametersProperty -> Bool
(MariaDbParametersProperty -> MariaDbParametersProperty -> Bool)
-> (MariaDbParametersProperty -> MariaDbParametersProperty -> Bool)
-> Eq MariaDbParametersProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MariaDbParametersProperty -> MariaDbParametersProperty -> Bool
== :: MariaDbParametersProperty -> MariaDbParametersProperty -> Bool
$c/= :: MariaDbParametersProperty -> MariaDbParametersProperty -> Bool
/= :: MariaDbParametersProperty -> MariaDbParametersProperty -> Bool
Prelude.Eq, Int -> MariaDbParametersProperty -> ShowS
[MariaDbParametersProperty] -> ShowS
MariaDbParametersProperty -> String
(Int -> MariaDbParametersProperty -> ShowS)
-> (MariaDbParametersProperty -> String)
-> ([MariaDbParametersProperty] -> ShowS)
-> Show MariaDbParametersProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MariaDbParametersProperty -> ShowS
showsPrec :: Int -> MariaDbParametersProperty -> ShowS
$cshow :: MariaDbParametersProperty -> String
show :: MariaDbParametersProperty -> String
$cshowList :: [MariaDbParametersProperty] -> ShowS
showList :: [MariaDbParametersProperty] -> ShowS
Prelude.Show)
mkMariaDbParametersProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Double -> MariaDbParametersProperty
mkMariaDbParametersProperty :: Value Text
-> Value Text -> Value Double -> MariaDbParametersProperty
mkMariaDbParametersProperty Value Text
database Value Text
host Value Double
port
  = MariaDbParametersProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), database :: Value Text
database = Value Text
database, host :: Value Text
host = Value Text
host,
       port :: Value Double
port = Value Double
port}
instance ToResourceProperties MariaDbParametersProperty where
  toResourceProperties :: MariaDbParametersProperty -> ResourceProperties
toResourceProperties MariaDbParametersProperty {()
Value Double
Value Text
haddock_workaround_ :: MariaDbParametersProperty -> ()
database :: MariaDbParametersProperty -> Value Text
host :: MariaDbParametersProperty -> Value Text
port :: MariaDbParametersProperty -> Value Double
haddock_workaround_ :: ()
database :: Value Text
host :: Value Text
port :: Value Double
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::DataSource.MariaDbParameters",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Database" 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
database, Key
"Host" 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
host,
                       Key
"Port" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
port]}
instance JSON.ToJSON MariaDbParametersProperty where
  toJSON :: MariaDbParametersProperty -> Value
toJSON MariaDbParametersProperty {()
Value Double
Value Text
haddock_workaround_ :: MariaDbParametersProperty -> ()
database :: MariaDbParametersProperty -> Value Text
host :: MariaDbParametersProperty -> Value Text
port :: MariaDbParametersProperty -> Value Double
haddock_workaround_ :: ()
database :: Value Text
host :: Value Text
port :: Value Double
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Database" 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
database, Key
"Host" 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
host,
         Key
"Port" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
port]
instance Property "Database" MariaDbParametersProperty where
  type PropertyType "Database" MariaDbParametersProperty = Value Prelude.Text
  set :: PropertyType "Database" MariaDbParametersProperty
-> MariaDbParametersProperty -> MariaDbParametersProperty
set PropertyType "Database" MariaDbParametersProperty
newValue MariaDbParametersProperty {()
Value Double
Value Text
haddock_workaround_ :: MariaDbParametersProperty -> ()
database :: MariaDbParametersProperty -> Value Text
host :: MariaDbParametersProperty -> Value Text
port :: MariaDbParametersProperty -> Value Double
haddock_workaround_ :: ()
database :: Value Text
host :: Value Text
port :: Value Double
..}
    = MariaDbParametersProperty {database :: Value Text
database = PropertyType "Database" MariaDbParametersProperty
Value Text
newValue, ()
Value Double
Value Text
haddock_workaround_ :: ()
host :: Value Text
port :: Value Double
haddock_workaround_ :: ()
host :: Value Text
port :: Value Double
..}
instance Property "Host" MariaDbParametersProperty where
  type PropertyType "Host" MariaDbParametersProperty = Value Prelude.Text
  set :: PropertyType "Host" MariaDbParametersProperty
-> MariaDbParametersProperty -> MariaDbParametersProperty
set PropertyType "Host" MariaDbParametersProperty
newValue MariaDbParametersProperty {()
Value Double
Value Text
haddock_workaround_ :: MariaDbParametersProperty -> ()
database :: MariaDbParametersProperty -> Value Text
host :: MariaDbParametersProperty -> Value Text
port :: MariaDbParametersProperty -> Value Double
haddock_workaround_ :: ()
database :: Value Text
host :: Value Text
port :: Value Double
..}
    = MariaDbParametersProperty {host :: Value Text
host = PropertyType "Host" MariaDbParametersProperty
Value Text
newValue, ()
Value Double
Value Text
haddock_workaround_ :: ()
database :: Value Text
port :: Value Double
haddock_workaround_ :: ()
database :: Value Text
port :: Value Double
..}
instance Property "Port" MariaDbParametersProperty where
  type PropertyType "Port" MariaDbParametersProperty = Value Prelude.Double
  set :: PropertyType "Port" MariaDbParametersProperty
-> MariaDbParametersProperty -> MariaDbParametersProperty
set PropertyType "Port" MariaDbParametersProperty
newValue MariaDbParametersProperty {()
Value Double
Value Text
haddock_workaround_ :: MariaDbParametersProperty -> ()
database :: MariaDbParametersProperty -> Value Text
host :: MariaDbParametersProperty -> Value Text
port :: MariaDbParametersProperty -> Value Double
haddock_workaround_ :: ()
database :: Value Text
host :: Value Text
port :: Value Double
..}
    = MariaDbParametersProperty {port :: Value Double
port = PropertyType "Port" MariaDbParametersProperty
Value Double
newValue, ()
Value Text
haddock_workaround_ :: ()
database :: Value Text
host :: Value Text
haddock_workaround_ :: ()
database :: Value Text
host :: Value Text
..}