.. This file is autogenerated by `docs/scripts/generate_mappings.py`. Do not edit by hand. SnowflakeUserPassword ===================== Maps Airflow Snowflake connections to dbt profiles if they use a user/password. https://docs.getdbt.com/reference/warehouse-setups/snowflake-setup https://airflow.apache.org/docs/apache-airflow-providers-snowflake/stable/connections/snowflake.html This profile mapping translates Airflow connections with the type ``snowflake`` into dbt profiles. To use this profile, import it from ``cosmos.profiles``: .. code-block:: python from cosmos.profiles import SnowflakeUserPasswordProfileMapping profile = SnowflakeUserPasswordProfileMapping( conn_id = 'my_snowflake_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 * - ``account`` - True - ``extra.account`` * - ``user`` - True - ``login`` * - ``password`` - True - ``password`` * - ``database`` - True - ``extra.database`` * - ``warehouse`` - True - ``extra.warehouse`` * - ``schema`` - True - ``schema`` * - ``role`` - False - ``extra.role`` * - ``host`` - False - ``extra.host`` * - ``port`` - False - ``extra.port`` 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``.