apache-airflow-providers-google 10.24.0__tar.gz → 10.25.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/PKG-INFO +15 -13
  2. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/README.rst +7 -6
  3. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/__init__.py +1 -1
  4. apache_airflow_providers_google-10.25.0/airflow/providers/google/assets/gcs.py +45 -0
  5. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/dataproc.py +1 -0
  6. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/gcs.py +50 -2
  7. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py +79 -0
  8. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/translate.py +2 -1
  9. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/automl.py +31 -18
  10. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/bigquery.py +1 -1
  11. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/cloud_run.py +4 -6
  12. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py +10 -1
  13. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py +1 -1
  14. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +19 -0
  15. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +152 -4
  16. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/hyperparameter_tuning_job.py +1 -0
  17. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/dataform.py +75 -0
  18. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/get_provider_info.py +21 -7
  19. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/example_dags/example_display_video.py +2 -2
  20. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/pyproject.toml +8 -7
  21. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/LICENSE +0 -0
  22. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/ads/.gitignore +0 -0
  23. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/ads/__init__.py +0 -0
  24. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/ads/hooks/__init__.py +0 -0
  25. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/ads/hooks/ads.py +0 -0
  26. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/ads/operators/__init__.py +0 -0
  27. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/ads/operators/ads.py +0 -0
  28. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/ads/transfers/__init__.py +0 -0
  29. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/ads/transfers/ads_to_gcs.py +0 -0
  30. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud → apache_airflow_providers_google-10.25.0/airflow/providers/google/assets}/__init__.py +0 -0
  31. {apache_airflow_providers_google-10.24.0/airflow/providers/google/datasets → apache_airflow_providers_google-10.25.0/airflow/providers/google/assets}/bigquery.py +0 -0
  32. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/_internal_client → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud}/__init__.py +0 -0
  33. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/example_dags → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/_internal_client}/__init__.py +0 -0
  34. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/_internal_client/secret_manager_client.py +0 -0
  35. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/fs → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/example_dags}/__init__.py +0 -0
  36. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/example_dags/example_cloud_task.py +0 -0
  37. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/example_dags/example_facebook_ads_to_gcs.py +0 -0
  38. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/example_dags/example_looker.py +0 -0
  39. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/example_dags/example_presto_to_gcs.py +0 -0
  40. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/example_dags/example_salesforce_to_gcs.py +0 -0
  41. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/hooks → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/fs}/__init__.py +0 -0
  42. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/fs/gcs.py +0 -0
  43. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/hooks/vertex_ai → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/hooks}/__init__.py +0 -0
  44. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/automl.py +0 -0
  45. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/bigquery.py +0 -0
  46. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/bigquery_dts.py +0 -0
  47. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/bigtable.py +0 -0
  48. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/cloud_batch.py +0 -0
  49. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/cloud_build.py +0 -0
  50. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/cloud_composer.py +0 -0
  51. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/cloud_memorystore.py +0 -0
  52. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/cloud_run.py +0 -0
  53. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/cloud_sql.py +0 -0
  54. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +0 -0
  55. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/compute.py +0 -0
  56. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/compute_ssh.py +0 -0
  57. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/datacatalog.py +0 -0
  58. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/dataflow.py +0 -0
  59. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/dataform.py +0 -0
  60. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/datafusion.py +0 -0
  61. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/datapipeline.py +0 -0
  62. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/dataplex.py +0 -0
  63. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/dataprep.py +0 -0
  64. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/dataproc_metastore.py +0 -0
  65. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/datastore.py +0 -0
  66. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/dlp.py +0 -0
  67. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/functions.py +0 -0
  68. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/gdm.py +0 -0
  69. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/kms.py +0 -0
  70. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/kubernetes_engine.py +0 -0
  71. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/life_sciences.py +0 -0
  72. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/looker.py +0 -0
  73. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/mlengine.py +0 -0
  74. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/natural_language.py +0 -0
  75. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/os_login.py +0 -0
  76. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/pubsub.py +0 -0
  77. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/secret_manager.py +0 -0
  78. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/spanner.py +0 -0
  79. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/speech_to_text.py +0 -0
  80. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/stackdriver.py +0 -0
  81. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/tasks.py +0 -0
  82. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/text_to_speech.py +0 -0
  83. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/translate.py +0 -0
  84. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/links → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/hooks/vertex_ai}/__init__.py +0 -0
  85. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +0 -0
  86. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py +0 -0
  87. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +0 -0
  88. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/dataset.py +0 -0
  89. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py +0 -0
  90. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py +0 -0
  91. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/model_service.py +0 -0
  92. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/pipeline_job.py +0 -0
  93. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vertex_ai/prediction_service.py +0 -0
  94. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/video_intelligence.py +0 -0
  95. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/vision.py +0 -0
  96. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/hooks/workflows.py +0 -0
  97. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/log → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/links}/__init__.py +0 -0
  98. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/automl.py +0 -0
  99. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/base.py +0 -0
  100. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/bigquery.py +0 -0
  101. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/bigquery_dts.py +0 -0
  102. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/bigtable.py +0 -0
  103. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/cloud_build.py +0 -0
  104. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/cloud_functions.py +0 -0
  105. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/cloud_memorystore.py +0 -0
  106. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/cloud_sql.py +0 -0
  107. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/cloud_storage_transfer.py +0 -0
  108. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/cloud_tasks.py +0 -0
  109. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/compute.py +0 -0
  110. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/data_loss_prevention.py +0 -0
  111. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/datacatalog.py +0 -0
  112. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/dataflow.py +0 -0
  113. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/dataform.py +0 -0
  114. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/datafusion.py +0 -0
  115. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/dataplex.py +0 -0
  116. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/dataprep.py +0 -0
  117. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/dataproc.py +0 -0
  118. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/datastore.py +0 -0
  119. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/kubernetes_engine.py +0 -0
  120. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/life_sciences.py +0 -0
  121. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/mlengine.py +0 -0
  122. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/pubsub.py +0 -0
  123. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/spanner.py +0 -0
  124. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/stackdriver.py +0 -0
  125. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/vertex_ai.py +0 -0
  126. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/links/workflows.py +0 -0
  127. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/openlineage → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/log}/__init__.py +0 -0
  128. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/log/gcs_task_handler.py +0 -0
  129. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/log/stackdriver_task_handler.py +0 -0
  130. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/openlineage/BigQueryErrorRunFacet.json +0 -0
  131. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/openlineage/BigQueryJobRunFacet.json +0 -0
  132. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/operators → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/openlineage}/__init__.py +0 -0
  133. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/openlineage/mixins.py +0 -0
  134. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/openlineage/utils.py +0 -0
  135. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/operators/vertex_ai → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/operators}/__init__.py +0 -0
  136. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/bigquery_dts.py +0 -0
  137. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/bigtable.py +0 -0
  138. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/cloud_base.py +0 -0
  139. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/cloud_batch.py +0 -0
  140. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/cloud_build.py +0 -0
  141. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/cloud_composer.py +0 -0
  142. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/cloud_memorystore.py +0 -0
  143. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/cloud_sql.py +0 -0
  144. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +0 -0
  145. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/compute.py +0 -0
  146. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/datacatalog.py +0 -0
  147. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/dataflow.py +0 -0
  148. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/dataform.py +0 -0
  149. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/datafusion.py +0 -0
  150. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/datapipeline.py +0 -0
  151. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/dataplex.py +0 -0
  152. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/dataprep.py +0 -0
  153. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/dataproc.py +0 -0
  154. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/dataproc_metastore.py +0 -0
  155. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/datastore.py +0 -0
  156. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/dlp.py +0 -0
  157. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/functions.py +0 -0
  158. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/gcs.py +0 -0
  159. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/kubernetes_engine.py +0 -0
  160. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/life_sciences.py +0 -0
  161. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/looker.py +0 -0
  162. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/mlengine.py +0 -0
  163. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/natural_language.py +0 -0
  164. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/pubsub.py +0 -0
  165. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/spanner.py +0 -0
  166. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/speech_to_text.py +0 -0
  167. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/stackdriver.py +0 -0
  168. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/tasks.py +0 -0
  169. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/text_to_speech.py +0 -0
  170. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/translate.py +0 -0
  171. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/translate_speech.py +0 -0
  172. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/secrets → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/operators/vertex_ai}/__init__.py +0 -0
  173. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/dataset.py +0 -0
  174. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/endpoint_service.py +0 -0
  175. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/model_service.py +0 -0
  176. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py +0 -0
  177. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/video_intelligence.py +0 -0
  178. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/vision.py +0 -0
  179. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/operators/workflows.py +0 -0
  180. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/sensors → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/secrets}/__init__.py +0 -0
  181. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/secrets/secret_manager.py +0 -0
  182. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/transfers → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/sensors}/__init__.py +0 -0
  183. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/bigquery.py +0 -0
  184. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/bigquery_dts.py +0 -0
  185. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/bigtable.py +0 -0
  186. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/cloud_composer.py +0 -0
  187. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py +0 -0
  188. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/dataflow.py +0 -0
  189. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/datafusion.py +0 -0
  190. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/dataplex.py +0 -0
  191. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/dataprep.py +0 -0
  192. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/dataproc.py +0 -0
  193. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/dataproc_metastore.py +0 -0
  194. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/gcs.py +0 -0
  195. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/looker.py +0 -0
  196. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/pubsub.py +0 -0
  197. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/tasks.py +0 -0
  198. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/sensors/workflows.py +0 -0
  199. {apache_airflow_providers_google-10.24.0/airflow/providers/google/cloud/triggers → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/transfers}/__init__.py +0 -0
  200. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/adls_to_gcs.py +0 -0
  201. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/azure_blob_to_gcs.py +0 -0
  202. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/azure_fileshare_to_gcs.py +0 -0
  203. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py +0 -0
  204. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/bigquery_to_gcs.py +0 -0
  205. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/bigquery_to_mssql.py +0 -0
  206. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/bigquery_to_mysql.py +0 -0
  207. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/bigquery_to_postgres.py +0 -0
  208. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/bigquery_to_sql.py +0 -0
  209. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/calendar_to_gcs.py +0 -0
  210. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/cassandra_to_gcs.py +0 -0
  211. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py +0 -0
  212. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +0 -0
  213. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/gcs_to_gcs.py +0 -0
  214. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/gcs_to_local.py +0 -0
  215. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/gcs_to_sftp.py +0 -0
  216. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/gdrive_to_gcs.py +0 -0
  217. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/gdrive_to_local.py +0 -0
  218. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/local_to_gcs.py +0 -0
  219. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/mssql_to_gcs.py +0 -0
  220. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/mysql_to_gcs.py +0 -0
  221. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/oracle_to_gcs.py +0 -0
  222. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/postgres_to_gcs.py +0 -0
  223. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/presto_to_gcs.py +0 -0
  224. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/s3_to_gcs.py +0 -0
  225. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/salesforce_to_gcs.py +0 -0
  226. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/sftp_to_gcs.py +0 -0
  227. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/sheets_to_gcs.py +0 -0
  228. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/sql_to_gcs.py +0 -0
  229. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/transfers/trino_to_gcs.py +0 -0
  230. {apache_airflow_providers_google-10.24.0/airflow/providers/google/common → apache_airflow_providers_google-10.25.0/airflow/providers/google/cloud/triggers}/__init__.py +0 -0
  231. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/bigquery.py +0 -0
  232. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/bigquery_dts.py +0 -0
  233. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/cloud_batch.py +0 -0
  234. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/cloud_build.py +0 -0
  235. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/cloud_composer.py +0 -0
  236. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/cloud_run.py +0 -0
  237. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/cloud_sql.py +0 -0
  238. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +0 -0
  239. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/dataflow.py +0 -0
  240. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/datafusion.py +0 -0
  241. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/dataplex.py +0 -0
  242. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/dataproc.py +0 -0
  243. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/gcs.py +0 -0
  244. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/kubernetes_engine.py +0 -0
  245. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/mlengine.py +0 -0
  246. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/pubsub.py +0 -0
  247. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/triggers/vertex_ai.py +0 -0
  248. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/__init__.py +0 -0
  249. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/bigquery.py +0 -0
  250. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/bigquery_get_data.py +0 -0
  251. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/credentials_provider.py +0 -0
  252. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/dataform.py +0 -0
  253. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/datafusion.py +0 -0
  254. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/dataproc.py +0 -0
  255. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/external_token_supplier.py +0 -0
  256. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/field_sanitizer.py +0 -0
  257. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/field_validator.py +0 -0
  258. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/helpers.py +0 -0
  259. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/mlengine_operator_utils.py +0 -0
  260. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/cloud/utils/mlengine_prediction_summary.py +0 -0
  261. {apache_airflow_providers_google-10.24.0/airflow/providers/google/common/auth_backend → apache_airflow_providers_google-10.25.0/airflow/providers/google/common}/__init__.py +0 -0
  262. {apache_airflow_providers_google-10.24.0/airflow/providers/google/common/hooks → apache_airflow_providers_google-10.25.0/airflow/providers/google/common/auth_backend}/__init__.py +0 -0
  263. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/common/auth_backend/google_openid.py +0 -0
  264. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/common/consts.py +0 -0
  265. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/common/deprecated.py +0 -0
  266. {apache_airflow_providers_google-10.24.0/airflow/providers/google/common/links → apache_airflow_providers_google-10.25.0/airflow/providers/google/common/hooks}/__init__.py +0 -0
  267. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/common/hooks/base_google.py +0 -0
  268. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/common/hooks/discovery_api.py +0 -0
  269. {apache_airflow_providers_google-10.24.0/airflow/providers/google/common/utils → apache_airflow_providers_google-10.25.0/airflow/providers/google/common/links}/__init__.py +0 -0
  270. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/common/links/storage.py +0 -0
  271. {apache_airflow_providers_google-10.24.0/airflow/providers/google/datasets → apache_airflow_providers_google-10.25.0/airflow/providers/google/common/utils}/__init__.py +0 -0
  272. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/common/utils/id_token_credentials.py +0 -0
  273. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/firebase/__init__.py +0 -0
  274. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/firebase/hooks/__init__.py +0 -0
  275. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/firebase/hooks/firestore.py +0 -0
  276. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/firebase/operators/__init__.py +0 -0
  277. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/firebase/operators/firestore.py +0 -0
  278. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/go_module_utils.py +0 -0
  279. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/leveldb/__init__.py +0 -0
  280. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/leveldb/hooks/__init__.py +0 -0
  281. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/leveldb/hooks/leveldb.py +0 -0
  282. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/leveldb/operators/__init__.py +0 -0
  283. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/leveldb/operators/leveldb.py +0 -0
  284. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/__init__.py +0 -0
  285. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/example_dags/__init__.py +0 -0
  286. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/hooks/__init__.py +0 -0
  287. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/hooks/analytics.py +0 -0
  288. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/hooks/analytics_admin.py +0 -0
  289. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/hooks/campaign_manager.py +0 -0
  290. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/hooks/display_video.py +0 -0
  291. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/hooks/search_ads.py +0 -0
  292. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/links/__init__.py +0 -0
  293. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/links/analytics_admin.py +0 -0
  294. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/operators/__init__.py +0 -0
  295. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/operators/analytics.py +0 -0
  296. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/operators/analytics_admin.py +0 -0
  297. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/operators/campaign_manager.py +0 -0
  298. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/operators/display_video.py +0 -0
  299. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/operators/search_ads.py +0 -0
  300. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/sensors/__init__.py +0 -0
  301. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/sensors/campaign_manager.py +0 -0
  302. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/marketing_platform/sensors/display_video.py +0 -0
  303. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/__init__.py +0 -0
  304. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/hooks/__init__.py +0 -0
  305. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/hooks/calendar.py +0 -0
  306. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/hooks/drive.py +0 -0
  307. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/hooks/sheets.py +0 -0
  308. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/operators/__init__.py +0 -0
  309. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/operators/sheets.py +0 -0
  310. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/sensors/__init__.py +0 -0
  311. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/sensors/drive.py +0 -0
  312. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/transfers/__init__.py +0 -0
  313. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/transfers/gcs_to_gdrive.py +0 -0
  314. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/transfers/gcs_to_sheets.py +0 -0
  315. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/transfers/local_to_drive.py +0 -0
  316. {apache_airflow_providers_google-10.24.0 → apache_airflow_providers_google-10.25.0}/airflow/providers/google/suite/transfers/sql_to_sheets.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-google
