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

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

.. autoapi-nested-parse::

   This module contains Google DataFusion hook.



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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.hooks.datafusion.PipelineStates
   airflow.providers.google.cloud.hooks.datafusion.DataFusionHook




Attributes
~~~~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.hooks.datafusion.Operation
   airflow.providers.google.cloud.hooks.datafusion.FAILURE_STATES
   airflow.providers.google.cloud.hooks.datafusion.SUCCESS_STATES


.. py:data:: Operation
   

   

.. py:class:: PipelineStates

   Data Fusion pipeline states

   .. py:attribute:: PENDING
      :annotation: = PENDING

      

   .. py:attribute:: STARTING
      :annotation: = STARTING

      

   .. py:attribute:: RUNNING
      :annotation: = RUNNING

      

   .. py:attribute:: SUSPENDED
      :annotation: = SUSPENDED

      

   .. py:attribute:: RESUMING
      :annotation: = RESUMING

      

   .. py:attribute:: COMPLETED
      :annotation: = COMPLETED

      

   .. py:attribute:: FAILED
      :annotation: = FAILED

      

   .. py:attribute:: KILLED
      :annotation: = KILLED

      

   .. py:attribute:: REJECTED
      :annotation: = REJECTED

      


.. py:data:: FAILURE_STATES
   

   

.. py:data:: SUCCESS_STATES
   

   

.. py:class:: DataFusionHook(api_version = 'v1beta1', gcp_conn_id = 'google_cloud_default', delegate_to = None, impersonation_chain = None)

   Bases: :py:obj:`airflow.providers.google.common.hooks.base_google.GoogleBaseHook`

   Hook for Google DataFusion.

   .. py:method:: wait_for_operation(self, operation)

      Waits for long-lasting operation to complete.


   .. py:method:: wait_for_pipeline_state(self, pipeline_name, pipeline_id, instance_url, namespace = 'default', success_states = None, failure_states = None, timeout = 5 * 60)

      Polls pipeline state and raises an exception if the state is one of
      `failure_states` or the operation timed_out.


   .. py:method:: get_conn(self)

      Retrieves connection to DataFusion.


   .. py:method:: restart_instance(self, instance_name, location, project_id)

      Restart a single Data Fusion instance.
      At the end of an operation instance is fully restarted.

      :param instance_name: The name of the instance to restart.
      :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.


   .. py:method:: delete_instance(self, instance_name, location, project_id)

      Deletes a single Date Fusion instance.

      :param instance_name: The name of the instance to delete.
      :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.


   .. py:method:: create_instance(self, instance_name, instance, location, project_id = PROVIDE_PROJECT_ID)

      Creates a new Data Fusion instance in the specified project and location.

      :param instance_name: The name of the instance to create.
      :param instance: An instance of Instance.
          https://cloud.google.com/data-fusion/docs/reference/rest/v1beta1/projects.locations.instances#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.


   .. py:method:: get_instance(self, instance_name, location, project_id)

      Gets details of a single Data Fusion instance.

      :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.


   .. py:method:: patch_instance(self, instance_name, instance, update_mask, location, project_id = PROVIDE_PROJECT_ID)

      Updates a single Data Fusion instance.

      :param instance_name: The name of the instance to create.
      :param instance: An instance of Instance.
          https://cloud.google.com/data-fusion/docs/reference/rest/v1beta1/projects.locations.instances#Instance
      :param update_mask: Field mask is used to specify the fields that the update will overwrite
          in an instance resource. The fields specified in the updateMask are relative to the resource,
          not the full request. A field will be overwritten if it is in the mask. If the user does not
          provide a mask, all the supported fields (labels and options currently) will be overwritten.
          A comma-separated list of fully qualified names of fields. Example: "user.displayName,photo".
          https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?_ga=2.205612571.-968688242.1573564810#google.protobuf.FieldMask
      :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.


   .. py:method:: create_pipeline(self, pipeline_name, pipeline, instance_url, namespace = 'default')

      Creates a Cloud Data Fusion pipeline.

      :param pipeline_name: Your pipeline name.
      :param pipeline: The pipeline definition. For more information check:
          https://docs.cdap.io/cdap/current/en/developer-manual/pipelines/developing-pipelines.html#pipeline-configuration-file-format
      :param instance_url: Endpoint on which the REST APIs is accessible for the instance.
      :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.


   .. py:method:: delete_pipeline(self, pipeline_name, instance_url, version_id = None, namespace = 'default')

      Deletes a Cloud Data Fusion pipeline.

      :param pipeline_name: Your pipeline name.
      :param version_id: Version of pipeline to delete
      :param instance_url: Endpoint on which the REST APIs is accessible for the instance.
      :param namespace: f 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.


   .. py:method:: list_pipelines(self, instance_url, artifact_name = None, artifact_version = None, namespace = 'default')

      Lists Cloud Data Fusion pipelines.

      :param artifact_version: Artifact version to filter instances
      :param artifact_name: Artifact name to filter instances
      :param instance_url: Endpoint on which the REST APIs is accessible for the instance.
      :param namespace: f 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.


   .. py:method:: get_pipeline_workflow(self, pipeline_name, instance_url, pipeline_id, namespace = 'default')


   .. py:method:: start_pipeline(self, pipeline_name, instance_url, namespace = 'default', runtime_args = None)

      Starts a Cloud Data Fusion pipeline. Works for both batch and stream pipelines.

      :param pipeline_name: Your pipeline name.
      :param instance_url: Endpoint on which the REST APIs is accessible for the instance.
      :param runtime_args: Optional runtime JSON args to be passed to the pipeline
      :param namespace: f 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.


   .. py:method:: stop_pipeline(self, pipeline_name, instance_url, namespace = 'default')

      Stops a Cloud Data Fusion pipeline. Works for both batch and stream pipelines.

      :param pipeline_name: Your pipeline name.
      :param instance_url: Endpoint on which the REST APIs is accessible for the instance.
      :param namespace: f 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.



