module Stratosphere.Kendra.DataSource.ConnectionConfigurationProperty (
        ConnectionConfigurationProperty(..),
        mkConnectionConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ConnectionConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html>
    ConnectionConfigurationProperty {ConnectionConfigurationProperty -> ()
haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-databasehost>
                                     ConnectionConfigurationProperty -> Value Text
databaseHost :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-databasename>
                                     ConnectionConfigurationProperty -> Value Text
databaseName :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-databaseport>
                                     ConnectionConfigurationProperty -> Value Integer
databasePort :: (Value Prelude.Integer),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-secretarn>
                                     ConnectionConfigurationProperty -> Value Text
secretArn :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kendra-datasource-connectionconfiguration.html#cfn-kendra-datasource-connectionconfiguration-tablename>
                                     ConnectionConfigurationProperty -> Value Text
tableName :: (Value Prelude.Text)}
  deriving stock (ConnectionConfigurationProperty
-> ConnectionConfigurationProperty -> Bool
(ConnectionConfigurationProperty
 -> ConnectionConfigurationProperty -> Bool)
-> (ConnectionConfigurationProperty
    -> ConnectionConfigurationProperty -> Bool)
-> Eq ConnectionConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ConnectionConfigurationProperty
-> ConnectionConfigurationProperty -> Bool
== :: ConnectionConfigurationProperty
-> ConnectionConfigurationProperty -> Bool
$c/= :: ConnectionConfigurationProperty
-> ConnectionConfigurationProperty -> Bool
/= :: ConnectionConfigurationProperty
-> ConnectionConfigurationProperty -> Bool
Prelude.Eq, Int -> ConnectionConfigurationProperty -> ShowS
[ConnectionConfigurationProperty] -> ShowS
ConnectionConfigurationProperty -> String
(Int -> ConnectionConfigurationProperty -> ShowS)
-> (ConnectionConfigurationProperty -> String)
-> ([ConnectionConfigurationProperty] -> ShowS)
-> Show ConnectionConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ConnectionConfigurationProperty -> ShowS
showsPrec :: Int -> ConnectionConfigurationProperty -> ShowS
$cshow :: ConnectionConfigurationProperty -> String
show :: ConnectionConfigurationProperty -> String
$cshowList :: [ConnectionConfigurationProperty] -> ShowS
showList :: [ConnectionConfigurationProperty] -> ShowS
Prelude.Show)
mkConnectionConfigurationProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Integer
        -> Value Prelude.Text
           -> Value Prelude.Text -> ConnectionConfigurationProperty
mkConnectionConfigurationProperty :: Value Text
-> Value Text
-> Value Integer
-> Value Text
-> Value Text
-> ConnectionConfigurationProperty
mkConnectionConfigurationProperty
  Value Text
databaseHost
  Value Text
databaseName
  Value Integer
databasePort
  Value Text
secretArn
  Value Text
tableName
  = ConnectionConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), databaseHost :: Value Text
databaseHost = Value Text
databaseHost,
       databaseName :: Value Text
databaseName = Value Text
databaseName, databasePort :: Value Integer
databasePort = Value Integer
databasePort,
       secretArn :: Value Text
secretArn = Value Text
secretArn, tableName :: Value Text
tableName = Value Text
tableName}
instance ToResourceProperties ConnectionConfigurationProperty where
  toResourceProperties :: ConnectionConfigurationProperty -> ResourceProperties
toResourceProperties ConnectionConfigurationProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConnectionConfigurationProperty -> ()
databaseHost :: ConnectionConfigurationProperty -> Value Text
databaseName :: ConnectionConfigurationProperty -> Value Text
databasePort :: ConnectionConfigurationProperty -> Value Integer
secretArn :: ConnectionConfigurationProperty -> Value Text
tableName :: ConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Kendra::DataSource.ConnectionConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DatabaseHost" 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
databaseHost,
                       Key
"DatabaseName" 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
databaseName,
                       Key
"DatabasePort" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
databasePort, Key
"SecretArn" 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
secretArn,
                       Key
"TableName" 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
tableName]}
instance JSON.ToJSON ConnectionConfigurationProperty where
  toJSON :: ConnectionConfigurationProperty -> Value
toJSON ConnectionConfigurationProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConnectionConfigurationProperty -> ()
databaseHost :: ConnectionConfigurationProperty -> Value Text
databaseName :: ConnectionConfigurationProperty -> Value Text
databasePort :: ConnectionConfigurationProperty -> Value Integer
secretArn :: ConnectionConfigurationProperty -> Value Text
tableName :: ConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"DatabaseHost" 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
databaseHost,
         Key
"DatabaseName" 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
databaseName,
         Key
"DatabasePort" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
databasePort, Key
"SecretArn" 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
secretArn,
         Key