3
- Version: 10.24.0
3
+ Version: 10.25.0
4
4
  Summary: Provider package apache-airflow-providers-google for Apache Airflow
5
5
  Keywords: airflow-provider,google,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -21,7 +21,7 @@ Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Topic :: System :: Monitoring
23
23
  Requires-Dist: PyOpenSSL>=23.0.0
24
- Requires-Dist: apache-airflow-providers-common-compat>=1.1.0
24
+ Requires-Dist: apache-airflow-providers-common-compat>=1.2.1
25
25
  Requires-Dist: apache-airflow-providers-common-sql>=1.7.2
26
26
  Requires-Dist: apache-airflow>=2.8.0
27
27
  Requires-Dist: asgiref>=3.5.2
@@ -36,7 +36,7 @@ Requires-Dist: google-api-core>=2.11.0,!=2.16.0,!=2.18.0
36
36
  Requires-Dist: google-api-python-client>=2.0.2
37
37
  Requires-Dist: google-auth-httplib2>=0.0.1
38
38
  Requires-Dist: google-auth>=2.29.0
39
- Requires-Dist: google-cloud-aiplatform>=1.63.0
39
+ Requires-Dist: google-cloud-aiplatform>=1.70.0
40
40
  Requires-Dist: google-cloud-automl>=2.12.0
