.. This file is autogenerated by `docs/scripts/generate_mappings.py`. Do not edit by hand. SnowflakeEncryptedPrivateKeyFilePem =================================== Maps Airflow Snowflake connections to dbt profiles if they use a user/private key path. https://docs.getdbt.com/docs/core/connect-data-platform/snowflake-setup#key-pair-authentication 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 SnowflakeEncryptedPrivateKeyFilePemProfileMapping profile = SnowflakeEncryptedPrivateKeyFilePemProfileMapping( 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`` * - ``database`` - True - ``extra.database`` * - ``warehouse`` - True - ``extra.warehouse`` * - ``schema`` - True - ``schema`` * - ``role`` - False - ``extra.role`` * - ``private_key_passphrase`` - True - ``password`` * - ``private_key_path`` - True - ``extra.private_key_file`` 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``.