Implementation:Astronomer Astronomer cosmos ExasolUserPasswordProfileMapping
| Knowledge Sources | |
|---|---|
| Domains | Profile_Mapping, Exasol |
| Last Updated | 2026-02-07 17:00 GMT |
Overview
Concrete tool for mapping Airflow exasol connections to dbt exasol profiles provided by astronomer-cosmos.
Description
The ExasolUserPasswordProfileMapping maps an Airflow exasol connection to a dbt exasol profile. It translates connection parameters (host, login, password, schema, port, extras) into the YAML structure that dbt expects in `profiles.yml`. This is a community-contributed adapter (`is_community=True`). It maps host, port, user, password, schema, and optional threading and encryption settings from the Airflow connection to the dbt Exasol profile fields.
Usage
Use this profile mapping when configuring Cosmos to run dbt commands against an Exasol backend. Assign it to `ProfileConfig(profile_mapping=...)` when the target Airflow connection uses the `exasol` connection type.
Code Reference
Source Location
- Repository: Astronomer_Astronomer_cosmos
- File: cosmos/profiles/exasol/user_pass.py
Signature
class ExasolUserPasswordProfileMapping(BaseProfileMapping):
airflow_connection_type: str = "exasol"
dbt_profile_type: str = "exasol"
is_community: bool = True
Import
from cosmos.profiles.exasol import ExasolUserPasswordProfileMapping
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| conn_id | str | Yes | Airflow connection ID for Exasol |
Outputs
| Name | Type | Description |
|---|---|---|
| profile | dict | dbt profile YAML dictionary |
| env_vars | dict | Environment variables for secret fields |
Usage Examples
from cosmos.config import ProfileConfig
from cosmos.profiles.exasol import ExasolUserPasswordProfileMapping
profile_config = ProfileConfig(
profile_name="default",
target_name="dev",
profile_mapping=ExasolUserPasswordProfileMapping(conn_id="exasol_default"),
)