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

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

.. autoapi-nested-parse::

   Hook for Secrets Manager service



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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.hooks.secret_manager.SecretsManagerHook




.. py:class:: SecretsManagerHook(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 the Google Secret Manager API.

   See https://cloud.google.com/secret-manager

   All the methods in the hook where project_id is used must be called with
   keyword arguments rather than positional.

   :param gcp_conn_id: The connection ID to use when fetching connection info.
   :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.
   :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.

   .. py:method:: get_conn(self)

      Retrieves the connection to Secret Manager.

      :return: Secret Manager client.
      :rtype: airflow.providers.google.cloud._internal_client.secret_manager_client._SecretManagerClient


   .. py:method:: get_secret(self, secret_id, secret_version = 'latest', project_id = None)

      Get secret value from the Secret Manager.

      :param secret_id: Secret Key
      :param secret_version: version of the secret (default is 'latest')
      :param project_id: Project id (if you want to override the project_id from credentials)



