:py:mod:`airflow.providers.datadog.sensors.datadog`
===================================================

.. py:module:: airflow.providers.datadog.sensors.datadog


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.datadog.sensors.datadog.DatadogSensor




.. py:class:: DatadogSensor(*, datadog_conn_id = 'datadog_default', from_seconds_ago = 3600, up_to_seconds_from_now = 0, priority = None, sources = None, tags = None, response_check = None, **kwargs)

   Bases: :py:obj:`airflow.sensors.base.BaseSensorOperator`

   A sensor to listen, with a filter, to datadog event streams and determine
   if some event was emitted.

   Depends on the datadog API, which has to be deployed on the same server where
   Airflow runs.

   :param datadog_conn_id: The connection to datadog, containing metadata for api keys.
   :param from_seconds_ago: POSIX timestamp start (default 3600).
   :param up_to_seconds_from_now: POSIX timestamp end (default 0).
   :param priority: Priority of your events, either low or normal.
   :param sources: A comma separated list indicating what tags, if any,
       should be used to filter the list of monitors by scope
   :param tags: Get datadog events from specific sources.
   :param response_check: A check against the ‘requests’ response object. The callable takes
       the response object as the first positional argument and optionally any number of
       keyword arguments available in the context dictionary. It should return True for
       ‘pass’ and False otherwise.
   :param response_check: Optional[Callable[[Dict[str, Any]], bool]]

   .. py:attribute:: ui_color
      :annotation: = #66c3dd

      

   .. py:method:: poke(self, context)

      Function that the sensors defined while deriving this class should
      override.