41
41
  Requires-Dist: google-cloud-batch>=0.13.0
42
42
  Requires-Dist: google-cloud-bigquery-datatransfer>=3.13.0
@@ -77,11 +77,12 @@ Requires-Dist: grpcio-gcp>=0.2.2
77
77
  Requires-Dist: httpx>=0.25.0
78
78
  Requires-Dist: immutabledict>=4.2.0
79
79
  Requires-Dist: json-merge-patch>=0.2
80
- Requires-Dist: looker-sdk>=22.4.0
80
+ Requires-Dist: looker-sdk>=22.4.0,!=24.18.0
81
81
  Requires-Dist: pandas-gbq>=0.7.0
82
82
  Requires-Dist: pandas>=1.5.3,<2.2;python_version<"3.9"
83
83
  Requires-Dist: pandas>=2.1.2,<2.2;python_version>="3.9"
84
84
  Requires-Dist: proto-plus>=1.19.6
85
+ Requires-Dist: pyarrow>=14.0.1
85
86
  Requires-Dist: python-slugify>=7.0.0
86
87
  Requires-Dist: sqlalchemy-bigquery>=1.2.1
87
88
  Requires-Dist: sqlalchemy-spanner>=1.6.2
@@ -94,7 +95,7 @@ Requires-Dist: apache-airflow-providers-cncf-kubernetes>=7.2.0 ; extra == "cncf.
94
95
  Requires-Dist: apache-airflow-providers-common-compat ; extra == "common.compat"
