:py:mod:`airflow.providers.google.cloud.links.cloud_tasks`
==========================================================

.. py:module:: airflow.providers.google.cloud.links.cloud_tasks

.. autoapi-nested-parse::

   This module contains Google Cloud Tasks links.



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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.links.cloud_tasks.CloudTasksQueueLink
   airflow.providers.google.cloud.links.cloud_tasks.CloudTasksLink




Attributes
~~~~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.links.cloud_tasks.CLOUD_TASKS_BASE_LINK
   airflow.providers.google.cloud.links.cloud_tasks.CLOUD_TASKS_QUEUE_LINK
   airflow.providers.google.cloud.links.cloud_tasks.CLOUD_TASKS_LINK


.. py:data:: CLOUD_TASKS_BASE_LINK
   :annotation: = https://pantheon.corp.google.com/cloudtasks

   

.. py:data:: CLOUD_TASKS_QUEUE_LINK
   

   

.. py:data:: CLOUD_TASKS_LINK
   

   

.. py:class:: CloudTasksQueueLink

   Bases: :py:obj:`airflow.providers.google.cloud.links.base.BaseGoogleLink`

   Helper class for constructing Cloud Task Queue Link

   .. py:attribute:: name
      :annotation: = Cloud Tasks Queue

      

   .. py:attribute:: key
      :annotation: = cloud_task_queue

      

   .. py:attribute:: format_str
      

      

   .. py:method:: extract_parts(queue_name)
      :staticmethod:

      Extract project_id, location and queue id from queue name:
      projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID


   .. py:method:: persist(operator_instance, context, queue_name)
      :staticmethod:



.. py:class:: CloudTasksLink

   Bases: :py:obj:`airflow.providers.google.cloud.links.base.BaseGoogleLink`

   Helper class for constructing Cloud Task Link

   .. py:attribute:: name
      :annotation: = Cloud Tasks

      

   .. py:attribute:: key
      :annotation: = cloud_task

      

   .. py:attribute:: format_str
      

      

   .. py:method:: persist(operator_instance, context, project_id)
      :staticmethod:



