curl --request GET \
--url https://api.example.com/v1/instances{
"instances": [
{
"title": "<string>",
"engine": "ENGINE_UNSPECIFIED",
"activation": true,
"version": "<string>",
"externalLink": "<string>",
"dataSources": [
{
"id": "<string>",
"type": "DATA_SOURCE_UNSPECIFIED",
"username": "<string>",
"password": "<string>",
"obfuscatedPassword": "<string>",
"useSsl": true,
"sslCa": "<string>",
"obfuscatedSslCa": "<string>",
"sslCert": "<string>",
"obfuscatedSslCert": "<string>",
"sslKey": "<string>",
"obfuscatedSslKey": "<string>",
"verifyTlsCertificate": true,
"host": "<string>",
"port": "<string>",
"database": "<string>",
"srv": true,
"authenticationDatabase": "<string>",
"replicaSet": "<string>",
"sid": "<string>",
"serviceName": "<string>",
"sshHost": "<string>",
"sshPort": "<string>",
"sshUser": "<string>",
"sshPassword": "<string>",
"obfuscatedSshPassword": "<string>",
"sshPrivateKey": "<string>",
"obfuscatedSshPrivateKey": "<string>",
"authenticationPrivateKey": "<string>",
"obfuscatedAuthenticationPrivateKey": "<string>",
"authenticationPrivateKeyPassphrase": "<string>",
"obfuscatedAuthenticationPrivateKeyPassphrase": "<string>",
"externalSecret": {
"secretType": "SECRET_TYPE_UNSPECIFIED",
"url": "<string>",
"authType": "AUTH_TYPE_UNSPECIFIED",
"appRole": {
"type": "SECRET_TYPE_UNSPECIFIED",
"mountPath": "<string>"
},
"token": "<string>",
"engineName": "<string>",
"secretName": "<string>",
"passwordKeyName": "<string>",
"skipVaultTlsVerification": true,
"vaultSslCa": "<string>",
"obfuscatedVaultSslCa": "<string>",
"vaultSslCert": "<string>",
"obfuscatedVaultSslCert": "<string>",
"vaultSslKey": "<string>",
"obfuscatedVaultSslKey": "<string>"
},
"authenticationType": "AUTHENTICATION_UNSPECIFIED",
"azureCredential": {
"tenantId": "<string>",
"clientId": "<string>"
},
"awsCredential": {},
"gcpCredential": {},
"saslConfig": {
"krbConfig": {
"primary": "<string>",
"instance": "<string>",
"realm": "<string>",
"keytab": "<string>",
"kdcHost": "<string>",
"kdcPort": "<string>",
"kdcTransportProtocol": "<string>"
}
},
"additionalAddresses": [
{
"host": "<string>",
"port": "<string>"
}
],
"directConnection": true,
"region": "<string>",
"warehouseId": "<string>",
"masterName": "<string>",
"masterUsername": "<string>",
"masterPassword": "<string>",
"obfuscatedMasterPassword": "<string>",
"redisType": "REDIS_TYPE_UNSPECIFIED",
"cluster": "<string>",
"extraConnectionParameters": {}
}
],
"syncInterval": "<string>",
"maximumConnections": 123,
"syncDatabases": [
"<string>"
],
"mysqlLowerCaseTableNames": 123,
"lastSyncTime": "2023-11-07T05:31:56Z",
"roles": [
{
"name": "<string>",
"connectionLimit": 123,
"validUntil": "<string>",
"attribute": "<string>"
}
],
"labels": {}
}
],
"nextPageToken": "<string>"
}Lists all database instances. Permissions required: bb.instances.list
curl --request GET \
--url https://api.example.com/v1/instances{
"instances": [
{
"title": "<string>",
"engine": "ENGINE_UNSPECIFIED",
"activation": true,
"version": "<string>",
"externalLink": "<string>",
"dataSources": [
{
"id": "<string>",
"type": "DATA_SOURCE_UNSPECIFIED",
"username": "<string>",
"password": "<string>",
"obfuscatedPassword": "<string>",
"useSsl": true,
"sslCa": "<string>",
"obfuscatedSslCa": "<string>",
"sslCert": "<string>",
"obfuscatedSslCert": "<string>",
"sslKey": "<string>",
"obfuscatedSslKey": "<string>",
"verifyTlsCertificate": true,
"host": "<string>",
"port": "<string>",
"database": "<string>",
"srv": true,
"authenticationDatabase": "<string>",
"replicaSet": "<string>",
"sid": "<string>",
"serviceName": "<string>",
"sshHost": "<string>",
"sshPort": "<string>",
"sshUser": "<string>",
"sshPassword": "<string>",
"obfuscatedSshPassword": "<string>",
"sshPrivateKey": "<string>",
"obfuscatedSshPrivateKey": "<string>",
"authenticationPrivateKey": "<string>",
"obfuscatedAuthenticationPrivateKey": "<string>",
"authenticationPrivateKeyPassphrase": "<string>",
"obfuscatedAuthenticationPrivateKeyPassphrase": "<string>",
"externalSecret": {
"secretType": "SECRET_TYPE_UNSPECIFIED",
"url": "<string>",
"authType": "AUTH_TYPE_UNSPECIFIED",
"appRole": {
"type": "SECRET_TYPE_UNSPECIFIED",
"mountPath": "<string>"
},
"token": "<string>",
"engineName": "<string>",
"secretName": "<string>",
"passwordKeyName": "<string>",
"skipVaultTlsVerification": true,
"vaultSslCa": "<string>",
"obfuscatedVaultSslCa": "<string>",
"vaultSslCert": "<string>",
"obfuscatedVaultSslCert": "<string>",
"vaultSslKey": "<string>",
"obfuscatedVaultSslKey": "<string>"
},
"authenticationType": "AUTHENTICATION_UNSPECIFIED",
"azureCredential": {
"tenantId": "<string>",
"clientId": "<string>"
},
"awsCredential": {},
"gcpCredential": {},
"saslConfig": {
"krbConfig": {
"primary": "<string>",
"instance": "<string>",
"realm": "<string>",
"keytab": "<string>",
"kdcHost": "<string>",
"kdcPort": "<string>",
"kdcTransportProtocol": "<string>"
}
},
"additionalAddresses": [
{
"host": "<string>",
"port": "<string>"
}
],
"directConnection": true,
"region": "<string>",
"warehouseId": "<string>",
"masterName": "<string>",
"masterUsername": "<string>",
"masterPassword": "<string>",
"obfuscatedMasterPassword": "<string>",
"redisType": "REDIS_TYPE_UNSPECIFIED",
"cluster": "<string>",
"extraConnectionParameters": {}
}
],
"syncInterval": "<string>",
"maximumConnections": 123,
"syncDatabases": [
"<string>"
],
"mysqlLowerCaseTableNames": 123,
"lastSyncTime": "2023-11-07T05:31:56Z",
"roles": [
{
"name": "<string>",
"connectionLimit": 123,
"validUntil": "<string>",
"attribute": "<string>"
}
],
"labels": {}
}
],
"nextPageToken": "<string>"
}The maximum number of instances to return. The service may return fewer than this value. If unspecified, at most 10 instances will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
A page token, received from a previous ListInstances call.
Provide this to retrieve the subsequent page.
When paginating, all other parameters provided to ListInstances must match
the call that provided the page token.
Show deleted instances if specified.
Filter the instance. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec
Supported filters:
For example: name == "sample instance" name.matches("sample") resource_id == "sample-instance" resource_id.matches("sample") state == "DELETED" environment == "environments/test" environment == "" (find instances which environment is not set) engine == "MYSQL" engine in ["MYSQL", "POSTGRES"] !(engine in ["MYSQL", "POSTGRES"]) host == "127.0.0.1" host.matches("127.0") port == "54321" port.matches("543") labels.org_group == "infrastructure" labels.environment in ["prod", "production"] project == "projects/sample-project" You can combine filter conditions like: name.matches("sample") && environment == "environments/test" host == "127.0.0.1" && port == "54321"
OK
The instances from the specified request.
Show child attributes
ENGINE_UNSPECIFIED, CLICKHOUSE, MYSQL, POSTGRES, SNOWFLAKE, SQLITE, TIDB, MONGODB, REDIS, ORACLE, SPANNER, MSSQL, REDSHIFT, MARIADB, OCEANBASE, STARROCKS, DORIS, HIVE, ELASTICSEARCH, BIGQUERY, DYNAMODB, DATABRICKS, COCKROACHDB, COSMOSDB, TRINO, CASSANDRA Show child attributes
DATA_SOURCE_UNSPECIFIED, ADMIN, READ_ONLY Use SSL to connect to the data source. By default, we use the system's SSL configuration.
verify_tls_certificate enables TLS certificate verification for SSL connections. Default is false (no verification) for backward compatibility. Set to true for secure connections (recommended for production). Only set to false for development or when certificates cannot be properly validated (e.g., self-signed certs, VPN environments).
srv, authentication_database, and replica_set are used for MongoDB. srv is a boolean flag that indicates whether the host is a DNS SRV record.
authentication_database is the database name to authenticate against, which stores the user credentials.
replica_set is used for MongoDB replica set.
sid and service_name are used for Oracle.
SSH related The hostname of the SSH server agent.
The port of the SSH server agent. It's 22 typically.
The user to login the server.
The password to login the server. If it's empty string, no password is required.
The private key to login the server. If it's empty string, we will use the system default private key from os.Getenv("SSH_AUTH_SOCK").
PKCS#8 private key in PEM format. If it's empty string, no private key is required. Used for authentication when connecting to the data source.
Passphrase for the encrypted PKCS#8 private key. Only used when the private key is encrypted.
Show child attributes
SECRET_TYPE_UNSPECIFIED, VAULT_KV_V2, AWS_SECRETS_MANAGER, GCP_SECRET_MANAGER AUTH_TYPE_UNSPECIFIED, TOKEN, VAULT_APP_ROLE Show child attributes
engine name is the name for secret engine.
the secret name in the engine to store the password.
the key name for the password.
TLS configuration for connecting to Vault server. These fields are separate from the database TLS configuration in DataSource. skip_vault_tls_verification disables TLS certificate verification for Vault connections. Default is false (verification enabled) for security. Only set to true for development or when certificates cannot be properly validated.
CA certificate for Vault server verification.
Client certificate for mutual TLS authentication with Vault.
Client private key for mutual TLS authentication with Vault.
AUTHENTICATION_UNSPECIFIED, PASSWORD, GOOGLE_CLOUD_SQL_IAM, AWS_RDS_IAM, AZURE_IAM Show child attributes
Show child attributes
direct_connection is used for MongoDB to dispatch all the operations to the node specified in the connection string.
Region is the location of the database, used for AWS RDS. For example, us-east-1.
warehouse_id is used by Databricks.
master_name is the master name used by connecting redis-master via redis sentinel.
master_username and master_obfuscated_password are master credentials used by redis sentinel mode.
REDIS_TYPE_UNSPECIFIED, STANDALONE, SENTINEL, CLUSTER Cluster is the cluster name for the data source. Used by CockroachDB.
The interval between automatic instance synchronizations.
The maximum number of connections. The default is 10 if the value is unset or zero.
Enable sync for the following databases. Default empty, means sync all schemas & databases.
The lower_case_table_names config for MySQL instances. It is used to determine whether the table names and database names are case sensitive.
Show child attributes
The role name.
The connection count limit for this role.
The expiration for the role's password.
The role attribute. For PostgreSQL, it contains super_user, no_inherit, create_role, create_db, can_login, replication and bypass_rls. Docs: https://www.postgresql.org/docs/current/role-attributes.html For MySQL, it is the global privileges as GRANT statements, which means it only contains "GRANT ... ON . TO ...". Docs: https://dev.mysql.com/doc/refman/8.0/en/grant.html
A token, which can be sent as page_token to retrieve the next page.
If this field is omitted, there are no subsequent pages.
Was this page helpful?