__init__.py 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. # Licensed to the Apache Software Foundation (ASF) under one
  2. # or more contributor license agreements. See the NOTICE file
  3. # distributed with this work for additional information
  4. # regarding copyright ownership. The ASF licenses this file
  5. # to you under the Apache License, Version 2.0 (the
  6. # "License"); you may not use this file except in compliance
  7. # with the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing,
  12. # software distributed under the License is distributed on an
  13. # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  14. # KIND, either express or implied. See the License for the
  15. # specific language governing permissions and limitations
  16. # under the License.
  17. from __future__ import annotations
  18. from airflow.utils.deprecation_tools import add_deprecated_classes
  19. __deprecated_classes: dict[str, dict[str, str]] = {
  20. "kubernetes_helper_functions": {
  21. "add_pod_suffix": "airflow.providers.cncf.kubernetes.kubernetes_helper_functions.add_pod_suffix.",
  22. "annotations_for_logging_task_metadata": "airflow.providers.cncf.kubernetes."
  23. "kubernetes_helper_functions."
  24. "annotations_for_logging_task_metadata.",
  25. "annotations_to_key": "airflow.providers.cncf.kubernetes."
  26. "kubernetes_helper_functions.annotations_to_key",
  27. "create_pod_id": "airflow.providers.cncf.kubernetes.kubernetes_helper_functions.create_pod_id",
  28. "get_logs_task_metadata": "airflow.providers.cncf.kubernetes."
  29. "kubernetes_helper_functions.get_logs_task_metadata",
  30. "rand_str": "airflow.providers.cncf.kubernetes.kubernetes_helper_functions.rand_str",
  31. },
  32. "pod": {
  33. "Port": "airflow.providers.cncf.kubernetes.backcompat.pod.Port",
  34. "Resources": "airflow.providers.cncf.kubernetes.backcompat.pod.Resources",
  35. },
  36. "pod_launcher": {
  37. "PodLauncher": "airflow.providers.cncf.kubernetes.pod_launcher.PodLauncher",
  38. "PodStatus": "airflow.providers.cncf.kubernetes.pod_launcher.PodStatus",
  39. },
  40. "pod_launcher_deprecated": {
  41. "PodLauncher": "airflow.providers.cncf.kubernetes.pod_launcher_deprecated.PodLauncher",
  42. "PodStatus": "airflow.providers.cncf.kubernetes.pod_launcher_deprecated.PodStatus",
  43. # imports of imports from other kubernetes modules (in case they are imported from here)
  44. "get_kube_client": "airflow.providers.cncf.kubernetes.kube_client.get_kube_client",
  45. "PodDefaults": "airflow.providers.cncf.kubernetes.pod_generator_deprecated.PodDefaults",
  46. },
  47. "pod_runtime_info_env": {
  48. "PodRuntimeInfoEnv": "airflow.providers.cncf.kubernetes.backcompat."
  49. "pod_runtime_info_env.PodRuntimeInfoEnv",
  50. },
  51. "volume": {
  52. "Volume": "airflow.providers.cncf.kubernetes.backcompat.volume.Volume",
  53. },
  54. "volume_mount": {
  55. "VolumeMount": "airflow.providers.cncf.kubernetes.backcompat.volume_mount.VolumeMount",
  56. },
  57. # the below classes are not served from provider but from internal pre_7_4_0_compatibility package
  58. "k8s_model": {
  59. "K8SModel": "airflow.kubernetes.pre_7_4_0_compatibility.k8s_model.K8SModel",
  60. "append_to_pod": "airflow.kubernetes.pre_7_4_0_compatibility.k8s_model.append_to_pod",
  61. },
  62. "kube_client": {
  63. "_disable_verify_ssl": "airflow.kubernetes.pre_7_4_0_compatibility.kube_client._disable_verify_ssl",
  64. "_enable_tcp_keepalive": "airflow.kubernetes.pre_7_4_0_compatibility.kube_client."
  65. "_enable_tcp_keepalive",
  66. "get_kube_client": "airflow.kubernetes.pre_7_4_0_compatibility.kube_client.get_kube_client",
  67. },
  68. "pod_generator": {
  69. "datetime_to_label_safe_datestring": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator"
  70. ".datetime_to_label_safe_datestring",
  71. "extend_object_field": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator."
  72. "extend_object_field",
  73. "label_safe_datestring_to_datetime": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator."
  74. "label_safe_datestring_to_datetime",
  75. "make_safe_label_value": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator."
  76. "make_safe_label_value",
  77. "merge_objects": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator.merge_objects",
  78. "PodGenerator": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator.PodGenerator",
  79. # imports of imports from other kubernetes modules (in case they are imported from here)
  80. "PodGeneratorDeprecated": "airflow.kubernetes.pre_7_4_0_compatibility."
  81. "pod_generator_deprecated.PodGenerator",
  82. "PodDefaults": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator_deprecated.PodDefaults",
  83. # those two are inlined in kubernetes.pre_7_4_0_compatibility.pod_generator even if
  84. # originally they were imported in airflow.kubernetes.pod_generator
  85. "add_pod_suffix": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator.add_pod_suffix",
  86. "rand_str": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator.rand_str",
  87. },
  88. "pod_generator_deprecated": {
  89. "make_safe_label_value": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator_deprecated."
  90. "make_safe_label_value",
  91. "PodDefaults": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator_deprecated.PodDefaults",
  92. "PodGenerator": "airflow.kubernetes.pre_7_4_0_compatibility.pod_generator_deprecated.PodGenerator",
  93. },
  94. "secret": {
  95. "Secret": "airflow.kubernetes.pre_7_4_0_compatibility.secret.Secret",
  96. # imports of imports from other kubernetes modules (in case they are imported from here)
  97. "K8SModel": "airflow.kubernetes.pre_7_4_0_compatibility.k8s_model.K8SModel",
  98. },
  99. }
  100. __override_deprecated_names: dict[str, dict[str, str]] = {
  101. "pod": {
  102. "Port": "kubernetes.client.models.V1ContainerPort",
  103. "Resources": "kubernetes.client.models.V1ResourceRequirements",
  104. },
  105. "pod_runtime_info_env": {
  106. "PodRuntimeInfoEnv": "kubernetes.client.models.V1EnvVar",
  107. },
  108. "volume": {
  109. "Volume": "kubernetes.client.models.V1Volume",
  110. },
  111. "volume_mount": {
  112. "VolumeMount": "kubernetes.client.models.V1VolumeMount",
  113. },
  114. "k8s_model": {
  115. "K8SModel": "airflow.airflow.providers.cncf.kubernetes.k8s_model.K8SModel",
  116. "append_to_pod": "airflow.airflow.providers.cncf.kubernetes.k8s_model.append_to_pod",
  117. },
  118. "kube_client": {
  119. "_disable_verify_ssl": "airflow.kubernetes.airflow.providers.cncf.kubernetes."
  120. "kube_client._disable_verify_ssl",
  121. "_enable_tcp_keepalive": "airflow.kubernetes.airflow.providers.cncf.kubernetes.kube_client."
  122. "_enable_tcp_keepalive",
  123. "get_kube_client": "airflow.kubernetes.airflow.providers.cncf.kubernetes.kube_client.get_kube_client",
  124. },
  125. "pod_generator": {
  126. "datetime_to_label_safe_datestring": "airflow.providers.cncf.kubernetes.pod_generator"
  127. ".datetime_to_label_safe_datestring",
  128. "extend_object_field": "airflow.kubernetes.airflow.providers.cncf.kubernetes.pod_generator."
  129. "extend_object_field",
  130. "label_safe_datestring_to_datetime": "airflow.providers.cncf.kubernetes.pod_generator."
  131. "label_safe_datestring_to_datetime",
  132. "make_safe_label_value": "airflow.providers.cncf.kubernetes.pod_generator.make_safe_label_value",
  133. "merge_objects": "airflow.providers.cncf.kubernetes.pod_generator.merge_objects",
  134. "PodGenerator": "airflow.providers.cncf.kubernetes.pod_generator.PodGenerator",
  135. },
  136. "pod_generator_deprecated": {
  137. "make_safe_label_value": "airflow.providers.cncf.kubernetes.pod_generator_deprecated."
  138. "make_safe_label_value",
  139. "PodDefaults": "airflow.providers.cncf.kubernetes.pod_generator_deprecated.PodDefaults",
  140. "PodGenerator": "airflow.providers.cncf.kubernetes.pod_generator_deprecated.PodGenerator",
  141. },
  142. "secret": {
  143. "Secret": "airflow.providers.cncf.kubernetes.secret.Secret",
  144. },
  145. }
  146. add_deprecated_classes(
  147. __deprecated_classes,
  148. __name__,
  149. __override_deprecated_names,
  150. "The `cncf.kubernetes` provider must be >= 7.4.0 for that.",
  151. )