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

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

.. autoapi-nested-parse::

   This module contains a Google Cloud Dataform sensor.



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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.sensors.dataform.DataformWorkflowInvocationStateSensor




.. py:class:: DataformWorkflowInvocationStateSensor(*, project_id, region, repository_id, workflow_invocation_id, expected_statuses, failure_statuses = None, gcp_conn_id = 'google_cloud_default', delegate_to = None, impersonation_chain = None, **kwargs)

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

   Checks for the status of a Workflow Invocation in Google Cloud Dataform.

   :param project_id: Required, the Google Cloud project ID in which to start a job.
       If set to None or missing, the default project_id from the Google Cloud connection is used.
   :param region: Required, The location of the Dataform workflow invocation (for example europe-west1).
   :param repository_id: Required. The ID of the Dataform repository that the task belongs to.
   :param workflow_invocation_id: Required, ID of the workflow invocation to be checked.
   :param expected_statuses: The expected state of the operation.
       See:
       https://cloud.google.com/python/docs/reference/dataform/latest/google.cloud.dataform_v1beta1.types.WorkflowInvocation.State
   :param failure_statuses: State that will terminate the sensor with an exception
   :param gcp_conn_id: The connection ID to use connecting to Google Cloud.
   :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. See:
       https://developers.google.com/identity/protocols/oauth2/service-account#delegatingauthority
   :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] = ['workflow_invocation_id']

      

   .. py:method:: poke(context)

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



