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

onikolas 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 d2638d7d1f4 Additional usages of timezone in AWS Provider (#53986)
d2638d7d1f4 is described below

commit d2638d7d1f4712f69e2460df832288347d258133
Author: Niko Oliveira <[email protected]>
AuthorDate: Thu Jul 31 11:18:59 2025 -0700

    Additional usages of timezone in AWS Provider (#53986)
---
 .../amazon/aws/executors/utils/exponential_backoff_retry.py      | 5 ++++-
 .../amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py   | 6 +++++-
 .../unit/amazon/aws/executors/aws_lambda/test_lambda_executor.py | 6 +++++-
 providers/amazon/tests/unit/amazon/aws/hooks/test_appflow.py     | 6 +++++-
 providers/amazon/tests/unit/amazon/aws/operators/test_appflow.py | 6 +++++-
 providers/amazon/tests/unit/amazon/aws/operators/test_athena.py  | 9 ++++++---
 .../amazon/tests/unit/amazon/aws/operators/test_base_aws.py      | 6 +++++-
 .../tests/unit/amazon/aws/operators/test_cloud_formation.py      | 6 +++++-
 .../amazon/tests/unit/amazon/aws/operators/test_datasync.py      | 9 ++++++---
 providers/amazon/tests/unit/amazon/aws/operators/test_dms.py     | 6 +++++-
 .../amazon/tests/unit/amazon/aws/operators/test_emr_add_steps.py | 6 +++++-
 .../tests/unit/amazon/aws/operators/test_emr_create_job_flow.py  | 6 +++++-
 .../tests/unit/amazon/aws/operators/test_emr_modify_cluster.py   | 7 +++++--
 providers/amazon/tests/unit/amazon/aws/operators/test_rds.py     | 6 +++++-
 .../tests/unit/amazon/aws/operators/test_sagemaker_base.py       | 6 +++++-
 providers/amazon/tests/unit/amazon/aws/sensors/test_base_aws.py  | 6 +++++-
 providers/amazon/tests/unit/amazon/aws/sensors/test_ecs.py       | 6 +++++-
 providers/amazon/tests/unit/amazon/aws/sensors/test_rds.py       | 6 +++++-
 providers/amazon/tests/unit/amazon/aws/sensors/test_s3.py        | 6 +++++-
 providers/amazon/tests/unit/amazon/aws/transfers/test_base.py    | 6 +++++-
 .../tests/unit/amazon/aws/transfers/test_dynamodb_to_s3.py       | 6 +++++-
 .../amazon/tests/unit/amazon/aws/transfers/test_mongo_to_s3.py   | 6 +++++-
 22 files changed, 111 insertions(+), 27 deletions(-)

diff --git 
a/providers/amazon/src/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py
 
b/providers/amazon/src/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py
index 1255f56f043..16a309ab448 100644
--- 
a/providers/amazon/src/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py
+++ 
b/providers/amazon/src/airflow/providers/amazon/aws/executors/utils/exponential_backoff_retry.py
@@ -20,7 +20,10 @@ import logging
 from collections.abc import Callable
 from datetime import datetime, timedelta
 
-from airflow.utils import timezone
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 log = logging.getLogger(__name__)
 
diff --git 
a/providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py 
b/providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py
index fad70bc4002..05c37763604 100644
--- a/providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py
+++ b/providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker.py
@@ -36,7 +36,11 @@ from airflow.providers.amazon.aws.hooks.base_aws import 
AwsBaseHook
 from airflow.providers.amazon.aws.hooks.logs import AwsLogsHook
 from airflow.providers.amazon.aws.hooks.s3 import S3Hook
 from airflow.providers.amazon.aws.utils.tags import format_tags
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 
 class LogState:
diff --git 
a/providers/amazon/tests/unit/amazon/aws/executors/aws_lambda/test_lambda_executor.py
 
b/providers/amazon/tests/unit/amazon/aws/executors/aws_lambda/test_lambda_executor.py
index a2def0b86a8..de012562522 100644
--- 
a/providers/amazon/tests/unit/amazon/aws/executors/aws_lambda/test_lambda_executor.py
+++ 
b/providers/amazon/tests/unit/amazon/aws/executors/aws_lambda/test_lambda_executor.py
@@ -31,7 +31,11 @@ from airflow.models.taskinstancekey import TaskInstanceKey
 from airflow.providers.amazon.aws.executors.aws_lambda import lambda_executor
 from airflow.providers.amazon.aws.executors.aws_lambda.lambda_executor import 
AwsLambdaExecutor
 from airflow.providers.amazon.aws.executors.aws_lambda.utils import 
CONFIG_GROUP_NAME, AllLambdaConfigKeys
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import TaskInstanceState
 from airflow.version import version as airflow_version_str
 
diff --git a/providers/amazon/tests/unit/amazon/aws/hooks/test_appflow.py 
b/providers/amazon/tests/unit/amazon/aws/hooks/test_appflow.py
index 71949ae4b20..b8ba2d927cd 100644
--- a/providers/amazon/tests/unit/amazon/aws/hooks/test_appflow.py
+++ b/providers/amazon/tests/unit/amazon/aws/hooks/test_appflow.py
@@ -24,7 +24,11 @@ from unittest.mock import ANY
 import pytest
 
 from airflow.providers.amazon.aws.hooks.appflow import AppflowHook
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 FLOW_NAME = "flow0"
 EXECUTION_ID = "ex_id"
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_appflow.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_appflow.py
index 49c49e8c514..1f2b188997f 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_appflow.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_appflow.py
@@ -31,7 +31,11 @@ from airflow.providers.amazon.aws.operators.appflow import (
     AppflowRunFullOperator,
     AppflowRunOperator,
 )
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 CONN_ID = "aws_default"
 DAG_ID = "dag_id"
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_athena.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_athena.py
index 8a343a0be68..6bee0fd332e 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_athena.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_athena.py
@@ -38,16 +38,19 @@ from airflow.providers.common.compat.openlineage.facet 
import (
     SymlinksDatasetFacet,
 )
 from airflow.providers.openlineage.extractors import OperatorLineage
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
-from airflow.utils.timezone import datetime
 from airflow.utils.types import DagRunType
 
 from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS
 from unit.amazon.aws.utils.test_template_fields import validate_template_fields
 
 TEST_DAG_ID = "unit_tests"
-DEFAULT_DATE = datetime(2018, 1, 1)
+DEFAULT_DATE = timezone.datetime(2018, 1, 1)
 ATHENA_QUERY_ID = "eac29bf8-daa1-4ffc-b19a-0db31dc3b784"
 
 MOCK_DATA = {
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_base_aws.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_base_aws.py
index 53f033c4d6c..3cddb55eaa0 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_base_aws.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_base_aws.py
@@ -23,7 +23,11 @@ import pytest
 from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
 from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
 from airflow.providers.amazon.version_compat import BaseHook
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 TEST_CONN = "aws_test_conn"
 
diff --git 
a/providers/amazon/tests/unit/amazon/aws/operators/test_cloud_formation.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_cloud_formation.py
index bbcd41f2176..5643eb9c48b 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_cloud_formation.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_cloud_formation.py
@@ -27,7 +27,11 @@ from airflow.providers.amazon.aws.operators.cloud_formation 
import (
     CloudFormationCreateStackOperator,
     CloudFormationDeleteStackOperator,
 )
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 from unit.amazon.aws.utils.test_template_fields import validate_template_fields
 
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_datasync.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_datasync.py
index 50101edad03..9bc8f69ffab 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_datasync.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_datasync.py
@@ -28,16 +28,19 @@ from airflow.models.serialized_dag import SerializedDagModel
 from airflow.providers.amazon.aws.hooks.datasync import DataSyncHook
 from airflow.providers.amazon.aws.links.datasync import DataSyncTaskLink
 from airflow.providers.amazon.aws.operators.datasync import DataSyncOperator
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
-from airflow.utils.timezone import datetime
 from airflow.utils.types import DagRunType
 
 from tests_common.test_utils.version_compat import AIRFLOW_V_3_0_PLUS
 from unit.amazon.aws.utils.test_template_fields import validate_template_fields
 
 TEST_DAG_ID = "unit_tests"
-DEFAULT_DATE = datetime(2018, 1, 1)
+DEFAULT_DATE = timezone.datetime(2018, 1, 1)
 
 SOURCE_HOST_NAME = "airflow.host"
 SOURCE_SUBDIR = "airflow_subdir"
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_dms.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_dms.py
index 3418019ee77..5cf3a8d707c 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_dms.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_dms.py
@@ -45,7 +45,11 @@ from airflow.providers.amazon.aws.triggers.dms import (
     DmsReplicationDeprovisionedTrigger,
     DmsReplicationTerminalStatusTrigger,
 )
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
 from airflow.utils.types import DagRunType
 
diff --git 
a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_add_steps.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_add_steps.py
index 0cfa38014d1..59a88abd677 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_add_steps.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_add_steps.py
@@ -30,7 +30,11 @@ from airflow.models import DAG, DagRun, TaskInstance
 from airflow.models.serialized_dag import SerializedDagModel
 from airflow.providers.amazon.aws.operators.emr import EmrAddStepsOperator
 from airflow.providers.amazon.aws.triggers.emr import EmrAddStepsTrigger
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
 from airflow.utils.types import DagRunType
 
diff --git 
a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_create_job_flow.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_create_job_flow.py
index 686f40c1037..68c6462d95d 100644
--- 
a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_create_job_flow.py
+++ 
b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_create_job_flow.py
@@ -32,7 +32,11 @@ from airflow.models.serialized_dag import SerializedDagModel
 from airflow.providers.amazon.aws.operators.emr import EmrCreateJobFlowOperator
 from airflow.providers.amazon.aws.triggers.emr import EmrCreateJobFlowTrigger
 from airflow.providers.amazon.aws.utils.waiter import 
WAITER_POLICY_NAME_MAPPING, WaitPolicy
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
 from airflow.utils.types import DagRunType
 
diff --git 
a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_modify_cluster.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_modify_cluster.py
index e9d7ccb50c3..7b8b83cd7f1 100644
--- 
a/providers/amazon/tests/unit/amazon/aws/operators/test_emr_modify_cluster.py
+++ 
b/providers/amazon/tests/unit/amazon/aws/operators/test_emr_modify_cluster.py
@@ -1,4 +1,3 @@
-#
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
 # distributed with this work for additional information
@@ -24,7 +23,11 @@ import pytest
 from airflow.exceptions import AirflowException
 from airflow.models.dag import DAG
 from airflow.providers.amazon.aws.operators.emr import EmrModifyClusterOperator
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 from unit.amazon.aws.utils.test_template_fields import validate_template_fields
 
diff --git a/providers/amazon/tests/unit/amazon/aws/operators/test_rds.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_rds.py
index 565780db09a..b807799c8f8 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_rds.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_rds.py
@@ -43,7 +43,11 @@ from airflow.providers.amazon.aws.operators.rds import (
     RdsStopDbOperator,
 )
 from airflow.providers.amazon.aws.triggers.rds import RdsDbAvailableTrigger, 
RdsDbStoppedTrigger
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 from unit.amazon.aws.utils.test_template_fields import validate_template_fields
 
diff --git 
a/providers/amazon/tests/unit/amazon/aws/operators/test_sagemaker_base.py 
b/providers/amazon/tests/unit/amazon/aws/operators/test_sagemaker_base.py
index 9c9515d4f88..dd922fba2ac 100644
--- a/providers/amazon/tests/unit/amazon/aws/operators/test_sagemaker_base.py
+++ b/providers/amazon/tests/unit/amazon/aws/operators/test_sagemaker_base.py
@@ -31,7 +31,11 @@ from airflow.providers.amazon.aws.operators.sagemaker import 
(
     SageMakerBaseOperator,
     SageMakerCreateExperimentOperator,
 )
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
 from airflow.utils.types import DagRunType
 
diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_base_aws.py 
b/providers/amazon/tests/unit/amazon/aws/sensors/test_base_aws.py
index 9c6b66537b0..128e5981e94 100644
--- a/providers/amazon/tests/unit/amazon/aws/sensors/test_base_aws.py
+++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_base_aws.py
@@ -23,7 +23,11 @@ import pytest
 from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
 from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
 from airflow.providers.amazon.version_compat import BaseHook
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 TEST_CONN = "aws_test_conn"
 
diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_ecs.py 
b/providers/amazon/tests/unit/amazon/aws/sensors/test_ecs.py
index 9a5e9313b66..282d37f3f7d 100644
--- a/providers/amazon/tests/unit/amazon/aws/sensors/test_ecs.py
+++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_ecs.py
@@ -35,7 +35,11 @@ from airflow.providers.amazon.aws.sensors.ecs import (
     EcsTaskStates,
     EcsTaskStateSensor,
 )
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.types import NOTSET
 
 _Operator = TypeVar("_Operator")
diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_rds.py 
b/providers/amazon/tests/unit/amazon/aws/sensors/test_rds.py
index 3bdd8f673bf..2768c04efed 100644
--- a/providers/amazon/tests/unit/amazon/aws/sensors/test_rds.py
+++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_rds.py
@@ -31,7 +31,11 @@ from airflow.providers.amazon.aws.sensors.rds import (
     RdsSnapshotExistenceSensor,
 )
 from airflow.providers.amazon.aws.utils.rds import RdsDbType
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 
 from unit.amazon.aws.utils.test_template_fields import validate_template_fields
 
diff --git a/providers/amazon/tests/unit/amazon/aws/sensors/test_s3.py 
b/providers/amazon/tests/unit/amazon/aws/sensors/test_s3.py
index aecaf0b91a5..08d7b0941f4 100644
--- a/providers/amazon/tests/unit/amazon/aws/sensors/test_s3.py
+++ b/providers/amazon/tests/unit/amazon/aws/sensors/test_s3.py
@@ -30,7 +30,11 @@ from airflow.models.serialized_dag import SerializedDagModel
 from airflow.models.variable import Variable
 from airflow.providers.amazon.aws.hooks.s3 import S3Hook
 from airflow.providers.amazon.aws.sensors.s3 import S3KeySensor, 
S3KeysUnchangedSensor
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
 from airflow.utils.types import DagRunType
 
diff --git a/providers/amazon/tests/unit/amazon/aws/transfers/test_base.py 
b/providers/amazon/tests/unit/amazon/aws/transfers/test_base.py
index eb03cace7ea..ba3690182ec 100644
--- a/providers/amazon/tests/unit/amazon/aws/transfers/test_base.py
+++ b/providers/amazon/tests/unit/amazon/aws/transfers/test_base.py
@@ -23,7 +23,11 @@ from airflow import DAG
 from airflow.models import DagRun, TaskInstance
 from airflow.models.serialized_dag import SerializedDagModel
 from airflow.providers.amazon.aws.transfers.base import AwsToAwsBaseOperator
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
 from airflow.utils.types import DagRunType
 
diff --git 
a/providers/amazon/tests/unit/amazon/aws/transfers/test_dynamodb_to_s3.py 
b/providers/amazon/tests/unit/amazon/aws/transfers/test_dynamodb_to_s3.py
index 34519383b6c..88a17294800 100644
--- a/providers/amazon/tests/unit/amazon/aws/transfers/test_dynamodb_to_s3.py
+++ b/providers/amazon/tests/unit/amazon/aws/transfers/test_dynamodb_to_s3.py
@@ -31,7 +31,11 @@ from airflow.providers.amazon.aws.transfers.dynamodb_to_s3 
import (
     DynamoDBToS3Operator,
     JSONEncoder,
 )
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
 from airflow.utils.types import DagRunType
 
diff --git 
a/providers/amazon/tests/unit/amazon/aws/transfers/test_mongo_to_s3.py 
b/providers/amazon/tests/unit/amazon/aws/transfers/test_mongo_to_s3.py
index 5401e557be7..7c590cb7306 100644
--- a/providers/amazon/tests/unit/amazon/aws/transfers/test_mongo_to_s3.py
+++ b/providers/amazon/tests/unit/amazon/aws/transfers/test_mongo_to_s3.py
@@ -24,7 +24,11 @@ import pytest
 from airflow.models import DAG, DagRun, TaskInstance
 from airflow.models.serialized_dag import SerializedDagModel
 from airflow.providers.amazon.aws.transfers.mongo_to_s3 import 
MongoToS3Operator
-from airflow.utils import timezone
+
+try:
+    from airflow.sdk import timezone
+except ImportError:
+    from airflow.utils import timezone  # type: ignore[attr-defined,no-redef]
 from airflow.utils.state import DagRunState
 from airflow.utils.types import DagRunType
 

Reply via email to