Configuration override

Data Source configurations are set in the Data / Data Sources panel of the Domino UI. You can update it there for any permanent change.

Some configuration attributes can be overridden locally in the API. A sample of Data Source type configuration is described in the Classes section below.

Usage

You can create a configuration override with any of the config classes and update your Data Source entity:

from domino.data_sources import DataSourceClient, SnowflakeConfig

snowflake = DataSourceClient().get_datasource("snowflake-prod")

# Build a override config with a different warehouse than configured in Domino
config_xxl = SnowflakeConfig(warehouse="compute-xxl")

# Local update with no permanent change
snowflake.update(config=config_xxl)
res = snowflake.query("SELECT COUNT(*) FROM very_large_table")

# Override can also be used for temporary credentials
snowflake.update(config=SnowflakeConfig(username="admin", password="<password>"))
res = snowflake.query("SELECT secret_data FROM secret_table LIMIT 10")

To remove the configuration override, simply reset it:

from domino.data_sources import DataSourceClient, SnowflakeConfig

snowflake = DataSourceClient().get_datasource("snowflake-prod")
# Update to dev database
snowflake.update(SnowflakeConfig(database="dev"))

# Reset to default values
snowflake.reset_config()
res = snowflake.query("SELECT * FROM prod_table")

Classes

Below are examples of Data Sources and their configurable override options for v5.7.2 of the Domino Data API.

The source code for these class definitions is available on GitHub.

Work with Data Source Connectors has instructions on how to set up the Data Sources.

ADLS

class domino_data.data_sources.ADLSConfig(
    *, container=None, access_key=None
)

ADLS datasource configuration.

ParameterValue

access_key

Optional[str]

container

Optional[str]

BigQuery

class domino_data.data_sources.BigQueryConfig(
    *, gcp_project_id=None, private_key_json=None
)

BigQuery datasource configuration.

ParameterValue

private_key_json

Optional[str]

gcp_project_id

Optional[str]

GCS

class domino_data.data_sources.GCSConfig(
    *, bucket=None, private_key_json=None
)

GCS datasource configuration.

ParameterValue

private_key_json

Optional[str]

bucket

Optional[str]

GenericS3

class domino_data.data_sources.GenericS3Config(
    *, bucket=None, host=None, region=None,
    aws_access_key_id=None, aws_secret_access_key=None
)

GenericS3 datasource configuration.

ParameterValue

aws_access_key_id

Optional[str]

aws_secret_access_key

Optional[str]

bucket

Optional[str]

host

Optional[str]

region

Optional[str]

MongoDB

class domino_data.data_sources.MongoDBConfig(
    *, username=None, password=None
)

MongoDB datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

MySQL

class domino_data.data_sources.MySQLConfig(
    *, database=None, region=None, username=None,
    password=None, aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None
)

MySQL datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

aws_access_key_id

Optional[str]

aws_secret_access_key

Optional[str]

aws_session_token

Optional[str]

database

Optional[str]

region

Optional[str]

Oracle

class domino_data.data_sources.OracleConfig(
    *, database=None, username=None, password=None
)

Oracle datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

database

Optional[str]

PostgreSQL

class domino_data.data_sources.PostgreSQLConfig(
    *, database=None, region=None, username=None,
    password=None, aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None
)

PostgreSQL datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

aws_access_key_id

Optional[str]

aws_secret_access_key

Optional[str]

aws_session_token

Optional[str]

database

Optional[str]

region

Optional[str]

Redshift

class domino_data.data_sources.RedshiftConfig(
    *, database=None, region=None, username=None,
    password=None, aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None
)

Redshift datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

aws_access_key_id

Optional[str]

aws_secret_access_key

Optional[str]

aws_session_token

Optional[str]

database

Optional[str]

region

Optional[str]

S3

class domino_data.data_sources.S3Config(
    *, bucket=None, region=None, aws_access_key_id=None,
    aws_secret_access_key=None, aws_session_token=None
)

S3 datasource configuration.

ParameterValue

aws_access_key_id

Optional[str]

aws_secret_access_key

Optional[str]

aws_session_token

Optional[str]

bucket

Optional[str]

region

Optional[str]

SQLServer

class domino_data.data_sources.SQLServerConfig(
    *, database=None, username=None, password=None
)

SQLServer datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

database

Optional[str]

Snowflake

class domino_data.data_sources.SnowflakeConfig(
    *, database=None, role=None, schema=None,
    warehouse=None, username=None, password=None, token=None
)

Snowflake datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

token

Optional[str]

database

Optional[str]

role

Optional[str]

schema

Optional[str]

warehouse

Optional[str]

TabularS3Glue

class domino_data.data_sources.TabularS3GlueConfig(
    *, database=None, region=None
)

TabularS3Glue datasource configuration.

ParameterValue

database

Optional[str]

region

Optional[str]

Teradata

class domino_data.data_sources.TeradataConfig(
    *, username=None, password=None
)

Teradata datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

Trino

class domino_data.data_sources.TrinoConfig(
    *, catalog=None, schema=None, username=None,
    password=None
)

Trino datasource configuration.

ParameterValue

username

Optional[str]

password

Optional[str]

catalog

Optional[str]

schema

Optional[str]

Palantir

class domino_data.data_sources.PalantirConfig(
    *, client_id=None, client_secret=None
)

Palantir datasource configuration.

ParameterValue

client_id

Optional[str]

client_secret

Optional[str]