:py:mod:`airflow.providers.google.common.links.storage`
=======================================================

.. py:module:: airflow.providers.google.common.links.storage

.. autoapi-nested-parse::

   This module contains a link for GCS Storage assets.



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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.common.links.storage.StorageLink
   airflow.providers.google.common.links.storage.FileDetailsLink




Attributes
~~~~~~~~~~

.. autoapisummary::

   airflow.providers.google.common.links.storage.BASE_LINK
   airflow.providers.google.common.links.storage.GCS_STORAGE_LINK
   airflow.providers.google.common.links.storage.GCS_FILE_DETAILS_LINK


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

   

.. py:data:: GCS_STORAGE_LINK
   

   

.. py:data:: GCS_FILE_DETAILS_LINK
   

   

.. py:class:: StorageLink

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

   Helper class for constructing GCS Storage link

   .. py:attribute:: name
      :annotation: = GCS Storage

      

   .. py:attribute:: key
      :annotation: = storage_conf

      

   .. py:attribute:: format_str
      

      

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



.. py:class:: FileDetailsLink

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

   Helper class for constructing GCS file details link

   .. py:attribute:: name
      :annotation: = GCS File Details

      

   .. py:attribute:: key
      :annotation: = file_details

      

   .. py:attribute:: format_str
      

      

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



