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,