> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 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](#classes) section below.

## Usage

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

<Tabs>
  <Tab title="Python">
    ```python theme={null}
    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")
    ```
  </Tab>

  <Tab title="R">
    ```r theme={null}
    library(DominoDataR)
    client <- DominoDataR::datasource_client()

    # Query with a different warehouse than configured in Domino
    table <- DominoDataR::query(
      client,
      "snowflake-prod",
      "SELECT COUNT(*) FROM very_large_table",
      DominoDataR::add_override(warehouse = "compute-xxl")
    )

    # Query with temporary credentials
    table <- DominoDataR::query(
      client,
      "snowflake-prod",
      "SELECT secret_data FROM secret_table LIMIT 10",
      DominoDataR::add_override(username = "admin", password="<password>")
    )
    ```
  </Tab>
</Tabs>

To remove the configuration override, simply reset it:

```python theme={null}
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")
```

Relational Data Sources support an optional datetime precision field, which is overridable in the Data API for version 6.3.0 and above. Adjusting the precision prevents extreme datetimes from overflowing. The precision can be set to "seconds", "milliseconds", "microseconds", or "nanoseconds", with "nanoseconds" as the default.

<Tabs>
  <Tab title="Python">
    ```python theme={null}
    from domino.data_sources import DataSourceClient, SnowflakeConfig

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

    # Update to datetime precision to milliseconds to support extremely large datetime values
    snowflake.update(SnowflakeConfig(datetime_precision="milliseconds"))

    res = snowflake.query("SELECT * FROM prod_table")
    ```
  </Tab>

  <Tab title="R">
    ```r theme={null}
    library(DominoDataR)
    client <- DominoDataR::datasource_client()

    # Query with a different datetime precision than the default
    table <- DominoDataR::query(
      client,
      "snowflake-prod",
      "SELECT * FROM prod_table",
      DominoDataR::add_override(datetime_precision = "milliseconds")
    )
    ```
  </Tab>
</Tabs>

## Classes

[Work with Data Source Connectors](/cloud/platform-capabilities/core-concepts/data/data-source-connectors) has instructions on how to set up the Data Sources.

Below are examples of Data Sources and their configurable override options for **v6.7.4** of the Domino Data API.

The source code for these class definitions is available on [GitHub](https://github.com/dominodatalab/domino-data/blob/v6.7.4/domino_data/configuration_gen.py).

### ADLS

```python theme={null}
class domino_data.data_sources.ADLSConfig(
    *, container=None, access_key=None
)
```

ADLS datasource configuration.

| Parameter    | Value           |
| ------------ | --------------- |
| `access_key` | `Optional[str]` |
| `container`  | `Optional[str]` |

### AzureBlobStorage

```python theme={null}
class domino_data.data_sources.AzureBlobStorageConfig(
    *, container=None, access_key=None
)
```

AzureBlobStorage datasource configuration.

| Parameter    | Value           |
| ------------ | --------------- |
| `access_key` | `Optional[str]` |
| `container`  | `Optional[str]` |

### BigQuery

```python theme={null}
class domino_data.data_sources.BigQueryConfig(
    *, gcp_project_id=None, datetime_precision=None, private_key_json=None
)
```

BigQuery datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `private_key_json`   | `Optional[str]` |
| `gcp_project_id`     | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### ClickHouse

```python theme={null}
class domino_data.data_sources.ClickHouseConfig(
    *, datetime_precision=None, username=None, password=None
)
```

ClickHouse datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### Databricks

```python theme={null}
class domino_data.data_sources.DatabricksConfig(
    *, datetime_precision=None, catalog=None, schema=None,
    personal_access_token=None
)
```

Databricks datasource configuration.

| Parameter               | Value           |
| ----------------------- | --------------- |
| `personal_access_token` | `Optional[str]` |
| `datetime_precision`    | `Optional[str]` |
| `catalog`               | `Optional[str]` |
| `schema`                | `Optional[str]` |

### Dataset

```python theme={null}
class domino_data.data_sources.DatasetConfig(
    *, snapshot_id=None, subfolder=None
)
```

Dataset datasource configuration.

| Parameter     | Value           |
| ------------- | --------------- |
| `snapshot_id` | `Optional[str]` |
| `subfolder`   | `Optional[str]` |

### DB2

```python theme={null}
class domino_data.data_sources.DB2Config(
    *, datetime_precision=None, username=None, password=None
)
```

DB2 datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### DB2Native

```python theme={null}
class domino_data.data_sources.DB2NativeConfig(
    *, database=None, datetime_precision=None, username=None,
    password=None, dsn=None
)
```

DB2Native datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `dsn`                | `Optional[str]` |
| `database`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### Druid

```python theme={null}
class domino_data.data_sources.DruidConfig(
    *, datetime_precision=None, username=None, password=None
)
```

Druid datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### GCS

```python theme={null}
class domino_data.data_sources.GCSConfig(
    *, bucket=None, private_key_json=None
)
```

GCS datasource configuration.

| Parameter          | Value           |
| ------------------ | --------------- |
| `private_key_json` | `Optional[str]` |
| `bucket`           | `Optional[str]` |

### GenericJDBC

```python theme={null}
class domino_data.data_sources.GenericJDBCConfig(
    *, datetime_precision=None, username=None, password=None
)
```

GenericJDBC datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### GenericS3

```python theme={null}
class domino_data.data_sources.GenericS3Config(
    *, bucket=None, subfolder=None, host=None,
    region=None, aws_access_key_id=None, aws_secret_access_key=None
)
```

GenericS3 datasource configuration.

| Parameter               | Value           |
| ----------------------- | --------------- |
| `aws_access_key_id`     | `Optional[str]` |
| `aws_secret_access_key` | `Optional[str]` |
| `bucket`                | `Optional[str]` |
| `subfolder`             | `Optional[str]` |
| `host`                  | `Optional[str]` |
| `region`                | `Optional[str]` |

### Greenplum

```python theme={null}
class domino_data.data_sources.GreenplumConfig(
    *, datetime_precision=None, username=None, password=None
)
```

Greenplum datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### Ignite

```python theme={null}
class domino_data.data_sources.IgniteConfig(
    *, datetime_precision=None, username=None, password=None
)
```

Ignite datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### MariaDB

```python theme={null}
class domino_data.data_sources.MariaDBConfig(
    *, datetime_precision=None, username=None, password=None
)
```

MariaDB datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### MongoDB

```python theme={null}
class domino_data.data_sources.MongoDBConfig(
    *, datetime_precision=None, username=None, password=None
)
```

MongoDB datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### MySQL

```python theme={null}
class domino_data.data_sources.MySQLConfig(
    *, database=None, datetime_precision=None, region=None,
    username=None, password=None, aws_access_key_id=None, aws_secret_access_key=None,
    aws_session_token=None
)
```

MySQL datasource configuration.

| Parameter               | Value           |
| ----------------------- | --------------- |
| `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]` |
| `datetime_precision`    | `Optional[str]` |
| `region`                | `Optional[str]` |

### Netezza

```python theme={null}
class domino_data.data_sources.NetezzaConfig(
    *, datetime_precision=None, username=None, password=None
)
```

Netezza datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### Oracle

```python theme={null}
class domino_data.data_sources.OracleConfig(
    *, database=None, datetime_precision=None, username=None,
    password=None, client_cert=None, client_key=None, ca_cert=None
)
```

Oracle datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `client_cert`        | `Optional[str]` |
| `client_key`         | `Optional[str]` |
| `ca_cert`            | `Optional[str]` |
| `database`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### Palantir

```python theme={null}
class domino_data.data_sources.PalantirConfig(
    *, datetime_precision=None, client_id=None, client_secret=None,
    o_auth_token=None
)
```

Palantir datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `client_id`          | `Optional[str]` |
| `client_secret`      | `Optional[str]` |
| `o_auth_token`       | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### PostgreSQL

```python theme={null}
class domino_data.data_sources.PostgreSQLConfig(
    *, database=None, datetime_precision=None, region=None,
    username=None, password=None, aws_access_key_id=None, aws_secret_access_key=None,
    aws_session_token=None, client_cert=None, client_key=None, ca_cert=None
)
```

PostgreSQL datasource configuration.

| Parameter               | Value           |
| ----------------------- | --------------- |
| `username`              | `Optional[str]` |
| `password`              | `Optional[str]` |
| `aws_access_key_id`     | `Optional[str]` |
| `aws_secret_access_key` | `Optional[str]` |
| `aws_session_token`     | `Optional[str]` |
| `client_cert`           | `Optional[str]` |
| `client_key`            | `Optional[str]` |
| `ca_cert`               | `Optional[str]` |
| `database`              | `Optional[str]` |
| `datetime_precision`    | `Optional[str]` |
| `region`                | `Optional[str]` |

### Redshift

```python theme={null}
class domino_data.data_sources.RedshiftConfig(
    *, database=None, datetime_precision=None, region=None,
    username=None, password=None, aws_access_key_id=None, aws_secret_access_key=None,
    aws_session_token=None
)
```

Redshift datasource configuration.

| Parameter               | Value           |
| ----------------------- | --------------- |
| `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]` |
| `datetime_precision`    | `Optional[str]` |
| `region`                | `Optional[str]` |

### S3

```python theme={null}
class domino_data.data_sources.S3Config(
    *, bucket=None, subfolder=None, region=None,
    aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None
)
```

S3 datasource configuration.

| Parameter               | Value           |
| ----------------------- | --------------- |
| `aws_access_key_id`     | `Optional[str]` |
| `aws_secret_access_key` | `Optional[str]` |
| `aws_session_token`     | `Optional[str]` |
| `bucket`                | `Optional[str]` |
| `subfolder`             | `Optional[str]` |
| `region`                | `Optional[str]` |

### SAPHana

```python theme={null}
class domino_data.data_sources.SAPHanaConfig(
    *, datetime_precision=None, username=None, password=None
)
```

SAPHana datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### SingleStore

```python theme={null}
class domino_data.data_sources.SingleStoreConfig(
    *, datetime_precision=None, username=None, password=None
)
```

SingleStore datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### SQLServer

```python theme={null}
class domino_data.data_sources.SQLServerConfig(
    *, database=None, datetime_precision=None, username=None,
    password=None
)
```

SQLServer datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `database`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### Snowflake

```python theme={null}
class domino_data.data_sources.SnowflakeConfig(
    *, datetime_precision=None, database=None, role=None,
    schema=None, warehouse=None, username=None, private_key=None,
    passphrase=None, password=None, token=None
)
```

Snowflake datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `private_key`        | `Optional[str]` |
| `passphrase`         | `Optional[str]` |
| `password`           | `Optional[str]` |
| `token`              | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |
| `database`           | `Optional[str]` |
| `role`               | `Optional[str]` |
| `schema`             | `Optional[str]` |
| `warehouse`          | `Optional[str]` |

### Synapse

```python theme={null}
class domino_data.data_sources.SynapseConfig(
    *, datetime_precision=None, username=None, password=None
)
```

Synapse datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### TabularS3Glue

```python theme={null}
class domino_data.data_sources.TabularS3GlueConfig(
    *, database=None, datetime_precision=None, region=None
)
```

TabularS3Glue datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `database`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |
| `region`             | `Optional[str]` |

### Teradata

```python theme={null}
class domino_data.data_sources.TeradataConfig(
    *, datetime_precision=None, username=None, password=None
)
```

Teradata datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### Trino

```python theme={null}
class domino_data.data_sources.TrinoConfig(
    *, catalog=None, datetime_precision=None, schema=None,
    username=None, password=None
)
```

Trino datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `catalog`            | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |
| `schema`             | `Optional[str]` |

### Vertica

```python theme={null}
class domino_data.data_sources.VerticaConfig(
    *, datetime_precision=None, username=None, password=None
)
```

Vertica datasource configuration.

| Parameter            | Value           |
| -------------------- | --------------- |
| `username`           | `Optional[str]` |
| `password`           | `Optional[str]` |
| `datetime_precision` | `Optional[str]` |

### NetAppVolume

```python theme={null}
class domino_data.data_sources.NetAppVolumeConfig(
    *, snapshot_version=None, subfolder=None
)
```

NetAppVolume datasource configuration.

| Parameter          | Value           |
| ------------------ | --------------- |
| `snapshot_version` | `Optional[str]` |
| `subfolder`        | `Optional[str]` |
