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

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


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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.links.bigtable.BigtableInstanceLink
   airflow.providers.google.cloud.links.bigtable.BigtableClusterLink
   airflow.providers.google.cloud.links.bigtable.BigtableTablesLink




Attributes
~~~~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.links.bigtable.BASE_LINK
   airflow.providers.google.cloud.links.bigtable.BIGTABLE_BASE_LINK
   airflow.providers.google.cloud.links.bigtable.BIGTABLE_INSTANCE_LINK
   airflow.providers.google.cloud.links.bigtable.BIGTABLE_CLUSTER_LINK
   airflow.providers.google.cloud.links.bigtable.BIGTABLE_TABLES_LINK


.. py:data:: BASE_LINK
   :annotation: = https://console.cloud.google.com

   

.. py:data:: BIGTABLE_BASE_LINK
   

   

.. py:data:: BIGTABLE_INSTANCE_LINK
   

   

.. py:data:: BIGTABLE_CLUSTER_LINK
   

   

.. py:data:: BIGTABLE_TABLES_LINK
   

   

.. py:class:: BigtableInstanceLink

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

   Helper class for constructing Bigtable Instance link

   .. py:attribute:: name
      :annotation: = Bigtable Instance

      

   .. py:attribute:: key
      :annotation: = instance_key

      

   .. py:attribute:: format_str
      

      

   .. py:method:: persist(context, task_instance)
      :staticmethod:



.. py:class:: BigtableClusterLink

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

   Helper class for constructing Bigtable Cluster link

   .. py:attribute:: name
      :annotation: = Bigtable Cluster

      

   .. py:attribute:: key
      :annotation: = cluster_key

      

   .. py:attribute:: format_str
      

      

   .. py:method:: persist(context, task_instance)
      :staticmethod:



.. py:class:: BigtableTablesLink

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

   Helper class for constructing Bigtable Tables link

   .. py:attribute:: name
      :annotation: = Bigtable Tables

      

   .. py:attribute:: key
      :annotation: = tables_key

      

   .. py:attribute:: format_str
      

      

   .. py:method:: persist(context, task_instance)
      :staticmethod:



