airflow.providers.google.cloud.hooks.cloud_run

Exceptions

NoLocationSpecifiedException

Custom exception to catch error when location is not specified.

Classes

CloudRunHook

Hook for the Google Cloud Run service.

CloudRunAsyncHook

Async hook for the Google Cloud Run service.

CloudRunServiceHook

Hook for the Google Cloud Run services.

CloudRunServiceAsyncHook

Async hook for the Google Cloud Run services.

Module Contents

exception airflow.providers.google.cloud.hooks.cloud_run.NoLocationSpecifiedException[source]

Bases: Exception

Custom exception to catch error when location is not specified.

class airflow.providers.google.cloud.hooks.cloud_run.CloudRunHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, transport=None, **kwargs)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

Hook for the Google Cloud Run service.

Parameters:
  • gcp_conn_id (str) – The connection ID to use when fetching connection info.

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 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.

  • transport (Literal['rest', 'grpc'] | None) – Optional. The transport to use for API requests. Can be ‘rest’ or ‘grpc’. If set to None, a transport is chosen automatically. Use ‘rest’ if gRPC is not available or fails in your environment (e.g., Docker containers with certain network configurations).

transport = None[source]
get_conn(location=None, use_regional_endpoint=False)[source]

Retrieve the connection to Google Cloud Run.

Parameters:
  • location (str | None) – The location of the project.

  • use_regional_endpoint (bool | None) – If set to True, regional endpoint will be used while creating Client. If not provided, the default one is global endpoint.

Returns:

Cloud Run Jobs client object.

Return type:

google.cloud.run_v2.JobsClient

delete_job(job_name, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]
create_job(job_name, job, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]
update_job(job_name, job, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]
execute_job(job_name, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID, overrides=None)[source]
get_job(job_name, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]
list_jobs(region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID, show_deleted=False, limit=None)[source]
class airflow.providers.google.cloud.hooks.cloud_run.CloudRunAsyncHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, transport=None, **kwargs)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook

Async hook for the Google Cloud Run service.

Parameters:
  • gcp_conn_id (str) – The connection ID to use when fetching connection info.

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 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.

  • transport (Literal['rest', 'grpc'] | None) – Optional. The transport to use for API requests. Can be ‘rest’ or ‘grpc’. When set to ‘rest’, uses the synchronous REST client wrapped with asyncio.to_thread() for compatibility with async triggers. When None or ‘grpc’, uses the native async gRPC transport (grpc_asyncio).

sync_hook_class[source]
transport = None[source]
async get_conn(location=None, use_regional_endpoint=False)[source]

Retrieve the connection to Google Cloud Run.

Parameters:
  • location (str | None) – The location of the project.

  • use_regional_endpoint (bool | None) – If set to True, regional endpoint will be used while creating Client. If not provided, the default one is global endpoint.

Returns:

Cloud Run Jobs client object.

Return type:

google.cloud.run_v2.JobsAsyncClient | google.cloud.run_v2.JobsClient

async get_operation(operation_name, location=None, use_regional_endpoint=False)[source]
class airflow.providers.google.cloud.hooks.cloud_run.CloudRunServiceHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

Hook for the Google Cloud Run services.

Parameters:
  • gcp_conn_id (str) – The connection ID to use when fetching connection info.

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 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.

get_conn(location=None, use_regional_endpoint=False)[source]

Retrieve the connection to Google Cloud Run.

Parameters:
  • location (str | None) – The location of the project.

  • use_regional_endpoint (bool | None) – If set to True, regional endpoint will be used while creating Client. If not provided, the default one is global endpoint.

Returns:

Google Cloud Run client object.

Return type:

google.cloud.run_v2.ServicesClient

get_service(service_name, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]
create_service(service_name, service, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]
delete_service(service_name, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]
class airflow.providers.google.cloud.hooks.cloud_run.CloudRunServiceAsyncHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook

Async hook for the Google Cloud Run services.

Parameters:
  • gcp_conn_id (str) – The connection ID to use when fetching connection info.

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 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.

sync_hook_class[source]
async get_conn(location=None, use_regional_endpoint=False)[source]

Retrieve the connection to Google Cloud Run.

Parameters:
  • location (str | None) – The location of the project.

  • use_regional_endpoint (bool | None) – If set to True, regional endpoint will be used while creating Client. If not provided, the default one is global endpoint.

async create_service(service_name, service, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]
async delete_service(service_name, region, use_regional_endpoint=False, project_id=PROVIDE_PROJECT_ID)[source]

Was this entry helpful?