..
  This file is autogenerated by `docs/scripts/generate_mappings.py`. Do not edit by hand.


DatabricksOauth
===============



    Maps Airflow Databricks connections with the client auth to dbt profiles.



    https://docs.getdbt.com/reference/warehouse-setups/databricks-setup

    https://airflow.apache.org/docs/apache-airflow-providers-databricks/stable/connections/databricks.html

    

This profile mapping translates Airflow connections with the type ``databricks``
into dbt profiles. To use this profile, import it from ``cosmos.profiles``:

.. code-block:: python

    from cosmos.profiles import DatabricksOauthProfileMapping

    profile = DatabricksOauthProfileMapping(
        conn_id = 'my_databricks_connection',
        profile_args = { ... },
    )

While the profile mapping pulls fields from Airflow connections, you may need to supplement it
with additional ``profile_args``. The below table shows which fields are required, along with those
not required but pulled from the Airflow connection if present. You can also add additional fields
to the ``profile_args`` dict.

.. list-table::
   :header-rows: 1

   * - dbt Field Name
     - Required
     - Airflow Field Name

   
   * - ``host``
     - True
    
     - ``host``
    
    
   * - ``schema``
     - True
    
     - ``schema``
    
    
   * - ``client_id``
     - True
    
     - ``['login', 'extra.client_id']``
    
    
   * - ``client_secret``
     - True
    
     - ``['password', 'extra.client_secret']``
    
    
   * - ``http_path``
     - True
    
     - ``extra.http_path``
    
    


Some notes about the table above:

- This table doesn't necessarily show the full list of fields you *can* pass to the dbt profile. To
  see the full list of fields, see the link to the dbt docs at the top of this page.
- If the Airflow field name starts with an ``extra.``, this means that the field is nested under
  the ``extra`` field in the Airflow connection. For example, if the Airflow field name is
  ``extra.token``, this means that the field is nested under ``extra`` in the Airflow connection,
  and the field name is ``token``.
- If there are multiple Airflow field names, the profile mapping looks at those fields in order.
  For example, if the Airflow field name is ``['password', 'extra.token']``, the profile mapping
  will first look for a field named ``password``. If that field is not present, it will look for
  ``extra.token``.