95
96
  Requires-Dist: apache-airflow-providers-common-sql ; extra == "common.sql"
96
97
  Requires-Dist: apache-airflow-providers-facebook>=2.2.0 ; extra == "facebook"
97
- Requires-Dist: plyvel ; extra == "leveldb"
98
+ Requires-Dist: plyvel>=1.5.1 ; extra == "leveldb"
98
99
  Requires-Dist: apache-airflow-providers-microsoft-azure ; extra == "microsoft.azure"
99
100
  Requires-Dist: apache-airflow-providers-microsoft-mssql ; extra == "microsoft.mssql"
100
101
  Requires-Dist: apache-airflow-providers-mysql ; extra == "mysql"
@@ -107,8 +108,8 @@ Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
107
108
  Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
108
109
  Requires-Dist: apache-airflow-providers-trino ; extra == "trino"
109
110
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
110
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-google/10.24.0/changelog.html
111
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-google/10.24.0
111
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-google/10.25.0/changelog.html
112
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-google/10.25.0
112
113
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
113
114
  Project-URL: Source Code, https://github.com/apache/airflow
114
115
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -177,7 +178,7 @@ Provides-Extra: trino
177
178
 
178
179
  Package ``apache-airflow-providers-google``
179
180
 
180
- Release: ``10.24.0``
181
+ Release: ``10.25.0``
181
182
 
182
183
 
183
184
  Google services including:
@@ -197,7 +198,7 @@ This is a provider package for ``google`` provider. All classes for this provide
197
198
  are in ``airflow.providers.google`` python package.
198
199
 
199
200
  You can find package information and changelog for the provider
200
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.24.0/>`_.
201
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.25.0/>`_.
201
202
 
202
203
  Installation
203
204
  ------------
@@ -215,7 +216,7 @@ Requirements
215
216
  PIP package Version required
216
217
  ========================================== =========================================
217
218
  ``apache-airflow`` ``>=2.8.0``
218
- ``apache-airflow-providers-common-compat`` ``>=1.1.0``
219
+ ``apache-airflow-providers-common-compat`` ``>=1.2.1``
219
220
  ``apache-airflow-providers-common-sql`` ``>=1.7.2``
220
221
  ``asgiref`` ``>=3.5.2``
221
222
  ``dill`` ``>=0.2.3``
@@ -229,7 +230,7 @@ PIP package Version required
229
230
  ``google-api-python-client`` ``>=2.0.2``
230
231
  ``google-auth`` ``>=2.29.0``
231
232
  ``google-auth-httplib2`` ``>=0.0.1``
232
- ``google-cloud-aiplatform`` ``>=1.63.0``
233
+ ``google-cloud-aiplatform`` ``>=1.70.0``
233
234
  ``google-cloud-automl`` ``>=2.12.0``
234
235
  ``google-cloud-bigquery`` ``!=3.21.*,!=3.22.0,!=3.23.*,>=3.4.0``
235
236
  ``google-cloud-bigquery-datatransfer`` ``>=3.13.0``
@@ -269,11 +270,12 @@ PIP package Version required
269
270
  ``grpcio-gcp`` ``>=0.2.2``
270
271
  ``httpx`` ``>=0.25.0``
271
272
  ``json-merge-patch`` ``>=0.2``
272
- ``looker-sdk`` ``>=22.4.0``
273
+ ``looker-sdk`` ``>=22.4.0,!=24.18.0``
273
274
  ``pandas-gbq`` ``>=0.7.0``
274
275
  ``pandas`` ``>=2.1.2,<2.2; python_version >= "3.9"``
275
276
  ``pandas`` ``>=1.5.3,<2.2; python_version < "3.9"``
276
277
  ``proto-plus`` ``>=1.19.6``
278
+ ``pyarrow`` ``>=14.0.1``
277
279
  ``python-slugify`` ``>=7.0.0``
278
280
  ``PyOpenSSL`` ``>=23.0.0``
279
281
  ``sqlalchemy-bigquery`` ``>=1.2.1``
@@ -319,4 +321,4 @@ Dependent package
319
321
  ======================================================================================================================== ====================
320
322
 
321
323
  The changelog for the provider package can be found in the
322
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.24.0/changelog.html>`_.
324
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.25.0/changelog.html>`_.
@@ -42,7 +42,7 @@
42
42
 
43
43
  Package ``apache-airflow-providers-google``
44
44
 
45
- Release: ``10.24.0``
45
+ Release: ``10.25.0``
46
46
 
47
47
 
48
48
  Google services including:
@@ -62,7 +62,7 @@ This is a provider package for ``google`` provider. All classes for this provide
62
62
  are in ``airflow.providers.google`` python package.
63
63
 
64
64
  You can find package information and changelog for the provider
65
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.24.0/>`_.
65
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.25.0/>`_.
66
66
 
67
67
  Installation
68
68
  ------------
@@ -80,7 +80,7 @@ Requirements
80
80
  PIP package Version required
81
81
  ========================================== =========================================
82
82
  ``apache-airflow`` ``>=2.8.0``
83
- ``apache-airflow-providers-common-compat`` ``>=1.1.0``
83
+ ``apache-airflow-providers-common-compat`` ``>=1.2.1``
84
84
  ``apache-airflow-providers-common-sql`` ``>=1.7.2``
