airflow.providers.google.cloud.operators.compute

本模組包含 Google Compute Engine operator。

屬性

SET_MACHINE_TYPE_VALIDATION_SPECIFICATION

GCE_INSTANCE_TEMPLATE_VALIDATION_PATCH_SPECIFICATION

GCE_INSTANCE_FIELDS_TO_SANITIZE

ComputeEngineBaseOperator

供 Google Compute Engine operator 繼承的抽象基類。

ComputeEngineInsertInstanceOperator

在 Google Compute Engine 中根據指定引數建立一個例項。

ComputeEngineInsertInstanceFromTemplateOperator

在 Google Compute Engine 中根據現有模板的指定引數建立一個例項。

ComputeEngineDeleteInstanceOperator

刪除 Google Compute Engine 中的一個例項。

ComputeEngineStartInstanceOperator

啟動 Google Compute Engine 中的一個例項。

ComputeEngineStopInstanceOperator

停止 Google Compute Engine 中的一個例項。

ComputeEngineSetMachineTypeOperator

將已停止例項的機器型別更改為請求中指定的機器型別。

ComputeEngineInsertInstanceTemplateOperator

使用指定欄位建立一個例項模板。

ComputeEngineDeleteInstanceTemplateOperator

刪除 Google Compute Engine 中的一個例項模板。

ComputeEngineCopyInstanceTemplateOperator

複製例項模板,應用指定的更改。

ComputeEngineInstanceGroupUpdateManagerTemplateOperator

修補例項組管理器,將源模板 URL 替換為目標 URL。

ComputeEngineInsertInstanceGroupManagerOperator

使用指定的 body 建立一個例項組管理器。

ComputeEngineDeleteInstanceGroupManagerOperator

永久且不可撤銷地刪除一個例項組管理器。

模組內容