"TableName" 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
tableName]
instance Property "DatabaseHost" ConnectionConfigurationProperty where
  type PropertyType "DatabaseHost" ConnectionConfigurationProperty = Value Prelude.Text
  set :: PropertyType "DatabaseHost" ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
set PropertyType "DatabaseHost" ConnectionConfigurationProperty
newValue ConnectionConfigurationProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConnectionConfigurationProperty -> ()
databaseHost :: ConnectionConfigurationProperty -> Value Text
databaseName :: ConnectionConfigurationProperty -> Value Text
databasePort :: ConnectionConfigurationProperty -> Value Integer
secretArn :: ConnectionConfigurationProperty -> Value Text
tableName :: ConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
    = ConnectionConfigurationProperty {databaseHost :: Value Text
databaseHost = PropertyType "DatabaseHost" ConnectionConfigurationProperty
Value Text
newValue, ()
Value Integer
Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
haddock_workaround_ :: ()
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
instance Property "DatabaseName" ConnectionConfigurationProperty where
  type PropertyType "DatabaseName" ConnectionConfigurationProperty = Value Prelude.Text
  set :: PropertyType "DatabaseName" ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
set PropertyType "DatabaseName" ConnectionConfigurationProperty
newValue ConnectionConfigurationProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConnectionConfigurationProperty -> ()
databaseHost :: ConnectionConfigurationProperty -> Value Text
databaseName :: ConnectionConfigurationProperty -> Value Text
databasePort :: ConnectionConfigurationProperty -> Value Integer
secretArn :: ConnectionConfigurationProperty -> Value Text
tableName :: ConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
    = ConnectionConfigurationProperty {databaseName :: Value Text
databaseName = PropertyType "DatabaseName" ConnectionConfigurationProperty
Value Text
newValue, ()
Value Integer
Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
instance Property "DatabasePort" ConnectionConfigurationProperty where
  type PropertyType "DatabasePort" ConnectionConfigurationProperty = Value Prelude.Integer
  set :: PropertyType "DatabasePort" ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
set PropertyType "DatabasePort" ConnectionConfigurationProperty
newValue ConnectionConfigurationProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConnectionConfigurationProperty -> ()
databaseHost :: ConnectionConfigurationProperty -> Value Text
databaseName :: ConnectionConfigurationProperty -> Value Text
databasePort :: ConnectionConfigurationProperty -> Value Integer
secretArn :: ConnectionConfigurationProperty -> Value Text
tableName :: ConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
    = ConnectionConfigurationProperty {databasePort :: Value Integer
databasePort = PropertyType "DatabasePort" ConnectionConfigurationProperty
Value Integer
newValue, ()
Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
secretArn :: Value Text
tableName :: Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
secretArn :: Value Text
tableName :: Value Text
..}
instance Property "SecretArn" ConnectionConfigurationProperty where
  type PropertyType "SecretArn" ConnectionConfigurationProperty = Value Prelude.Text
  set :: PropertyType "SecretArn" ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
set PropertyType "SecretArn" ConnectionConfigurationProperty
newValue ConnectionConfigurationProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConnectionConfigurationProperty -> ()
databaseHost :: ConnectionConfigurationProperty -> Value Text
databaseName :: ConnectionConfigurationProperty -> Value Text
databasePort :: ConnectionConfigurationProperty -> Value Integer
secretArn :: ConnectionConfigurationProperty -> Value Text
tableName :: ConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
    = ConnectionConfigurationProperty {secretArn :: Value Text
secretArn = PropertyType "SecretArn" ConnectionConfigurationProperty
Value Text
newValue, ()
Value Integer
Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
tableName :: Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
tableName :: Value Text
..}
instance Property "TableName" ConnectionConfigurationProperty where
  type PropertyType "TableName" ConnectionConfigurationProperty = Value Prelude.Text
  set :: PropertyType "TableName" ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
-> ConnectionConfigurationProperty
set PropertyType "TableName" ConnectionConfigurationProperty
newValue ConnectionConfigurationProperty {()
Value Integer
Value Text
haddock_workaround_ :: ConnectionConfigurationProperty -> ()
databaseHost :: ConnectionConfigurationProperty -> Value Text
databaseName :: ConnectionConfigurationProperty -> Value Text
databasePort :: ConnectionConfigurationProperty -> Value Integer
secretArn :: ConnectionConfigurationProperty -> Value Text
tableName :: ConnectionConfigurationProperty -> Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
tableName :: Value Text
..}
    = ConnectionConfigurationProperty {tableName :: Value Text
tableName = PropertyType "TableName" ConnectionConfigurationProperty
Value Text
newValue, ()
Value Integer
Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
haddock_workaround_ :: ()
databaseHost :: Value Text
databaseName :: Value Text
databasePort :: Value Integer
secretArn :: Value Text
..}