85
85
  ``asgiref`` ``>=3.5.2``
86
86
  ``dill`` ``>=0.2.3``
@@ -94,7 +94,7 @@ PIP package Version required
94
94
  ``google-api-python-client`` ``>=2.0.2``
95
95
  ``google-auth`` ``>=2.29.0``
96
96
  ``google-auth-httplib2`` ``>=0.0.1``
97
- ``google-cloud-aiplatform`` ``>=1.63.0``
97
+ ``google-cloud-aiplatform`` ``>=1.70.0``
98
98
  ``google-cloud-automl`` ``>=2.12.0``
99
99
  ``google-cloud-bigquery`` ``!=3.21.*,!=3.22.0,!=3.23.*,>=3.4.0``
100
100
  ``google-cloud-bigquery-datatransfer`` ``>=3.13.0``
@@ -134,11 +134,12 @@ PIP package Version required
134
134
  ``grpcio-gcp`` ``>=0.2.2``
135
135
  ``httpx`` ``>=0.25.0``
136
136
  ``json-merge-patch`` ``>=0.2``
137
- ``looker-sdk`` ``>=22.4.0``
137
+ ``looker-sdk`` ``>=22.4.0,!=24.18.0``
138
138
  ``pandas-gbq`` ``>=0.7.0``
139
139
  ``pandas`` ``>=2.1.2,<2.2; python_version >= "3.9"``
140
140
  ``pandas`` ``>=1.5.3,<2.2; python_version < "3.9"``
141
141
  ``proto-plus`` ``>=1.19.6``
142
+ ``pyarrow`` ``>=14.0.1``
142
143
  ``python-slugify`` ``>=7.0.0``
143
144
  ``PyOpenSSL`` ``>=23.0.0``
144
145
  ``sqlalchemy-bigquery`` ``>=1.2.1``
@@ -184,4 +185,4 @@ Dependent package
184
185
  ======================================================================================================================== ====================
185
186
 
186
187
  The changelog for the provider package can be found in the
187
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.24.0/changelog.html>`_.
188
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.25.0/changelog.html>`_.
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "10.24.0"
32
+ __version__ = "10.25.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.8.0"
@@ -0,0 +1,45 @@
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
+
19
+ from typing import TYPE_CHECKING
20
+
21
+ from airflow.providers.common.compat.assets import Asset
22
+ from airflow.providers.google.cloud.hooks.gcs import _parse_gcs_url
23
+
24
+ if TYPE_CHECKING:
25
+ from urllib.parse import SplitResult
26
+
27
+ from airflow.providers.common.compat.openlineage.facet import Dataset as OpenLineageDataset
28
+
29
+
30
+ def create_asset(*, bucket: str, key: str, extra: dict | None = None) -> Asset:
31
+ return Asset(uri=f"gs://{bucket}/{key}", extra=extra)
32
+
33
+
34
+ def sanitize_uri(uri: SplitResult) -> SplitResult:
35
+ if not uri.netloc:
36
+ raise ValueError("URI format gs:// must contain a bucket name")
37
+ return uri
38
+
39
+
40
+ def convert_asset_to_openlineage(asset: Asset, lineage_context) -> OpenLineageDataset:
41
+ """Translate Asset with valid AIP-60 uri to OpenLineage with assistance from the hook."""
42
+ from airflow.providers.common.compat.openlineage.facet import Dataset as OpenLineageDataset
43
+
44
+ bucket, key = _parse_gcs_url(asset.uri)
45
+ return OpenLineageDataset(namespace=f"gs://{bucket}", name=key if key else "/")
@@ -999,6 +999,7 @@ class DataprocHook(GoogleBaseHook):
999
999
  individual attempt.
1000
1000
  :param metadata: Additional metadata that is provided to the method.
1001
1001
  """
1002
+ self.log.debug("Creating batch: %s", batch)
1002
1003
  client = self.get_batch_client(region)
1003
1004
  parent = f"projects/{project_id}/regions/{region}"
1004
1005
 
@@ -43,6 +43,7 @@ from google.cloud.storage.retry import DEFAULT_RETRY
43
43
  from requests import Session
44
44
 
45
45
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
46
+ from airflow.providers.common.compat.lineage.hook import get_hook_lineage_collector
46
47
  from airflow.providers.google.cloud.utils.helpers import normalize_directory_path
47
48
  from airflow.providers.google.common.consts import CLIENT_INFO
48
49
  from airflow.providers.google.common.hooks.base_google import (
@@ -214,6 +215,16 @@ class GCSHook(GoogleBaseHook):
214
215
  destination_object = source_bucket.copy_blob( # type: ignore[attr-defined]
215
216
  blob=source_object, destination_bucket=destination_bucket, new_name=destination_object
216
217
  )
218
+ get_hook_lineage_collector().add_input_asset(
219
+ context=self,
220
+ scheme="gs",
221
+ asset_kwargs={"bucket": source_bucket.name, "key": source_object.name}, # type: ignore[attr-defined]
222
+ )
223
+ get_hook_lineage_collector().add_output_asset(
224
+ context=self,
225
+ scheme="gs",
226
+ asset_kwargs={"bucket": destination_bucket.name, "key": destination_object.name}, # type: ignore[union-attr]
227
+ )
217
228
 
218
229
  self.log.info(
219
230
  "Object %s in bucket %s copied to object %s in bucket %s",
@@ -267,6 +278,16 @@ class GCSHook(GoogleBaseHook):
267
278
  ).rewrite(source=source_object, token=token)
268
279
 
269
280
  self.log.info("Total Bytes: %s | Bytes Written: %s", total_bytes, bytes_rewritten)
281
+ get_hook_lineage_collector().add_input_asset(
282
+ context=self,
283
+ scheme="gs",
284
+ asset_kwargs={"bucket": source_bucket.name, "key": source_object.name}, # type: ignore[attr-defined]
285
+ )
286
+ get_hook_lineage_collector().add_output_asset(
287
+ context=self,
288
+ scheme="gs",
289
+ asset_kwargs={"bucket": destination_bucket.name, "key": destination_object}, # type: ignore[attr-defined]
290
+ )
270
291
  self.log.info(
271
292
  "Object %s in bucket %s rewritten to object %s in bucket %s",
272
293
  source_object.name, # type: ignore[attr-defined]
@@ -345,9 +366,18 @@ class GCSHook(GoogleBaseHook):
345
366
 
346
367
  if filename:
347
368
  blob.download_to_filename(filename, timeout=timeout)
369
+ get_hook_lineage_collector().add_input_asset(
370
+ context=self, scheme="gs", asset_kwargs={"bucket": bucket.name, "key": blob.name}
371
+ )
372
+ get_hook_lineage_collector().add_output_asset(
373
+ context=self, scheme="file", asset_kwargs={"path": filename}
374
+ )
348
375
  self.log.info("File downloaded to %s", filename)
349
376
  return filename
350
377
  else:
378
+ get_hook_lineage_collector().add_input_asset(
379
+ context=self, scheme="gs", asset_kwargs={"bucket": bucket.name, "key": blob.name}
380
+ )
351
381
  return blob.download_as_bytes()
352
382
 
353
383
  except GoogleCloudError:
@@ -555,6 +585,9 @@ class GCSHook(GoogleBaseHook):
555
585
  _call_with_retry(
556
586
  partial(blob.upload_from_filename, filename=filename, content_type=mime_type, timeout=timeout)
557
587
  )
588
+ get_hook_lineage_collector().add_input_asset(
589
+ context=self, scheme="file", asset_kwargs={"path": filename}
590
+ )
558
591
 
559
592
  if gzip:
560
593
  os.remove(filename)
@@ -576,6 +609,10 @@ class GCSHook(GoogleBaseHook):
576
609
  else:
577
610
  raise ValueError("'filename' and 'data' parameter missing. One is required to upload to gcs.")
578
611
 
612
+ get_hook_lineage_collector().add_output_asset(
613
+ context=self, scheme="gs", asset_kwargs={"bucket": bucket.name, "key": blob.name}
614
+ )
615
+
579
616
  def exists(self, bucket_name: str, object_name: str, retry: Retry = DEFAULT_RETRY) -> bool:
580
617
  """
