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