This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 046fb49420 fix templated field assignment 
`google/cloud/operators/compute.py` (#37659)
046fb49420 is described below

commit 046fb49420c0da1d47f308a43d01644a0854b630
Author: rom sharon <[email protected]>
AuthorDate: Sun Feb 25 13:15:51 2024 +0200

    fix templated field assignment `google/cloud/operators/compute.py` (#37659)
    
    * fix templated field assignment
    
    * fix cr
---
 .pre-commit-config.yaml                            |  1 -
 airflow/providers/google/cloud/links/compute.py    |  6 +++---
 .../providers/google/cloud/operators/compute.py    | 25 ++++++++++++----------
 3 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 2eaf82dcd5..65c5cf10fc 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -326,7 +326,6 @@ repos:
           (?x)^(
               ^.*__init__\.py$|
               ^airflow\/providers\/amazon\/aws\/transfers\/redshift_to_s3\.py$|
-              ^airflow\/providers\/google\/cloud\/operators\/compute\.py$|
               ^airflow\/providers\/amazon\/aws\/operators\/emr\.py$|
               ^airflow\/providers\/amazon\/aws\/operators\/eks\.py$
           )$
diff --git a/airflow/providers/google/cloud/links/compute.py 
b/airflow/providers/google/cloud/links/compute.py
index 3c27cd1864..62eeaa6967 100644
--- a/airflow/providers/google/cloud/links/compute.py
+++ b/airflow/providers/google/cloud/links/compute.py
@@ -48,7 +48,7 @@ class ComputeInstanceDetailsLink(BaseGoogleLink):
         context: Context,
         task_instance: BaseOperator,
         location_id: str,
-        resource_id: str,
+        resource_id: str | None,
         project_id: str | None,
     ):
         task_instance.xcom_push(
@@ -73,7 +73,7 @@ class ComputeInstanceTemplateDetailsLink(BaseGoogleLink):
     def persist(
         context: Context,
         task_instance: BaseOperator,
-        resource_id: str,
+        resource_id: str | None,
         project_id: str | None,
     ):
         task_instance.xcom_push(
@@ -98,7 +98,7 @@ class ComputeInstanceGroupManagerDetailsLink(BaseGoogleLink):
         context: Context,
         task_instance: BaseOperator,
         location_id: str,
-        resource_id: str,
+        resource_id: str | None,
         project_id: str | None,
     ):
         task_instance.xcom_push(
diff --git a/airflow/providers/google/cloud/operators/compute.py 
b/airflow/providers/google/cloud/operators/compute.py
index 1dfd50a464..ec7187e598 100644
--- a/airflow/providers/google/cloud/operators/compute.py
+++ b/airflow/providers/google/cloud/operators/compute.py
@@ -49,7 +49,7 @@ class ComputeEngineBaseOperator(GoogleCloudBaseOperator):
         self,
         *,
         zone: str,
-        resource_id: str,
+        resource_id: str | None = None,
         project_id: str | None = None,
         gcp_conn_id: str = "google_cloud_default",
         api_version: str = "v1",
@@ -151,7 +151,8 @@ class 
ComputeEngineInsertInstanceOperator(ComputeEngineBaseOperator):
         self.body = body
         self.zone = zone
         self.request_id = request_id
-        self.resource_id = self.body["name"] if "name" in body else resource_id
+        if "name" in body:
+            resource_id = self.body["name"]
         self._field_validator = None  # Optional[GcpBodyFieldValidator]
         self.retry = retry
         self.timeout = timeout
@@ -163,7 +164,7 @@ class 
ComputeEngineInsertInstanceOperator(ComputeEngineBaseOperator):
             )
         self._field_sanitizer = 
GcpBodyFieldSanitizer(GCE_INSTANCE_FIELDS_TO_SANITIZE)
         super().__init__(
-            resource_id=self.resource_id,
+            resource_id=resource_id,
             zone=zone,
             project_id=project_id,
             gcp_conn_id=gcp_conn_id,
@@ -332,7 +333,8 @@ class 
ComputeEngineInsertInstanceFromTemplateOperator(ComputeEngineBaseOperator)
         self.source_instance_template = source_instance_template
         self.body = body
         self.zone = zone
-        self.resource_id = self.body["name"] if "name" in body else resource_id
+        if "name" in body:
+            resource_id = self.body["name"]
         self.request_id = request_id
         self._field_validator = None  # Optional[GcpBodyFieldValidator]
         self.retry = retry
@@ -345,7 +347,7 @@ class 
ComputeEngineInsertInstanceFromTemplateOperator(ComputeEngineBaseOperator)
             )
         self._field_sanitizer = 
GcpBodyFieldSanitizer(GCE_INSTANCE_FIELDS_TO_SANITIZE)
         super().__init__(
-            resource_id=self.resource_id,
+            resource_id=resource_id,
             zone=zone,
             project_id=project_id,
             gcp_conn_id=gcp_conn_id,
@@ -893,7 +895,8 @@ class 
ComputeEngineInsertInstanceTemplateOperator(ComputeEngineBaseOperator):
     ) -> None:
         self.body = body
         self.request_id = request_id
-        self.resource_id = self.body["name"] if "name" in body else resource_id
+        if "name" in body:
+            resource_id = self.body["name"]
         self._field_validator = None  # Optional[GcpBodyFieldValidator]
         self.retry = retry
         self.timeout = timeout
@@ -907,7 +910,7 @@ class 
ComputeEngineInsertInstanceTemplateOperator(ComputeEngineBaseOperator):
         super().__init__(
             project_id=project_id,
             zone="global",
-            resource_id=self.resource_id,
+            resource_id=resource_id,
             gcp_conn_id=gcp_conn_id,
             api_version=api_version,
             impersonation_chain=impersonation_chain,
@@ -1341,7 +1344,7 @@ class 
ComputeEngineInstanceGroupUpdateManagerTemplateOperator(ComputeEngineBaseO
             )
         super().__init__(
             project_id=project_id,
-            zone=self.zone,
+            zone=zone,
             resource_id=resource_id,
             gcp_conn_id=gcp_conn_id,
             api_version=api_version,
@@ -1477,9 +1480,9 @@ class 
ComputeEngineInsertInstanceGroupManagerOperator(ComputeEngineBaseOperator)
         **kwargs,
     ) -> None:
         self.body = body
-        self.zone = zone
         self.request_id = request_id
-        self.resource_id = self.body["name"] if "name" in body else resource_id
+        if "name" in body:
+            resource_id = self.body["name"]
         self._field_validator = None  # Optional[GcpBodyFieldValidator]
         self.retry = retry
         self.timeout = timeout
@@ -1492,7 +1495,7 @@ class 
ComputeEngineInsertInstanceGroupManagerOperator(ComputeEngineBaseOperator)
         super().__init__(
             project_id=project_id,
             zone=zone,
-            resource_id=self.resource_id,
+            resource_id=resource_id,
             gcp_conn_id=gcp_conn_id,
             api_version=api_version,
             impersonation_chain=impersonation_chain,

Reply via email to