581
618
  Check for the existence of a file in Google Cloud Storage.
@@ -691,6 +728,9 @@ class GCSHook(GoogleBaseHook):
691
728
  bucket = client.bucket(bucket_name)
692
729
  blob = bucket.blob(blob_name=object_name)
693
730
  blob.delete()
731
+ get_hook_lineage_collector().add_input_asset(
732
+ context=self, scheme="gs", asset_kwargs={"bucket": bucket.name, "key": blob.name}
733
+ )
694
734
 
695
735
  self.log.info("Blob %s deleted.", object_name)
696
736
 
@@ -1198,9 +1238,17 @@ class GCSHook(GoogleBaseHook):
1198
1238
  client = self.get_conn()
1199
1239
  bucket = client.bucket(bucket_name)
1200
1240
  destination_blob = bucket.blob(destination_object)
1201
- destination_blob.compose(
1202
- sources=[bucket.blob(blob_name=source_object) for source_object in source_objects]
1241
+ source_blobs = [bucket.blob(blob_name=source_object) for source_object in source_objects]
1242
+ destination_blob.compose(sources=source_blobs)
1243
+ get_hook_lineage_collector().add_output_asset(
1244
+ context=self, scheme="gs", asset_kwargs={"bucket": bucket.name, "key": destination_blob.name}
1203
1245
  )
1246
+ for single_source_blob in source_blobs:
1247
+ get_hook_lineage_collector().add_input_asset(
1248
+ context=self,
1249
+ scheme="gs",
1250
+ asset_kwargs={"bucket": bucket.name, "key": single_source_blob.name},
1251
+ )
1204
1252
 
1205
1253
  self.log.info("Completed successfully.")
1206
1254
 
@@ -20,12 +20,15 @@
20
20
  from __future__ import annotations
21
21
 
22
22
  import time
23
+ from datetime import timedelta
23
24
  from typing import TYPE_CHECKING, Sequence
24
25
 
25
26
  import vertexai
26
27
  from vertexai.generative_models import GenerativeModel, Part
27
28
  from vertexai.language_models import TextEmbeddingModel, TextGenerationModel
29
+ from vertexai.preview.caching import CachedContent
28
30
  from vertexai.preview.evaluation import EvalResult, EvalTask
31
+ from vertexai.preview.generative_models import GenerativeModel as preview_generative_model
29
32
  from vertexai.preview.tuning import sft
30
33
 
31
34
  from airflow.exceptions import AirflowProviderDeprecationWarning
@@ -95,6 +98,16 @@ class GenerativeModelHook(GoogleBaseHook):
95
98
  )
96
99
  return eval_task
97
100
 
101
+ def get_cached_context_model(
102
+ self,
103
+ cached_content_name: str,
104
+ ) -> preview_generative_model:
105
+ """Return a Generative Model with Cached Context."""
106
+ cached_content = CachedContent(cached_content_name=cached_content_name)
107
+
108
+ cached_context_model = preview_generative_model.from_cached_content(cached_content)
109
+ return cached_context_model
110
+
98
111
  @deprecated(
99
112
  planned_removal_date="January 01, 2025",
100
113
  use_instead="Part objects included in contents parameter of "
@@ -528,3 +541,69 @@ class GenerativeModelHook(GoogleBaseHook):
528
541
  )
529
542
 
530
543
  return eval_result
