ToolJet/plugins/packages/mssql/lib/manifest.json

785 lines
23 KiB
JSON
Raw Normal View History

{
"$schema": "https://raw.githubusercontent.com/ToolJet/ToolJet/develop/plugins/schemas/manifest.schema.json",
"title": "Mssql datasource",
"description": "A schema defining mssql datasource",
"type": "object",
"tj:version": "1.0.0",
"tj:source": {
"name": "SQL Server",
"kind": "mssql",
"type": "database"
},
"properties": {
"connection_type": {
"type": "string",
"title": "Connection type",
"description": "Single select dropdown for connection_type",
"enum": ["manual", "string"],
"default": "manual"
},
"connection_string": {
"type": "string",
"title": "Connection string",
"description": "Server=localhost,1433;Database=mydb;User Id=sa;Password=mypass;"
},
"host": {
"type": "string",
"title": "Host",
"description": "localhost",
"default": "localhost"
},
"instanceName": {
"type": "string",
"title": "Instance",
"description": "Enter the name of the database instance"
},
"port": {
"type": "number",
"title": "Port",
"description": "1433",
"default": 1433
},
"database": {
"type": "string",
"title": "Database",
"description": "Enter name of the database"
},
"username": {
"type": "string",
"title": "Username",
"description": "Enter username"
},
"password": {
"type": "string",
"title": "Password",
"description": "Enter password"
},
"auth_type": {
"type": "string",
"title": "Authentication type",
"enum": ["sql", "service_principal"],
"default": "sql"
},
"sp_tenant_id": {
"type": "string",
"title": "Tenant ID",
"description": "Enter Azure AD Tenant ID"
},
"sp_client_id": {
"type": "string",
"title": "Client ID",
"description": "Enter Azure AD Client (Application) ID"
},
"sp_client_secret": {
"type": "string",
"title": "Client secret",
"description": "Enter client secret value"
},
"connection_options": {
"type": "array",
"title": "Connection options",
"description": "Connection options"
},
"allow_dynamic_connection_parameters": {
"type": "boolean",
"title": "Allow dynamic connection parameters",
"description": "Turning this on will allow dynamically setting host name and database from application",
"default": false
},
"azure": {
"type": "boolean",
"title": "Azure (encrypt connection)",
"description": "Toggle for azure",
"default": false
},
"ssl_enabled": {
"type": "boolean",
"title": "SSL/TLS",
"description": "Connect using SSL",
"default": false
},
"ssl_certificate": {
"type": "string",
"title": "SSL certificate",
"description": "Single select dropdown for choosing certificates",
"enum": ["none", "ca_certificate", "self_signed"],
"default": "none"
},
"ca_cert": {
"type": "string",
"title": "CA cert",
"description": "Enter ca certificate"
},
"client_key": {
"type": "string",
"title": "Client key",
"description": "Enter client key"
},
"client_cert": {
"type": "string",
"title": "Client cert",
"description": "Enter client certificate"
},
"root_cert": {
"type": "string",
"title": "Root cert",
"description": "Enter root certificate"
},
"ssh_enabled": {
"type": "string",
"title": "SSH Tunnel",
"description": "Connect through an SSH server",
"enum": ["enabled", "disabled"],
"default": "disabled"
},
"ssh_host": {
"type": "string",
"title": "SSH Host"
},
"ssh_port": {
"type": "number",
"title": "SSH Port",
"default": 22
},
"ssh_username": {
"type": "string",
"title": "SSH Username"
},
"ssh_auth_type": {
"type": "string",
"title": "SSH Authentication Type",
"enum": ["private_key", "password"],
"default": "private_key"
},
"ssh_password": {
"type": "string",
"title": "SSH Password"
},
"ssh_private_key": {
"type": "string",
"title": "SSH Private Key"
},
"ssh_passphrase": {
"type": "string",
"title": "SSH Passphrase"
}
},
"allOf": [
{
"if": {
"properties": {
"connection_type": {
"const": "string"
}
}
},
"then": {
"required": ["connection_string"]
}
},
{
"if": {
"properties": {
"ssl_certificate": {
"const": "ca_certificate"
}
}
},
"then": {
"required": ["ca_cert"]
}
},
{
"if": {
"properties": {
"ssl_certificate": {
"const": "self_signed"
}
}
},
"then": {
"required": ["client_key", "client_cert", "root_cert"]
}
},
{
"if": {
"properties": {
"ssh_enabled": {
"const": "enabled"
}
}
},
"then": {
"required": ["ssh_host", "ssh_port", "ssh_username", "ssh_auth_type"]
}
}
],
"tj:encrypted": [
"password",
"ca_cert",
"client_key",
"client_cert",
"root_cert",
"ssh_private_key",
"ssh_password",
"ssh_passphrase",
"connection_string",
"sp_client_secret"
],
"required": [
"connection_type"
],
"tj:ui:properties": {
"connection_type": {
"order": 1,
"$ref": "#/properties/connection_type",
"key": "connection_type",
"label": "Connection type",
"description": "Single select dropdown for connection_type",
"widget": "dropdown-component-flip",
"list": [
{
"name": "Manual connection",
"value": "manual"
},
{
"name": "Connection string",
"value": "string"
}
]
},
"manual": {
"host": {
"order": 10,
"$ref": "#/properties/host",
"key": "host",
"label": "Host",
"description": "localhost",
"widget": "text-v3",
"required": true
},
"port": {
"order": 20,
"$ref": "#/properties/port",
"key": "port",
"label": "Port",
"description": "1433",
"widget": "text-v3",
"required": true
},
"instanceName": {
"order": 30,
"$ref": "#/properties/instanceName",
"key": "instance_name",
"label": "Instance",
"description": "Enter the name of the database instance",
"widget": "text-v3"
},
"database": {
"order": 40,
"$ref": "#/properties/database",
"key": "database",
"label": "Database",
"description": "Enter name of the database",
"widget": "text-v3"
},
"auth_type": {
"order": 45,
"$ref": "#/properties/auth_type",
"key": "auth_type",
"label": "Authentication type",
"widget": "dropdown-component-flip",
"default": "sql",
"list": [
{ "value": "sql", "name": "SQL Server" },
{ "value": "service_principal", "name": "Azure AD \u2013 Service Principal" }
]
},
"sql": {
"username": {
"order": 50,
"$ref": "#/properties/username",
"key": "username",
"label": "Username",
"description": "Enter username",
"widget": "text-v3"
},
"password": {
"order": 60,
"$ref": "#/properties/password",
"key": "password",
"label": "Password",
"description": "Enter password",
"widget": "password-v3",
"help_text": "Supports secrets (e.g., {{secrets.db_password}})"
}
},
"service_principal": {
"sp_tenant_id": {
"order": 50,
"$ref": "#/properties/sp_tenant_id",
"key": "sp_tenant_id",
"label": "Tenant ID",
"description": "Enter Azure AD Tenant ID",
"widget": "text-v3",
"required": true
},
"sp_client_id": {
"order": 51,
"$ref": "#/properties/sp_client_id",
"key": "sp_client_id",
"label": "Client ID",
"description": "Enter Azure AD Client (Application) ID",
"widget": "text-v3",
"required": true
},
"sp_client_secret": {
"order": 52,
"$ref": "#/properties/sp_client_secret",
"key": "sp_client_secret",
"label": "Client secret",
"description": "Enter client secret value",
"widget": "password-v3",
"required": true
}
},
"connection_options": {
"order": 70,
"$ref": "#/properties/connection_options",
"key": "connection_options",
"label": "Connection options",
"widget": "react-component-headers"
},
"ssl_enabled": {
"order": 75,
"$ref": "#/properties/ssl_enabled",
"key": "ssl_enabled",
"label": "SSL/TLS",
"description": "Enable SSL connection",
"widget": "toggle-flip",
"help_text": "Enable encrypted connections to SQL Server.",
"default": false,
"true": {
"ssl_certificate": {
"order": 76,
"$ref": "#/properties/ssl_certificate",
"key": "ssl_certificate",
"label": "SSL certificate",
"description": "SSL certificate type",
"widget": "dropdown-component-flip",
"default": "none",
"list": [
{ "value": "none", "name": "None" },
{ "value": "ca_certificate", "name": "CA certificate" },
{ "value": "self_signed", "name": "Self-signed certificate" }
]
},
"ca_certificate": {
"ca_cert": {
"order": 77,
"$ref": "#/properties/ca_cert",
"key": "ca_cert",
"label": "CA certificate",
"description": "Enter CA certificate",
"widget": "password-v3-textarea"
}
},
"self_signed": {
"client_key": {
"order": 77,
"$ref": "#/properties/client_key",
"key": "client_key",
"label": "Client key",
"description": "Enter client key",
"widget": "password-v3-textarea"
},
"client_cert": {
"order": 78,
"$ref": "#/properties/client_cert",
"key": "client_cert",
"label": "Client certificate",
"description": "Enter client certificate",
"widget": "password-v3-textarea"
},
"root_cert": {
"order": 79,
"$ref": "#/properties/root_cert",
"key": "root_cert",
"label": "Root certificate",
"description": "Enter root certificate",
"widget": "password-v3-textarea"
}
},
"none": {}
},
"false": {}
},
"ssh_enabled": {
"order": 80,
"$ref": "#/properties/ssh_enabled",
"key": "ssh_enabled",
"label": "SSH tunnel",
"description": "Connect through an SSH server",
"widget": "toggle-flip",
"default": false,
"help_text": "Connect through an SSH server to access databases in private networks."
},
"enabled": {
"ssh_host": {
"order": 90,
"$ref": "#/properties/ssh_host",
"key": "ssh_host",
"label": "SSH host",
"description": "ssh.example.com",
"help_text": "SSH server hostname or IP address",
"widget": "text-v3"
},
"ssh_port": {
"order": 100,
"$ref": "#/properties/ssh_port",
"key": "ssh_port",
"label": "SSH port",
"description": "22",
"help_text": "Default SSH port is 22",
"widget": "text-v3"
},
"ssh_username": {
"order": 110,
"$ref": "#/properties/ssh_username",
"key": "ssh_username",
"label": "SSH username",
"description": "SSH username",
"widget": "text-v3"
},
"ssh_auth_type": {
"order": 175,
"$ref": "#/properties/ssh_auth_type",
"key": "ssh_auth_type",
"label": "Authentication type",
"widget": "dropdown-component-flip",
"default": "private_key",
"list": [
{ "value": "private_key", "name": "Private key" },
{ "value": "password", "name": "Password" }
]
},
"private_key": {
"ssh_private_key": {
"order": 180,
"$ref": "#/properties/ssh_private_key",
"key": "ssh_private_key",
"label": "SSH private key",
"widget": "password-v3-textarea"
},
"ssh_passphrase": {
"order": 190,
"$ref": "#/properties/ssh_passphrase",
"key": "ssh_passphrase",
"label": "SSH passphrase",
"widget": "password-v3"
}
},
"password": {
"ssh_password": {
"order": 180,
"$ref": "#/properties/ssh_password",
"key": "ssh_password",
"label": "SSH password",
"widget": "password-v3"
}
}
},
"disabled": {},
"allow_dynamic_connection_parameters": {
"order": 140,
"$ref": "#/properties/allow_dynamic_connection_parameters",
"key": "allow_dynamic_connection_parameters",
"label": "Allow dynamic connection parameters",
"description": "Turning this on will allow dynamically setting host name and database from application",
"widget": "toggle-v2",
"help_text": "Enable this to override the default host and database at query runtime"
},
"azure": {
"order": 150,
"$ref": "#/properties/azure",
"key": "azure",
"label": "Azure encrypt connection",
"description": "Toggle for azure",
"help_text": "Enable encrypted connection for Azure SQL Database.",
"widget": "toggle-v2"
}
},
"string": {
"connection_string": {
"order": 2,
"$ref": "#/properties/connection_string",
"key": "connection_string",
"label": "Connection string",
"description": "Enter encoded connection string",
"widget": "password-v3-textarea",
"required": true
},
"host": {
"order": 10,
"$ref": "#/properties/host",
"key": "host",
"label": "Host",
"description": "localhost",
"widget": "text-v3",
"required": true
},
"port": {
"order": 20,
"$ref": "#/properties/port",
"key": "port",
"label": "Port",
"description": "1433",
"widget": "text-v3",
"required": true
},
"database": {
"order": 35,
"$ref": "#/properties/database",
"key": "database",
"label": "Database",
"description": "Enter database",
"widget": "text-v3"
},
"instanceName": {
"order": 30,
"$ref": "#/properties/instanceName",
"key": "instance_name",
"label": "Instance",
"description": "Enter the name of the database instance",
"widget": "text-v3"
},
"auth_type": {
"order": 36,
"$ref": "#/properties/auth_type",
"key": "auth_type",
"label": "Authentication type",
"widget": "dropdown-component-flip",
"default": "sql",
"list": [
{ "value": "sql", "name": "SQL Server" },
{ "value": "service_principal", "name": "Azure AD Service Principal" }
]
},
"sql": {
"username": {
"order": 40,
"$ref": "#/properties/username",
"key": "username",
"label": "Username",
"description": "Enter username",
"widget": "text-v3"
},
"password": {
"order": 50,
"$ref": "#/properties/password",
"key": "password",
"label": "Password",
"description": "Enter password",
"widget": "password-v3",
"help_text": "Supports secrets (e.g., {{secrets.db_password}})"
}
},
"service_principal": {
"sp_tenant_id": {
"order": 40,
"$ref": "#/properties/sp_tenant_id",
"key": "sp_tenant_id",
"label": "Tenant ID",
"description": "Enter Azure AD Tenant ID",
"widget": "text-v3",
"required": true
},
"sp_client_id": {
"order": 41,
"$ref": "#/properties/sp_client_id",
"key": "sp_client_id",
"label": "Client ID",
"description": "Enter Azure AD Client (Application) ID",
"widget": "text-v3",
"required": true
},
"sp_client_secret": {
"order": 42,
"$ref": "#/properties/sp_client_secret",
"key": "sp_client_secret",
"label": "Client secret",
"description": "Enter client secret value",
"widget": "password-v3",
"required": true
}
},
"connection_options": {
"order": 60,
"$ref": "#/properties/connection_options",
"key": "connection_options",
"label": "Connection options",
"widget": "react-component-headers"
},
"ssl_enabled": {
"order": 75,
"$ref": "#/properties/ssl_enabled",
"key": "ssl_enabled",
"label": "SSL/TLS",
"description": "Enable SSL connection",
"widget": "toggle-flip",
"help_text": "Enable encrypted connections to SQL Server.",
"default": false,
"true": {
"ssl_certificate": {
"order": 76,
"$ref": "#/properties/ssl_certificate",
"key": "ssl_certificate",
"label": "SSL certificate",
"description": "SSL certificate type",
"widget": "dropdown-component-flip",
"default": "none",
"list": [
{ "value": "none", "name": "None" },
{ "value": "ca_certificate", "name": "CA certificate" },
{ "value": "self_signed", "name": "Self-signed certificate" }
]
},
"ca_certificate": {
"ca_cert": {
"order": 77,
"$ref": "#/properties/ca_cert",
"key": "ca_cert",
"label": "CA certificate",
"description": "Enter CA certificate",
"widget": "password-v3-textarea"
}
},
"self_signed": {
"client_key": {
"order": 77,
"$ref": "#/properties/client_key",
"key": "client_key",
"label": "Client key",
"description": "Enter client key",
"widget": "password-v3-textarea"
},
"client_cert": {
"order": 78,
"$ref": "#/properties/client_cert",
"key": "client_cert",
"label": "Client certificate",
"description": "Enter client certificate",
"widget": "password-v3-textarea"
},
"root_cert": {
"order": 79,
"$ref": "#/properties/root_cert",
"key": "root_cert",
"label": "Root certificate",
"description": "Enter root certificate",
"widget": "password-v3-textarea"
}
},
"none": {}
},
"false": {}
},
"ssh_enabled": {
"order": 80,
"$ref": "#/properties/ssh_enabled",
"key": "ssh_enabled",
"label": "SSH tunnel",
"description": "Connect through an SSH server",
"widget": "toggle-flip",
"default": false,
"help_text": "Connect through an SSH server to access databases in private networks."
},
"enabled": {
"ssh_host": {
"order": 90,
"$ref": "#/properties/ssh_host",
"key": "ssh_host",
"label": "SSH host",
"description": "ssh.example.com",
"help_text": "SSH server hostname or IP address",
"widget": "text-v3"
},
"ssh_port": {
"order": 100,
"$ref": "#/properties/ssh_port",
"key": "ssh_port",
"label": "SSH port",
"description": "22",
"help_text": "Default SSH port is 22",
"widget": "text-v3"
},
"ssh_username": {
"order": 110,
"$ref": "#/properties/ssh_username",
"key": "ssh_username",
"label": "SSH username",
"description": "SSH Username",
"widget": "text-v3"
},
"ssh_auth_type": {
"order": 175,
"$ref": "#/properties/ssh_auth_type",
"key": "ssh_auth_type",
"label": "Authentication type",
"widget": "dropdown-component-flip",
"default": "private_key",
"list": [
{ "value": "private_key", "name": "Private key" },
{ "value": "password", "name": "Password" }
]
},
"private_key": {
"ssh_private_key": {
"order": 180,
"$ref": "#/properties/ssh_private_key",
"key": "ssh_private_key",
"label": "SSH private key",
"widget": "password-v3-textarea"
},
"ssh_passphrase": {
"order": 190,
"$ref": "#/properties/ssh_passphrase",
"key": "ssh_passphrase",
"label": "SSH passphrase",
"widget": "password-v3"
}
},
"password": {
"ssh_password": {
"order": 180,
"$ref": "#/properties/ssh_password",
"key": "ssh_password",
"label": "SSH password",
"widget": "password-v3"
}
}
},
"disabled": {},
"allow_dynamic_connection_parameters": {
"order": 130,
"$ref": "#/properties/allow_dynamic_connection_parameters",
"key": "allow_dynamic_connection_parameters",
"label": "Allow dynamic connection parameters",
"description": "Turning this on will allow dynamically setting host name and database from application",
"widget": "toggle-v2",
"help_text": "Enable this to override the default host and database at query runtime"
},
"azure": {
"order": 140,
"$ref": "#/properties/azure",
"key": "azure",
"label": "Azure encrypt connection",
"description": "Toggle for azure",
"widget": "toggle-v2",
"help_text": "Enable encrypted connection for Azure SQL Database."
}
}
}
}