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

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

.. autoapi-nested-parse::

   This module contains a Google Cloud Data Fusion sensors.



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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.sensors.datafusion.CloudDataFusionPipelineStateSensor




.. py:class:: CloudDataFusionPipelineStateSensor(pipeline_name, pipeline_id, expected_statuses, instance_name, location, failure_statuses = None, project_id = None, namespace = 'default', gcp_conn_id = 'google_cloud_default', delegate_to = None, impersonation_chain = None, **kwargs)

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

   Check the status of the pipeline in the Google Cloud Data Fusion

   :param pipeline_name: Your pipeline name.
   :param pipeline_id: Your pipeline ID.
   :param expected_statuses: State that is expected
   :param failure_statuses: State that will terminate the sensor with an exception
   :param instance_name: The name of the instance.
   :param location: The Cloud Data Fusion location in which to handle the request.
   :param project_id: The ID of the Google Cloud project that the instance belongs to.
   :param namespace: If your pipeline belongs to a Basic edition instance, the namespace ID
       is always default. If your pipeline belongs to an Enterprise edition instance, you
       can create a namespace.
   :param gcp_conn_id: The connection ID to use when fetching connection info.
   :param delegate_to: The account to impersonate using domain-wide delegation of authority,
       if any. For this to work, the service account making the request must have
       domain-wide delegation enabled.
   :param impersonation_chain: Optional service account to impersonate using short-term
       credentials, or chained list of accounts required to get the access_token
       of the last account in the list, which will be impersonated in the request.
       If set as a string, the account must grant the originating account
       the Service Account Token Creator IAM role.
       If set as a sequence, the identities from the list must grant
       Service Account Token Creator IAM role to the directly preceding identity, with first
       account from the list granting this role to the originating account (templated).


   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['pipeline_id']

      

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

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