544
+
545
+ def create_cached_content(
546
+ self,
547
+ model_name: str,
548
+ location: str,
549
+ ttl_hours: float = 1,
550
+ system_instruction: str | None = None,
551
+ contents: list | None = None,
552
+ display_name: str | None = None,
553
+ project_id: str = PROVIDE_PROJECT_ID,
554
+ ) -> str:
555
+ """
556
+ Create CachedContent to reduce the cost of requests that contain repeat content with high input token counts.
557
+
558
+ :param project_id: Required. The ID of the Google Cloud project that the service belongs to.
559
+ :param location: Required. The ID of the Google Cloud location that the service belongs to.
560
+ :param model_name: Required. The name of the publisher model to use for cached content.
561
+ :param system_instruction: Developer set system instruction.
562
+ :param contents: The content to cache.
563
+ :param ttl_hours: The TTL for this resource in hours. The expiration time is computed: now + TTL.
564
+ Defaults to one hour.
565
+ :param display_name: The user-generated meaningful display name of the cached content
566
+ """
567
+ vertexai.init(project=project_id, location=location, credentials=self.get_credentials())
568
+
569
+ response = CachedContent.create(
570
+ model_name=model_name,
571
+ system_instruction=system_instruction,
572
+ contents=contents,
573
+ ttl=timedelta(hours=ttl_hours),
574
+ display_name=display_name,
575
+ )
576
+
577
+ return response.name
578
+
579
+ def generate_from_cached_content(
580
+ self,
581
+ location: str,
582
+ cached_content_name: str,
583
+ contents: list,
584
+ generation_config: dict | None = None,
585
+ safety_settings: dict | None = None,
586
+ project_id: str = PROVIDE_PROJECT_ID,
587
+ ) -> str:
588
+ """
589
+ Generate a response from CachedContent.
590
+
591
+ :param project_id: Required. The ID of the Google Cloud project that the service belongs to.
592
+ :param location: Required. The ID of the Google Cloud location that the service belongs to.
593
+ :param cached_content_name: Required. The name of the cached content resource.
594
+ :param contents: Required. The multi-part content of a message that a user or a program
595
+ gives to the generative model, in order to elicit a specific response.
596
+ :param generation_config: Optional. Generation configuration settings.
597
+ :param safety_settings: Optional. Per request settings for blocking unsafe content.
598
+ """
599
+ vertexai.init(project=project_id, location=location, credentials=self.get_credentials())
600
+
601
+ cached_context_model = self.get_cached_context_model(cached_content_name=cached_content_name)
602
+
603
+ response = cached_context_model.generate_content(
604
+ contents=contents,
605
+ generation_config=generation_config,
606
+ safety_settings=safety_settings,
607
+ )
608
+
609
+ return response.text
@@ -167,13 +167,14 @@ class TranslationLegacyModelPredictLink(BaseGoogleLink):
167
167
  task_instance,
168
168
  model_id: str,
169
169
  project_id: str,
170
+ dataset_id: str,
170
171
  ):
