:py:mod:`airflow.providers.google.cloud.operators.life_sciences`
================================================================

.. py:module:: airflow.providers.google.cloud.operators.life_sciences

.. autoapi-nested-parse::

   Operators that interact with Google Cloud Life Sciences service.



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

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.google.cloud.operators.life_sciences.LifeSciencesRunPipelineOperator




.. py:class:: LifeSciencesRunPipelineOperator(*, body, location, project_id = None, gcp_conn_id = 'google_cloud_default', api_version = 'v2beta', impersonation_chain = None, **kwargs)

   Bases: :py:obj:`airflow.models.BaseOperator`

   Runs a Life Sciences Pipeline

   .. seealso::
       For more information on how to use this operator, take a look at the guide:
       :ref:`howto/operator:LifeSciencesRunPipelineOperator`

   :param body: The request body
   :param location: The location of the project
   :param project_id: ID of the Google Cloud project if None then
       default project_id is used.
   :param gcp_conn_id: The connection ID to use to connect to Google Cloud.
   :param api_version: API version used (for example v2beta).
   :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 (templated).

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['body', 'gcp_conn_id', 'api_version', 'impersonation_chain']

      

   .. py:attribute:: operator_extra_links
      

      

   .. py:method:: execute(context)

      This is the main method to derive when creating an operator.
      Context is the same dictionary used as when rendering jinja templates.

      Refer to get_template_context for more context.



