path mgmt/v1alpha1/connection.proto
package mgmt.v1alpha1
Messages
AwsS3ConnectionConfig
| Name | Type | Description |
|---|
path_prefix | optional string | The bucket path prefix that will be appended to each file |
credentials | optional AwsS3Credentials | The credentials to use for the S3 bucket |
region | optional string | The region of the S3 bucket |
endpoint | optional string | The endpoint of the S3 bucket (if using a custom endpoint like region specific endpoints or S3-compatible APIs) |
bucket | string | The name of the S3 bucket |
AwsS3Credentials
S3 Credentials that are used by the worker process.
Note: this may be optionally provided if the worker that is being hosted has environment credentials to the S3 bucket instead.
| Name | Type | Description |
|---|
profile | optional string | The profile to use for the S3 credentials |
access_key_id | optional string | The access key id to use for the S3 credentials |
secret_access_key | optional string | The secret access key to use for the S3 credentials |
session_token | optional string | The session token to use for the S3 credentials |
from_ec2_role | optional bool | Whether or not the credentials are from an EC2 role |
role_arn | optional string | The ARN of the role to use for the S3 credentials |
role_external_id | optional string | The role's external ID to use for the S3 credentials |
CheckConnectionConfigByIdRequest
| Name | Type | Description |
|---|
id | string | The connection id to validate |
CheckConnectionConfigByIdResponse
| Name | Type | Description |
|---|
is_connected | bool | Whether or not the API was able to ping the connection |
connection_error | optional string | This is the error that was received if the API was unable to connect |
privileges | repeated ConnectionRolePrivilege | The privileges the role has to the connection |
CheckConnectionConfigRequest
| Name | Type | Description |
|---|
connection_config | ConnectionConfig | The connection configuration to validate |
CheckConnectionConfigResponse
| Name | Type | Description |
|---|
is_connected | bool | Whether or not the API was able to ping the connection |
connection_error | optional string | This is the error that was received if the API was unable to connect |
privileges | repeated ConnectionRolePrivilege | |
CheckSSHConnectionByIdRequest
| Name | Type | Description |
|---|
id | string | The connection id that the SSH connection will be checked against |
CheckSSHConnectionByIdResponse
CheckSSHConnectionRequest
| Name | Type | Description |
|---|
tunnel | SSHTunnel | The SSH tunnel configuration to use for the connection |
CheckSSHConnectionResponse
CheckSSHConnectionResult
| Name | Type | Description |
|---|
is_successful | bool | Whether or not the SSH connection is successful |
error_message | optional string | The error message returned by the SSH client if the connection is not successful |
CheckSqlQueryRequest
| Name | Type | Description |
|---|
id | string | The connection id that the query will be checked against |
query | string | The full query that will be run through a PREPARE statement |
CheckSqlQueryResponse
| Name | Type | Description |
|---|
is_valid | bool | The query is run through PREPARE. Returns valid if it correctly compiled |
erorr_message | optional string | The error message returned by the sql client if the prepare did not return successfully |
ClientTlsConfig
Config for providing client-side TLS certificates
| Name | Type | Description |
|---|
root_cert | optional string | Root Certificate in PEM Format |
client_cert | optional string | Client Certificate in PEM format. Must also provide key. |
client_key | optional string | Client Key in PEM format. Must also provide cert. |
server_name | optional string | Provide the expected server name. Depending on the driver or encryption mode, this may be required
In order to fully validate the server certificate. |
Connection
| Name | Type | Description |
|---|
id | string | The unique identifier of the connection |
name | string | The unique, friendly name of the connection |
connection_config | ConnectionConfig | Contains the connection configuration and connection type |
created_by_user_id | string | The user id of the user that created the connection |
created_at | google.protobuf.Timestamp | When the connection was created |
updated_by_user_id | string | Who last updated the connection |
updated_at | google.protobuf.Timestamp | When the connection was last updated |
account_id | string | The unique account that owns this connection |
ConnectionConfig
Configuration for all of the supported Vydon connection types
ConnectionRolePrivilege
| Name | Type | Description |
|---|
grantee | string | The role that was given the permissions |
schema | string | The database schema. Ex: public |
table | string | The name of the table in the schema |
privilege_type | repeated string | The privileges given to that role |
CreateConnectionRequest
| Name | Type | Description |
|---|
account_id | string | The unique identifier of the account to create the connection for |
name | string | The friendly name of the connection |
connection_config | ConnectionConfig | The connection configuration to use for the connection |
CreateConnectionResponse
| Name | Type | Description |
|---|
connection | Connection | The created connection |
DeleteConnectionRequest
| Name | Type | Description |
|---|
id | string | The unique identifier of the connection to delete |
DeleteConnectionResponse
DynamoDBConnectionConfig
Configuration for a DynaomDB Connection
| Name | Type | Description |
|---|
credentials | optional AwsS3Credentials | Optional credentials that may be provided and will be used to connect to the DynamoDB Instance.
If self-hosting, this may be provided by the environment in lieu of specifying these here |
region | optional string | Optionally specify the region that the dynamodb instance lives in if not provided by the environment. |
endpoint | optional string | Optionally specify the endpoint that will be used by the AWS SDK. |
GcpCloudStorageConnectionConfig
Configuration for GCP Cloud Storage Buckets
| Name | Type | Description |
|---|
bucket | string | The GCP Cloud Storage bucket that will be accessed. |
path_prefix | optional string | The path prefix that will be appended to each file |
service_account_credentials | optional string | stringified json of the service account credentials file |
GetConnectionRequest
| Name | Type | Description |
|---|
id | string | The unique identifier of the connection to get |
exclude_sensitive | bool | Whether or not to exclude sensitive data from the connection
If the caller does not have permission to view sensitive data, the connection will always be returned without sensitive data
This behavior exists to preserve backwards compatibility that originally always returned sensitive data |
GetConnectionResponse
| Name | Type | Description |
|---|
connection | Connection | The connection |
GetConnectionsRequest
| Name | Type | Description |
|---|
account_id | string | The unique identifier of the account to get connections for |
exclude_sensitive | bool | Whether or not to exclude sensitive data from the connection
If the caller does not have permission to view sensitive data, the connection will always be returned without sensitive data
This behavior exists to preserve backwards compatibility that originally always returned sensitive data |
GetConnectionsResponse
IsConnectionNameAvailableRequest
| Name | Type | Description |
|---|
account_id | string | The unique identifier of the account to check the connection name for |
connection_name | string | The connection name to check for availability |
IsConnectionNameAvailableResponse
| Name | Type | Description |
|---|
is_available | bool | Whether or not the connection name is available |
LocalDirectoryConnectionConfig
Configures a connection to a directory available on the local file system
| Name | Type | Description |
|---|
path | string | The absolute path to a directory that is available on the local file system to the API and Worker nodes |
MongoConnectionConfig
| Name | Type | Description |
|---|
url | string | The full mongo connection url |
tunnel | SSHTunnel | Provide tunnel configuration that can be used to access a connection that is not publicly accessible to the internet |
client_tls | ClientTlsConfig | Provide client-side TLS Certificates |
MssqlConnectionConfig
Configuration for a Mssql Connection
| Name | Type | Description |
|---|
url | string | The URL with sqlserver scheme. |
url_from_env | string | Source a url from an environment variable.
The value is expected to be in the same format as the "url" field above.
The key is the name of the environment variable to source. It must contain a prefix of "USER_DEFINED_" |
connection_options | SqlConnectionOptions | Provide connection options that can be used to further fine-tune the connection |
tunnel | SSHTunnel | Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet |
client_tls | ClientTlsConfig | Provide client-side TLS Certificates |
MysqlConnection
| Name | Type | Description |
|---|
user | string | The user to use for the connection |
pass | string | The password to use for the connection |
protocol | string | The protocol to use for the connection |
host | string | The host to use for the connection |
port | int32 | The port to use for the connection |
name | string | The name of the database to use for the connection |
MysqlConnectionConfig
| Name | Type | Description |
|---|
url | string | A raw string url that will be used to construct the connection. DSN format. URI format also supported but more limited. |
connection | MysqlConnection | A structured representation of the connection that will be used to construct the url |
url_from_env | string | Source a url from an environment variable.
The value is expected to be in the same format as the "url" field above.
The key is the name of the environment variable to source. It must contain a prefix of "USER_DEFINED_" |
tunnel | SSHTunnel | Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet |
connection_options | SqlConnectionOptions | Provide connection options that can be used to further fine-tune the connection |
client_tls | ClientTlsConfig | Provide client-side TLS Certificates |
OpenAiConnectionConfig
Configures a connection to OpenAI or OpenAI compatible API.
| Name | Type | Description |
|---|
api_key | string | OpenAI Api Key |
api_url | string | OpenAI URL (if using a custom endpoint) |
PostgresConnection
| Name | Type | Description |
|---|
host | string | The host to use for the connection |
port | int32 | The port to use for the connection |
name | string | The name of the database to use for the connection |
user | string | The user to use for the connection |
pass | string | The password to use for the connection |
ssl_mode | optional string | The SSL mode to use for the connection |
PostgresConnectionConfig
| Name | Type | Description |
|---|
url | string | A raw string url that will be used to construct the connection. Must be URI format. |
connection | PostgresConnection | A structured representation of the connection that will be used to construct the url |
url_from_env | string | Source a url from an environment variable.
The value is expected to be in the same format as the "url" field above.
The key is the name of the environment variable to source. It must contain a prefix of "USER_DEFINED_" |
tunnel | SSHTunnel | Provide tunnel configuration that can be used to access a postgres connection that is not publicly accessible to the internet |
connection_options | SqlConnectionOptions | Provide connection options that can be used to further fine-tune the connection |
client_tls | ClientTlsConfig | Provide client-side TLS Certificates |
SSHAuthentication
SSH Authentication
SSHPassphrase
Contains the configuration needed to retrieve the SSH passphrase for the tunnel
| Name | Type | Description |
|---|
value | string | The password to be used to connect to the SSH server
eventually we can expand this to allow pulling from other sources. |
SSHPrivateKey
Contains the configuration needed to retrieve the SSH private key for the tunnel
| Name | Type | Description |
|---|
value | string | The private key in PEM format. |
passphrase | optional string | If the private key is encrypted, this value should decrypt it. |
SSHTunnel
| Name | Type | Description |
|---|
host | string | The host of the SSH server |
port | int32 | The port of the SSH server, typically 22 |
user | string | The user that will be used to authenticate |
known_host_public_key | optional string | Optionally provide the public key of the known host of the SSH tunnel that we are connecting to.
If this is not provided, the server will blindly connect to the host with the given credentials.
This is not recommended for production use! |
authentication | SSHAuthentication | Provide the authentication required to successfully connect to the SSH server for tunneling |
SqlConnectionOptions
| Name | Type | Description |
|---|
max_connection_limit | optional int32 | Sets the maximum number of open connections
If this value is greater than 0, but less than the max_idle_connections, then max_idle_connections will be reduced to match the max_connection_limit
If this value is less than or equal to 0, then there is no limit on the number of open connections. If not provided, the default is 0 (unlimited). |
max_idle_connections | optional int32 | Sets the maximum number of connections in the idle connection pool.
This value will be reduced at runtime to match the max_connection_limit if max_connection_limit is greater than 0 but less than this value.
If this value is less than or equal to 0, then no idle connections are maintained. If not provided, the default is 2, which may change in a future release. |
max_idle_duration | optional string | Sets the maximum amount of time a connection may be idle.
Expired connections may be closed lazily before reuse.
if this value is less than or equal to 0, connections are not closed due to a connection's idle time.
This value is parsed as a Go duration string (ex: 1s, 1m, 500ms) |
max_open_duration | optional string | Sets the maximum amount of time a connection may be reused.
Expired connections may be closed lazily before reuse.
If this value is less than or equal to 0, connections may not be closed due to a connection's age.
This value is parsed as a Go duration string (ex: 1s, 1m, 500ms) |
UpdateConnectionRequest
| Name | Type | Description |
|---|
id | string | The unique identifier of the connection to update |
name | string | The friendly name of the connection |
connection_config | ConnectionConfig | The connection configuration to use for the connection |
UpdateConnectionResponse
| Name | Type | Description |
|---|
connection | Connection | The updated connection |
Services
ConnectionService
Service for managing datasource connections.
This is a primary data model in Vydon and is used in reference when hooking up Jobs to synchronize and generate data.
GetConnections
GetConnection
CreateConnection
UpdateConnection
DeleteConnection
IsConnectionNameAvailable
CheckConnectionConfig
CheckConnectionConfigById
CheckSqlQuery
| Method | CheckSqlQuery |
|---|
| Request | CheckSqlQueryRequest |
|---|
| Response | CheckSqlQueryResponse |
|---|
| Description | Checks a constructed SQL query against a sql-based connection to see if it's valid based on that connection's data schema
This is useful when constructing subsets to see if the WHERE clause is correct |
|---|
CheckSSHConnection
CheckSSHConnectionById