:py:mod:`airflow.providers.slack.utils`
=======================================

.. py:module:: airflow.providers.slack.utils


Package Contents
----------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.slack.utils.ArgNotSet
   airflow.providers.slack.utils.ConnectionExtraConfig



Functions
~~~~~~~~~

.. autoapisummary::

   airflow.providers.slack.utils.prefixed_extra_field



.. py:class:: ArgNotSet

   Sentinel type for annotations, useful when None is not viable.


.. py:function:: prefixed_extra_field(field, conn_type)

   Get prefixed extra field name.


.. py:class:: ConnectionExtraConfig(conn_type, conn_id = None, extra = None)

   Helper class for rom Connection Extra.

   :param conn_type: Hook connection type.
   :param conn_id: Connection ID uses for appropriate error messages.
   :param extra: Connection extra dictionary.

   .. py:method:: get(field, default = NOTSET)

      Get specified field from Connection Extra.

      :param field: Connection extra field name.
      :param default: If specified then use as default value if field not present in Connection Extra.


   .. py:method:: getint(field, default = NOTSET)

      Get specified field from Connection Extra and evaluate as integer.

      :param field: Connection extra field name.
      :param default: If specified then use as default value if field not present in Connection Extra.