class airflow.providers.google.cloud.operators.compute.ComputeEngineBaseOperator(*, zone, resource_id=None, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', api_version='v1', impersonation_chain=None, **kwargs)[原始碼]

基類: airflow.providers.google.cloud.operators.cloud_base.GoogleCloudBaseOperator

供 Google Compute Engine operator 繼承的抽象基類。

project_id = None[原始碼]
zone[原始碼]
resource_id = None[原始碼]
gcp_conn_id = 'google_cloud_default'[原始碼]
api_version = 'v1'[原始碼]
impersonation_chain = None[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineInsertInstanceOperator(*, body, zone, resource_id=None, project_id=PROVIDE_PROJECT_ID, request_id=None, retry=None, timeout=None, metadata=(), gcp_conn_id='google_cloud_default', api_version='v1', validate_body=True, impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

在 Google Compute Engine 中根據指定引數建立一個例項。

另請參閱

有關如何使用此 operator 的更多資訊,請參閱指南: ComputeEngineInsertInstanceOperator

引數:
  • body (dict) – 例項的物件表示。應至少包含“name”、“machine_type”、“disks”和“network_interfaces”欄位,但不包含“zone”欄位,因為該欄位將在“zone”引數中指定。完整的或部分 URL,示例如下: 1. “machine_type”: “projects/your-project-name/zones/your-zone/machineTypes/your-machine-type” 2. “disk_type”: “projects/your-project-name/zones/your-zone/diskTypes/your-disk-type” 3. “subnetwork”: “projects/your-project-name/regions/your-region/subnetworks/your-subnetwork”

  • zone (str) – 例項所在的 Google Cloud 區域

  • project_id (str) – Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • resource_id (str | None) – 例項的名稱。如果在 body[‘name’] 中未指定例項的名稱,則將從“resource_id”引數中獲取名稱。

  • request_id (str | None) – 您可以新增的唯一 request_id,以實現完全冪等性(例如,當客戶端呼叫超時時,重複使用相同 request_id 的請求將不會再次建立新的例項模板)。它應採用 RFC 4122 中定義的 UUID 格式。

  • gcp_conn_id (str) – 用於連線到 Google Cloud 的連線 ID。預設為“google_cloud_default”。

  • api_version (str) – 使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 使用短期憑據模擬的服務帳號,或獲取列表中最後一個帳號的 access_token 所需的帳號鏈,該帳號將在請求中被模擬。如果設定為字串,則該帳號必須授予發起帳號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予直接前一個身份 Service Account Token Creator IAM 角色,列表中的第一個帳號將此角色授予發起帳號(可模板化)。

  • retry (google.api_core.retry.Retry | None) – 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的時間量,單位為秒。請注意,如果指定了 retry,則超時應用於每次嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的額外元資料。

template_fields: collections.abc.Sequence[str] = ('body', 'project_id', 'zone', 'request_id', 'gcp_conn_id', 'api_version',...[原始碼]
body[原始碼]
zone[原始碼]
request_id = None[原始碼]
retry = None[原始碼]
timeout = None[原始碼]
metadata = ()[原始碼]
check_body_fields()[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineInsertInstanceFromTemplateOperator(*, source_instance_template, body, zone, resource_id=None, project_id=PROVIDE_PROJECT_ID, request_id=None, retry=None, timeout=None, metadata=(), gcp_conn_id='google_cloud_default', api_version='v1', validate_body=True, impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

在 Google Compute Engine 中根據現有模板的指定引數建立一個例項。

另請參閱

有關如何使用此 operator 的更多資訊,請參閱指南: ComputeEngineInsertInstanceFromTemplateOperator

引數:
  • body (dict) – 例項的物件表示。對於此 Operator,建立新例項時僅需要“name”引數,因為所有其他引數都將透過模板傳遞。

  • source_instance_template (str) – 現有例項模板,將在建立新例項時用作基礎。指定此引數時,在建立新例項時,只需在“body”引數中提供新例項的名稱作為輸入引數。所有其他引數,例如“machine_type”、“disks”和“network_interfaces”將按照在例項模板中指定的方式傳遞給例項。完整的或部分 URL,示例如下: 1. “https://www.googleapis.com/compute/v1/projects/your-project-name/global/instanceTemplates/temp” 2. “projects/your-project-name/global/instanceTemplates/temp” 3. “global/instanceTemplates/temp”

  • zone (str) – 例項所在的 Google Cloud 區域。

  • project_id (str) – Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • resource_id (str | None) – 例項的名稱。如果在 body[‘name’] 中未指定例項的名稱,則將從“resource_id”引數中獲取名稱。

  • request_id (str | None) – 您可以新增的唯一 request_id,以實現完全冪等性(例如,當客戶端呼叫超時時,重複使用相同 request_id 的請求將不會再次建立新的例項模板)。它應採用 RFC 4122 中定義的 UUID 格式。

  • gcp_conn_id (str) – 用於連線到 Google Cloud 的連線 ID。預設為“google_cloud_default”。

  • api_version (str) – 使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 使用短期憑據模擬的服務帳號,或獲取列表中最後一個帳號的 access_token 所需的帳號鏈,該帳號將在請求中被模擬。如果設定為字串,則該帳號必須授予發起帳號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予直接前一個身份 Service Account Token Creator IAM 角色,列表中的第一個帳號將此角色授予發起帳號(可模板化)。

  • retry (google.api_core.retry.Retry | None) – 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的時間量,單位為秒。請注意,如果指定了 retry,則超時應用於每次嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的額外元資料。

template_fields: collections.abc.Sequence[str] = ('body', 'source_instance_template', 'project_id', 'zone', 'request_id', 'gcp_conn_id',...[原始碼]
source_instance_template[原始碼]
body[原始碼]
zone[原始碼]
request_id = None[原始碼]
retry = None[原始碼]
timeout = None[原始碼]
metadata = ()[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineDeleteInstanceOperator(*, resource_id, zone, request_id=None, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=(), gcp_conn_id='google_cloud_default', api_version='v1', validate_body=True, impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

刪除 Google Compute Engine 中的一個例項。

另請參閱

有關如何使用此 operator 的更多資訊,請參閱指南: ComputeEngineDeleteInstanceOperator

引數:
  • project_id (str) – Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • zone (str) – 例項所在的 Google Cloud 區域。

  • resource_id (str) – 例項的名稱。

  • request_id (str | None) – 您可以新增的唯一 request_id,以實現完全冪等性(例如,當客戶端呼叫超時時,重複使用相同 request_id 的請求將不會再次建立新的例項模板)。它應採用 RFC 4122 中定義的 UUID 格式。

  • gcp_conn_id (str) – 用於連線到 Google Cloud 的連線 ID。預設為“google_cloud_default”。

  • api_version (str) – 使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 使用短期憑據模擬的服務帳號,或獲取列表中最後一個帳號的 access_token 所需的帳號鏈,該帳號將在請求中被模擬。如果設定為字串,則該帳號必須授予發起帳號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予直接前一個身份 Service Account Token Creator IAM 角色,列表中的第一個帳號將此角色授予發起帳號(可模板化)。

  • retry (google.api_core.retry.Retry | None) – 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的時間量,單位為秒。請注意,如果指定了 retry,則超時應用於每次嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的額外元資料。

template_fields: collections.abc.Sequence[str] = ('zone', 'resource_id', 'request_id', 'project_id', 'gcp_conn_id', 'api_version', 'impersonation_chain')[原始碼]
zone[原始碼]
request_id = None[原始碼]
resource_id[原始碼]
retry = None[原始碼]
timeout = None[原始碼]
metadata = ()[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineStartInstanceOperator(*, zone, resource_id=None, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', api_version='v1', impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

啟動 Google Compute Engine 中的一個例項。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南: ComputeEngineStartInstanceOperator

引數:
  • zone (str) – 例項所在的 Google Cloud 區域。

  • resource_id (str | None) – Compute Engine 例項資源的名稱。

  • project_id (str) – 可選的,Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • gcp_conn_id (str) – 可選的,用於連線到 Google Cloud 的連線 ID。預設為 'google_cloud_default'。

  • api_version (str) – 可選的,使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務賬號,用於使用短期憑據進行模擬,或用於獲取列表中最後一個賬號(將在請求中被模擬)的 access_token 所需的鏈式賬號列表。如果設定為字串,則該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予其直接前一個身份 Service Account Token Creator IAM 角色,其中列表中的第一個賬號將此角色授予發起賬號(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'zone', 'resource_id', 'gcp_conn_id', 'api_version', 'impersonation_chain')[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineStopInstanceOperator(*, zone, resource_id=None, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', api_version='v1', impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

停止 Google Compute Engine 中的一個例項。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南: ComputeEngineStopInstanceOperator

引數:
  • zone (str) – 例項所在的 Google Cloud 區域。

  • resource_id (str | None) – Compute Engine 例項資源的名稱。

  • project_id (str) – 可選的,Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • gcp_conn_id (str) – 可選的,用於連線到 Google Cloud 的連線 ID。預設為 'google_cloud_default'。

  • api_version (str) – 可選的,使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務賬號,用於使用短期憑據進行模擬,或用於獲取列表中最後一個賬號(將在請求中被模擬)的 access_token 所需的鏈式賬號列表。如果設定為字串,則該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予其直接前一個身份 Service Account Token Creator IAM 角色,其中列表中的第一個賬號將此角色授予發起賬號(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'zone', 'resource_id', 'gcp_conn_id', 'api_version', 'impersonation_chain')[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

airflow.providers.google.cloud.operators.compute.SET_MACHINE_TYPE_VALIDATION_SPECIFICATION[原始碼]
class airflow.providers.google.cloud.operators.compute.ComputeEngineSetMachineTypeOperator(*, zone, resource_id, body, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', api_version='v1', validate_body=True, impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

將已停止例項的機器型別更改為請求中指定的機器型別。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南: ComputeEngineSetMachineTypeOperator

引數:
  • zone (str) – 例項所在的 Google Cloud 區域。

  • resource_id (str) – Compute Engine 例項資源的名稱。

  • body (dict) – Compute Engine setMachineType API 所需的請求正文,如 https://cloud.google.com/compute/docs/reference/rest/v1/instances/setMachineType#request-body 中所述。

  • project_id (str) – 可選的,Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • gcp_conn_id (str) – 可選的,用於連線到 Google Cloud 的連線 ID。預設為 'google_cloud_default'。

  • api_version (str) – 可選的,使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • validate_body (bool) – 可選的,如果設定為 False,則不執行請求正文驗證。預設為 False。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務賬號,用於使用短期憑據進行模擬,或用於獲取列表中最後一個賬號(將在請求中被模擬)的 access_token 所需的鏈式賬號列表。如果設定為字串,則該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予其直接前一個身份 Service Account Token Creator IAM 角色,其中列表中的第一個賬號將此角色授予發起賬號(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'zone', 'resource_id', 'body', 'gcp_conn_id', 'api_version', 'impersonation_chain')[原始碼]
body[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

airflow.providers.google.cloud.operators.compute.GCE_INSTANCE_TEMPLATE_VALIDATION_PATCH_SPECIFICATION: list[dict[str, Any]][原始碼]
airflow.providers.google.cloud.operators.compute.GCE_INSTANCE_FIELDS_TO_SANITIZE = ['kind', 'id', 'creationTimestamp', 'properties.disks.sha256', 'properties.disks.kind',...[原始碼]
class airflow.providers.google.cloud.operators.compute.ComputeEngineInsertInstanceTemplateOperator(*, body, project_id=PROVIDE_PROJECT_ID, resource_id=None, request_id=None, retry=None, timeout=None, metadata=(), gcp_conn_id='google_cloud_default', api_version='v1', validate_body=True, impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

使用指定欄位建立一個例項模板。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南: ComputeEngineInsertInstanceTemplateOperator

引數:
  • body (dict) – 作為物件的例項模板表示。

  • project_id (str) – Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • request_id (str | None) – 您可以新增的唯一 request_id,以實現完全冪等性(例如,當客戶端呼叫超時時,重複使用相同 request_id 的請求將不會再次建立新的例項模板)。它應採用 RFC 4122 中定義的 UUID 格式。

  • resource_id (str | None) – 例項模板的名稱。如果 body['name'] 中未指定例項模板的名稱,則名稱將取自 'resource_id' 引數

  • gcp_conn_id (str) – 用於連線到 Google Cloud 的連線 ID。預設為“google_cloud_default”。

  • api_version (str) – 使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 使用短期憑據模擬的服務帳號,或獲取列表中最後一個帳號的 access_token 所需的帳號鏈,該帳號將在請求中被模擬。如果設定為字串,則該帳號必須授予發起帳號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予直接前一個身份 Service Account Token Creator IAM 角色,列表中的第一個帳號將此角色授予發起帳號(可模板化)。

  • retry (google.api_core.retry.Retry | None) – 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的時間量,單位為秒。請注意,如果指定了 retry,則超時應用於每次嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的額外元資料。

template_fields: collections.abc.Sequence[str] = ('body', 'project_id', 'request_id', 'gcp_conn_id', 'api_version', 'impersonation_chain', 'resource_id')[原始碼]
body[原始碼]
request_id = None[原始碼]
retry = None[原始碼]
timeout = None[原始碼]
metadata = ()[原始碼]
check_body_fields()[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineDeleteInstanceTemplateOperator(*, resource_id, request_id=None, project_id=PROVIDE_PROJECT_ID, retry=None, timeout=None, metadata=(), gcp_conn_id='google_cloud_default', api_version='v1', validate_body=True, impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

刪除 Google Compute Engine 中的一個例項模板。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南: ComputeEngineDeleteInstanceTemplateOperator

引數:
  • resource_id (str) – 例項模板的名稱。

  • project_id (str) – Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • request_id (str | None) – 您可以新增的唯一 request_id,以實現完全冪等性(例如,當客戶端呼叫超時時,重複使用相同 request_id 的請求將不會再次建立新的例項模板)。它應採用 RFC 4122 中定義的 UUID 格式。

  • gcp_conn_id (str) – 用於連線到 Google Cloud 的連線 ID。預設為“google_cloud_default”。

  • api_version (str) – 使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 使用短期憑據模擬的服務帳號,或獲取列表中最後一個帳號的 access_token 所需的帳號鏈,該帳號將在請求中被模擬。如果設定為字串,則該帳號必須授予發起帳號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予直接前一個身份 Service Account Token Creator IAM 角色,列表中的第一個帳號將此角色授予發起帳號(可模板化)。

  • retry (google.api_core.retry.Retry | None) – 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的時間量,單位為秒。請注意,如果指定了 retry,則超時應用於每次嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的額外元資料。

template_fields: collections.abc.Sequence[str] = ('resource_id', 'request_id', 'project_id', 'gcp_conn_id', 'api_version', 'impersonation_chain')[原始碼]
request_id = None[原始碼]
resource_id[原始碼]
retry = None[原始碼]
timeout = None[原始碼]
metadata = ()[原始碼]
execute(context)[原始碼]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineCopyInstanceTemplateOperator(*, resource_id, body_patch, project_id=PROVIDE_PROJECT_ID, request_id=None, gcp_conn_id='google_cloud_default', api_version='v1', validate_body=True, impersonation_chain=None, **kwargs)[原始碼]

基類: ComputeEngineBaseOperator

複製例項模板,應用指定的更改。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南: ComputeEngineCopyInstanceTemplateOperator

引數:
  • resource_id (str) – 例項模板的名稱

  • body_patch (dict) – 遵循 rfc7386 PATCH 語義對 instanceTemplates 物件請求正文的修補。body_patch 內容遵循 https://cloud.google.com/compute/docs/reference/rest/v1/instanceTemplates Name 欄位是必需的,因為我們需要重新命名模板,所有其他欄位都是可選的。遵循 PATCH 語義很重要 - 陣列會被完全替換,因此如果需要更新陣列,則應將整個目標陣列作為補丁元素提供。

  • project_id (str) – 可選的,Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • request_id (str | None) – 可選的,您可以新增的唯一 request_id 以實現完全冪等(例如,當客戶端呼叫超時時,使用相同的請求 ID 重複請求不會再次建立新的例項模板)。它應採用 RFC 4122 中定義的 UUID 格式。

  • gcp_conn_id (str) – 可選的,用於連線到 Google Cloud 的連線 ID。預設為 'google_cloud_default'。

  • api_version (str) – 可選的,使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • validate_body (bool) – 可選的,如果設定為 False,則不執行請求正文驗證。預設為 False。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務賬號,用於使用短期憑據進行模擬,或用於獲取列表中最後一個賬號(將在請求中被模擬)的 access_token 所需的鏈式賬號列表。如果設定為字串,則該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予其直接前一個身份 Service Account Token Creator IAM 角色,其中列表中的第一個賬號將此角色授予發起賬號(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'resource_id', 'request_id', 'gcp_conn_id', 'api_version', 'impersonation_chain')[source]
body_patch[source]
request_id = None[source]
execute(context)[source]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineInstanceGroupUpdateManagerTemplateOperator(*, resource_id, zone, source_template, destination_template, project_id=PROVIDE_PROJECT_ID, update_policy=None, request_id=None, gcp_conn_id='google_cloud_default', api_version='beta', impersonation_chain=None, **kwargs)[source]

基類: ComputeEngineBaseOperator

修補例項組管理器,將源模板 URL 替換為目標 URL。

API V1 沒有 Instance Group Manager 的更新/補丁操作,因此必須使用 beta 或更新的 API 版本。Beta 是預設版本。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南:ComputeEngineInstanceGroupUpdateManagerTemplateOperator

引數:
  • resource_id (str) – Instance Group Manager 的名稱

  • zone (str) – Instance Group Manager 所在的 Google Cloud 可用區。

  • source_template (str) – 要替換的模板的 URL。

  • destination_template (str) – 目標模板的 URL。

  • project_id (str) – 可選的,Compute Engine 例項所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • request_id (str | None) – 可選的,您可以新增的唯一 request_id 以實現完全冪等(例如,當客戶端呼叫超時時,使用相同的請求 ID 重複請求不會再次建立新的例項模板)。它應採用 RFC 4122 中定義的 UUID 格式。

  • gcp_conn_id (str) – 可選的,用於連線到 Google Cloud 的連線 ID。預設為 'google_cloud_default'。

  • api_version – 可選,使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務賬號,用於使用短期憑據進行模擬,或用於獲取列表中最後一個賬號(將在請求中被模擬)的 access_token 所需的鏈式賬號列表。如果設定為字串,則該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予其直接前一個身份 Service Account Token Creator IAM 角色,其中列表中的第一個賬號將此角色授予發起賬號(模板化)。

template_fields: collections.abc.Sequence[str] = ('project_id', 'resource_id', 'zone', 'request_id', 'source_template', 'destination_template',...[source]
zone[source]
source_template[source]
destination_template[source]
request_id = None[source]
update_policy = None[source]
execute(context)[source]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineInsertInstanceGroupManagerOperator(*, body, zone, project_id=PROVIDE_PROJECT_ID, resource_id=None, request_id=None, gcp_conn_id='google_cloud_default', api_version='v1', retry=None, timeout=None, metadata=(), impersonation_chain=None, validate_body=True, **kwargs)[source]

基類: ComputeEngineBaseOperator

使用指定的 body 建立一個例項組管理器。

建立組後,組中的例項將使用指定的例項模板建立。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南:ComputeEngineInsertInstanceGroupManagerOperator

引數:
  • body (dict) – 表示 Instance Group Managers 的物件。

  • project_id (str) – Compute Engine Instance Group Managers 所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • request_id (str | None) – 您可以新增的唯一 request_id,用於實現完全冪等性(例如,當客戶端呼叫超時時,使用相同的 request_id 重複請求將不會再次建立新的 Instance Group Managers)。它應採用 RFC 4122 中定義的 UUID 格式

  • resource_id (str | None) – Instance Group Managers 的名稱。如果 body['name'] 中未指定 Instance Group Managers 的名稱,則將從 'resource_id' 引數中獲取名稱。

  • gcp_conn_id (str) – 用於連線到 Google Cloud 的連線 ID。預設為“google_cloud_default”。

  • api_version – 使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 使用短期憑據模擬的服務帳號,或獲取列表中最後一個帳號的 access_token 所需的帳號鏈,該帳號將在請求中被模擬。如果設定為字串,則該帳號必須授予發起帳號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予直接前一個身份 Service Account Token Creator IAM 角色,列表中的第一個帳號將此角色授予發起帳號(可模板化)。

  • retry (google.api_core.retry.Retry | None) – 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的時間量,單位為秒。請注意,如果指定了 retry,則超時應用於每次嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的額外元資料。

template_fields: collections.abc.Sequence[str] = ('project_id', 'body', 'zone', 'request_id', 'gcp_conn_id', 'api_version',...[source]
body[source]
request_id = None[source]
retry = None[source]
timeout = None[source]
metadata = ()[source]
check_body_fields()[source]
execute(context)[source]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

class airflow.providers.google.cloud.operators.compute.ComputeEngineDeleteInstanceGroupManagerOperator(*, resource_id, zone, project_id=PROVIDE_PROJECT_ID, request_id=None, gcp_conn_id='google_cloud_default', api_version='v1', retry=None, timeout=None, metadata=(), impersonation_chain=None, validate_body=True, **kwargs)[source]

基類: ComputeEngineBaseOperator

永久且不可撤銷地刪除一個例項組管理器。

另請參閱

有關如何使用此 Operator 的更多資訊,請參閱指南:ComputeEngineDeleteInstanceGroupManagerOperator

引數:
  • resource_id (str) – Instance Group Managers 的名稱。

  • project_id (str) – Compute Engine Instance Group Managers 所在的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • request_id (str | None) – 您可以新增的唯一 request_id,用於實現完全冪等性(例如,當客戶端呼叫超時時,使用相同的 request_id 重複請求將不會再次建立新的 Instance Group Managers)。它應採用 RFC 4122 中定義的 UUID 格式

  • gcp_conn_id (str) – 用於連線到 Google Cloud 的連線 ID。預設為“google_cloud_default”。

  • api_version – 使用的 API 版本(例如 v1 或 beta)。預設為 v1。

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 使用短期憑據模擬的服務帳號,或獲取列表中最後一個帳號的 access_token 所需的帳號鏈,該帳號將在請求中被模擬。如果設定為字串,則該帳號必須授予發起帳號 Service Account Token Creator IAM 角色。如果設定為序列,則列表中的身份必須授予直接前一個身份 Service Account Token Creator IAM 角色,列表中的第一個帳號將此角色授予發起帳號(可模板化)。

  • retry (google.api_core.retry.Retry | None) – 用於重試請求的重試物件。如果指定 None,則不會重試請求。

  • timeout (float | None) – 等待請求完成的時間量,單位為秒。請注意,如果指定了 retry,則超時應用於每次嘗試。

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供給方法的額外元資料。

template_fields: collections.abc.Sequence[str] = ('project_id', 'resource_id', 'zone', 'request_id', 'gcp_conn_id', 'api_version', 'impersonation_chain')[source]
zone[source]
request_id = None[source]
resource_id[source]
retry = None[source]
timeout = None[source]
metadata = ()[source]
execute(context)[source]

建立 operator 時派生。

context 是與渲染 jinja 模板時使用的相同的字典。

有關更多 context,請參閱 get_template_context。

此條目有幫助嗎?