:py:mod:`airflow.providers.google.cloud.sensors.workflows`
==========================================================

.. py:module:: airflow.providers.google.cloud.sensors.workflows


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.sensors.workflows.WorkflowExecutionSensor




.. py:class:: WorkflowExecutionSensor(*, workflow_id, execution_id, location, project_id = None, success_states = None, failure_states = None, retry = DEFAULT, request_timeout = None, metadata = (), gcp_conn_id = 'google_cloud_default', impersonation_chain = None, **kwargs)

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

   Checks state of an execution for the given ``workflow_id`` and ``execution_id``.

   :param workflow_id: Required. The ID of the workflow.
   :param execution_id: Required. The ID of the execution.
   :param project_id: Required. The ID of the Google Cloud project the cluster belongs to.
   :param location: Required. The Cloud Dataproc region in which to handle the request.
   :param success_states: Execution states to be considered as successful, by default
       it's only ``SUCCEEDED`` state
   :param failure_states: Execution states to be considered as failures, by default
       they are ``FAILED`` and ``CANCELLED`` states.
   :param retry: A retry object used to retry requests. If ``None`` is specified, requests will not be
       retried.
   :param request_timeout: The amount of time, in seconds, to wait for the request to complete. Note that if
       ``retry`` is specified, the timeout applies to each individual attempt.
   :param metadata: Additional metadata that is provided to the method.

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['location', 'workflow_id', 'execution_id']

      

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

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



