apache-airflow-providers-google 10.16.0rc1__tar.gz → 10.17.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.
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/PKG-INFO +18 -13
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/README.rst +8 -6
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/__init__.py +1 -1
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/ads/hooks/ads.py +5 -4
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/ads/operators/ads.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/example_dags/example_cloud_sql_query.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/example_dags/example_cloud_task.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/example_dags/example_facebook_ads_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/example_dags/example_looker.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/example_dags/example_presto_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/example_dags/example_salesforce_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/fs/gcs.py +1 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/automl.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/bigquery.py +87 -24
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/bigquery_dts.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/bigtable.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/cloud_build.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/cloud_memorystore.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/cloud_sql.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +9 -4
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/compute.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/compute_ssh.py +2 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/dataflow.py +6 -5
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/datafusion.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/datapipeline.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/dataplex.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/dataprep.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/dataproc.py +3 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/dataproc_metastore.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/datastore.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/dlp.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/functions.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/gcs.py +12 -5
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/kms.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/kubernetes_engine.py +178 -300
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/life_sciences.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/looker.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/mlengine.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/natural_language.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/os_login.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/pubsub.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/secret_manager.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/spanner.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/speech_to_text.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/stackdriver.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/text_to_speech.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/translate.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py +255 -3
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/dataset.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py +1 -0
- apache_airflow_providers_google-10.17.0/airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py +197 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py +9 -9
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/pipeline_job.py +231 -12
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/video_intelligence.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vision.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/automl.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/bigquery.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/bigquery_dts.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/cloud_memorystore.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/cloud_sql.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/cloud_tasks.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/compute.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/datacatalog.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/dataflow.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/dataform.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/datafusion.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/dataplex.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/dataproc.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/kubernetes_engine.py +28 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/mlengine.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/pubsub.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/spanner.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/stackdriver.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/workflows.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/log/stackdriver_task_handler.py +18 -4
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/automl.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/bigquery.py +21 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/bigquery_dts.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/bigtable.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/cloud_base.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/cloud_build.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/cloud_memorystore.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/cloud_sql.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +11 -5
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/compute.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/dataflow.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/datafusion.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/datapipeline.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/dataprep.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/dataproc.py +3 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/dataproc_metastore.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/datastore.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/functions.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/kubernetes_engine.py +600 -4
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/life_sciences.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/looker.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/mlengine.py +283 -259
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/natural_language.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/pubsub.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/spanner.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/speech_to_text.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/text_to_speech.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/translate.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/translate_speech.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py +14 -7
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py +67 -13
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +26 -8
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/dataset.py +1 -0
- apache_airflow_providers_google-10.17.0/airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +306 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/hyperparameter_tuning_job.py +29 -48
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py +52 -17
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/video_intelligence.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vision.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/secrets/secret_manager.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/bigquery.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/bigquery_dts.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/bigtable.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/dataflow.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/dataform.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/datafusion.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/dataplex.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/dataprep.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/dataproc.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/looker.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/pubsub.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/tasks.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/bigquery_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/bigquery_to_mssql.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/bigquery_to_mysql.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/bigquery_to_postgres.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/bigquery_to_sql.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +3 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/gcs_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/gcs_to_sftp.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/local_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/mssql_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/mysql_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/postgres_to_gcs.py +19 -1
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/s3_to_gcs.py +3 -5
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/sftp_to_gcs.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/sql_to_gcs.py +4 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/bigquery.py +4 -3
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/cloud_batch.py +1 -1
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/cloud_run.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/cloud_sql.py +2 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +14 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/dataplex.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/dataproc.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/kubernetes_engine.py +72 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/mlengine.py +2 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/pubsub.py +3 -3
- apache_airflow_providers_google-10.17.0/airflow/providers/google/cloud/triggers/vertex_ai.py +191 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/field_sanitizer.py +2 -1
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/field_validator.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/helpers.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/mlengine_operator_utils.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/mlengine_prediction_summary.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/openlineage.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/auth_backend/google_openid.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/hooks/base_google.py +2 -1
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/hooks/discovery_api.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/links/storage.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/utils/id_token_credentials.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/firebase/hooks/firestore.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/get_provider_info.py +9 -3
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/go_module_utils.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/leveldb/hooks/leveldb.py +8 -7
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/example_dags/example_display_video.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/hooks/analytics_admin.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/hooks/campaign_manager.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/hooks/display_video.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/hooks/search_ads.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/operators/analytics.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/operators/analytics_admin.py +4 -2
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/operators/campaign_manager.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/operators/display_video.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/operators/search_ads.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/sensors/campaign_manager.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/sensors/display_video.py +2 -1
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/sensors/search_ads.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/hooks/calendar.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/hooks/drive.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/hooks/sheets.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/sensors/drive.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/transfers/gcs_to_gdrive.py +7 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/transfers/gcs_to_sheets.py +4 -1
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/transfers/local_to_drive.py +1 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/pyproject.toml +10 -7
- apache_airflow_providers_google-10.16.0rc1/airflow/providers/google/cloud/triggers/vertex_ai.py +0 -99
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/LICENSE +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/ads/.gitignore +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/ads/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/ads/hooks/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/ads/operators/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/ads/transfers/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/ads/transfers/ads_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/_internal_client/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/_internal_client/secret_manager_client.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/example_dags/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/fs/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/cloud_batch.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/cloud_composer.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/cloud_run.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/datacatalog.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/dataform.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/gdm.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/tasks.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/vertex_ai/model_service.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/hooks/workflows.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/base.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/bigtable.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/cloud_build.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/cloud_functions.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/cloud_storage_transfer.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/data_loss_prevention.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/dataprep.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/datastore.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/life_sciences.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/links/vertex_ai.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/log/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/log/gcs_task_handler.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/cloud_batch.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/cloud_composer.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/cloud_run.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/datacatalog.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/dataform.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/dataplex.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/dlp.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/stackdriver.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/tasks.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/endpoint_service.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/vertex_ai/model_service.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/operators/workflows.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/secrets/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/cloud_composer.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/dataproc_metastore.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/sensors/workflows.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/adls_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/azure_blob_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/azure_fileshare_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/calendar_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/cassandra_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/gcs_to_local.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/gdrive_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/gdrive_to_local.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/oracle_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/presto_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/salesforce_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/sheets_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/transfers/trino_to_gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/bigquery_dts.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/cloud_build.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/cloud_composer.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/dataflow.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/datafusion.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/triggers/gcs.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/bigquery.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/bigquery_get_data.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/credentials_provider.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/dataform.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/datafusion.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/cloud/utils/dataproc.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/auth_backend/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/consts.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/hooks/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/links/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/common/utils/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/datasets/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/datasets/bigquery.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/firebase/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/firebase/hooks/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/firebase/operators/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/firebase/operators/firestore.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/leveldb/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/leveldb/hooks/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/leveldb/operators/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/leveldb/operators/leveldb.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/example_dags/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/hooks/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/hooks/analytics.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/links/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/links/analytics_admin.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/operators/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/marketing_platform/sensors/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/hooks/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/operators/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/operators/sheets.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/sensors/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/transfers/__init__.py +0 -0
- {apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/airflow/providers/google/suite/transfers/sql_to_sheets.py +0 -0
{apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: apache-airflow-providers-google
|
3
|
-
Version: 10.
|
3
|
+
Version: 10.17.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>
|
@@ -19,25 +19,27 @@ Classifier: Programming Language :: Python :: 3.8
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.9
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
22
23
|
Classifier: Topic :: System :: Monitoring
|
23
24
|
Requires-Dist: PyOpenSSL
|
24
|
-
Requires-Dist: apache-airflow-providers-common-sql>=1.7.2
|
25
|
-
Requires-Dist: apache-airflow>=2.6.0
|
25
|
+
Requires-Dist: apache-airflow-providers-common-sql>=1.7.2
|
26
|
+
Requires-Dist: apache-airflow>=2.6.0
|
26
27
|
Requires-Dist: asgiref>=3.5.2
|
27
28
|
Requires-Dist: gcloud-aio-auth>=4.0.0,<5.0.0
|
28
29
|
Requires-Dist: gcloud-aio-bigquery>=6.1.2
|
29
30
|
Requires-Dist: gcloud-aio-storage>=9.0.0
|
30
31
|
Requires-Dist: gcsfs>=2023.10.0
|
31
|
-
Requires-Dist: google-ads>=
|
32
|
+
Requires-Dist: google-ads>=23.1.0
|
32
33
|
Requires-Dist: google-analytics-admin
|
33
34
|
Requires-Dist: google-api-core>=2.11.0,!=2.16.0
|
34
35
|
Requires-Dist: google-api-python-client>=1.6.0
|
35
36
|
Requires-Dist: google-auth-httplib2>=0.0.1
|
36
37
|
Requires-Dist: google-auth>=1.0.0
|
37
|
-
Requires-Dist: google-cloud-aiplatform>=1.
|
38
|
+
Requires-Dist: google-cloud-aiplatform>=1.42.1
|
38
39
|
Requires-Dist: google-cloud-automl>=2.12.0
|
39
40
|
Requires-Dist: google-cloud-batch>=0.13.0
|
40
41
|
Requires-Dist: google-cloud-bigquery-datatransfer>=3.13.0
|
42
|
+
Requires-Dist: google-cloud-bigquery>=3.0.1
|
41
43
|
Requires-Dist: google-cloud-bigtable>=2.17.0
|
42
44
|
Requires-Dist: google-cloud-build>=3.22.0
|
43
45
|
Requires-Dist: google-cloud-compute>=1.10.0
|
@@ -77,6 +79,7 @@ Requires-Dist: looker-sdk>=22.2.0
|
|
77
79
|
Requires-Dist: pandas-gbq
|
78
80
|
Requires-Dist: pandas>=1.2.5,<2.2
|
79
81
|
Requires-Dist: proto-plus>=1.19.6
|
82
|
+
Requires-Dist: python-slugify>=5.0
|
80
83
|
Requires-Dist: sqlalchemy-bigquery>=1.2.1
|
81
84
|
Requires-Dist: sqlalchemy-spanner>=1.6.2
|
82
85
|
Requires-Dist: apache-airflow-providers-amazon>=2.6.0 ; extra == "amazon"
|
@@ -99,8 +102,8 @@ Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
|
|
99
102
|
Requires-Dist: apache-airflow-providers-ssh ; extra == "ssh"
|
100
103
|
Requires-Dist: apache-airflow-providers-trino ; extra == "trino"
|
101
104
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
102
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
103
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
105
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-google/10.17.0/changelog.html
|
106
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-google/10.17.0
|
104
107
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
105
108
|
Project-URL: Source Code, https://github.com/apache/airflow
|
106
109
|
Project-URL: Twitter, https://twitter.com/ApacheAirflow
|
@@ -168,7 +171,7 @@ Provides-Extra: trino
|
|
168
171
|
|
169
172
|
Package ``apache-airflow-providers-google``
|
170
173
|
|
171
|
-
Release: ``10.
|
174
|
+
Release: ``10.17.0``
|
172
175
|
|
173
176
|
|
174
177
|
Google services including:
|
@@ -188,7 +191,7 @@ This is a provider package for ``google`` provider. All classes for this provide
|
|
188
191
|
are in ``airflow.providers.google`` python package.
|
189
192
|
|
190
193
|
You can find package information and changelog for the provider
|
191
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
194
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.17.0/>`_.
|
192
195
|
|
193
196
|
Installation
|
194
197
|
------------
|
@@ -197,7 +200,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
197
200
|
for the minimum Airflow version supported) via
|
198
201
|
``pip install apache-airflow-providers-google``
|
199
202
|
|
200
|
-
The package supports the following python versions: 3.8,3.9,3.10,3.11
|
203
|
+
The package supports the following python versions: 3.8,3.9,3.10,3.11,3.12
|
201
204
|
|
202
205
|
Requirements
|
203
206
|
------------
|
@@ -212,14 +215,15 @@ PIP package Version required
|
|
212
215
|
``gcloud-aio-bigquery`` ``>=6.1.2``
|
213
216
|
``gcloud-aio-storage`` ``>=9.0.0``
|
214
217
|
``gcsfs`` ``>=2023.10.0``
|
215
|
-
``google-ads`` ``>=
|
218
|
+
``google-ads`` ``>=23.1.0``
|
216
219
|
``google-analytics-admin``
|
217
220
|
``google-api-core`` ``>=2.11.0,!=2.16.0``
|
218
221
|
``google-api-python-client`` ``>=1.6.0``
|
219
222
|
``google-auth`` ``>=1.0.0``
|
220
223
|
``google-auth-httplib2`` ``>=0.0.1``
|
221
|
-
``google-cloud-aiplatform`` ``>=1.
|
224
|
+
``google-cloud-aiplatform`` ``>=1.42.1``
|
222
225
|
``google-cloud-automl`` ``>=2.12.0``
|
226
|
+
``google-cloud-bigquery`` ``>=3.0.1``
|
223
227
|
``google-cloud-bigquery-datatransfer`` ``>=3.13.0``
|
224
228
|
``google-cloud-bigtable`` ``>=2.17.0``
|
225
229
|
``google-cloud-build`` ``>=3.22.0``
|
@@ -264,6 +268,7 @@ PIP package Version required
|
|
264
268
|
``PyOpenSSL``
|
265
269
|
``sqlalchemy-bigquery`` ``>=1.2.1``
|
266
270
|
``sqlalchemy-spanner`` ``>=1.6.2``
|
271
|
+
``python-slugify`` ``>=5.0``
|
267
272
|
======================================= =====================
|
268
273
|
|
269
274
|
Cross provider package dependencies
|
@@ -302,4 +307,4 @@ Dependent package
|
|
302
307
|
======================================================================================================================== ====================
|
303
308
|
|
304
309
|
The changelog for the provider package can be found in the
|
305
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
310
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.17.0/changelog.html>`_.
|
{apache_airflow_providers_google-10.16.0rc1 → apache_airflow_providers_google-10.17.0}/README.rst
RENAMED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
Package ``apache-airflow-providers-google``
|
44
44
|
|
45
|
-
Release: ``10.
|
45
|
+
Release: ``10.17.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.
|
65
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-google/10.17.0/>`_.
|
66
66
|
|
67
67
|
Installation
|
68
68
|
------------
|
@@ -71,7 +71,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
71
71
|
for the minimum Airflow version supported) via
|
72
72
|
``pip install apache-airflow-providers-google``
|
73
73
|
|
74
|
-
The package supports the following python versions: 3.8,3.9,3.10,3.11
|
74
|
+
The package supports the following python versions: 3.8,3.9,3.10,3.11,3.12
|
75
75
|
|
76
76
|
Requirements
|
77
77
|
------------
|
@@ -86,14 +86,15 @@ PIP package Version required
|
|
86
86
|
``gcloud-aio-bigquery`` ``>=6.1.2``
|
87
87
|
``gcloud-aio-storage`` ``>=9.0.0``
|
88
88
|
``gcsfs`` ``>=2023.10.0``
|
89
|
-
``google-ads`` ``>=
|
89
|
+
``google-ads`` ``>=23.1.0``
|
90
90
|
``google-analytics-admin``
|
91
91
|
``google-api-core`` ``>=2.11.0,!=2.16.0``
|
92
92
|
``google-api-python-client`` ``>=1.6.0``
|
93
93
|
``google-auth`` ``>=1.0.0``
|
94
94
|
``google-auth-httplib2`` ``>=0.0.1``
|
95
|
-
``google-cloud-aiplatform`` ``>=1.
|
95
|
+
``google-cloud-aiplatform`` ``>=1.42.1``
|
96
96
|
``google-cloud-automl`` ``>=2.12.0``
|
97
|
+
``google-cloud-bigquery`` ``>=3.0.1``
|
97
98
|
``google-cloud-bigquery-datatransfer`` ``>=3.13.0``
|
98
99
|
``google-cloud-bigtable`` ``>=2.17.0``
|
99
100
|
``google-cloud-build`` ``>=3.22.0``
|
@@ -138,6 +139,7 @@ PIP package Version required
|
|
138
139
|
``PyOpenSSL``
|
139
140
|
``sqlalchemy-bigquery`` ``>=1.2.1``
|
140
141
|
``sqlalchemy-spanner`` ``>=1.6.2``
|
142
|
+
``python-slugify`` ``>=5.0``
|
141
143
|
======================================= =====================
|
142
144
|
|
143
145
|
Cross provider package dependencies
|
@@ -176,4 +178,4 @@ Dependent package
|
|
176
178
|
======================================================================================================================== ====================
|
177
179
|
|
178
180
|
The changelog for the provider package can be found in the
|
179
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.
|
181
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-google/10.17.0/changelog.html>`_.
|
@@ -16,6 +16,7 @@
|
|
16
16
|
# specific language governing permissions and limitations
|
17
17
|
# under the License.
|
18
18
|
"""This module contains Google Ad hook."""
|
19
|
+
|
19
20
|
from __future__ import annotations
|
20
21
|
|
21
22
|
from functools import cached_property
|
@@ -31,9 +32,9 @@ from airflow.hooks.base import BaseHook
|
|
31
32
|
from airflow.providers.google.common.hooks.base_google import get_field
|
32
33
|
|
33
34
|
if TYPE_CHECKING:
|
34
|
-
from google.ads.googleads.
|
35
|
-
from google.ads.googleads.
|
36
|
-
from google.ads.googleads.
|
35
|
+
from google.ads.googleads.v16.services.services.customer_service import CustomerServiceClient
|
36
|
+
from google.ads.googleads.v16.services.services.google_ads_service import GoogleAdsServiceClient
|
37
|
+
from google.ads.googleads.v16.services.types.google_ads_service import GoogleAdsRow
|
37
38
|
from google.api_core.page_iterator import GRPCIterator
|
38
39
|
|
39
40
|
|
@@ -99,7 +100,7 @@ class GoogleAdsHook(BaseHook):
|
|
99
100
|
:param api_version: The Google Ads API version to use.
|
100
101
|
"""
|
101
102
|
|
102
|
-
default_api_version = "
|
103
|
+
default_api_version = "v16"
|
103
104
|
|
104
105
|
def __init__(
|
105
106
|
self,
|
@@ -47,12 +47,11 @@ def get_fs(conn_id: str | None, storage_options: dict[str, str] | None = None) -
|
|
47
47
|
return GCSFileSystem()
|
48
48
|
|
49
49
|
g = GoogleBaseHook(gcp_conn_id=conn_id)
|
50
|
-
creds = g.get_credentials()
|
51
50
|
|
52
51
|
options = {
|
53
52
|
"project": g.project_id,
|
54
53
|
"access": g.extras.get(GCS_ACCESS, "full_control"),
|
55
|
-
"token":
|
54
|
+
"token": g._get_access_token(),
|
56
55
|
"consistency": g.extras.get(GCS_CONSISTENCY, "none"),
|
57
56
|
"cache_timeout": g.extras.get(GCS_CACHE_TIMEOUT),
|
58
57
|
"requester_pays": g.extras.get(GCS_REQUESTER_PAYS, False),
|
@@ -28,6 +28,7 @@ import time
|
|
28
28
|
import uuid
|
29
29
|
from copy import deepcopy
|
30
30
|
from datetime import datetime, timedelta
|
31
|
+
from functools import cached_property
|
31
32
|
from typing import TYPE_CHECKING, Any, Iterable, Mapping, NoReturn, Sequence, Union, cast
|
32
33
|
|
33
34
|
from aiohttp import ClientSession as ClientSession
|
@@ -56,6 +57,7 @@ from sqlalchemy import create_engine
|
|
56
57
|
from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
|
57
58
|
from airflow.providers.common.sql.hooks.sql import DbApiHook
|
58
59
|
from airflow.providers.google.cloud.utils.bigquery import bq_cast
|
60
|
+
from airflow.providers.google.cloud.utils.credentials_provider import _get_scopes
|
59
61
|
from airflow.providers.google.common.consts import CLIENT_INFO
|
60
62
|
from airflow.providers.google.common.hooks.base_google import GoogleBaseAsyncHook, GoogleBaseHook, get_field
|
61
63
|
|
@@ -92,6 +94,8 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
92
94
|
Google BigQuery jobs.
|
93
95
|
:param impersonation_chain: This is the optional service account to
|
94
96
|
impersonate using short term credentials.
|
97
|
+
:param impersonation_scopes: Optional list of scopes for impersonated account.
|
98
|
+
Will override scopes from connection.
|
95
99
|
:param labels: The BigQuery resource label.
|
96
100
|
"""
|
97
101
|
|
@@ -100,14 +104,50 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
100
104
|
conn_type = "gcpbigquery"
|
101
105
|
hook_name = "Google Bigquery"
|
102
106
|
|
107
|
+
@classmethod
|
108
|
+
def get_connection_form_widgets(cls) -> dict[str, Any]:
|
109
|
+
"""Return connection widgets to add to connection form."""
|
110
|
+
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
|
111
|
+
from flask_babel import lazy_gettext
|
112
|
+
from wtforms import validators
|
113
|
+
from wtforms.fields.simple import BooleanField, StringField
|
114
|
+
|
115
|
+
from airflow.www.validators import ValidJson
|
116
|
+
|
117
|
+
connection_form_widgets = super().get_connection_form_widgets()
|
118
|
+
connection_form_widgets["use_legacy_sql"] = BooleanField(lazy_gettext("Use Legacy SQL"), default=True)
|
119
|
+
connection_form_widgets["location"] = StringField(
|
120
|
+
lazy_gettext("Location"), widget=BS3TextFieldWidget()
|
121
|
+
)
|
122
|
+
connection_form_widgets["priority"] = StringField(
|
123
|
+
lazy_gettext("Priority"),
|
124
|
+
default="INTERACTIVE",
|
125
|
+
widget=BS3TextFieldWidget(),
|
126
|
+
validators=[validators.AnyOf(["INTERACTIVE", "BATCH"])],
|
127
|
+
)
|
128
|
+
connection_form_widgets["api_resource_configs"] = StringField(
|
129
|
+
lazy_gettext("API Resource Configs"), widget=BS3TextFieldWidget(), validators=[ValidJson()]
|
130
|
+
)
|
131
|
+
connection_form_widgets["labels"] = StringField(
|
132
|
+
lazy_gettext("Labels"), widget=BS3TextFieldWidget(), validators=[ValidJson()]
|
133
|
+
)
|
134
|
+
connection_form_widgets["labels"] = StringField(
|
135
|
+
lazy_gettext("Labels"), widget=BS3TextFieldWidget(), validators=[ValidJson()]
|
136
|
+
)
|
137
|
+
return connection_form_widgets
|
138
|
+
|
139
|
+
@classmethod
|
140
|
+
def get_ui_field_behaviour(cls) -> dict[str, Any]:
|
141
|
+
"""Return custom field behaviour."""
|
142
|
+
return super().get_ui_field_behaviour()
|
143
|
+
|
103
144
|
def __init__(
|
104
145
|
self,
|
105
|
-
gcp_conn_id: str = GoogleBaseHook.default_conn_name,
|
106
146
|
use_legacy_sql: bool = True,
|
107
147
|
location: str | None = None,
|
108
148
|
priority: str = "INTERACTIVE",
|
109
149
|
api_resource_configs: dict | None = None,
|
110
|
-
|
150
|
+
impersonation_scopes: str | Sequence[str] | None = None,
|
111
151
|
labels: dict | None = None,
|
112
152
|
**kwargs,
|
113
153
|
) -> None:
|
@@ -116,17 +156,25 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
116
156
|
"The `delegate_to` parameter has been deprecated before and finally removed in this version"
|
117
157
|
" of Google Provider. You MUST convert it to `impersonate_chain`"
|
118
158
|
)
|
119
|
-
super().__init__(
|
120
|
-
|
121
|
-
|
122
|
-
)
|
123
|
-
self.use_legacy_sql = use_legacy_sql
|
124
|
-
self.location = location
|
125
|
-
self.priority = priority
|
159
|
+
super().__init__(**kwargs)
|
160
|
+
self.use_legacy_sql: bool = self._get_field("use_legacy_sql", use_legacy_sql)
|
161
|
+
self.location: str | None = self._get_field("location", location)
|
162
|
+
self.priority: str = self._get_field("priority", priority)
|
126
163
|
self.running_job_id: str | None = None
|
127
|
-
self.api_resource_configs: dict = api_resource_configs or {}
|
128
|
-
self.labels = labels
|
129
|
-
self.
|
164
|
+
self.api_resource_configs: dict = self._get_field("api_resource_configs", api_resource_configs or {})
|
165
|
+
self.labels = self._get_field("labels", labels or {})
|
166
|
+
self.impersonation_scopes: str | Sequence[str] | None = impersonation_scopes
|
167
|
+
|
168
|
+
@cached_property
|
169
|
+
@deprecated(
|
170
|
+
reason=(
|
171
|
+
"`BigQueryHook.credentials_path` property is deprecated and will be removed in the future. "
|
172
|
+
"This property used for obtaining credentials path but no longer in actual use. "
|
173
|
+
),
|
174
|
+
category=AirflowProviderDeprecationWarning,
|
175
|
+
)
|
176
|
+
def credentials_path(self) -> str:
|
177
|
+
return "bigquery_hook_credentials.json"
|
130
178
|
|
131
179
|
def get_conn(self) -> BigQueryConnection:
|
132
180
|
"""Get a BigQuery PEP 249 connection object."""
|
@@ -167,18 +215,17 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
167
215
|
"""Override from ``DbApiHook`` for ``get_sqlalchemy_engine()``."""
|
168
216
|
return f"bigquery://{self.project_id}"
|
169
217
|
|
170
|
-
def get_sqlalchemy_engine(self, engine_kwargs=None):
|
218
|
+
def get_sqlalchemy_engine(self, engine_kwargs: dict | None = None):
|
171
219
|
"""Create an SQLAlchemy engine object.
|
172
220
|
|
173
221
|
:param engine_kwargs: Kwargs used in :func:`~sqlalchemy.create_engine`.
|
174
222
|
"""
|
175
223
|
if engine_kwargs is None:
|
176
224
|
engine_kwargs = {}
|
177
|
-
|
178
|
-
credentials_path = get_field(extras, "key_path")
|
225
|
+
credentials_path = get_field(self.extras, "key_path")
|
179
226
|
if credentials_path:
|
180
227
|
return create_engine(self.get_uri(), credentials_path=credentials_path, **engine_kwargs)
|
181
|
-
keyfile_dict = get_field(extras, "keyfile_dict")
|
228
|
+
keyfile_dict = get_field(self.extras, "keyfile_dict")
|
182
229
|
if keyfile_dict:
|
183
230
|
keyfile_content = keyfile_dict if isinstance(keyfile_dict, dict) else json.loads(keyfile_dict)
|
184
231
|
return create_engine(self.get_uri(), credentials_info=keyfile_content, **engine_kwargs)
|
@@ -2290,7 +2337,7 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
2290
2337
|
return f"Format exception for {var_name}: "
|
2291
2338
|
|
2292
2339
|
if table_input.count(".") + table_input.count(":") > 3:
|
2293
|
-
raise
|
2340
|
+
raise ValueError(f"{var_print(var_name)}Use either : or . to specify project got {table_input}")
|
2294
2341
|
cmpt = table_input.rsplit(":", 1)
|
2295
2342
|
project_id = None
|
2296
2343
|
rest = table_input
|
@@ -2302,7 +2349,7 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
2302
2349
|
project_id = cmpt[0]
|
2303
2350
|
rest = cmpt[1]
|
2304
2351
|
else:
|
2305
|
-
raise
|
2352
|
+
raise ValueError(
|
2306
2353
|
f"{var_print(var_name)}Expect format of (<project:)<dataset>.<table>, got {table_input}"
|
2307
2354
|
)
|
2308
2355
|
|
@@ -2318,7 +2365,7 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
2318
2365
|
dataset_id = cmpt[0]
|
2319
2366
|
table_id = cmpt[1]
|
2320
2367
|
else:
|
2321
|
-
raise
|
2368
|
+
raise ValueError(
|
2322
2369
|
f"{var_print(var_name)} Expect format of (<project.|<project:)<dataset>.<table>, "
|
2323
2370
|
f"got {table_input}"
|
2324
2371
|
)
|
@@ -2335,6 +2382,20 @@ class BigQueryHook(GoogleBaseHook, DbApiHook):
|
|
2335
2382
|
|
2336
2383
|
return project_id, dataset_id, table_id
|
2337
2384
|
|
2385
|
+
@property
|
2386
|
+
def scopes(self) -> Sequence[str]:
|
2387
|
+
"""
|
2388
|
+
Return OAuth 2.0 scopes.
|
2389
|
+
|
2390
|
+
:return: Returns the scope defined in impersonation_scopes, the connection configuration, or the default scope
|
2391
|
+
"""
|
2392
|
+
scope_value: str | None
|
2393
|
+
if self.impersonation_chain and self.impersonation_scopes:
|
2394
|
+
scope_value = ",".join(self.impersonation_scopes)
|
2395
|
+
else:
|
2396
|
+
scope_value = self._get_field("scope", None)
|
2397
|
+
return _get_scopes(scope_value)
|
2398
|
+
|
2338
2399
|
|
2339
2400
|
class BigQueryConnection:
|
2340
2401
|
"""BigQuery connection.
|
@@ -3088,7 +3149,7 @@ def split_tablename(
|
|
3088
3149
|
return f"Format exception for {var_name}: "
|
3089
3150
|
|
3090
3151
|
if table_input.count(".") + table_input.count(":") > 3:
|
3091
|
-
raise
|
3152
|
+
raise ValueError(f"{var_print(var_name)}Use either : or . to specify project got {table_input}")
|
3092
3153
|
cmpt = table_input.rsplit(":", 1)
|
3093
3154
|
project_id = None
|
3094
3155
|
rest = table_input
|
@@ -3100,7 +3161,7 @@ def split_tablename(
|
|
3100
3161
|
project_id = cmpt[0]
|
3101
3162
|
rest = cmpt[1]
|
3102
3163
|
else:
|
3103
|
-
raise
|
3164
|
+
raise ValueError(
|
3104
3165
|
f"{var_print(var_name)}Expect format of (<project:)<dataset>.<table>, got {table_input}"
|
3105
3166
|
)
|
3106
3167
|
|
@@ -3116,7 +3177,7 @@ def split_tablename(
|
|
3116
3177
|
dataset_id = cmpt[0]
|
3117
3178
|
table_id = cmpt[1]
|
3118
3179
|
else:
|
3119
|
-
raise
|
3180
|
+
raise ValueError(
|
3120
3181
|
f"{var_print(var_name)}Expect format of (<project.|<project:)<dataset>.<table>, got {table_input}"
|
3121
3182
|
)
|
3122
3183
|
|
@@ -3185,7 +3246,7 @@ def _validate_src_fmt_configs(
|
|
3185
3246
|
if k not in src_fmt_configs and k in valid_configs:
|
3186
3247
|
src_fmt_configs[k] = v
|
3187
3248
|
|
3188
|
-
for k
|
3249
|
+
for k in src_fmt_configs:
|
3189
3250
|
if k not in valid_configs:
|
3190
3251
|
raise ValueError(f"{k} is not a valid src_fmt_configs for type {source_format}.")
|
3191
3252
|
|
@@ -3311,6 +3372,7 @@ class BigQueryAsyncHook(GoogleBaseAsyncHook):
|
|
3311
3372
|
async def create_job_for_partition_get(
|
3312
3373
|
self,
|
3313
3374
|
dataset_id: str | None,
|
3375
|
+
table_id: str | None = None,
|
3314
3376
|
project_id: str | None = None,
|
3315
3377
|
):
|
3316
3378
|
"""Create a new job and get the job_id using gcloud-aio."""
|
@@ -3320,7 +3382,8 @@ class BigQueryAsyncHook(GoogleBaseAsyncHook):
|
|
3320
3382
|
|
3321
3383
|
query_request = {
|
3322
3384
|
"query": "SELECT partition_id "
|
3323
|
-
f"FROM `{project_id}.{dataset_id}.INFORMATION_SCHEMA.PARTITIONS`"
|
3385
|
+
f"FROM `{project_id}.{dataset_id}.INFORMATION_SCHEMA.PARTITIONS`"
|
3386
|
+
+ (f" WHERE table_id={table_id}" if table_id else ""),
|
3324
3387
|
"useLegacySql": False,
|
3325
3388
|
}
|
3326
3389
|
job_query_resp = await job_client.query(query_request, cast(Session, session))
|
@@ -45,6 +45,7 @@ from googleapiclient.discovery import Resource, build
|
|
45
45
|
from googleapiclient.errors import HttpError
|
46
46
|
|
47
47
|
from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
|
48
|
+
from airflow.providers.google.common.consts import CLIENT_INFO
|
48
49
|
from airflow.providers.google.common.hooks.base_google import GoogleBaseAsyncHook, GoogleBaseHook
|
49
50
|
|
50
51
|
if TYPE_CHECKING:
|
@@ -508,14 +509,18 @@ class CloudDataTransferServiceAsyncHook(GoogleBaseAsyncHook):
|
|
508
509
|
self.project_id = project_id
|
509
510
|
self._client: StorageTransferServiceAsyncClient | None = None
|
510
511
|
|
511
|
-
def get_conn(self) -> StorageTransferServiceAsyncClient:
|
512
|
+
async def get_conn(self) -> StorageTransferServiceAsyncClient:
|
512
513
|
"""
|
513
514
|
Return async connection to the Storage Transfer Service.
|
514
515
|
|
515
516
|
:return: Google Storage Transfer asynchronous client.
|
516
517
|
"""
|
517
518
|
if not self._client:
|
518
|
-
|
519
|
+
credentials = (await self.get_sync_hook()).get_credentials()
|
520
|
+
self._client = StorageTransferServiceAsyncClient(
|
521
|
+
credentials=credentials,
|
522
|
+
client_info=CLIENT_INFO,
|
523
|
+
)
|
519
524
|
return self._client
|
520
525
|
|
521
526
|
async def get_jobs(self, job_names: list[str]) -> ListTransferJobsAsyncPager:
|
@@ -525,7 +530,7 @@ class CloudDataTransferServiceAsyncHook(GoogleBaseAsyncHook):
|
|
525
530
|
:param job_names: (Required) List of names of the jobs to be fetched.
|
526
531
|
:return: Object that yields Transfer jobs.
|
527
532
|
"""
|
528
|
-
client = self.get_conn()
|
533
|
+
client = await self.get_conn()
|
529
534
|
jobs_list_request = ListTransferJobsRequest(
|
530
535
|
filter=json.dumps({"project_id": self.project_id, "job_names": job_names})
|
531
536
|
)
|
@@ -540,7 +545,7 @@ class CloudDataTransferServiceAsyncHook(GoogleBaseAsyncHook):
|
|
540
545
|
"""
|
541
546
|
latest_operation_name = job.latest_operation_name
|
542
547
|
if latest_operation_name:
|
543
|
-
client = self.get_conn()
|
548
|
+
client = await self.get_conn()
|
544
549
|
response_operation = await client.transport.operations_client.get_operation(latest_operation_name)
|
545
550
|
operation = TransferOperation.deserialize(response_operation.metadata.value)
|
546
551
|
return operation
|
@@ -281,7 +281,7 @@ class ComputeEngineSSHHook(SSHHook):
|
|
281
281
|
if retry == self.max_retries:
|
282
282
|
raise AirflowException("Maximum retries exceeded. Aborting operation.")
|
283
283
|
delay = random.randint(0, max_delay)
|
284
|
-
self.log.info(
|
284
|
+
self.log.info("Failed establish SSH connection, waiting %s seconds to retry...", delay)
|
285
285
|
time.sleep(delay)
|
286
286
|
if not sshclient:
|
287
287
|
raise AirflowException("Unable to establish SSH connection.")
|
@@ -334,7 +334,7 @@ class ComputeEngineSSHHook(SSHHook):
|
|
334
334
|
)
|
335
335
|
|
336
336
|
def _authorize_os_login(self, pubkey):
|
337
|
-
username = self._oslogin_hook._get_credentials_email
|
337
|
+
username = self._oslogin_hook._get_credentials_email
|
338
338
|
self.log.info("Importing SSH public key using OSLogin: user=%s", username)
|
339
339
|
expiration = int((time.time() + self.expire_time) * 1000000)
|
340
340
|
ssh_public_key = {"key": pubkey, "expiration_time_usec": expiration}
|