171
172
  task_instance.xcom_push(
172
173
  context,
173
174
  key=TranslationLegacyModelPredictLink.key,
174
175
  value={
175
176
  "location": task_instance.location,
176
- "dataset_id": task_instance.model.dataset_id,
177
+ "dataset_id": dataset_id,
177
178
  "model_id": model_id,
178
179
  "project_id": project_id,
179
180
  },
@@ -22,7 +22,7 @@ from __future__ import annotations
22
22
  import ast
23
23
  import warnings
24
24
  from functools import cached_property
25
- from typing import TYPE_CHECKING, Sequence, Tuple
25
+ from typing import TYPE_CHECKING, Sequence, Tuple, cast
26
26
 
27
27
  from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault
28
28
  from google.cloud.automl_v1beta1 import (
@@ -280,17 +280,22 @@ class AutoMLPredictOperator(GoogleCloudBaseOperator):
280
280
  impersonation_chain=self.impersonation_chain,
281
281
  )
282
282
 
283
+ @cached_property
284
+ def model(self) -> Model | None:
285
+ if self.model_id:
286
+ hook = cast(CloudAutoMLHook, self.hook)
287
+ return hook.get_model(
288
+ model_id=self.model_id,
289
+ location=self.location,
290
+ project_id=self.project_id,
291
+ retry=self.retry,
292
+ timeout=self.timeout,
293
+ metadata=self.metadata,
294
+ )
295
+ return None
296
+
283
297
  def _check_model_type(self):
284
- hook = self.hook
285
- model = hook.get_model(
286
- model_id=self.model_id,
287
- location=self.location,
288
- project_id=self.project_id,
289
- retry=self.retry,
290
- timeout=self.timeout,
291
- metadata=self.metadata,
292
- )
293
- if not hasattr(model, "translation_model_metadata"):
298
+ if not hasattr(self.model, "translation_model_metadata"):
294
299
  raise AirflowException(
295
300
  "AutoMLPredictOperator for text, image, and video prediction has been deprecated. "
296
301
  "Please use endpoint_id param instead of model_id param."
@@ -329,11 +334,13 @@ class AutoMLPredictOperator(GoogleCloudBaseOperator):
329
334
  )
330
335
 
331
336
  project_id = self.project_id or hook.project_id
332
- if project_id and self.model_id:
337
+ dataset_id: str | None = self.model.dataset_id if self.model else None
338
+ if project_id and self.model_id and dataset_id:
333
339
  TranslationLegacyModelPredictLink.persist(
334
340
  context=context,
335
341
  task_instance=self,
336
342
  model_id=self.model_id,
343
+ dataset_id=dataset_id,
337
344
  project_id=project_id,
338
345
  )
339
346
  return PredictResponse.to_dict(result)
@@ -431,12 +438,16 @@ class AutoMLBatchPredictOperator(GoogleCloudBaseOperator):
431
438
  self.input_config = input_config
432
439
  self.output_config = output_config
433
440
 
434
- def execute(self, context: Context):
435
- hook = CloudAutoMLHook(
441
+ @cached_property
442
+ def hook(self) -> CloudAutoMLHook:
443
+ return CloudAutoMLHook(
436
444
  gcp_conn_id=self.gcp_conn_id,
437
445
  impersonation_chain=self.impersonation_chain,
438
446
  )
439
- self.model: Model = hook.get_model(
447
+
448
+ @cached_property
449
+ def model(self) -> Model:
450
+ return self.hook.get_model(
440
451
  model_id=self.model_id,
441
452
  location=self.location,
442
453
  project_id=self.project_id,
@@ -445,6 +456,7 @@ class AutoMLBatchPredictOperator(GoogleCloudBaseOperator):
445
456
  metadata=self.metadata,
446
457
  )
447
458
 
459
+ def execute(self, context: Context):
448
460
  if not hasattr(self.model, "translation_model_metadata"):
449
461
  _raise_exception_for_deprecated_operator(
450
462
  self.__class__.__name__,
@@ -456,7 +468,7 @@ class AutoMLBatchPredictOperator(GoogleCloudBaseOperator):
456
468
  ],
457
469
  )
458
470
  self.log.info("Fetch batch prediction.")
459
- operation = hook.batch_predict(
471
+ operation = self.hook.batch_predict(
460
472
  model_id=self.model_id,
461
473
  input_config=self.input_config,
462
474
  output_config=self.output_config,
@@ -467,16 +479,17 @@ class AutoMLBatchPredictOperator(GoogleCloudBaseOperator):
467
479
  timeout=self.timeout,
468
480
  metadata=self.metadata,
469
481
  )
470
- operation_result = hook.wait_for_operation(timeout=self.timeout, operation=operation)
482
+ operation_result = self.hook.wait_for_operation(timeout=self.timeout, operation=operation)
471
483
  result = BatchPredictResult.to_dict(operation_result)
472
484
  self.log.info("Batch prediction is ready.")
473
- project_id = self.project_id or hook.project_id
485
+ project_id = self.project_id or self.hook.project_id
474
486
  if project_id:
475
487
  TranslationLegacyModelPredictLink.persist(
476
488
  context=context,
477
489
  task_instance=self,
478
490
  model_id=self.model_id,
479
491
  project_id=project_id,
492
+ dataset_id=self.model.dataset_id,
480
493
  )
481
494
  return result
482
495
 
@@ -35,7 +35,7 @@ from airflow.configuration import conf
35
35
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning, AirflowSkipException
36
36
  from airflow.models import BaseOperator, BaseOperatorLink
37
37
  from airflow.models.xcom import XCom
38
- from airflow.providers.common.sql.operators.sql import (
38
+ from airflow.providers.common.sql.operators.sql import ( # type: ignore[attr-defined] # for _parse_boolean
39
39
  SQLCheckOperator,
40
40
  SQLColumnCheckOperator,
41
41
  SQLIntervalCheckOperator,
@@ -243,18 +243,16 @@ class CloudRunListJobsOperator(GoogleCloudBaseOperator):
243
243
 
244
244
  class CloudRunExecuteJobOperator(GoogleCloudBaseOperator):
245
245
  """
246
- Executes a job and wait for the operation to be completed. Pushes the executed job to xcom.
246
+ Executes a job and waits for the operation to be completed. Pushes the executed job to xcom.
247
247
 
248
248
  :param project_id: Required. The ID of the Google Cloud project that the service belongs to.
249
249
  :param region: Required. The ID of the Google Cloud region that the service belongs to.
250
250
  :param job_name: Required. The name of the job to update.
251
- :param job: Required. The job descriptor containing the new configuration of the job to update.
252
- The name field will be replaced by job_name
253
251
  :param overrides: Optional map of override values.
254
252
  :param gcp_conn_id: The connection ID used to connect to Google Cloud.
255
- :param polling_period_seconds: Optional: Control the rate of the poll for the result of deferrable run.
253
+ :param polling_period_seconds: Optional. Control the rate of the poll for the result of deferrable run.
256
254
  By default, the trigger will poll every 10 seconds.
257
- :param timeout: The timeout for this request.
255
+ :param timeout_seconds: Optional. The timeout for this request, in seconds.
258
256
  :param impersonation_chain: Optional service account to impersonate using short-term
259
257
  credentials, or chained list of accounts required to get the access_token
260
258
  of the last account in the list, which will be impersonated in the request.
@@ -263,7 +261,7 @@ class CloudRunExecuteJobOperator(GoogleCloudBaseOperator):
263
261
  If set as a sequence, the identities from the list must grant
264
262
  Service Account Token Creator IAM role to the directly preceding identity, with first
265
263
  account from the list granting this role to the originating account (templated).
266
- :param deferrable: Run operator in the deferrable mode
264
+ :param deferrable: Run the operator in deferrable mode.
267
265
  """
268
266
 
269
267
  template_fields = ("project_id", "region", "gcp_conn_id", "impersonation_chain", "job_name", "overrides")
@@ -106,6 +106,8 @@ class CreateAutoMLForecastingTrainingJobOperator(AutoMLTrainingJobBaseOperator):
106
106
  "dataset_id",
107
107
  "region",
108
108
  "impersonation_chain",
109
+ "display_name",
110
+ "model_display_name",
109
111
  )
110
112
  operator_extra_links = (VertexAIModelLink(), VertexAITrainingLink())
111
113
 
@@ -121,6 +123,8 @@ class CreateAutoMLForecastingTrainingJobOperator(AutoMLTrainingJobBaseOperator):
121
123
  forecast_horizon: int,
122
124
  data_granularity_unit: str,
123
125
  data_granularity_count: int,
126
+ display_name: str,
127
+ model_display_name: str | None = None,
124
128
  optimization_objective: str | None = None,
125
129
  column_specs: dict[str, str] | None = None,
126
130
  column_transformations: list[dict[str, dict[str, str]]] | None = None,
@@ -143,7 +147,12 @@ class CreateAutoMLForecastingTrainingJobOperator(AutoMLTrainingJobBaseOperator):
143
147
  **kwargs,
144
148
  ) -> None:
145
149
  super().__init__(
146
- region=region, impersonation_chain=impersonation_chain, parent_model=parent_model, **kwargs
150
+ display_name=display_name,
151
+ model_display_name=model_display_name,
152
+ region=region,
153
+ impersonation_chain=impersonation_chain,
154
+ parent_model=parent_model,
155
+ **kwargs,
147
156
  )
148
157
  self.dataset_id = dataset_id
149
158
  self.target_column = target_column
@@ -163,7 +163,7 @@ class CreateBatchPredictionJobOperator(GoogleCloudBaseOperator):
163
163
  :param poll_interval: Interval size which defines how often job status is checked in deferrable mode.
164
164
  """
165
165
 
166
- template_fields = ("region", "project_id", "model_name", "impersonation_chain")
166
+ template_fields = ("region", "project_id", "model_name", "impersonation_chain", "job_display_name")
167
167
  operator_extra_links = (VertexAIBatchPredictionJobLink(),)
168
168
 
169
169
  def __init__(