mirror of https://github.com/astral-sh/ruff
[`airflow`] Apply auto fixes to cases where the names have changed in Airflow 3 (`AIR302`) (#17553)
## Summary <!-- What's the purpose of the change? What does it do, and why? --> Apply auto fixes to cases where the names have changed in Airflow 3 in AIR302 and split the huge test cases into different test cases based on proivder ## Test Plan <!-- How was it tested? --> the test cases has been split into multiple for easier checking
This commit is contained in:
parent
f0868ac0c9
commit
504fa20057
|
|
@ -1,481 +0,0 @@
|
||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from airflow.api.auth.backend import basic_auth, kerberos_auth
|
|
||||||
from airflow.api.auth.backend.basic_auth import auth_current_user
|
|
||||||
from airflow.auth.managers.fab.api.auth.backend import (
|
|
||||||
kerberos_auth as backend_kerberos_auth,
|
|
||||||
)
|
|
||||||
from airflow.auth.managers.fab.fab_auth_manager import FabAuthManager
|
|
||||||
from airflow.auth.managers.fab.security_manager import override as fab_override
|
|
||||||
from airflow.config_templates.default_celery import DEFAULT_CELERY_CONFIG
|
|
||||||
from airflow.executors.celery_executor import CeleryExecutor, app
|
|
||||||
from airflow.executors.celery_kubernetes_executor import CeleryKubernetesExecutor
|
|
||||||
from airflow.executors.dask_executor import DaskExecutor
|
|
||||||
from airflow.executors.kubernetes_executor_types import (
|
|
||||||
ALL_NAMESPACES,
|
|
||||||
POD_EXECUTOR_DONE_KEY,
|
|
||||||
)
|
|
||||||
from airflow.hooks.dbapi import ConnectorProtocol, DbApiHook
|
|
||||||
from airflow.hooks.dbapi_hook import DbApiHook as DbApiHook2
|
|
||||||
from airflow.hooks.docker_hook import DockerHook
|
|
||||||
from airflow.hooks.druid_hook import DruidDbApiHook, DruidHook
|
|
||||||
from airflow.hooks.filesystem import FSHook
|
|
||||||
from airflow.hooks.hive_hooks import (
|
|
||||||
HIVE_QUEUE_PRIORITIES,
|
|
||||||
HiveCliHook,
|
|
||||||
HiveMetastoreHook,
|
|
||||||
HiveServer2Hook,
|
|
||||||
)
|
|
||||||
from airflow.hooks.http_hook import HttpHook
|
|
||||||
from airflow.hooks.jdbc_hook import JdbcHook, jaydebeapi
|
|
||||||
from airflow.hooks.mssql_hook import MsSqlHook
|
|
||||||
from airflow.hooks.mysql_hook import MySqlHook
|
|
||||||
from airflow.hooks.oracle_hook import OracleHook
|
|
||||||
from airflow.hooks.package_index import PackageIndexHook
|
|
||||||
from airflow.hooks.pig_hook import PigCliHook
|
|
||||||
from airflow.hooks.postgres_hook import PostgresHook
|
|
||||||
from airflow.hooks.presto_hook import PrestoHook
|
|
||||||
from airflow.hooks.S3_hook import S3Hook, provide_bucket_name
|
|
||||||
from airflow.hooks.samba_hook import SambaHook
|
|
||||||
from airflow.hooks.slack_hook import SlackHook
|
|
||||||
from airflow.hooks.sqlite_hook import SqliteHook
|
|
||||||
from airflow.hooks.subprocess import SubprocessHook, SubprocessResult, working_directory
|
|
||||||
from airflow.hooks.webhdfs_hook import WebHDFSHook
|
|
||||||
from airflow.hooks.zendesk_hook import ZendeskHook
|
|
||||||
from airflow.kubernetes.k8s_model import K8SModel, append_to_pod
|
|
||||||
from airflow.kubernetes.kube_client import (
|
|
||||||
_disable_verify_ssl,
|
|
||||||
_enable_tcp_keepalive,
|
|
||||||
get_kube_client,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.kubernetes_helper_functions import (
|
|
||||||
add_pod_suffix,
|
|
||||||
annotations_for_logging_task_metadata,
|
|
||||||
annotations_to_key,
|
|
||||||
create_pod_id,
|
|
||||||
get_logs_task_metadata,
|
|
||||||
rand_str,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod import Port, Resources
|
|
||||||
from airflow.kubernetes.pod_generator import (
|
|
||||||
PodDefaults,
|
|
||||||
PodGenerator,
|
|
||||||
PodGeneratorDeprecated,
|
|
||||||
datetime_to_label_safe_datestring,
|
|
||||||
extend_object_field,
|
|
||||||
label_safe_datestring_to_datetime,
|
|
||||||
make_safe_label_value,
|
|
||||||
merge_objects,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_generator import (
|
|
||||||
add_pod_suffix as add_pod_suffix2,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_generator import (
|
|
||||||
rand_str as rand_str2,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_generator_deprecated import (
|
|
||||||
PodDefaults as PodDefaults3,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_generator_deprecated import (
|
|
||||||
PodGenerator as PodGenerator2,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_generator_deprecated import (
|
|
||||||
make_safe_label_value as make_safe_label_value2,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_launcher import PodLauncher, PodStatus
|
|
||||||
from airflow.kubernetes.pod_launcher_deprecated import (
|
|
||||||
PodDefaults as PodDefaults2,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_launcher_deprecated import (
|
|
||||||
PodLauncher as PodLauncher2,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_launcher_deprecated import (
|
|
||||||
PodStatus as PodStatus2,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_launcher_deprecated import (
|
|
||||||
get_kube_client as get_kube_client2,
|
|
||||||
)
|
|
||||||
from airflow.kubernetes.pod_runtime_info_env import PodRuntimeInfoEnv
|
|
||||||
from airflow.kubernetes.secret import K8SModel2, Secret
|
|
||||||
from airflow.kubernetes.volume import Volume
|
|
||||||
from airflow.kubernetes.volume_mount import VolumeMount
|
|
||||||
from airflow.macros.hive import closest_ds_partition, max_partition
|
|
||||||
from airflow.operators.bash import BashOperator
|
|
||||||
from airflow.operators.bash_operator import BashOperator as LegacyBashOperator
|
|
||||||
from airflow.operators.check_operator import (
|
|
||||||
CheckOperator,
|
|
||||||
IntervalCheckOperator,
|
|
||||||
SQLCheckOperator,
|
|
||||||
SQLIntervalCheckOperator,
|
|
||||||
SQLThresholdCheckOperator,
|
|
||||||
SQLValueCheckOperator,
|
|
||||||
ThresholdCheckOperator,
|
|
||||||
ValueCheckOperator,
|
|
||||||
)
|
|
||||||
from airflow.operators.datetime import BranchDateTimeOperator, target_times_as_dates
|
|
||||||
from airflow.operators.docker_operator import DockerOperator
|
|
||||||
from airflow.operators.druid_check_operator import DruidCheckOperator
|
|
||||||
from airflow.operators.dummy import DummyOperator, EmptyOperator
|
|
||||||
from airflow.operators.email import EmailOperator
|
|
||||||
from airflow.operators.email_operator import EmailOperator
|
|
||||||
from airflow.operators.gcs_to_s3 import GCSToS3Operator
|
|
||||||
from airflow.operators.google_api_to_s3_transfer import (
|
|
||||||
GoogleApiToS3Operator,
|
|
||||||
GoogleApiToS3Transfer,
|
|
||||||
)
|
|
||||||
from airflow.operators.hive_operator import HiveOperator
|
|
||||||
from airflow.operators.hive_stats_operator import HiveStatsCollectionOperator
|
|
||||||
from airflow.operators.hive_to_druid import HiveToDruidOperator, HiveToDruidTransfer
|
|
||||||
from airflow.operators.hive_to_mysql import HiveToMySqlOperator, HiveToMySqlTransfer
|
|
||||||
from airflow.operators.hive_to_samba_operator import HiveToSambaOperator
|
|
||||||
from airflow.operators.http_operator import SimpleHttpOperator
|
|
||||||
from airflow.operators.jdbc_operator import JdbcOperator
|
|
||||||
from airflow.operators.mssql_operator import MsSqlOperator
|
|
||||||
from airflow.operators.mssql_to_hive import MsSqlToHiveOperator, MsSqlToHiveTransfer
|
|
||||||
from airflow.operators.mysql_operator import MySqlOperator
|
|
||||||
from airflow.operators.mysql_to_hive import MySqlToHiveOperator, MySqlToHiveTransfer
|
|
||||||
from airflow.operators.oracle_operator import OracleOperator
|
|
||||||
from airflow.operators.papermill_operator import PapermillOperator
|
|
||||||
from airflow.operators.pig_operator import PigOperator
|
|
||||||
from airflow.operators.postgres_operator import Mapping, PostgresOperator
|
|
||||||
from airflow.operators.presto_check_operator import (
|
|
||||||
CheckOperator as SQLCheckOperator2,
|
|
||||||
)
|
|
||||||
from airflow.operators.presto_check_operator import (
|
|
||||||
IntervalCheckOperator as SQLIntervalCheckOperator2,
|
|
||||||
)
|
|
||||||
from airflow.operators.presto_check_operator import (
|
|
||||||
PrestoCheckOperator,
|
|
||||||
PrestoIntervalCheckOperator,
|
|
||||||
PrestoValueCheckOperator,
|
|
||||||
)
|
|
||||||
from airflow.operators.presto_check_operator import (
|
|
||||||
ValueCheckOperator as SQLValueCheckOperator2,
|
|
||||||
)
|
|
||||||
from airflow.operators.presto_to_mysql import (
|
|
||||||
PrestoToMySqlOperator,
|
|
||||||
PrestoToMySqlTransfer,
|
|
||||||
)
|
|
||||||
from airflow.operators.python import (
|
|
||||||
BranchPythonOperator,
|
|
||||||
PythonOperator,
|
|
||||||
PythonVirtualenvOperator,
|
|
||||||
ShortCircuitOperator,
|
|
||||||
)
|
|
||||||
from airflow.operators.redshift_to_s3_operator import (
|
|
||||||
RedshiftToS3Operator,
|
|
||||||
RedshiftToS3Transfer,
|
|
||||||
)
|
|
||||||
from airflow.operators.s3_file_transform_operator import S3FileTransformOperator
|
|
||||||
from airflow.operators.s3_to_hive_operator import S3ToHiveOperator, S3ToHiveTransfer
|
|
||||||
from airflow.operators.s3_to_redshift_operator import (
|
|
||||||
S3ToRedshiftOperator,
|
|
||||||
S3ToRedshiftTransfer,
|
|
||||||
)
|
|
||||||
from airflow.operators.slack_operator import SlackAPIOperator, SlackAPIPostOperator
|
|
||||||
from airflow.operators.sql import (
|
|
||||||
BaseSQLOperator,
|
|
||||||
BranchSQLOperator,
|
|
||||||
SQLTableCheckOperator,
|
|
||||||
_convert_to_float_if_possible,
|
|
||||||
parse_boolean,
|
|
||||||
)
|
|
||||||
from airflow.operators.sql import (
|
|
||||||
SQLCheckOperator as SQLCheckOperator3,
|
|
||||||
)
|
|
||||||
from airflow.operators.sql import (
|
|
||||||
SQLColumnCheckOperator as SQLColumnCheckOperator2,
|
|
||||||
)
|
|
||||||
from airflow.operators.sql import (
|
|
||||||
SQLIntervalCheckOperator as SQLIntervalCheckOperator3,
|
|
||||||
)
|
|
||||||
from airflow.operators.sql import (
|
|
||||||
SQLThresholdCheckOperator as SQLThresholdCheckOperator2,
|
|
||||||
)
|
|
||||||
from airflow.operators.sql import (
|
|
||||||
SQLValueCheckOperator as SQLValueCheckOperator3,
|
|
||||||
)
|
|
||||||
from airflow.operators.sqlite_operator import SqliteOperator
|
|
||||||
from airflow.operators.trigger_dagrun import TriggerDagRunOperator
|
|
||||||
from airflow.operators.weekday import BranchDayOfWeekOperator
|
|
||||||
from airflow.sensors import filesystem
|
|
||||||
from airflow.sensors.date_time import DateTimeSensor, DateTimeSensorAsync
|
|
||||||
from airflow.sensors.date_time_sensor import DateTimeSensor
|
|
||||||
from airflow.sensors.external_task import (
|
|
||||||
ExternalTaskMarker,
|
|
||||||
ExternalTaskSensor,
|
|
||||||
ExternalTaskSensorLink,
|
|
||||||
)
|
|
||||||
from airflow.sensors.filesystem import FileSensor
|
|
||||||
from airflow.sensors.hive_partition_sensor import HivePartitionSensor
|
|
||||||
from airflow.sensors.http_sensor import HttpSensor
|
|
||||||
from airflow.sensors.metastore_partition_sensor import MetastorePartitionSensor
|
|
||||||
from airflow.sensors.named_hive_partition_sensor import NamedHivePartitionSensor
|
|
||||||
from airflow.sensors.sql import SqlSensor
|
|
||||||
from airflow.sensors.sql_sensor import SqlSensor2
|
|
||||||
from airflow.sensors.time_delta import TimeDeltaSensor, TimeDeltaSensorAsync, WaitSensor
|
|
||||||
from airflow.sensors.time_sensor import TimeSensor, TimeSensorAsync
|
|
||||||
from airflow.sensors.web_hdfs_sensor import WebHdfsSensor
|
|
||||||
from airflow.sensors.weekday import DayOfWeekSensor
|
|
||||||
from airflow.triggers.external_task import DagStateTrigger, WorkflowTrigger
|
|
||||||
from airflow.triggers.file import FileTrigger
|
|
||||||
from airflow.triggers.temporal import DateTimeTrigger, TimeDeltaTrigger
|
|
||||||
from airflow.www.security import FabAirflowSecurityManagerOverride
|
|
||||||
|
|
||||||
# apache-airflow-providers-amazon
|
|
||||||
provide_bucket_name()
|
|
||||||
GCSToS3Operator()
|
|
||||||
GoogleApiToS3Operator()
|
|
||||||
GoogleApiToS3Transfer()
|
|
||||||
RedshiftToS3Operator()
|
|
||||||
RedshiftToS3Transfer()
|
|
||||||
S3FileTransformOperator()
|
|
||||||
S3Hook()
|
|
||||||
SSQLTableCheckOperator3KeySensor()
|
|
||||||
S3ToRedshiftOperator()
|
|
||||||
S3ToRedshiftTransfer()
|
|
||||||
|
|
||||||
# apache-airflow-providers-celery
|
|
||||||
DEFAULT_CELERY_CONFIG
|
|
||||||
app
|
|
||||||
CeleryExecutor()
|
|
||||||
CeleryKubernetesExecutor()
|
|
||||||
|
|
||||||
# apache-airflow-providers-common-sql
|
|
||||||
_convert_to_float_if_possible()
|
|
||||||
parse_boolean()
|
|
||||||
BaseSQLOperator()
|
|
||||||
BashOperator()
|
|
||||||
LegacyBashOperator()
|
|
||||||
BranchSQLOperator()
|
|
||||||
CheckOperator()
|
|
||||||
ConnectorProtocol()
|
|
||||||
DbApiHook()
|
|
||||||
DbApiHook2()
|
|
||||||
IntervalCheckOperator()
|
|
||||||
PrestoCheckOperator()
|
|
||||||
PrestoIntervalCheckOperator()
|
|
||||||
PrestoValueCheckOperator()
|
|
||||||
SQLCheckOperator()
|
|
||||||
SQLCheckOperator2()
|
|
||||||
SQLCheckOperator3()
|
|
||||||
SQLColumnCheckOperator2()
|
|
||||||
SQLIntervalCheckOperator()
|
|
||||||
SQLIntervalCheckOperator2()
|
|
||||||
SQLIntervalCheckOperator3()
|
|
||||||
SQLTableCheckOperator()
|
|
||||||
SQLThresholdCheckOperator()
|
|
||||||
SQLThresholdCheckOperator2()
|
|
||||||
SQLValueCheckOperator()
|
|
||||||
SQLValueCheckOperator2()
|
|
||||||
SQLValueCheckOperator3()
|
|
||||||
SqlSensor()
|
|
||||||
SqlSensor2()
|
|
||||||
ThresholdCheckOperator()
|
|
||||||
ValueCheckOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-daskexecutor
|
|
||||||
DaskExecutor()
|
|
||||||
|
|
||||||
# apache-airflow-providers-docker
|
|
||||||
DockerHook()
|
|
||||||
DockerOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-apache-druid
|
|
||||||
DruidDbApiHook()
|
|
||||||
DruidHook()
|
|
||||||
DruidCheckOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-apache-hdfs
|
|
||||||
WebHDFSHook()
|
|
||||||
WebHdfsSensor()
|
|
||||||
|
|
||||||
# apache-airflow-providers-apache-hive
|
|
||||||
HIVE_QUEUE_PRIORITIES
|
|
||||||
closest_ds_partition()
|
|
||||||
max_partition()
|
|
||||||
HiveCliHook()
|
|
||||||
HiveMetastoreHook()
|
|
||||||
HiveOperator()
|
|
||||||
HivePartitionSensor()
|
|
||||||
HiveServer2Hook()
|
|
||||||
HiveStatsCollectionOperator()
|
|
||||||
HiveToDruidOperator()
|
|
||||||
HiveToDruidTransfer()
|
|
||||||
HiveToSambaOperator()
|
|
||||||
S3ToHiveOperator()
|
|
||||||
S3ToHiveTransfer()
|
|
||||||
MetastorePartitionSensor()
|
|
||||||
NamedHivePartitionSensor()
|
|
||||||
|
|
||||||
# apache-airflow-providers-http
|
|
||||||
HttpHook()
|
|
||||||
HttpSensor()
|
|
||||||
SimpleHttpOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-jdbc
|
|
||||||
jaydebeapi
|
|
||||||
JdbcHook()
|
|
||||||
JdbcOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-fab
|
|
||||||
basic_auth.CLIENT_AUTH
|
|
||||||
basic_auth.init_app
|
|
||||||
basic_auth.auth_current_user
|
|
||||||
basic_auth.requires_authentication
|
|
||||||
|
|
||||||
kerberos_auth.log
|
|
||||||
kerberos_auth.CLIENT_AUTH
|
|
||||||
kerberos_auth.find_user
|
|
||||||
kerberos_auth.init_app
|
|
||||||
kerberos_auth.requires_authentication
|
|
||||||
auth_current_user
|
|
||||||
backend_kerberos_auth
|
|
||||||
fab_override
|
|
||||||
FabAuthManager()
|
|
||||||
FabAirflowSecurityManagerOverride()
|
|
||||||
|
|
||||||
# check whether attribute access
|
|
||||||
basic_auth.auth_current_user
|
|
||||||
|
|
||||||
# apache-airflow-providers-cncf-kubernetes
|
|
||||||
ALL_NAMESPACES
|
|
||||||
POD_EXECUTOR_DONE_KEY
|
|
||||||
_disable_verify_ssl()
|
|
||||||
_enable_tcp_keepalive()
|
|
||||||
append_to_pod()
|
|
||||||
annotations_for_logging_task_metadata()
|
|
||||||
annotations_to_key()
|
|
||||||
create_pod_id()
|
|
||||||
datetime_to_label_safe_datestring()
|
|
||||||
extend_object_field()
|
|
||||||
get_logs_task_metadata()
|
|
||||||
label_safe_datestring_to_datetime()
|
|
||||||
merge_objects()
|
|
||||||
Port()
|
|
||||||
Resources()
|
|
||||||
PodRuntimeInfoEnv()
|
|
||||||
PodGeneratorDeprecated()
|
|
||||||
Volume()
|
|
||||||
VolumeMount()
|
|
||||||
Secret()
|
|
||||||
|
|
||||||
add_pod_suffix()
|
|
||||||
add_pod_suffix2()
|
|
||||||
get_kube_client()
|
|
||||||
get_kube_client2()
|
|
||||||
make_safe_label_value()
|
|
||||||
make_safe_label_value2()
|
|
||||||
rand_str()
|
|
||||||
rand_str2()
|
|
||||||
K8SModel()
|
|
||||||
K8SModel2()
|
|
||||||
PodLauncher()
|
|
||||||
PodLauncher2()
|
|
||||||
PodStatus()
|
|
||||||
PodStatus2()
|
|
||||||
PodDefaults()
|
|
||||||
PodDefaults2()
|
|
||||||
PodDefaults3()
|
|
||||||
PodGenerator()
|
|
||||||
PodGenerator2()
|
|
||||||
|
|
||||||
|
|
||||||
# apache-airflow-providers-microsoft-mssql
|
|
||||||
MsSqlHook()
|
|
||||||
MsSqlOperator()
|
|
||||||
MsSqlToHiveOperator()
|
|
||||||
MsSqlToHiveTransfer()
|
|
||||||
|
|
||||||
# apache-airflow-providers-mysql
|
|
||||||
HiveToMySqlOperator()
|
|
||||||
HiveToMySqlTransfer()
|
|
||||||
MySqlHook()
|
|
||||||
MySqlOperator()
|
|
||||||
MySqlToHiveOperator()
|
|
||||||
MySqlToHiveTransfer()
|
|
||||||
PrestoToMySqlOperator()
|
|
||||||
PrestoToMySqlTransfer()
|
|
||||||
|
|
||||||
# apache-airflow-providers-oracle
|
|
||||||
OracleHook()
|
|
||||||
OracleOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-papermill
|
|
||||||
PapermillOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-apache-pig
|
|
||||||
PigCliHook()
|
|
||||||
PigOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-postgres
|
|
||||||
Mapping
|
|
||||||
PostgresHook()
|
|
||||||
PostgresOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-presto
|
|
||||||
PrestoHook()
|
|
||||||
|
|
||||||
# apache-airflow-providers-samba
|
|
||||||
SambaHook()
|
|
||||||
|
|
||||||
# apache-airflow-providers-slack
|
|
||||||
SlackHook()
|
|
||||||
SlackAPIOperator()
|
|
||||||
SlackAPIPostOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-sqlite
|
|
||||||
SqliteHook()
|
|
||||||
SqliteOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-zendesk
|
|
||||||
ZendeskHook()
|
|
||||||
|
|
||||||
# apache-airflow-providers-smtp
|
|
||||||
EmailOperator()
|
|
||||||
|
|
||||||
# apache-airflow-providers-standard
|
|
||||||
filesystem.FileSensor()
|
|
||||||
FileSensor()
|
|
||||||
TriggerDagRunOperator()
|
|
||||||
ExternalTaskMarker()
|
|
||||||
ExternalTaskSensor()
|
|
||||||
BranchDateTimeOperator()
|
|
||||||
BranchDayOfWeekOperator()
|
|
||||||
BranchPythonOperator()
|
|
||||||
DateTimeSensor()
|
|
||||||
DateTimeSensorAsync()
|
|
||||||
TimeSensor()
|
|
||||||
TimeDeltaSensor()
|
|
||||||
DayOfWeekSensor()
|
|
||||||
DummyOperator()
|
|
||||||
EmptyOperator()
|
|
||||||
ExternalTaskMarker()
|
|
||||||
ExternalTaskSensor()
|
|
||||||
ExternalTaskSensorLink()
|
|
||||||
FileSensor()
|
|
||||||
FileTrigger()
|
|
||||||
FSHook()
|
|
||||||
PackageIndexHook()
|
|
||||||
SubprocessHook()
|
|
||||||
ShortCircuitOperator()
|
|
||||||
TimeDeltaSensor()
|
|
||||||
TimeSensor()
|
|
||||||
TriggerDagRunOperator()
|
|
||||||
WorkflowTrigger()
|
|
||||||
PythonOperator()
|
|
||||||
PythonVirtualenvOperator()
|
|
||||||
DagStateTrigger()
|
|
||||||
FileTrigger()
|
|
||||||
DateTimeTrigger()
|
|
||||||
TimeDeltaTrigger()
|
|
||||||
SubprocessResult()
|
|
||||||
SubprocessHook()
|
|
||||||
TimeDeltaSensor()
|
|
||||||
TimeDeltaSensorAsync()
|
|
||||||
WaitSensor()
|
|
||||||
TimeSensor()
|
|
||||||
TimeSensorAsync()
|
|
||||||
BranchDateTimeOperator()
|
|
||||||
working_directory()
|
|
||||||
target_times_as_dates()
|
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.S3_hook import (
|
||||||
|
S3Hook,
|
||||||
|
provide_bucket_name,
|
||||||
|
)
|
||||||
|
from airflow.operators.gcs_to_s3 import GCSToS3Operator
|
||||||
|
from airflow.operators.google_api_to_s3_transfer import (
|
||||||
|
GoogleApiToS3Operator,
|
||||||
|
GoogleApiToS3Transfer,
|
||||||
|
)
|
||||||
|
from airflow.operators.redshift_to_s3_operator import (
|
||||||
|
RedshiftToS3Operator,
|
||||||
|
RedshiftToS3Transfer,
|
||||||
|
)
|
||||||
|
from airflow.operators.s3_file_transform_operator import S3FileTransformOperator
|
||||||
|
from airflow.operators.s3_to_redshift_operator import (
|
||||||
|
S3ToRedshiftOperator,
|
||||||
|
S3ToRedshiftTransfer,
|
||||||
|
)
|
||||||
|
from airflow.sensors.s3_key_sensor import S3KeySensor
|
||||||
|
|
||||||
|
S3Hook()
|
||||||
|
provide_bucket_name()
|
||||||
|
|
||||||
|
GCSToS3Operator()
|
||||||
|
|
||||||
|
GoogleApiToS3Operator()
|
||||||
|
GoogleApiToS3Transfer()
|
||||||
|
|
||||||
|
RedshiftToS3Operator()
|
||||||
|
RedshiftToS3Transfer()
|
||||||
|
|
||||||
|
S3FileTransformOperator()
|
||||||
|
|
||||||
|
S3ToRedshiftOperator()
|
||||||
|
S3ToRedshiftTransfer()
|
||||||
|
|
||||||
|
S3KeySensor()
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.config_templates.default_celery import DEFAULT_CELERY_CONFIG
|
||||||
|
from airflow.executors.celery_executor import (
|
||||||
|
CeleryExecutor,
|
||||||
|
app,
|
||||||
|
)
|
||||||
|
|
||||||
|
DEFAULT_CELERY_CONFIG
|
||||||
|
|
||||||
|
app
|
||||||
|
CeleryExecutor()
|
||||||
|
|
@ -0,0 +1,129 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.dbapi import (
|
||||||
|
ConnectorProtocol,
|
||||||
|
DbApiHook,
|
||||||
|
)
|
||||||
|
from airflow.hooks.dbapi_hook import DbApiHook
|
||||||
|
from airflow.operators.check_operator import SQLCheckOperator
|
||||||
|
|
||||||
|
ConnectorProtocol()
|
||||||
|
DbApiHook()
|
||||||
|
SQLCheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.check_operator import CheckOperator
|
||||||
|
from airflow.operators.sql import SQLCheckOperator
|
||||||
|
|
||||||
|
SQLCheckOperator()
|
||||||
|
CheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.druid_check_operator import CheckOperator
|
||||||
|
|
||||||
|
CheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.presto_check_operator import CheckOperator
|
||||||
|
|
||||||
|
CheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.check_operator import (
|
||||||
|
IntervalCheckOperator,
|
||||||
|
SQLIntervalCheckOperator,
|
||||||
|
)
|
||||||
|
from airflow.operators.druid_check_operator import DruidCheckOperator
|
||||||
|
from airflow.operators.presto_check_operator import PrestoCheckOperator
|
||||||
|
|
||||||
|
DruidCheckOperator()
|
||||||
|
PrestoCheckOperator()
|
||||||
|
IntervalCheckOperator()
|
||||||
|
SQLIntervalCheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.presto_check_operator import (
|
||||||
|
IntervalCheckOperator,
|
||||||
|
PrestoIntervalCheckOperator,
|
||||||
|
)
|
||||||
|
from airflow.operators.sql import SQLIntervalCheckOperator
|
||||||
|
|
||||||
|
IntervalCheckOperator()
|
||||||
|
SQLIntervalCheckOperator()
|
||||||
|
PrestoIntervalCheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.check_operator import (
|
||||||
|
SQLThresholdCheckOperator,
|
||||||
|
ThresholdCheckOperator,
|
||||||
|
)
|
||||||
|
|
||||||
|
SQLThresholdCheckOperator()
|
||||||
|
ThresholdCheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.sql import SQLThresholdCheckOperator
|
||||||
|
|
||||||
|
SQLThresholdCheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.check_operator import (
|
||||||
|
SQLValueCheckOperator,
|
||||||
|
ValueCheckOperator,
|
||||||
|
)
|
||||||
|
|
||||||
|
SQLValueCheckOperator()
|
||||||
|
ValueCheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.presto_check_operator import (
|
||||||
|
PrestoValueCheckOperator,
|
||||||
|
ValueCheckOperator,
|
||||||
|
)
|
||||||
|
from airflow.operators.sql import SQLValueCheckOperator
|
||||||
|
|
||||||
|
SQLValueCheckOperator()
|
||||||
|
ValueCheckOperator()
|
||||||
|
PrestoValueCheckOperator()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.sql import (
|
||||||
|
BaseSQLOperator,
|
||||||
|
BranchSQLOperator,
|
||||||
|
SQLColumnCheckOperator,
|
||||||
|
SQLTablecheckOperator,
|
||||||
|
_convert_to_float_if_possible,
|
||||||
|
parse_boolean,
|
||||||
|
)
|
||||||
|
|
||||||
|
BaseSQLOperator()
|
||||||
|
BranchSQLOperator()
|
||||||
|
SQLTablecheckOperator()
|
||||||
|
SQLColumnCheckOperator()
|
||||||
|
_convert_to_float_if_possible()
|
||||||
|
parse_boolean()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.sensors.sql import SqlSensor
|
||||||
|
|
||||||
|
SqlSensor()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.sensors.sql_sensor import SqlSensor
|
||||||
|
|
||||||
|
SqlSensor()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.operators.jdbc_operator import JdbcOperator
|
||||||
|
from airflow.operators.mssql_operator import MsSqlOperator
|
||||||
|
from airflow.operators.mysql_operator import MySqlOperator
|
||||||
|
from airflow.operators.oracle_operator import OracleOperator
|
||||||
|
from airflow.operators.postgres_operator import PostgresOperator
|
||||||
|
from airflow.operators.sqlite_operator import SqliteOperator
|
||||||
|
|
||||||
|
JdbcOperator()
|
||||||
|
MsSqlOperator()
|
||||||
|
MySqlOperator()
|
||||||
|
OracleOperator()
|
||||||
|
PostgresOperator()
|
||||||
|
SqliteOperator()
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.executors.dask_executor import DaskExecutor
|
||||||
|
|
||||||
|
DaskExecutor()
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.docker_hook import DockerHook
|
||||||
|
from airflow.operators.docker_operator import DockerOperator
|
||||||
|
|
||||||
|
DockerHook()
|
||||||
|
DockerOperator()
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.druid_hook import (
|
||||||
|
DruidDbApiHook,
|
||||||
|
DruidHook,
|
||||||
|
)
|
||||||
|
from airflow.operators.hive_to_druid import (
|
||||||
|
HiveToDruidOperator,
|
||||||
|
HiveToDruidTransfer,
|
||||||
|
)
|
||||||
|
|
||||||
|
DruidDbApiHook()
|
||||||
|
DruidHook()
|
||||||
|
|
||||||
|
HiveToDruidOperator()
|
||||||
|
HiveToDruidTransfer()
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.api.auth.backend.basic_auth import (
|
||||||
|
CLIENT_AUTH,
|
||||||
|
auth_current_user,
|
||||||
|
init_app,
|
||||||
|
requires_authentication,
|
||||||
|
)
|
||||||
|
|
||||||
|
CLIENT_AUTH
|
||||||
|
init_app()
|
||||||
|
auth_current_user()
|
||||||
|
requires_authentication()
|
||||||
|
|
||||||
|
from airflow.api.auth.backend.kerberos_auth import (
|
||||||
|
CLIENT_AUTH,
|
||||||
|
find_user,
|
||||||
|
init_app,
|
||||||
|
log,
|
||||||
|
requires_authentication,
|
||||||
|
)
|
||||||
|
|
||||||
|
log()
|
||||||
|
CLIENT_AUTH
|
||||||
|
find_user()
|
||||||
|
init_app()
|
||||||
|
requires_authentication()
|
||||||
|
|
||||||
|
from airflow.auth.managers.fab.api.auth.backend.kerberos_auth import (
|
||||||
|
CLIENT_AUTH,
|
||||||
|
find_user,
|
||||||
|
init_app,
|
||||||
|
log,
|
||||||
|
requires_authentication,
|
||||||
|
)
|
||||||
|
|
||||||
|
log()
|
||||||
|
CLIENT_AUTH
|
||||||
|
find_user()
|
||||||
|
init_app()
|
||||||
|
requires_authentication()
|
||||||
|
|
||||||
|
from airflow.auth.managers.fab.fab_auth_manager import FabAuthManager
|
||||||
|
from airflow.auth.managers.fab.security_manager.override import (
|
||||||
|
MAX_NUM_DATABASE_USER_SESSIONS,
|
||||||
|
FabAirflowSecurityManagerOverride,
|
||||||
|
)
|
||||||
|
|
||||||
|
FabAuthManager()
|
||||||
|
MAX_NUM_DATABASE_USER_SESSIONS
|
||||||
|
FabAirflowSecurityManagerOverride()
|
||||||
|
|
||||||
|
from airflow.www.security import FabAirflowSecurityManagerOverride
|
||||||
|
|
||||||
|
FabAirflowSecurityManagerOverride()
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.webhdfs_hook import WebHDFSHook
|
||||||
|
from airflow.sensors.web_hdfs_sensor import WebHdfsSensor
|
||||||
|
|
||||||
|
WebHDFSHook()
|
||||||
|
WebHdfsSensor()
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.hive_hooks import (
|
||||||
|
HIVE_QUEUE_PRIORITIES,
|
||||||
|
HiveCliHook,
|
||||||
|
HiveMetastoreHook,
|
||||||
|
HiveServer2Hook,
|
||||||
|
)
|
||||||
|
from airflow.macros.hive import (
|
||||||
|
closest_ds_partition,
|
||||||
|
max_partition,
|
||||||
|
)
|
||||||
|
from airflow.operators.hive_operator import HiveOperator
|
||||||
|
from airflow.operators.hive_stats_operator import HiveStatsCollectionOperator
|
||||||
|
from airflow.operators.hive_to_mysql import (
|
||||||
|
HiveToMySqlOperator,
|
||||||
|
HiveToMySqlTransfer,
|
||||||
|
)
|
||||||
|
from airflow.operators.hive_to_samba_operator import HiveToSambaOperator
|
||||||
|
from airflow.operators.mssql_to_hive import (
|
||||||
|
MsSqlToHiveOperator,
|
||||||
|
MsSqlToHiveTransfer,
|
||||||
|
)
|
||||||
|
from airflow.operators.mysql_to_hive import (
|
||||||
|
MySqlToHiveOperator,
|
||||||
|
MySqlToHiveTransfer,
|
||||||
|
)
|
||||||
|
from airflow.operators.s3_to_hive_operator import (
|
||||||
|
S3ToHiveOperator,
|
||||||
|
S3ToHiveTransfer,
|
||||||
|
)
|
||||||
|
from airflow.sensors.hive_partition_sensor import HivePartitionSensor
|
||||||
|
from airflow.sensors.metastore_partition_sensor import MetastorePartitionSensor
|
||||||
|
from airflow.sensors.named_hive_partition_sensor import NamedHivePartitionSensor
|
||||||
|
|
||||||
|
closest_ds_partition()
|
||||||
|
max_partition()
|
||||||
|
|
||||||
|
HiveCliHook()
|
||||||
|
HiveMetastoreHook()
|
||||||
|
HiveServer2Hook()
|
||||||
|
HIVE_QUEUE_PRIORITIES
|
||||||
|
|
||||||
|
HiveOperator()
|
||||||
|
|
||||||
|
HiveStatsCollectionOperator()
|
||||||
|
|
||||||
|
HiveToMySqlOperator()
|
||||||
|
HiveToMySqlTransfer()
|
||||||
|
|
||||||
|
HiveToSambaOperator()
|
||||||
|
|
||||||
|
MsSqlToHiveOperator()
|
||||||
|
MsSqlToHiveTransfer()
|
||||||
|
|
||||||
|
MySqlToHiveOperator()
|
||||||
|
MySqlToHiveTransfer()
|
||||||
|
|
||||||
|
S3ToHiveOperator()
|
||||||
|
S3ToHiveTransfer()
|
||||||
|
|
||||||
|
HivePartitionSensor()
|
||||||
|
|
||||||
|
MetastorePartitionSensor()
|
||||||
|
|
||||||
|
NamedHivePartitionSensor()
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.http_hook import HttpHook
|
||||||
|
from airflow.operators.http_operator import SimpleHttpOperator
|
||||||
|
from airflow.sensors.http_sensor import HttpSensor
|
||||||
|
|
||||||
|
HttpHook()
|
||||||
|
SimpleHttpOperator()
|
||||||
|
HttpSensor()
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.jdbc_hook import (
|
||||||
|
JdbcHook,
|
||||||
|
jaydebeapi,
|
||||||
|
)
|
||||||
|
|
||||||
|
JdbcHook()
|
||||||
|
jaydebeapi()
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.executors.kubernetes_executor_types import (
|
||||||
|
ALL_NAMESPACES,
|
||||||
|
POD_EXECUTOR_DONE_KEY,
|
||||||
|
)
|
||||||
|
from airflow.kubernetes.k8s_model import (
|
||||||
|
K8SModel,
|
||||||
|
append_to_pod,
|
||||||
|
)
|
||||||
|
from airflow.kubernetes.kube_client import (
|
||||||
|
_disable_verify_ssl,
|
||||||
|
_enable_tcp_keepalive,
|
||||||
|
get_kube_client,
|
||||||
|
)
|
||||||
|
from airflow.kubernetes.kubernetes_helper_functions import (
|
||||||
|
add_pod_suffix,
|
||||||
|
annotations_for_logging_task_metadata,
|
||||||
|
annotations_to_key,
|
||||||
|
create_pod_id,
|
||||||
|
get_logs_task_metadata,
|
||||||
|
rand_str,
|
||||||
|
)
|
||||||
|
from airflow.kubernetes.pod import (
|
||||||
|
Port,
|
||||||
|
Resources,
|
||||||
|
)
|
||||||
|
|
||||||
|
ALL_NAMESPACES
|
||||||
|
POD_EXECUTOR_DONE_KEY
|
||||||
|
|
||||||
|
K8SModel()
|
||||||
|
append_to_pod()
|
||||||
|
|
||||||
|
_disable_verify_ssl()
|
||||||
|
_enable_tcp_keepalive()
|
||||||
|
get_kube_client()
|
||||||
|
|
||||||
|
add_pod_suffix()
|
||||||
|
create_pod_id()
|
||||||
|
|
||||||
|
annotations_for_logging_task_metadata()
|
||||||
|
annotations_to_key()
|
||||||
|
get_logs_task_metadata()
|
||||||
|
rand_str()
|
||||||
|
|
||||||
|
Port()
|
||||||
|
Resources()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.kubernetes.pod_generator import (
|
||||||
|
PodDefaults,
|
||||||
|
PodGenerator,
|
||||||
|
PodGeneratorDeprecated,
|
||||||
|
add_pod_suffix,
|
||||||
|
datetime_to_label_safe_datestring,
|
||||||
|
extend_object_field,
|
||||||
|
label_safe_datestring_to_datetime,
|
||||||
|
make_safe_label_value,
|
||||||
|
merge_objects,
|
||||||
|
rand_str,
|
||||||
|
)
|
||||||
|
|
||||||
|
datetime_to_label_safe_datestring()
|
||||||
|
extend_object_field()
|
||||||
|
label_safe_datestring_to_datetime()
|
||||||
|
make_safe_label_value()
|
||||||
|
merge_objects()
|
||||||
|
PodGenerator()
|
||||||
|
PodDefaults()
|
||||||
|
PodGeneratorDeprecated()
|
||||||
|
add_pod_suffix()
|
||||||
|
rand_str()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.kubernetes.pod_generator_deprecated import (
|
||||||
|
PodDefaults,
|
||||||
|
PodGenerator,
|
||||||
|
make_safe_label_value,
|
||||||
|
)
|
||||||
|
from airflow.kubernetes.pod_launcher import (
|
||||||
|
PodLauncher,
|
||||||
|
PodStatus,
|
||||||
|
)
|
||||||
|
|
||||||
|
PodDefaults()
|
||||||
|
PodGenerator()
|
||||||
|
make_safe_label_value()
|
||||||
|
|
||||||
|
PodLauncher()
|
||||||
|
PodStatus()
|
||||||
|
|
||||||
|
|
||||||
|
from airflow.kubernetes.pod_launcher_deprecated import (
|
||||||
|
PodDefaults,
|
||||||
|
PodLauncher,
|
||||||
|
PodStatus,
|
||||||
|
get_kube_client,
|
||||||
|
)
|
||||||
|
from airflow.kubernetes.pod_runtime_info_env import PodRuntimeInfoEnv
|
||||||
|
from airflow.kubernetes.secret import (
|
||||||
|
K8SModel,
|
||||||
|
Secret,
|
||||||
|
)
|
||||||
|
from airflow.kubernetes.volume import Volume
|
||||||
|
from airflow.kubernetes.volume_mount import VolumeMount
|
||||||
|
|
||||||
|
PodDefaults()
|
||||||
|
PodLauncher()
|
||||||
|
PodStatus()
|
||||||
|
get_kube_client()
|
||||||
|
|
||||||
|
PodRuntimeInfoEnv()
|
||||||
|
K8SModel()
|
||||||
|
Secret()
|
||||||
|
Volume()
|
||||||
|
VolumeMount()
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.mysql_hook import MySqlHook
|
||||||
|
from airflow.operators.presto_to_mysql import (
|
||||||
|
PrestoToMySqlOperator,
|
||||||
|
PrestoToMySqlTransfer,
|
||||||
|
)
|
||||||
|
|
||||||
|
MySqlHook()
|
||||||
|
PrestoToMySqlOperator()
|
||||||
|
PrestoToMySqlTransfer()
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.oracle_hook import OracleHook
|
||||||
|
|
||||||
|
OracleHook()
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.operators.papermill_operator import PapermillOperator
|
||||||
|
|
||||||
|
PapermillOperator()
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.pig_hook import PigCliHook
|
||||||
|
from airflow.operators.pig_operator import PigOperator
|
||||||
|
|
||||||
|
PigCliHook()
|
||||||
|
PigOperator()
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.postgres_hook import PostgresHook
|
||||||
|
from airflow.operators.postgres_operator import Mapping
|
||||||
|
|
||||||
|
PostgresHook()
|
||||||
|
Mapping()
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.presto_hook import PrestoHook
|
||||||
|
|
||||||
|
PrestoHook()
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.samba_hook import SambaHook
|
||||||
|
|
||||||
|
SambaHook()
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.slack_hook import SlackHook
|
||||||
|
from airflow.operators.slack_operator import SlackAPIOperator, SlackAPIPostOperator
|
||||||
|
|
||||||
|
SlackHook()
|
||||||
|
SlackAPIOperator()
|
||||||
|
SlackAPIPostOperator()
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.operators.email_operator import EmailOperator
|
||||||
|
|
||||||
|
EmailOperator()
|
||||||
|
|
||||||
|
from airflow.operators.email import EmailOperator
|
||||||
|
|
||||||
|
EmailOperator()
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.sqlite_hook import SqliteHook
|
||||||
|
|
||||||
|
SqliteHook()
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.operators.bash_operator import BashOperator
|
||||||
|
from airflow.operators.dagrun_operator import (
|
||||||
|
TriggerDagRunLink,
|
||||||
|
TriggerDagRunOperator,
|
||||||
|
)
|
||||||
|
from airflow.operators.dummy import (
|
||||||
|
DummyOperator,
|
||||||
|
EmptyOperator,
|
||||||
|
)
|
||||||
|
from airflow.operators.latest_only_operator import LatestOnlyOperator
|
||||||
|
from airflow.operators.python_operator import (
|
||||||
|
BranchPythonOperator,
|
||||||
|
PythonOperator,
|
||||||
|
PythonVirtualenvOperator,
|
||||||
|
ShortCircuitOperator,
|
||||||
|
)
|
||||||
|
from airflow.sensors.external_task_sensor import (
|
||||||
|
ExternalTaskMarker,
|
||||||
|
ExternalTaskSensor,
|
||||||
|
ExternalTaskSensorLink,
|
||||||
|
)
|
||||||
|
|
||||||
|
BashOperator()
|
||||||
|
|
||||||
|
TriggerDagRunLink()
|
||||||
|
TriggerDagRunOperator()
|
||||||
|
DummyOperator()
|
||||||
|
EmptyOperator()
|
||||||
|
|
||||||
|
LatestOnlyOperator()
|
||||||
|
|
||||||
|
BranchPythonOperator()
|
||||||
|
PythonOperator()
|
||||||
|
PythonVirtualenvOperator()
|
||||||
|
ShortCircuitOperator()
|
||||||
|
|
||||||
|
ExternalTaskMarker()
|
||||||
|
ExternalTaskSensor()
|
||||||
|
ExternalTaskSensorLink()
|
||||||
|
|
||||||
|
from airflow.operators.dummy_operator import (
|
||||||
|
DummyOperator,
|
||||||
|
EmptyOperator,
|
||||||
|
)
|
||||||
|
|
||||||
|
DummyOperator()
|
||||||
|
EmptyOperator()
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from airflow.hooks.zendesk_hook import ZendeskHook
|
||||||
|
|
||||||
|
ZendeskHook()
|
||||||
|
|
@ -4,7 +4,7 @@ use ruff_python_ast::{Expr, ExprName, StmtTry};
|
||||||
use ruff_python_semantic::Exceptions;
|
use ruff_python_semantic::Exceptions;
|
||||||
use ruff_python_semantic::SemanticModel;
|
use ruff_python_semantic::SemanticModel;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Eq, PartialEq)]
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||||
pub(crate) enum Replacement {
|
pub(crate) enum Replacement {
|
||||||
None,
|
None,
|
||||||
Name(&'static str),
|
Name(&'static str),
|
||||||
|
|
@ -19,7 +19,7 @@ pub(crate) enum Replacement {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Eq, PartialEq)]
|
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||||
pub(crate) enum ProviderReplacement {
|
pub(crate) enum ProviderReplacement {
|
||||||
None,
|
None,
|
||||||
ProviderName {
|
ProviderName {
|
||||||
|
|
@ -27,9 +27,15 @@ pub(crate) enum ProviderReplacement {
|
||||||
provider: &'static str,
|
provider: &'static str,
|
||||||
version: &'static str,
|
version: &'static str,
|
||||||
},
|
},
|
||||||
SourceModuleMovedToProvider {
|
AutoImport {
|
||||||
name: String,
|
|
||||||
module: &'static str,
|
module: &'static str,
|
||||||
|
name: &'static str,
|
||||||
|
provider: &'static str,
|
||||||
|
version: &'static str,
|
||||||
|
},
|
||||||
|
SourceModuleMovedToProvider {
|
||||||
|
module: &'static str,
|
||||||
|
name: String,
|
||||||
provider: &'static str,
|
provider: &'static str,
|
||||||
version: &'static str,
|
version: &'static str,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,29 @@ mod tests {
|
||||||
#[test_case(Rule::Airflow3Removal, Path::new("AIR301_class_attribute.py"))]
|
#[test_case(Rule::Airflow3Removal, Path::new("AIR301_class_attribute.py"))]
|
||||||
#[test_case(Rule::Airflow3Removal, Path::new("AIR301_airflow_plugin.py"))]
|
#[test_case(Rule::Airflow3Removal, Path::new("AIR301_airflow_plugin.py"))]
|
||||||
#[test_case(Rule::Airflow3Removal, Path::new("AIR301_context.py"))]
|
#[test_case(Rule::Airflow3Removal, Path::new("AIR301_context.py"))]
|
||||||
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302.py"))]
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_amazon.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_celery.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_common_sql.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_daskexecutor.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_druid.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_fab.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_hdfs.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_hive.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_http.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_jdbc.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_kubernetes.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_mysql.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_oracle.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_papermill.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_pig.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_postgres.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_presto.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_samba.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_slack.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_smtp.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_sqlite.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_zendesk.py"))]
|
||||||
|
#[test_case(Rule::Airflow3MovedToProvider, Path::new("AIR302_standard.py"))]
|
||||||
#[test_case(Rule::Airflow3SuggestedUpdate, Path::new("AIR311_args.py"))]
|
#[test_case(Rule::Airflow3SuggestedUpdate, Path::new("AIR311_args.py"))]
|
||||||
#[test_case(Rule::Airflow3SuggestedUpdate, Path::new("AIR311_names.py"))]
|
#[test_case(Rule::Airflow3SuggestedUpdate, Path::new("AIR311_names.py"))]
|
||||||
#[test_case(Rule::Airflow3SuggestedToMoveToProvider, Path::new("AIR312.py"))]
|
#[test_case(Rule::Airflow3SuggestedToMoveToProvider, Path::new("AIR312.py"))]
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -49,13 +49,20 @@ impl Violation for Airflow3SuggestedToMoveToProvider {
|
||||||
provider,
|
provider,
|
||||||
version: _,
|
version: _,
|
||||||
}
|
}
|
||||||
|
| ProviderReplacement::AutoImport {
|
||||||
|
name: _,
|
||||||
|
module: _,
|
||||||
|
provider,
|
||||||
|
version: _,
|
||||||
|
}
|
||||||
| ProviderReplacement::SourceModuleMovedToProvider {
|
| ProviderReplacement::SourceModuleMovedToProvider {
|
||||||
name: _,
|
name: _,
|
||||||
module: _,
|
module: _,
|
||||||
provider,
|
provider,
|
||||||
version: _,
|
version: _,
|
||||||
} => {
|
} => {
|
||||||
format!("`{deprecated}` is deprecated and moved into `{provider}` provider in Airflow 3.0; \
|
format!(
|
||||||
|
"`{deprecated}` is deprecated and moved into `{provider}` provider in Airflow 3.0; \
|
||||||
It still works in Airflow 3.0 but is expected to be removed in a future version."
|
It still works in Airflow 3.0 but is expected to be removed in a future version."
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -75,6 +82,14 @@ impl Violation for Airflow3SuggestedToMoveToProvider {
|
||||||
"Install `apache-airflow-providers-{provider}>={version}` and use `{name}` instead."
|
"Install `apache-airflow-providers-{provider}>={version}` and use `{name}` instead."
|
||||||
))
|
))
|
||||||
},
|
},
|
||||||
|
ProviderReplacement::AutoImport {
|
||||||
|
module,
|
||||||
|
name,
|
||||||
|
provider,
|
||||||
|
version,
|
||||||
|
} => {
|
||||||
|
Some(format!("Install `apache-airflow-providers-{provider}>={version}` and use `{module}.{name}` instead."))
|
||||||
|
},
|
||||||
ProviderReplacement::SourceModuleMovedToProvider {
|
ProviderReplacement::SourceModuleMovedToProvider {
|
||||||
module,
|
module,
|
||||||
name,
|
name,
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,113 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_amazon.py:23:1: AIR302 `airflow.hooks.S3_hook.S3Hook` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
21 | from airflow.sensors.s3_key_sensor import S3KeySensor
|
||||||
|
22 |
|
||||||
|
23 | S3Hook()
|
||||||
|
| ^^^^^^ AIR302
|
||||||
|
24 | provide_bucket_name()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.hooks.s3.S3Hook` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:24:1: AIR302 `airflow.hooks.S3_hook.provide_bucket_name` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
23 | S3Hook()
|
||||||
|
24 | provide_bucket_name()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
25 |
|
||||||
|
26 | GCSToS3Operator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.hooks.s3.provide_bucket_name` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:26:1: AIR302 `airflow.operators.gcs_to_s3.GCSToS3Operator` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
24 | provide_bucket_name()
|
||||||
|
25 |
|
||||||
|
26 | GCSToS3Operator()
|
||||||
|
| ^^^^^^^^^^^^^^^ AIR302
|
||||||
|
27 |
|
||||||
|
28 | GoogleApiToS3Operator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.transfers.gcs_to_s3.GCSToS3Operator` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:28:1: AIR302 `airflow.operators.google_api_to_s3_transfer.GoogleApiToS3Operator` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
26 | GCSToS3Operator()
|
||||||
|
27 |
|
||||||
|
28 | GoogleApiToS3Operator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
29 | GoogleApiToS3Transfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.transfers.google_api_to_s3.GoogleApiToS3Operator` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:29:1: AIR302 `airflow.operators.google_api_to_s3_transfer.GoogleApiToS3Transfer` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
28 | GoogleApiToS3Operator()
|
||||||
|
29 | GoogleApiToS3Transfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
30 |
|
||||||
|
31 | RedshiftToS3Operator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.transfers.google_api_to_s3.GoogleApiToS3Operator` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:31:1: AIR302 `airflow.operators.redshift_to_s3_operator.RedshiftToS3Operator` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
29 | GoogleApiToS3Transfer()
|
||||||
|
30 |
|
||||||
|
31 | RedshiftToS3Operator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
32 | RedshiftToS3Transfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.transfers.redshift_to_s3.RedshiftToS3Operator` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:32:1: AIR302 `airflow.operators.redshift_to_s3_operator.RedshiftToS3Transfer` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
31 | RedshiftToS3Operator()
|
||||||
|
32 | RedshiftToS3Transfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
33 |
|
||||||
|
34 | S3FileTransformOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.transfers.redshift_to_s3.RedshiftToS3Operator` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:34:1: AIR302 `airflow.operators.s3_file_transform_operator.S3FileTransformOperator` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
32 | RedshiftToS3Transfer()
|
||||||
|
33 |
|
||||||
|
34 | S3FileTransformOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
35 |
|
||||||
|
36 | S3ToRedshiftOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=3.0.0` and use `airflow.providers.amazon.aws.operators.s3.S3FileTransformOperator` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:36:1: AIR302 `airflow.operators.s3_to_redshift_operator.S3ToRedshiftOperator` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
34 | S3FileTransformOperator()
|
||||||
|
35 |
|
||||||
|
36 | S3ToRedshiftOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
37 | S3ToRedshiftTransfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.transfers.s3_to_redshift.S3ToRedshiftOperator` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:37:1: AIR302 `airflow.operators.s3_to_redshift_operator.S3ToRedshiftTransfer` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
36 | S3ToRedshiftOperator()
|
||||||
|
37 | S3ToRedshiftTransfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
38 |
|
||||||
|
39 | S3KeySensor()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.transfers.s3_to_redshift.S3ToRedshiftOperator` instead.
|
||||||
|
|
||||||
|
AIR302_amazon.py:39:1: AIR302 `airflow.sensors.s3_key_sensor.S3KeySensor` is moved into `amazon` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
37 | S3ToRedshiftTransfer()
|
||||||
|
38 |
|
||||||
|
39 | S3KeySensor()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-amazon>=1.0.0` and use `airflow.providers.amazon.aws.sensors.s3.S3KeySensor` instead.
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_celery.py:9:1: AIR302 `airflow.config_templates.default_celery.DEFAULT_CELERY_CONFIG` is moved into `celery` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
7 | )
|
||||||
|
8 |
|
||||||
|
9 | DEFAULT_CELERY_CONFIG
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
10 |
|
||||||
|
11 | app
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-celery>=3.3.0` and use `airflow.providers.celery.executors.default_celery.DEFAULT_CELERY_CONFIG` instead.
|
||||||
|
|
||||||
|
AIR302_celery.py:11:1: AIR302 `airflow.executors.celery_executor.app` is moved into `celery` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
9 | DEFAULT_CELERY_CONFIG
|
||||||
|
10 |
|
||||||
|
11 | app
|
||||||
|
| ^^^ AIR302
|
||||||
|
12 | CeleryExecutor()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-celery>=3.3.0` and use `airflow.providers.celery.executors.celery_executor_utils.app` instead.
|
||||||
|
|
||||||
|
AIR302_celery.py:12:1: AIR302 `airflow.executors.celery_executor.CeleryExecutor` is moved into `celery` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
11 | app
|
||||||
|
12 | CeleryExecutor()
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-celery>=3.3.0` and use `airflow.providers.celery.executors.celery_executor.CeleryExecutor` instead.
|
||||||
|
|
@ -0,0 +1,352 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_common_sql.py:10:1: AIR302 `airflow.hooks.dbapi.ConnectorProtocol` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
8 | from airflow.operators.check_operator import SQLCheckOperator
|
||||||
|
9 |
|
||||||
|
10 | ConnectorProtocol()
|
||||||
|
| ^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
11 | DbApiHook()
|
||||||
|
12 | SQLCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.0.0` and use `airflow.providers.common.sql.hooks.sql.ConnectorProtocol` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:11:1: AIR302 `airflow.hooks.dbapi_hook.DbApiHook` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
10 | ConnectorProtocol()
|
||||||
|
11 | DbApiHook()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
12 | SQLCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.0.0` and use `airflow.providers.common.sql.hooks.sql.DbApiHook` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:12:1: AIR302 `airflow.operators.check_operator.SQLCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
10 | ConnectorProtocol()
|
||||||
|
11 | DbApiHook()
|
||||||
|
12 | SQLCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:18:1: AIR302 `airflow.operators.sql.SQLCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
16 | from airflow.operators.sql import SQLCheckOperator
|
||||||
|
17 |
|
||||||
|
18 | SQLCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
19 | CheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:19:1: AIR302 `airflow.operators.check_operator.CheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
18 | SQLCheckOperator()
|
||||||
|
19 | CheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:24:1: AIR302 `airflow.operators.druid_check_operator.CheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
22 | from airflow.operators.druid_check_operator import CheckOperator
|
||||||
|
23 |
|
||||||
|
24 | CheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:29:1: AIR302 `airflow.operators.presto_check_operator.CheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
27 | from airflow.operators.presto_check_operator import CheckOperator
|
||||||
|
28 |
|
||||||
|
29 | CheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:39:1: AIR302 `airflow.operators.druid_check_operator.DruidCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
37 | from airflow.operators.presto_check_operator import PrestoCheckOperator
|
||||||
|
38 |
|
||||||
|
39 | DruidCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
40 | PrestoCheckOperator()
|
||||||
|
41 | IntervalCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:40:1: AIR302 `airflow.operators.presto_check_operator.PrestoCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
39 | DruidCheckOperator()
|
||||||
|
40 | PrestoCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
41 | IntervalCheckOperator()
|
||||||
|
42 | SQLIntervalCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:41:1: AIR302 `airflow.operators.check_operator.IntervalCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
39 | DruidCheckOperator()
|
||||||
|
40 | PrestoCheckOperator()
|
||||||
|
41 | IntervalCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
42 | SQLIntervalCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:42:1: AIR302 `airflow.operators.check_operator.SQLIntervalCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
40 | PrestoCheckOperator()
|
||||||
|
41 | IntervalCheckOperator()
|
||||||
|
42 | SQLIntervalCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:51:1: AIR302 `airflow.operators.presto_check_operator.IntervalCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
49 | from airflow.operators.sql import SQLIntervalCheckOperator
|
||||||
|
50 |
|
||||||
|
51 | IntervalCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
52 | SQLIntervalCheckOperator()
|
||||||
|
53 | PrestoIntervalCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:52:1: AIR302 `airflow.operators.sql.SQLIntervalCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
51 | IntervalCheckOperator()
|
||||||
|
52 | SQLIntervalCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
53 | PrestoIntervalCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:53:1: AIR302 `airflow.operators.presto_check_operator.PrestoIntervalCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
51 | IntervalCheckOperator()
|
||||||
|
52 | SQLIntervalCheckOperator()
|
||||||
|
53 | PrestoIntervalCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLIntervalCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:61:1: AIR302 `airflow.operators.check_operator.SQLThresholdCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
59 | )
|
||||||
|
60 |
|
||||||
|
61 | SQLThresholdCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
62 | ThresholdCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLThresholdCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:62:1: AIR302 `airflow.operators.check_operator.ThresholdCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
61 | SQLThresholdCheckOperator()
|
||||||
|
62 | ThresholdCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLThresholdCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:67:1: AIR302 `airflow.operators.sql.SQLThresholdCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
65 | from airflow.operators.sql import SQLThresholdCheckOperator
|
||||||
|
66 |
|
||||||
|
67 | SQLThresholdCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLThresholdCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:75:1: AIR302 `airflow.operators.check_operator.SQLValueCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
73 | )
|
||||||
|
74 |
|
||||||
|
75 | SQLValueCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
76 | ValueCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:76:1: AIR302 `airflow.operators.check_operator.ValueCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
75 | SQLValueCheckOperator()
|
||||||
|
76 | ValueCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:85:1: AIR302 `airflow.operators.sql.SQLValueCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
83 | from airflow.operators.sql import SQLValueCheckOperator
|
||||||
|
84 |
|
||||||
|
85 | SQLValueCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
86 | ValueCheckOperator()
|
||||||
|
87 | PrestoValueCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:86:1: AIR302 `airflow.operators.presto_check_operator.ValueCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
85 | SQLValueCheckOperator()
|
||||||
|
86 | ValueCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
87 | PrestoValueCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:87:1: AIR302 `airflow.operators.presto_check_operator.PrestoValueCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
85 | SQLValueCheckOperator()
|
||||||
|
86 | ValueCheckOperator()
|
||||||
|
87 | PrestoValueCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLValueCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:99:1: AIR302 `airflow.operators.sql.BaseSQLOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
97 | )
|
||||||
|
98 |
|
||||||
|
99 | BaseSQLOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^ AIR302
|
||||||
|
100 | BranchSQLOperator()
|
||||||
|
101 | SQLTablecheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.BaseSQLOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:100:1: AIR302 `airflow.operators.sql.BranchSQLOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
99 | BaseSQLOperator()
|
||||||
|
100 | BranchSQLOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
101 | SQLTablecheckOperator()
|
||||||
|
102 | SQLColumnCheckOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.BranchSQLOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:101:1: AIR302 `airflow.operators.sql.SQLTablecheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
99 | BaseSQLOperator()
|
||||||
|
100 | BranchSQLOperator()
|
||||||
|
101 | SQLTablecheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
102 | SQLColumnCheckOperator()
|
||||||
|
103 | _convert_to_float_if_possible()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.1.0` and use `airflow.providers.common.sql.operators.sql.SQLTablecheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:102:1: AIR302 `airflow.operators.sql.SQLColumnCheckOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
100 | BranchSQLOperator()
|
||||||
|
101 | SQLTablecheckOperator()
|
||||||
|
102 | SQLColumnCheckOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
103 | _convert_to_float_if_possible()
|
||||||
|
104 | parse_boolean()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.0.0` and use `airflow.providers.common.sql.operators.sql.SQLColumnCheckOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:103:1: AIR302 `airflow.operators.sql._convert_to_float_if_possible` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
101 | SQLTablecheckOperator()
|
||||||
|
102 | SQLColumnCheckOperator()
|
||||||
|
103 | _convert_to_float_if_possible()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
104 | parse_boolean()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.0.0` and use `airflow.providers.common.sql.operators.sql._convert_to_float_if_possible` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:104:1: AIR302 `airflow.operators.sql.parse_boolean` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
102 | SQLColumnCheckOperator()
|
||||||
|
103 | _convert_to_float_if_possible()
|
||||||
|
104 | parse_boolean()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.0.0` and use `airflow.providers.common.sql.operators.sql.parse_boolean` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:109:1: AIR302 `airflow.sensors.sql.SqlSensor` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
107 | from airflow.sensors.sql import SqlSensor
|
||||||
|
108 |
|
||||||
|
109 | SqlSensor()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.0.0` and use `airflow.providers.common.sql.sensors.sql.SqlSensor` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:114:1: AIR302 `airflow.sensors.sql_sensor.SqlSensor` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
112 | from airflow.sensors.sql_sensor import SqlSensor
|
||||||
|
113 |
|
||||||
|
114 | SqlSensor()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.0.0` and use `airflow.providers.common.sql.sensors.sql.SqlSensor` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:124:1: AIR302 `airflow.operators.jdbc_operator.JdbcOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
122 | from airflow.operators.sqlite_operator import SqliteOperator
|
||||||
|
123 |
|
||||||
|
124 | JdbcOperator()
|
||||||
|
| ^^^^^^^^^^^^ AIR302
|
||||||
|
125 | MsSqlOperator()
|
||||||
|
126 | MySqlOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.3.0` and use `airflow.providers.common.sql.operators.sql.SQLExecuteQueryOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:125:1: AIR302 `airflow.operators.mssql_operator.MsSqlOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
124 | JdbcOperator()
|
||||||
|
125 | MsSqlOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
126 | MySqlOperator()
|
||||||
|
127 | OracleOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.3.0` and use `airflow.providers.common.sql.operators.sql.SQLExecuteQueryOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:126:1: AIR302 `airflow.operators.mysql_operator.MySqlOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
124 | JdbcOperator()
|
||||||
|
125 | MsSqlOperator()
|
||||||
|
126 | MySqlOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
127 | OracleOperator()
|
||||||
|
128 | PostgresOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.3.0` and use `airflow.providers.common.sql.operators.sql.SQLExecuteQueryOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:127:1: AIR302 `airflow.operators.oracle_operator.OracleOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
125 | MsSqlOperator()
|
||||||
|
126 | MySqlOperator()
|
||||||
|
127 | OracleOperator()
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
128 | PostgresOperator()
|
||||||
|
129 | SqliteOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.3.0` and use `airflow.providers.common.sql.operators.sql.SQLExecuteQueryOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:128:1: AIR302 `airflow.operators.postgres_operator.PostgresOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
126 | MySqlOperator()
|
||||||
|
127 | OracleOperator()
|
||||||
|
128 | PostgresOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
129 | SqliteOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.3.0` and use `airflow.providers.common.sql.operators.sql.SQLExecuteQueryOperator` instead.
|
||||||
|
|
||||||
|
AIR302_common_sql.py:129:1: AIR302 `airflow.operators.sqlite_operator.SqliteOperator` is moved into `common-sql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
127 | OracleOperator()
|
||||||
|
128 | PostgresOperator()
|
||||||
|
129 | SqliteOperator()
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-common-sql>=1.3.0` and use `airflow.providers.common.sql.operators.sql.SQLExecuteQueryOperator` instead.
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_daskexecutor.py:5:1: AIR302 `airflow.executors.dask_executor.DaskExecutor` is moved into `daskexecutor` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
3 | from airflow.executors.dask_executor import DaskExecutor
|
||||||
|
4 |
|
||||||
|
5 | DaskExecutor()
|
||||||
|
| ^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-daskexecutor>=1.0.0` and use `airflow.providers.daskexecutor.executors.dask_executor.DaskExecutor` instead.
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_druid.py:12:1: AIR302 `airflow.hooks.druid_hook.DruidDbApiHook` is moved into `apache-druid` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
10 | )
|
||||||
|
11 |
|
||||||
|
12 | DruidDbApiHook()
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
13 | DruidHook()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-druid>=1.0.0` and use `airflow.providers.apache.druid.hooks.druid.DruidDbApiHook` instead.
|
||||||
|
|
||||||
|
AIR302_druid.py:13:1: AIR302 `airflow.hooks.druid_hook.DruidHook` is moved into `apache-druid` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
12 | DruidDbApiHook()
|
||||||
|
13 | DruidHook()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
14 |
|
||||||
|
15 | HiveToDruidOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-druid>=1.0.0` and use `airflow.providers.apache.druid.hooks.druid.DruidHook` instead.
|
||||||
|
|
||||||
|
AIR302_druid.py:15:1: AIR302 `airflow.operators.hive_to_druid.HiveToDruidOperator` is moved into `apache-druid` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
13 | DruidHook()
|
||||||
|
14 |
|
||||||
|
15 | HiveToDruidOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
16 | HiveToDruidTransfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-druid>=1.0.0` and use `airflow.providers.apache.druid.transfers.hive_to_druid.HiveToDruidOperator` instead.
|
||||||
|
|
||||||
|
AIR302_druid.py:16:1: AIR302 `airflow.operators.hive_to_druid.HiveToDruidTransfer` is moved into `apache-druid` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
15 | HiveToDruidOperator()
|
||||||
|
16 | HiveToDruidTransfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-druid>=1.0.0` and use `airflow.providers.apache.druid.transfers.hive_to_druid.HiveToDruidOperator` instead.
|
||||||
|
|
@ -0,0 +1,190 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_fab.py:10:1: AIR302 `airflow.api.auth.backend.basic_auth.CLIENT_AUTH` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
8 | )
|
||||||
|
9 |
|
||||||
|
10 | CLIENT_AUTH
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
11 | init_app()
|
||||||
|
12 | auth_current_user()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.basic_auth.CLIENT_AUTH` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:11:1: AIR302 `airflow.api.auth.backend.basic_auth.init_app` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
10 | CLIENT_AUTH
|
||||||
|
11 | init_app()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
12 | auth_current_user()
|
||||||
|
13 | requires_authentication()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.basic_auth.init_app` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:12:1: AIR302 `airflow.api.auth.backend.basic_auth.auth_current_user` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
10 | CLIENT_AUTH
|
||||||
|
11 | init_app()
|
||||||
|
12 | auth_current_user()
|
||||||
|
| ^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
13 | requires_authentication()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.basic_auth.auth_current_user` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:13:1: AIR302 `airflow.api.auth.backend.basic_auth.requires_authentication` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
11 | init_app()
|
||||||
|
12 | auth_current_user()
|
||||||
|
13 | requires_authentication()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
14 |
|
||||||
|
15 | from airflow.api.auth.backend.kerberos_auth import (
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.basic_auth.requires_authentication` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:23:1: AIR302 `airflow.api.auth.backend.kerberos_auth.log` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
21 | )
|
||||||
|
22 |
|
||||||
|
23 | log()
|
||||||
|
| ^^^ AIR302
|
||||||
|
24 | CLIENT_AUTH
|
||||||
|
25 | find_user()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.log` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:24:1: AIR302 `airflow.api.auth.backend.kerberos_auth.CLIENT_AUTH` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
23 | log()
|
||||||
|
24 | CLIENT_AUTH
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
25 | find_user()
|
||||||
|
26 | init_app()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.CLIENT_AUTH` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:25:1: AIR302 `airflow.api.auth.backend.kerberos_auth.find_user` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
23 | log()
|
||||||
|
24 | CLIENT_AUTH
|
||||||
|
25 | find_user()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
26 | init_app()
|
||||||
|
27 | requires_authentication()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.find_user` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:26:1: AIR302 `airflow.api.auth.backend.kerberos_auth.init_app` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
24 | CLIENT_AUTH
|
||||||
|
25 | find_user()
|
||||||
|
26 | init_app()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
27 | requires_authentication()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.init_app` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:27:1: AIR302 `airflow.api.auth.backend.kerberos_auth.requires_authentication` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
25 | find_user()
|
||||||
|
26 | init_app()
|
||||||
|
27 | requires_authentication()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
28 |
|
||||||
|
29 | from airflow.auth.managers.fab.api.auth.backend.kerberos_auth import (
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.requires_authentication` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:37:1: AIR302 `airflow.auth.managers.fab.api.auth.backend.kerberos_auth.log` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
35 | )
|
||||||
|
36 |
|
||||||
|
37 | log()
|
||||||
|
| ^^^ AIR302
|
||||||
|
38 | CLIENT_AUTH
|
||||||
|
39 | find_user()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.log` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:38:1: AIR302 `airflow.auth.managers.fab.api.auth.backend.kerberos_auth.CLIENT_AUTH` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
37 | log()
|
||||||
|
38 | CLIENT_AUTH
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
39 | find_user()
|
||||||
|
40 | init_app()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.CLIENT_AUTH` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:39:1: AIR302 `airflow.auth.managers.fab.api.auth.backend.kerberos_auth.find_user` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
37 | log()
|
||||||
|
38 | CLIENT_AUTH
|
||||||
|
39 | find_user()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
40 | init_app()
|
||||||
|
41 | requires_authentication()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.find_user` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:40:1: AIR302 `airflow.auth.managers.fab.api.auth.backend.kerberos_auth.init_app` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
38 | CLIENT_AUTH
|
||||||
|
39 | find_user()
|
||||||
|
40 | init_app()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
41 | requires_authentication()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.init_app` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:41:1: AIR302 `airflow.auth.managers.fab.api.auth.backend.kerberos_auth.requires_authentication` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
39 | find_user()
|
||||||
|
40 | init_app()
|
||||||
|
41 | requires_authentication()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
42 |
|
||||||
|
43 | from airflow.auth.managers.fab.fab_auth_manager import FabAuthManager
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.api.auth.backend.kerberos_auth.requires_authentication` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:49:1: AIR302 `airflow.auth.managers.fab.fab_auth_manager.FabAuthManager` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
47 | )
|
||||||
|
48 |
|
||||||
|
49 | FabAuthManager()
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
50 | MAX_NUM_DATABASE_USER_SESSIONS
|
||||||
|
51 | FabAirflowSecurityManagerOverride()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.fab_auth_manager.FabAuthManager` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:50:1: AIR302 `airflow.auth.managers.fab.security_manager.override.MAX_NUM_DATABASE_USER_SESSIONS` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
49 | FabAuthManager()
|
||||||
|
50 | MAX_NUM_DATABASE_USER_SESSIONS
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
51 | FabAirflowSecurityManagerOverride()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.security_manager.override.MAX_NUM_DATABASE_USER_SESSIONS` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:51:1: AIR302 `airflow.auth.managers.fab.security_manager.override.FabAirflowSecurityManagerOverride` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
49 | FabAuthManager()
|
||||||
|
50 | MAX_NUM_DATABASE_USER_SESSIONS
|
||||||
|
51 | FabAirflowSecurityManagerOverride()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
52 |
|
||||||
|
53 | from airflow.www.security import FabAirflowSecurityManagerOverride
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride` instead.
|
||||||
|
|
||||||
|
AIR302_fab.py:55:1: AIR302 `airflow.www.security.FabAirflowSecurityManagerOverride` is moved into `fab` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
53 | from airflow.www.security import FabAirflowSecurityManagerOverride
|
||||||
|
54 |
|
||||||
|
55 | FabAirflowSecurityManagerOverride()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-fab>=1.0.0` and use `airflow.providers.fab.auth_manager.security_manager.override.FabAirflowSecurityManagerOverride` instead.
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_hdfs.py:6:1: AIR302 `airflow.hooks.webhdfs_hook.WebHDFSHook` is moved into `apache-hdfs` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
4 | from airflow.sensors.web_hdfs_sensor import WebHdfsSensor
|
||||||
|
5 |
|
||||||
|
6 | WebHDFSHook()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
7 | WebHdfsSensor()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hdfs>=1.0.0` and use `airflow.providers.apache.hdfs.hooks.webhdfs.WebHDFSHook` instead.
|
||||||
|
|
||||||
|
AIR302_hdfs.py:7:1: AIR302 `airflow.sensors.web_hdfs_sensor.WebHdfsSensor` is moved into `apache-hdfs` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
6 | WebHDFSHook()
|
||||||
|
7 | WebHdfsSensor()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hdfs>=1.0.0` and use `airflow.providers.apache.hdfs.sensors.web_hdfs.WebHdfsSensor` instead.
|
||||||
|
|
@ -0,0 +1,208 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_hive.py:36:1: AIR302 `airflow.macros.hive.closest_ds_partition` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
34 | from airflow.sensors.named_hive_partition_sensor import NamedHivePartitionSensor
|
||||||
|
35 |
|
||||||
|
36 | closest_ds_partition()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
37 | max_partition()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=5.1.0` and use `airflow.providers.apache.hive.macros.hive.closest_ds_partition` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:37:1: AIR302 `airflow.macros.hive.max_partition` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
36 | closest_ds_partition()
|
||||||
|
37 | max_partition()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
38 |
|
||||||
|
39 | HiveCliHook()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=5.1.0` and use `airflow.providers.apache.hive.macros.hive.max_partition` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:39:1: AIR302 `airflow.hooks.hive_hooks.HiveCliHook` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
37 | max_partition()
|
||||||
|
38 |
|
||||||
|
39 | HiveCliHook()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
40 | HiveMetastoreHook()
|
||||||
|
41 | HiveServer2Hook()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.hooks.hive.HiveCliHook` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:40:1: AIR302 `airflow.hooks.hive_hooks.HiveMetastoreHook` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
39 | HiveCliHook()
|
||||||
|
40 | HiveMetastoreHook()
|
||||||
|
| ^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
41 | HiveServer2Hook()
|
||||||
|
42 | HIVE_QUEUE_PRIORITIES
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.hooks.hive.HiveMetastoreHook` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:41:1: AIR302 `airflow.hooks.hive_hooks.HiveServer2Hook` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
39 | HiveCliHook()
|
||||||
|
40 | HiveMetastoreHook()
|
||||||
|
41 | HiveServer2Hook()
|
||||||
|
| ^^^^^^^^^^^^^^^ AIR302
|
||||||
|
42 | HIVE_QUEUE_PRIORITIES
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.hooks.hive.HiveServer2Hook` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:42:1: AIR302 `airflow.hooks.hive_hooks.HIVE_QUEUE_PRIORITIES` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
40 | HiveMetastoreHook()
|
||||||
|
41 | HiveServer2Hook()
|
||||||
|
42 | HIVE_QUEUE_PRIORITIES
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
43 |
|
||||||
|
44 | HiveOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.hooks.hive.HIVE_QUEUE_PRIORITIES` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:44:1: AIR302 `airflow.operators.hive_operator.HiveOperator` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
42 | HIVE_QUEUE_PRIORITIES
|
||||||
|
43 |
|
||||||
|
44 | HiveOperator()
|
||||||
|
| ^^^^^^^^^^^^ AIR302
|
||||||
|
45 |
|
||||||
|
46 | HiveStatsCollectionOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.operators.hive.HiveOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:46:1: AIR302 `airflow.operators.hive_stats_operator.HiveStatsCollectionOperator` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
44 | HiveOperator()
|
||||||
|
45 |
|
||||||
|
46 | HiveStatsCollectionOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
47 |
|
||||||
|
48 | HiveToMySqlOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.operators.hive_stats.HiveStatsCollectionOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:48:1: AIR302 `airflow.operators.hive_to_mysql.HiveToMySqlOperator` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
46 | HiveStatsCollectionOperator()
|
||||||
|
47 |
|
||||||
|
48 | HiveToMySqlOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
49 | HiveToMySqlTransfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.hive_to_mysql.HiveToMySqlOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:49:1: AIR302 `airflow.operators.hive_to_mysql.HiveToMySqlTransfer` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
48 | HiveToMySqlOperator()
|
||||||
|
49 | HiveToMySqlTransfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
50 |
|
||||||
|
51 | HiveToSambaOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.hive_to_mysql.HiveToMySqlOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:51:1: AIR302 `airflow.operators.hive_to_samba_operator.HiveToSambaOperator` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
49 | HiveToMySqlTransfer()
|
||||||
|
50 |
|
||||||
|
51 | HiveToSambaOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
52 |
|
||||||
|
53 | MsSqlToHiveOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.hive_to_samba.HiveToSambaOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:53:1: AIR302 `airflow.operators.mssql_to_hive.MsSqlToHiveOperator` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
51 | HiveToSambaOperator()
|
||||||
|
52 |
|
||||||
|
53 | MsSqlToHiveOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
54 | MsSqlToHiveTransfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.mssql_to_hive.MsSqlToHiveOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:54:1: AIR302 `airflow.operators.mssql_to_hive.MsSqlToHiveTransfer` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
53 | MsSqlToHiveOperator()
|
||||||
|
54 | MsSqlToHiveTransfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
55 |
|
||||||
|
56 | MySqlToHiveOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.mssql_to_hive.MsSqlToHiveOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:56:1: AIR302 `airflow.operators.mysql_to_hive.MySqlToHiveOperator` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
54 | MsSqlToHiveTransfer()
|
||||||
|
55 |
|
||||||
|
56 | MySqlToHiveOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
57 | MySqlToHiveTransfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.mysql_to_hive.MySqlToHiveOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:57:1: AIR302 `airflow.operators.mysql_to_hive.MySqlToHiveTransfer` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
56 | MySqlToHiveOperator()
|
||||||
|
57 | MySqlToHiveTransfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
58 |
|
||||||
|
59 | S3ToHiveOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.mysql_to_hive.MySqlToHiveOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:59:1: AIR302 `airflow.operators.s3_to_hive_operator.S3ToHiveOperator` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
57 | MySqlToHiveTransfer()
|
||||||
|
58 |
|
||||||
|
59 | S3ToHiveOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
60 | S3ToHiveTransfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.s3_to_hive.S3ToHiveOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:60:1: AIR302 `airflow.operators.s3_to_hive_operator.S3ToHiveTransfer` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
59 | S3ToHiveOperator()
|
||||||
|
60 | S3ToHiveTransfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
61 |
|
||||||
|
62 | HivePartitionSensor()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.transfers.s3_to_hive.S3ToHiveOperator` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:62:1: AIR302 `airflow.sensors.hive_partition_sensor.HivePartitionSensor` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
60 | S3ToHiveTransfer()
|
||||||
|
61 |
|
||||||
|
62 | HivePartitionSensor()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
63 |
|
||||||
|
64 | MetastorePartitionSensor()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.sensors.hive_partition.HivePartitionSensor` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:64:1: AIR302 `airflow.sensors.metastore_partition_sensor.MetastorePartitionSensor` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
62 | HivePartitionSensor()
|
||||||
|
63 |
|
||||||
|
64 | MetastorePartitionSensor()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
65 |
|
||||||
|
66 | NamedHivePartitionSensor()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.sensors.metastore_partition.MetastorePartitionSensor` instead.
|
||||||
|
|
||||||
|
AIR302_hive.py:66:1: AIR302 `airflow.sensors.named_hive_partition_sensor.NamedHivePartitionSensor` is moved into `apache-hive` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
64 | MetastorePartitionSensor()
|
||||||
|
65 |
|
||||||
|
66 | NamedHivePartitionSensor()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-hive>=1.0.0` and use `airflow.providers.apache.hive.sensors.named_hive_partition.NamedHivePartitionSensor` instead.
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_http.py:7:1: AIR302 `airflow.hooks.http_hook.HttpHook` is moved into `http` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
5 | from airflow.sensors.http_sensor import HttpSensor
|
||||||
|
6 |
|
||||||
|
7 | HttpHook()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
8 | SimpleHttpOperator()
|
||||||
|
9 | HttpSensor()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-http>=1.0.0` and use `airflow.providers.http.hooks.http.HttpHook` instead.
|
||||||
|
|
||||||
|
AIR302_http.py:8:1: AIR302 [*] `airflow.operators.http_operator.SimpleHttpOperator` is moved into `http` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
7 | HttpHook()
|
||||||
|
8 | SimpleHttpOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
9 | HttpSensor()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-http>=5.0.0` and use `airflow.providers.http.operators.http.HttpOperator` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
3 3 | from airflow.hooks.http_hook import HttpHook
|
||||||
|
4 4 | from airflow.operators.http_operator import SimpleHttpOperator
|
||||||
|
5 5 | from airflow.sensors.http_sensor import HttpSensor
|
||||||
|
6 |+from airflow.providers.http.operators.http import HttpOperator
|
||||||
|
6 7 |
|
||||||
|
7 8 | HttpHook()
|
||||||
|
8 |-SimpleHttpOperator()
|
||||||
|
9 |+HttpOperator()
|
||||||
|
9 10 | HttpSensor()
|
||||||
|
|
||||||
|
AIR302_http.py:9:1: AIR302 `airflow.sensors.http_sensor.HttpSensor` is moved into `http` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
7 | HttpHook()
|
||||||
|
8 | SimpleHttpOperator()
|
||||||
|
9 | HttpSensor()
|
||||||
|
| ^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-http>=1.0.0` and use `airflow.providers.http.sensors.http.HttpSensor` instead.
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_jdbc.py:8:1: AIR302 `airflow.hooks.jdbc_hook.JdbcHook` is moved into `jdbc` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
6 | )
|
||||||
|
7 |
|
||||||
|
8 | JdbcHook()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
9 | jaydebeapi()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-jdbc>=1.0.0` and use `airflow.providers.jdbc.hooks.jdbc.JdbcHook` instead.
|
||||||
|
|
||||||
|
AIR302_jdbc.py:9:1: AIR302 `airflow.hooks.jdbc_hook.jaydebeapi` is moved into `jdbc` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
8 | JdbcHook()
|
||||||
|
9 | jaydebeapi()
|
||||||
|
| ^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-jdbc>=1.0.0` and use `airflow.providers.jdbc.hooks.jdbc.jaydebeapi` instead.
|
||||||
|
|
@ -0,0 +1,599 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_kubernetes.py:29:1: AIR302 `airflow.executors.kubernetes_executor_types.ALL_NAMESPACES` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
27 | )
|
||||||
|
28 |
|
||||||
|
29 | ALL_NAMESPACES
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
30 | POD_EXECUTOR_DONE_KEY
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.executors.kubernetes_executor_types.ALL_NAMESPACES` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:30:1: AIR302 `airflow.executors.kubernetes_executor_types.POD_EXECUTOR_DONE_KEY` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
29 | ALL_NAMESPACES
|
||||||
|
30 | POD_EXECUTOR_DONE_KEY
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
31 |
|
||||||
|
32 | K8SModel()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.executors.kubernetes_executor_types.POD_EXECUTOR_DONE_KEY` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:32:1: AIR302 `airflow.kubernetes.k8s_model.K8SModel` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
30 | POD_EXECUTOR_DONE_KEY
|
||||||
|
31 |
|
||||||
|
32 | K8SModel()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
33 | append_to_pod()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.k8s_model.K8SModel` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:33:1: AIR302 `airflow.kubernetes.k8s_model.append_to_pod` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
32 | K8SModel()
|
||||||
|
33 | append_to_pod()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
34 |
|
||||||
|
35 | _disable_verify_ssl()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.k8s_model.append_to_pod` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:35:1: AIR302 `airflow.kubernetes.kube_client._disable_verify_ssl` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
33 | append_to_pod()
|
||||||
|
34 |
|
||||||
|
35 | _disable_verify_ssl()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
36 | _enable_tcp_keepalive()
|
||||||
|
37 | get_kube_client()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kube_client._disable_verify_ssl` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:36:1: AIR302 `airflow.kubernetes.kube_client._enable_tcp_keepalive` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
35 | _disable_verify_ssl()
|
||||||
|
36 | _enable_tcp_keepalive()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
37 | get_kube_client()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kube_client._enable_tcp_keepalive` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:37:1: AIR302 `airflow.kubernetes.kube_client.get_kube_client` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
35 | _disable_verify_ssl()
|
||||||
|
36 | _enable_tcp_keepalive()
|
||||||
|
37 | get_kube_client()
|
||||||
|
| ^^^^^^^^^^^^^^^ AIR302
|
||||||
|
38 |
|
||||||
|
39 | add_pod_suffix()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kube_client.get_kube_client` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:39:1: AIR302 [*] `airflow.kubernetes.kubernetes_helper_functions.add_pod_suffix` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
37 | get_kube_client()
|
||||||
|
38 |
|
||||||
|
39 | add_pod_suffix()
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
40 | create_pod_id()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=10.0.0` and use `airflow.providers.cncf.kubernetes.kubernetes_helper_functions.add_unique_suffix` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
25 25 | Port,
|
||||||
|
26 26 | Resources,
|
||||||
|
27 27 | )
|
||||||
|
28 |+from airflow.providers.cncf.kubernetes.kubernetes_helper_functions import add_unique_suffix
|
||||||
|
28 29 |
|
||||||
|
29 30 | ALL_NAMESPACES
|
||||||
|
30 31 | POD_EXECUTOR_DONE_KEY
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
36 37 | _enable_tcp_keepalive()
|
||||||
|
37 38 | get_kube_client()
|
||||||
|
38 39 |
|
||||||
|
39 |-add_pod_suffix()
|
||||||
|
40 |+add_unique_suffix()
|
||||||
|
40 41 | create_pod_id()
|
||||||
|
41 42 |
|
||||||
|
42 43 | annotations_for_logging_task_metadata()
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:40:1: AIR302 [*] `airflow.kubernetes.kubernetes_helper_functions.create_pod_id` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
39 | add_pod_suffix()
|
||||||
|
40 | create_pod_id()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
41 |
|
||||||
|
42 | annotations_for_logging_task_metadata()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=10.0.0` and use `airflow.providers.cncf.kubernetes.kubernetes_helper_functions.create_unique_id` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
25 25 | Port,
|
||||||
|
26 26 | Resources,
|
||||||
|
27 27 | )
|
||||||
|
28 |+from airflow.providers.cncf.kubernetes.kubernetes_helper_functions import create_unique_id
|
||||||
|
28 29 |
|
||||||
|
29 30 | ALL_NAMESPACES
|
||||||
|
30 31 | POD_EXECUTOR_DONE_KEY
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
37 38 | get_kube_client()
|
||||||
|
38 39 |
|
||||||
|
39 40 | add_pod_suffix()
|
||||||
|
40 |-create_pod_id()
|
||||||
|
41 |+create_unique_id()
|
||||||
|
41 42 |
|
||||||
|
42 43 | annotations_for_logging_task_metadata()
|
||||||
|
43 44 | annotations_to_key()
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:42:1: AIR302 `airflow.kubernetes.kubernetes_helper_functions.annotations_for_logging_task_metadata` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
40 | create_pod_id()
|
||||||
|
41 |
|
||||||
|
42 | annotations_for_logging_task_metadata()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
43 | annotations_to_key()
|
||||||
|
44 | get_logs_task_metadata()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kubernetes_helper_functions.annotations_for_logging_task_metadata` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:43:1: AIR302 `airflow.kubernetes.kubernetes_helper_functions.annotations_to_key` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
42 | annotations_for_logging_task_metadata()
|
||||||
|
43 | annotations_to_key()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
44 | get_logs_task_metadata()
|
||||||
|
45 | rand_str()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kubernetes_helper_functions.annotations_to_key` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:44:1: AIR302 `airflow.kubernetes.kubernetes_helper_functions.get_logs_task_metadata` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
42 | annotations_for_logging_task_metadata()
|
||||||
|
43 | annotations_to_key()
|
||||||
|
44 | get_logs_task_metadata()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
45 | rand_str()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kubernetes_helper_functions.get_logs_task_metadata` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:45:1: AIR302 `airflow.kubernetes.kubernetes_helper_functions.rand_str` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
43 | annotations_to_key()
|
||||||
|
44 | get_logs_task_metadata()
|
||||||
|
45 | rand_str()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
46 |
|
||||||
|
47 | Port()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kubernetes_helper_functions.rand_str` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:47:1: AIR302 [*] `airflow.kubernetes.pod.Port` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
45 | rand_str()
|
||||||
|
46 |
|
||||||
|
47 | Port()
|
||||||
|
| ^^^^ AIR302
|
||||||
|
48 | Resources()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `kubernetes.client.models.V1ContainerPort` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
25 25 | Port,
|
||||||
|
26 26 | Resources,
|
||||||
|
27 27 | )
|
||||||
|
28 |+from kubernetes.client.models import V1ContainerPort
|
||||||
|
28 29 |
|
||||||
|
29 30 | ALL_NAMESPACES
|
||||||
|
30 31 | POD_EXECUTOR_DONE_KEY
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
44 45 | get_logs_task_metadata()
|
||||||
|
45 46 | rand_str()
|
||||||
|
46 47 |
|
||||||
|
47 |-Port()
|
||||||
|
48 |+V1ContainerPort()
|
||||||
|
48 49 | Resources()
|
||||||
|
49 50 |
|
||||||
|
50 51 |
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:48:1: AIR302 [*] `airflow.kubernetes.pod.Resources` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
47 | Port()
|
||||||
|
48 | Resources()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `kubernetes.client.models.V1ResourceRequirements` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
25 25 | Port,
|
||||||
|
26 26 | Resources,
|
||||||
|
27 27 | )
|
||||||
|
28 |+from kubernetes.client.models import V1ResourceRequirements
|
||||||
|
28 29 |
|
||||||
|
29 30 | ALL_NAMESPACES
|
||||||
|
30 31 | POD_EXECUTOR_DONE_KEY
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
45 46 | rand_str()
|
||||||
|
46 47 |
|
||||||
|
47 48 | Port()
|
||||||
|
48 |-Resources()
|
||||||
|
49 |+V1ResourceRequirements()
|
||||||
|
49 50 |
|
||||||
|
50 51 |
|
||||||
|
51 52 | from airflow.kubernetes.pod_generator import (
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:64:1: AIR302 `airflow.kubernetes.pod_generator.datetime_to_label_safe_datestring` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
62 | )
|
||||||
|
63 |
|
||||||
|
64 | datetime_to_label_safe_datestring()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
65 | extend_object_field()
|
||||||
|
66 | label_safe_datestring_to_datetime()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.datetime_to_label_safe_datestring` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:65:1: AIR302 `airflow.kubernetes.pod_generator.extend_object_field` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
64 | datetime_to_label_safe_datestring()
|
||||||
|
65 | extend_object_field()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
66 | label_safe_datestring_to_datetime()
|
||||||
|
67 | make_safe_label_value()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.extend_object_field` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:66:1: AIR302 `airflow.kubernetes.pod_generator.label_safe_datestring_to_datetime` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
64 | datetime_to_label_safe_datestring()
|
||||||
|
65 | extend_object_field()
|
||||||
|
66 | label_safe_datestring_to_datetime()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
67 | make_safe_label_value()
|
||||||
|
68 | merge_objects()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.label_safe_datestring_to_datetime` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:67:1: AIR302 `airflow.kubernetes.pod_generator.make_safe_label_value` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
65 | extend_object_field()
|
||||||
|
66 | label_safe_datestring_to_datetime()
|
||||||
|
67 | make_safe_label_value()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
68 | merge_objects()
|
||||||
|
69 | PodGenerator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.make_safe_label_value` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:68:1: AIR302 `airflow.kubernetes.pod_generator.merge_objects` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
66 | label_safe_datestring_to_datetime()
|
||||||
|
67 | make_safe_label_value()
|
||||||
|
68 | merge_objects()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
69 | PodGenerator()
|
||||||
|
70 | PodDefaults()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.merge_objects` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:69:1: AIR302 `airflow.kubernetes.pod_generator.PodGenerator` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
67 | make_safe_label_value()
|
||||||
|
68 | merge_objects()
|
||||||
|
69 | PodGenerator()
|
||||||
|
| ^^^^^^^^^^^^ AIR302
|
||||||
|
70 | PodDefaults()
|
||||||
|
71 | PodGeneratorDeprecated()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.PodGenerator` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:70:1: AIR302 `airflow.kubernetes.pod_generator.PodDefaults` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
68 | merge_objects()
|
||||||
|
69 | PodGenerator()
|
||||||
|
70 | PodDefaults()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
71 | PodGeneratorDeprecated()
|
||||||
|
72 | add_pod_suffix()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.utils.xcom_sidecar.PodDefaults` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:71:1: AIR302 `airflow.kubernetes.pod_generator.PodGeneratorDeprecated` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
69 | PodGenerator()
|
||||||
|
70 | PodDefaults()
|
||||||
|
71 | PodGeneratorDeprecated()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
72 | add_pod_suffix()
|
||||||
|
73 | rand_str()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.PodGenerator` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:72:1: AIR302 [*] `airflow.kubernetes.pod_generator.add_pod_suffix` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
70 | PodDefaults()
|
||||||
|
71 | PodGeneratorDeprecated()
|
||||||
|
72 | add_pod_suffix()
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
73 | rand_str()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=10.0.0` and use `airflow.providers.cncf.kubernetes.kubernetes_helper_functions.add_unique_suffix` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
60 60 | merge_objects,
|
||||||
|
61 61 | rand_str,
|
||||||
|
62 62 | )
|
||||||
|
63 |+from airflow.providers.cncf.kubernetes.kubernetes_helper_functions import add_unique_suffix
|
||||||
|
63 64 |
|
||||||
|
64 65 | datetime_to_label_safe_datestring()
|
||||||
|
65 66 | extend_object_field()
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
69 70 | PodGenerator()
|
||||||
|
70 71 | PodDefaults()
|
||||||
|
71 72 | PodGeneratorDeprecated()
|
||||||
|
72 |-add_pod_suffix()
|
||||||
|
73 |+add_unique_suffix()
|
||||||
|
73 74 | rand_str()
|
||||||
|
74 75 |
|
||||||
|
75 76 |
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:73:1: AIR302 `airflow.kubernetes.pod_generator.rand_str` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
71 | PodGeneratorDeprecated()
|
||||||
|
72 | add_pod_suffix()
|
||||||
|
73 | rand_str()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kubernetes_helper_functions.rand_str` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:86:1: AIR302 `airflow.kubernetes.pod_generator_deprecated.PodDefaults` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
84 | )
|
||||||
|
85 |
|
||||||
|
86 | PodDefaults()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
87 | PodGenerator()
|
||||||
|
88 | make_safe_label_value()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.utils.xcom_sidecar.PodDefaults` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:87:1: AIR302 `airflow.kubernetes.pod_generator_deprecated.PodGenerator` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
86 | PodDefaults()
|
||||||
|
87 | PodGenerator()
|
||||||
|
| ^^^^^^^^^^^^ AIR302
|
||||||
|
88 | make_safe_label_value()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.PodGenerator` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:88:1: AIR302 `airflow.kubernetes.pod_generator_deprecated.make_safe_label_value` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
86 | PodDefaults()
|
||||||
|
87 | PodGenerator()
|
||||||
|
88 | make_safe_label_value()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
89 |
|
||||||
|
90 | PodLauncher()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.pod_generator.make_safe_label_value` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:90:1: AIR302 [*] `airflow.kubernetes.pod_launcher.PodLauncher` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
88 | make_safe_label_value()
|
||||||
|
89 |
|
||||||
|
90 | PodLauncher()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
91 | PodStatus()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=3.0.0` and use `airflow.providers.cncf.kubernetes.utils.pod_manager.PodManager` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
82 82 | PodLauncher,
|
||||||
|
83 83 | PodStatus,
|
||||||
|
84 84 | )
|
||||||
|
85 |+from airflow.providers.cncf.kubernetes.utils.pod_manager import PodManager
|
||||||
|
85 86 |
|
||||||
|
86 87 | PodDefaults()
|
||||||
|
87 88 | PodGenerator()
|
||||||
|
88 89 | make_safe_label_value()
|
||||||
|
89 90 |
|
||||||
|
90 |-PodLauncher()
|
||||||
|
91 |+PodManager()
|
||||||
|
91 92 | PodStatus()
|
||||||
|
92 93 |
|
||||||
|
93 94 |
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:91:1: AIR302 [*] `airflow.kubernetes.pod_launcher.PodStatus` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
90 | PodLauncher()
|
||||||
|
91 | PodStatus()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=3.0.0` and use ` airflow.providers.cncf.kubernetes.utils.pod_manager.PodPhase` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
82 82 | PodLauncher,
|
||||||
|
83 83 | PodStatus,
|
||||||
|
84 84 | )
|
||||||
|
85 |+from airflow.providers.cncf.kubernetes.utils.pod_manager import PodPhase
|
||||||
|
85 86 |
|
||||||
|
86 87 | PodDefaults()
|
||||||
|
87 88 | PodGenerator()
|
||||||
|
88 89 | make_safe_label_value()
|
||||||
|
89 90 |
|
||||||
|
90 91 | PodLauncher()
|
||||||
|
91 |-PodStatus()
|
||||||
|
92 |+PodPhase()
|
||||||
|
92 93 |
|
||||||
|
93 94 |
|
||||||
|
94 95 | from airflow.kubernetes.pod_launcher_deprecated import (
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:108:1: AIR302 `airflow.kubernetes.pod_launcher_deprecated.PodDefaults` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
106 | from airflow.kubernetes.volume_mount import VolumeMount
|
||||||
|
107 |
|
||||||
|
108 | PodDefaults()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
109 | PodLauncher()
|
||||||
|
110 | PodStatus()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.utils.xcom_sidecar.PodDefaults` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:109:1: AIR302 [*] `airflow.kubernetes.pod_launcher_deprecated.PodLauncher` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
108 | PodDefaults()
|
||||||
|
109 | PodLauncher()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
110 | PodStatus()
|
||||||
|
111 | get_kube_client()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=3.0.0` and use `airflow.providers.cncf.kubernetes.utils.pod_manager.PodManager` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
104 104 | )
|
||||||
|
105 105 | from airflow.kubernetes.volume import Volume
|
||||||
|
106 106 | from airflow.kubernetes.volume_mount import VolumeMount
|
||||||
|
107 |+from airflow.providers.cncf.kubernetes.utils.pod_manager import PodManager
|
||||||
|
107 108 |
|
||||||
|
108 109 | PodDefaults()
|
||||||
|
109 |-PodLauncher()
|
||||||
|
110 |+PodManager()
|
||||||
|
110 111 | PodStatus()
|
||||||
|
111 112 | get_kube_client()
|
||||||
|
112 113 |
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:110:1: AIR302 [*] `airflow.kubernetes.pod_launcher_deprecated.PodStatus` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
108 | PodDefaults()
|
||||||
|
109 | PodLauncher()
|
||||||
|
110 | PodStatus()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
111 | get_kube_client()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=3.0.0` and use ` airflow.providers.cncf.kubernetes.utils.pod_manager.PodPhase` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
104 104 | )
|
||||||
|
105 105 | from airflow.kubernetes.volume import Volume
|
||||||
|
106 106 | from airflow.kubernetes.volume_mount import VolumeMount
|
||||||
|
107 |+from airflow.providers.cncf.kubernetes.utils.pod_manager import PodPhase
|
||||||
|
107 108 |
|
||||||
|
108 109 | PodDefaults()
|
||||||
|
109 110 | PodLauncher()
|
||||||
|
110 |-PodStatus()
|
||||||
|
111 |+PodPhase()
|
||||||
|
111 112 | get_kube_client()
|
||||||
|
112 113 |
|
||||||
|
113 114 | PodRuntimeInfoEnv()
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:111:1: AIR302 `airflow.kubernetes.pod_launcher_deprecated.get_kube_client` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
109 | PodLauncher()
|
||||||
|
110 | PodStatus()
|
||||||
|
111 | get_kube_client()
|
||||||
|
| ^^^^^^^^^^^^^^^ AIR302
|
||||||
|
112 |
|
||||||
|
113 | PodRuntimeInfoEnv()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.kube_client.get_kube_client` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:113:1: AIR302 [*] `airflow.kubernetes.pod_runtime_info_env.PodRuntimeInfoEnv` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
111 | get_kube_client()
|
||||||
|
112 |
|
||||||
|
113 | PodRuntimeInfoEnv()
|
||||||
|
| ^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
114 | K8SModel()
|
||||||
|
115 | Secret()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `kubernetes.client.models.V1EnvVar` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
104 104 | )
|
||||||
|
105 105 | from airflow.kubernetes.volume import Volume
|
||||||
|
106 106 | from airflow.kubernetes.volume_mount import VolumeMount
|
||||||
|
107 |+from kubernetes.client.models import V1EnvVar
|
||||||
|
107 108 |
|
||||||
|
108 109 | PodDefaults()
|
||||||
|
109 110 | PodLauncher()
|
||||||
|
110 111 | PodStatus()
|
||||||
|
111 112 | get_kube_client()
|
||||||
|
112 113 |
|
||||||
|
113 |-PodRuntimeInfoEnv()
|
||||||
|
114 |+V1EnvVar()
|
||||||
|
114 115 | K8SModel()
|
||||||
|
115 116 | Secret()
|
||||||
|
116 117 | Volume()
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:114:1: AIR302 `airflow.kubernetes.secret.K8SModel` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
113 | PodRuntimeInfoEnv()
|
||||||
|
114 | K8SModel()
|
||||||
|
| ^^^^^^^^ AIR302
|
||||||
|
115 | Secret()
|
||||||
|
116 | Volume()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.k8s_model.K8SModel` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:115:1: AIR302 `airflow.kubernetes.secret.Secret` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
113 | PodRuntimeInfoEnv()
|
||||||
|
114 | K8SModel()
|
||||||
|
115 | Secret()
|
||||||
|
| ^^^^^^ AIR302
|
||||||
|
116 | Volume()
|
||||||
|
117 | VolumeMount()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `airflow.providers.cncf.kubernetes.secret.Secret` instead.
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:116:1: AIR302 [*] `airflow.kubernetes.volume.Volume` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
114 | K8SModel()
|
||||||
|
115 | Secret()
|
||||||
|
116 | Volume()
|
||||||
|
| ^^^^^^ AIR302
|
||||||
|
117 | VolumeMount()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `kubernetes.client.models.V1Volume` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
104 104 | )
|
||||||
|
105 105 | from airflow.kubernetes.volume import Volume
|
||||||
|
106 106 | from airflow.kubernetes.volume_mount import VolumeMount
|
||||||
|
107 |+from kubernetes.client.models import V1Volume
|
||||||
|
107 108 |
|
||||||
|
108 109 | PodDefaults()
|
||||||
|
109 110 | PodLauncher()
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
113 114 | PodRuntimeInfoEnv()
|
||||||
|
114 115 | K8SModel()
|
||||||
|
115 116 | Secret()
|
||||||
|
116 |-Volume()
|
||||||
|
117 |+V1Volume()
|
||||||
|
117 118 | VolumeMount()
|
||||||
|
|
||||||
|
AIR302_kubernetes.py:117:1: AIR302 [*] `airflow.kubernetes.volume_mount.VolumeMount` is moved into `cncf-kubernetes` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
115 | Secret()
|
||||||
|
116 | Volume()
|
||||||
|
117 | VolumeMount()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-cncf-kubernetes>=7.4.0` and use `kubernetes.client.models.V1VolumeMount` instead.
|
||||||
|
|
||||||
|
ℹ Safe fix
|
||||||
|
104 104 | )
|
||||||
|
105 105 | from airflow.kubernetes.volume import Volume
|
||||||
|
106 106 | from airflow.kubernetes.volume_mount import VolumeMount
|
||||||
|
107 |+from kubernetes.client.models import V1VolumeMount
|
||||||
|
107 108 |
|
||||||
|
108 109 | PodDefaults()
|
||||||
|
109 110 | PodLauncher()
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
114 115 | K8SModel()
|
||||||
|
115 116 | Secret()
|
||||||
|
116 117 | Volume()
|
||||||
|
117 |-VolumeMount()
|
||||||
|
118 |+V1VolumeMount()
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_mysql.py:9:1: AIR302 `airflow.hooks.mysql_hook.MySqlHook` is moved into `mysql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
7 | )
|
||||||
|
8 |
|
||||||
|
9 | MySqlHook()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
10 | PrestoToMySqlOperator()
|
||||||
|
11 | PrestoToMySqlTransfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-mysql>=1.0.0` and use `airflow.providers.mysql.hooks.mysql.MySqlHook` instead.
|
||||||
|
|
||||||
|
AIR302_mysql.py:10:1: AIR302 `airflow.operators.presto_to_mysql.PrestoToMySqlOperator` is moved into `mysql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
9 | MySqlHook()
|
||||||
|
10 | PrestoToMySqlOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
11 | PrestoToMySqlTransfer()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-mysql>=1.0.0` and use `airflow.providers.mysql.transfers.presto_to_mysql.PrestoToMySqlOperator` instead.
|
||||||
|
|
||||||
|
AIR302_mysql.py:11:1: AIR302 `airflow.operators.presto_to_mysql.PrestoToMySqlTransfer` is moved into `mysql` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
9 | MySqlHook()
|
||||||
|
10 | PrestoToMySqlOperator()
|
||||||
|
11 | PrestoToMySqlTransfer()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-mysql>=1.0.0` and use `airflow.providers.mysql.transfers.presto_to_mysql.PrestoToMySqlOperator` instead.
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_oracle.py:5:1: AIR302 `airflow.hooks.oracle_hook.OracleHook` is moved into `oracle` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
3 | from airflow.hooks.oracle_hook import OracleHook
|
||||||
|
4 |
|
||||||
|
5 | OracleHook()
|
||||||
|
| ^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-oracle>=1.0.0` and use `airflow.providers.oracle.hooks.oracle.OracleHook` instead.
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_papermill.py:5:1: AIR302 `airflow.operators.papermill_operator.PapermillOperator` is moved into `papermill` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
3 | from airflow.operators.papermill_operator import PapermillOperator
|
||||||
|
4 |
|
||||||
|
5 | PapermillOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-papermill>=1.0.0` and use `airflow.providers.papermill.operators.papermill.PapermillOperator` instead.
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_pig.py:6:1: AIR302 `airflow.hooks.pig_hook.PigCliHook` is moved into `apache-pig` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
4 | from airflow.operators.pig_operator import PigOperator
|
||||||
|
5 |
|
||||||
|
6 | PigCliHook()
|
||||||
|
| ^^^^^^^^^^ AIR302
|
||||||
|
7 | PigOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-pig>=1.0.0` and use `airflow.providers.apache.pig.hooks.pig.PigCliHook` instead.
|
||||||
|
|
||||||
|
AIR302_pig.py:7:1: AIR302 `airflow.operators.pig_operator.PigOperator` is moved into `apache-pig` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
6 | PigCliHook()
|
||||||
|
7 | PigOperator()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-apache-pig>=1.0.0` and use `airflow.providers.apache.pig.operators.pig.PigOperator` instead.
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_postgres.py:6:1: AIR302 `airflow.hooks.postgres_hook.PostgresHook` is moved into `postgres` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
4 | from airflow.operators.postgres_operator import Mapping
|
||||||
|
5 |
|
||||||
|
6 | PostgresHook()
|
||||||
|
| ^^^^^^^^^^^^ AIR302
|
||||||
|
7 | Mapping()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-postgres>=1.0.0` and use `airflow.providers.postgres.hooks.postgres.PostgresHook` instead.
|
||||||
|
|
||||||
|
AIR302_postgres.py:7:1: AIR302 `airflow.operators.postgres_operator.Mapping` is removed in Airflow 3.0
|
||||||
|
|
|
||||||
|
6 | PostgresHook()
|
||||||
|
7 | Mapping()
|
||||||
|
| ^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_presto.py:5:1: AIR302 `airflow.hooks.presto_hook.PrestoHook` is moved into `presto` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
3 | from airflow.hooks.presto_hook import PrestoHook
|
||||||
|
4 |
|
||||||
|
5 | PrestoHook()
|
||||||
|
| ^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-presto>=1.0.0` and use `airflow.providers.presto.hooks.presto.PrestoHook` instead.
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_samba.py:5:1: AIR302 `airflow.hooks.samba_hook.SambaHook` is moved into `samba` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
3 | from airflow.hooks.samba_hook import SambaHook
|
||||||
|
4 |
|
||||||
|
5 | SambaHook()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-samba>=1.0.0` and use `airflow.providers.samba.hooks.samba.SambaHook` instead.
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_slack.py:6:1: AIR302 `airflow.hooks.slack_hook.SlackHook` is moved into `slack` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
4 | from airflow.operators.slack_operator import SlackAPIOperator, SlackAPIPostOperator
|
||||||
|
5 |
|
||||||
|
6 | SlackHook()
|
||||||
|
| ^^^^^^^^^ AIR302
|
||||||
|
7 | SlackAPIOperator()
|
||||||
|
8 | SlackAPIPostOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-slack>=1.0.0` and use `airflow.providers.slack.hooks.slack.SlackHook` instead.
|
||||||
|
|
||||||
|
AIR302_slack.py:7:1: AIR302 `airflow.operators.slack_operator.SlackAPIOperator` is moved into `slack` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
6 | SlackHook()
|
||||||
|
7 | SlackAPIOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
8 | SlackAPIPostOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-slack>=1.0.0` and use `airflow.providers.slack.operators.slack.SlackAPIOperator` instead.
|
||||||
|
|
||||||
|
AIR302_slack.py:8:1: AIR302 `airflow.operators.slack_operator.SlackAPIPostOperator` is moved into `slack` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
6 | SlackHook()
|
||||||
|
7 | SlackAPIOperator()
|
||||||
|
8 | SlackAPIPostOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-slack>=1.0.0` and use `airflow.providers.slack.operators.slack.SlackAPIPostOperator` instead.
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_smtp.py:5:1: AIR302 `airflow.operators.email_operator.EmailOperator` is moved into `smtp` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
3 | from airflow.operators.email_operator import EmailOperator
|
||||||
|
4 |
|
||||||
|
5 | EmailOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
6 |
|
||||||
|
7 | from airflow.operators.email import EmailOperator
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-smtp>=1.0.0` and use `airflow.providers.smtp.operators.smtp.EmailOperator` instead.
|
||||||
|
|
||||||
|
AIR302_smtp.py:9:1: AIR302 `airflow.operators.email.EmailOperator` is moved into `smtp` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
7 | from airflow.operators.email import EmailOperator
|
||||||
|
8 |
|
||||||
|
9 | EmailOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-smtp>=1.0.0` and use `airflow.providers.smtp.operators.smtp.EmailOperator` instead.
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_sqlite.py:5:1: AIR302 `airflow.hooks.sqlite_hook.SqliteHook` is moved into `sqlite` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
3 | from airflow.hooks.sqlite_hook import SqliteHook
|
||||||
|
4 |
|
||||||
|
5 | SqliteHook()
|
||||||
|
| ^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-sqlite>=1.0.0` and use `airflow.providers.sqlite.hooks.sqlite.SqliteHook` instead.
|
||||||
|
|
@ -0,0 +1,157 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_standard.py:25:1: AIR302 `airflow.operators.bash_operator.BashOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
23 | )
|
||||||
|
24 |
|
||||||
|
25 | BashOperator()
|
||||||
|
| ^^^^^^^^^^^^ AIR302
|
||||||
|
26 |
|
||||||
|
27 | TriggerDagRunLink()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.1` and use `airflow.providers.standard.operators.bash.BashOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:27:1: AIR302 `airflow.operators.dagrun_operator.TriggerDagRunLink` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
25 | BashOperator()
|
||||||
|
26 |
|
||||||
|
27 | TriggerDagRunLink()
|
||||||
|
| ^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
28 | TriggerDagRunOperator()
|
||||||
|
29 | DummyOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.2` and use `airflow.providers.standard.operators.trigger_dagrun.TriggerDagRunLink` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:28:1: AIR302 `airflow.operators.dagrun_operator.TriggerDagRunOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
27 | TriggerDagRunLink()
|
||||||
|
28 | TriggerDagRunOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
29 | DummyOperator()
|
||||||
|
30 | EmptyOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.2` and use `airflow.providers.standard.operators.trigger_dagrun.TriggerDagRunOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:29:1: AIR302 `airflow.operators.dummy.DummyOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
27 | TriggerDagRunLink()
|
||||||
|
28 | TriggerDagRunOperator()
|
||||||
|
29 | DummyOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
30 | EmptyOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.2` and use `airflow.providers.standard.operators.empty.EmptyOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:30:1: AIR302 `airflow.operators.dummy.EmptyOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
28 | TriggerDagRunOperator()
|
||||||
|
29 | DummyOperator()
|
||||||
|
30 | EmptyOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
31 |
|
||||||
|
32 | LatestOnlyOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.2` and use `airflow.providers.standard.operators.empty.EmptyOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:32:1: AIR302 `airflow.operators.latest_only_operator.LatestOnlyOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
30 | EmptyOperator()
|
||||||
|
31 |
|
||||||
|
32 | LatestOnlyOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
33 |
|
||||||
|
34 | BranchPythonOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.3` and use `airflow.providers.standard.operators.latest_only.LatestOnlyOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:34:1: AIR302 `airflow.operators.python_operator.BranchPythonOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
32 | LatestOnlyOperator()
|
||||||
|
33 |
|
||||||
|
34 | BranchPythonOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
35 | PythonOperator()
|
||||||
|
36 | PythonVirtualenvOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.1` and use `airflow.providers.standard.operators.python.BranchPythonOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:35:1: AIR302 `airflow.operators.python_operator.PythonOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
34 | BranchPythonOperator()
|
||||||
|
35 | PythonOperator()
|
||||||
|
| ^^^^^^^^^^^^^^ AIR302
|
||||||
|
36 | PythonVirtualenvOperator()
|
||||||
|
37 | ShortCircuitOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.1` and use `airflow.providers.standard.operators.python.PythonOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:36:1: AIR302 `airflow.operators.python_operator.PythonVirtualenvOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
34 | BranchPythonOperator()
|
||||||
|
35 | PythonOperator()
|
||||||
|
36 | PythonVirtualenvOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
37 | ShortCircuitOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.1` and use `airflow.providers.standard.operators.python.PythonVirtualenvOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:37:1: AIR302 `airflow.operators.python_operator.ShortCircuitOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
35 | PythonOperator()
|
||||||
|
36 | PythonVirtualenvOperator()
|
||||||
|
37 | ShortCircuitOperator()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
38 |
|
||||||
|
39 | ExternalTaskMarker()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.1` and use `airflow.providers.standard.operators.python.ShortCircuitOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:39:1: AIR302 `airflow.sensors.external_task_sensor.ExternalTaskMarker` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
37 | ShortCircuitOperator()
|
||||||
|
38 |
|
||||||
|
39 | ExternalTaskMarker()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
40 | ExternalTaskSensor()
|
||||||
|
41 | ExternalTaskSensorLink()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.3` and use `airflow.providers.standard.sensors.external_task.ExternalTaskMarker` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:40:1: AIR302 `airflow.sensors.external_task_sensor.ExternalTaskSensor` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
39 | ExternalTaskMarker()
|
||||||
|
40 | ExternalTaskSensor()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
41 | ExternalTaskSensorLink()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.3` and use `airflow.providers.standard.sensors.external_task.ExternalTaskSensor` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:41:1: AIR302 `airflow.sensors.external_task_sensor.ExternalTaskSensorLink` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
39 | ExternalTaskMarker()
|
||||||
|
40 | ExternalTaskSensor()
|
||||||
|
41 | ExternalTaskSensorLink()
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^ AIR302
|
||||||
|
42 |
|
||||||
|
43 | from airflow.operators.dummy_operator import (
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.3` and use `airflow.providers.standard.sensors.external_task.ExternalTaskSensorLink` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:48:1: AIR302 `airflow.operators.dummy_operator.DummyOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
46 | )
|
||||||
|
47 |
|
||||||
|
48 | DummyOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
49 | EmptyOperator()
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.2` and use `airflow.providers.standard.operators.empty.EmptyOperator` instead.
|
||||||
|
|
||||||
|
AIR302_standard.py:49:1: AIR302 `airflow.operators.dummy_operator.EmptyOperator` is moved into `standard` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
48 | DummyOperator()
|
||||||
|
49 | EmptyOperator()
|
||||||
|
| ^^^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-standard>=0.0.2` and use `airflow.providers.standard.operators.empty.EmptyOperator` instead.
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_linter/src/rules/airflow/mod.rs
|
||||||
|
---
|
||||||
|
AIR302_zendesk.py:5:1: AIR302 `airflow.hooks.zendesk_hook.ZendeskHook` is moved into `zendesk` provider in Airflow 3.0;
|
||||||
|
|
|
||||||
|
3 | from airflow.hooks.zendesk_hook import ZendeskHook
|
||||||
|
4 |
|
||||||
|
5 | ZendeskHook()
|
||||||
|
| ^^^^^^^^^^^ AIR302
|
||||||
|
|
|
||||||
|
= help: Install `apache-airflow-providers-zendesk>=1.0.0` and use `airflow.providers.zendesk.hooks.zendesk.ZendeskHook` instead.
|
||||||
Loading…
Reference in New Issue