apache-airflow-providers-google 10.17.0rc1__py3-none-any.whl → 10.18.0rc1__py3-none-any.whl

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 (89) hide show
  1. airflow/providers/google/__init__.py +3 -3
  2. airflow/providers/google/cloud/hooks/automl.py +1 -1
  3. airflow/providers/google/cloud/hooks/bigquery.py +64 -33
  4. airflow/providers/google/cloud/hooks/cloud_composer.py +250 -2
  5. airflow/providers/google/cloud/hooks/cloud_sql.py +154 -7
  6. airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py +7 -2
  7. airflow/providers/google/cloud/hooks/compute_ssh.py +2 -1
  8. airflow/providers/google/cloud/hooks/dataflow.py +246 -32
  9. airflow/providers/google/cloud/hooks/dataplex.py +6 -2
  10. airflow/providers/google/cloud/hooks/dlp.py +14 -14
  11. airflow/providers/google/cloud/hooks/gcs.py +6 -2
  12. airflow/providers/google/cloud/hooks/gdm.py +2 -2
  13. airflow/providers/google/cloud/hooks/kubernetes_engine.py +2 -2
  14. airflow/providers/google/cloud/hooks/mlengine.py +8 -4
  15. airflow/providers/google/cloud/hooks/pubsub.py +1 -1
  16. airflow/providers/google/cloud/hooks/secret_manager.py +252 -4
  17. airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +1431 -74
  18. airflow/providers/google/cloud/links/vertex_ai.py +2 -1
  19. airflow/providers/google/cloud/log/gcs_task_handler.py +2 -1
  20. airflow/providers/google/cloud/operators/automl.py +13 -12
  21. airflow/providers/google/cloud/operators/bigquery.py +36 -22
  22. airflow/providers/google/cloud/operators/bigquery_dts.py +4 -3
  23. airflow/providers/google/cloud/operators/bigtable.py +7 -6
  24. airflow/providers/google/cloud/operators/cloud_build.py +12 -11
  25. airflow/providers/google/cloud/operators/cloud_composer.py +147 -2
  26. airflow/providers/google/cloud/operators/cloud_memorystore.py +17 -16
  27. airflow/providers/google/cloud/operators/cloud_sql.py +60 -17
  28. airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +35 -16
  29. airflow/providers/google/cloud/operators/compute.py +12 -11
  30. airflow/providers/google/cloud/operators/datacatalog.py +21 -20
  31. airflow/providers/google/cloud/operators/dataflow.py +59 -42
  32. airflow/providers/google/cloud/operators/datafusion.py +11 -10
  33. airflow/providers/google/cloud/operators/datapipeline.py +3 -2
  34. airflow/providers/google/cloud/operators/dataprep.py +5 -4
  35. airflow/providers/google/cloud/operators/dataproc.py +19 -16
  36. airflow/providers/google/cloud/operators/datastore.py +8 -7
  37. airflow/providers/google/cloud/operators/dlp.py +31 -30
  38. airflow/providers/google/cloud/operators/functions.py +4 -3
  39. airflow/providers/google/cloud/operators/gcs.py +66 -41
  40. airflow/providers/google/cloud/operators/kubernetes_engine.py +232 -12
  41. airflow/providers/google/cloud/operators/life_sciences.py +2 -1
  42. airflow/providers/google/cloud/operators/mlengine.py +11 -10
  43. airflow/providers/google/cloud/operators/pubsub.py +6 -5
  44. airflow/providers/google/cloud/operators/spanner.py +7 -6
  45. airflow/providers/google/cloud/operators/speech_to_text.py +2 -1
  46. airflow/providers/google/cloud/operators/stackdriver.py +11 -10
  47. airflow/providers/google/cloud/operators/tasks.py +14 -13
  48. airflow/providers/google/cloud/operators/text_to_speech.py +2 -1
  49. airflow/providers/google/cloud/operators/translate_speech.py +2 -1
  50. airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +333 -26
  51. airflow/providers/google/cloud/operators/vertex_ai/generative_model.py +20 -12
  52. airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py +0 -1
  53. airflow/providers/google/cloud/operators/vision.py +13 -12
  54. airflow/providers/google/cloud/operators/workflows.py +10 -9
  55. airflow/providers/google/cloud/secrets/secret_manager.py +2 -1
  56. airflow/providers/google/cloud/sensors/bigquery_dts.py +2 -1
  57. airflow/providers/google/cloud/sensors/bigtable.py +2 -1
  58. airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py +2 -1
  59. airflow/providers/google/cloud/sensors/dataflow.py +239 -52
  60. airflow/providers/google/cloud/sensors/datafusion.py +2 -1
  61. airflow/providers/google/cloud/sensors/dataproc.py +3 -2
  62. airflow/providers/google/cloud/sensors/gcs.py +14 -12
  63. airflow/providers/google/cloud/sensors/tasks.py +2 -1
  64. airflow/providers/google/cloud/sensors/workflows.py +2 -1
  65. airflow/providers/google/cloud/transfers/adls_to_gcs.py +8 -2
  66. airflow/providers/google/cloud/transfers/azure_blob_to_gcs.py +7 -1
  67. airflow/providers/google/cloud/transfers/azure_fileshare_to_gcs.py +7 -1
  68. airflow/providers/google/cloud/transfers/bigquery_to_gcs.py +2 -1
  69. airflow/providers/google/cloud/transfers/bigquery_to_mssql.py +1 -1
  70. airflow/providers/google/cloud/transfers/bigquery_to_sql.py +1 -0
  71. airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +5 -6
  72. airflow/providers/google/cloud/transfers/gcs_to_gcs.py +22 -12
  73. airflow/providers/google/cloud/triggers/bigquery.py +14 -3
  74. airflow/providers/google/cloud/triggers/cloud_composer.py +68 -0
  75. airflow/providers/google/cloud/triggers/cloud_sql.py +2 -1
  76. airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +2 -1
  77. airflow/providers/google/cloud/triggers/dataflow.py +504 -4
  78. airflow/providers/google/cloud/triggers/dataproc.py +110 -26
  79. airflow/providers/google/cloud/triggers/mlengine.py +2 -1
  80. airflow/providers/google/cloud/triggers/vertex_ai.py +94 -0
  81. airflow/providers/google/common/hooks/base_google.py +45 -7
  82. airflow/providers/google/firebase/hooks/firestore.py +2 -2
  83. airflow/providers/google/firebase/operators/firestore.py +2 -1
  84. airflow/providers/google/get_provider_info.py +3 -2
  85. {apache_airflow_providers_google-10.17.0rc1.dist-info → apache_airflow_providers_google-10.18.0rc1.dist-info}/METADATA +8 -8
  86. {apache_airflow_providers_google-10.17.0rc1.dist-info → apache_airflow_providers_google-10.18.0rc1.dist-info}/RECORD +88 -89
  87. airflow/providers/google/cloud/example_dags/example_cloud_sql_query.py +0 -289
  88. {apache_airflow_providers_google-10.17.0rc1.dist-info → apache_airflow_providers_google-10.18.0rc1.dist-info}/WHEEL +0 -0
  89. {apache_airflow_providers_google-10.17.0rc1.dist-info → apache_airflow_providers_google-10.18.0rc1.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  airflow/providers/google/LICENSE,sha256=ywUBpKZc7Jb96rVt5I3IDbg7dIJAbUSHkuoDcF3jbH4,13569
2
- airflow/providers/google/__init__.py,sha256=UVT3Ocm6Wup_q8TeHWn9btyWosUHIOx-kAZ1UCMhMW4,1583
3
- airflow/providers/google/get_provider_info.py,sha256=qqltGb3pU5tzUgJQB1edJmO3gjjeHnDqwwI2-ohJafo,81083
2
+ airflow/providers/google/__init__.py,sha256=Vrtzj_Z1J5KlkRA7i0jzg6B4BNHrONelk7-ffad7QE8,1583
3
+ airflow/providers/google/get_provider_info.py,sha256=1PN8UN5rY_3PjklabiSR4l04OrKqqMzhygK7ZMArE2s,81106
4
4
  airflow/providers/google/go_module_utils.py,sha256=QZcIY0BAsy_GlwJpaCDcSRWHueZvkqDCj2ecICn_-gY,1770
5
5
  airflow/providers/google/ads/.gitignore,sha256=z_qaKzblF2LuVvP-06iDord9JBeyzIlNeJ4bx3LbtGc,167
6
6
  airflow/providers/google/ads/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
@@ -14,7 +14,6 @@ airflow/providers/google/cloud/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGe
14
14
  airflow/providers/google/cloud/_internal_client/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
15
15
  airflow/providers/google/cloud/_internal_client/secret_manager_client.py,sha256=ilr2JbTbZ66VTGcMVt8ebLaeg6lZBSxSW6Q4suGeoPg,3747
16
16
  airflow/providers/google/cloud/example_dags/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
17
- airflow/providers/google/cloud/example_dags/example_cloud_sql_query.py,sha256=qufaggVIsbvfVnskwdzVgZ88off6lxuFfCq-B3q1Cts,10847
18
17
  airflow/providers/google/cloud/example_dags/example_cloud_task.py,sha256=va-S2qDI-dJ6SOJ85jP7lWCLhsXIXGQTkIlNCdczaN8,1898
19
18
  airflow/providers/google/cloud/example_dags/example_facebook_ads_to_gcs.py,sha256=fM3YpnvyhNANx4uKARHrgbgnDvzKrUPfj1G5bZ06Wxg,4824
20
19
  airflow/providers/google/cloud/example_dags/example_looker.py,sha256=vFqYJCMRMUinfmI1UCbFUEt8Rcn_gpUFrb1f5N276iE,2322
@@ -23,42 +22,42 @@ airflow/providers/google/cloud/example_dags/example_salesforce_to_gcs.py,sha256=
23
22
  airflow/providers/google/cloud/fs/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
24
23
  airflow/providers/google/cloud/fs/gcs.py,sha256=fJBGhHEE46_U5Rmbs1W0uenvGhECv13CtVSh3z7pM60,2457
25
24
  airflow/providers/google/cloud/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
26
- airflow/providers/google/cloud/hooks/automl.py,sha256=pG3rd-RoObJe_O7Undif6lM-r-5sPLqPq1BPAuXtswQ,27555
27
- airflow/providers/google/cloud/hooks/bigquery.py,sha256=zQy6p05DdczDJC6h-aUpr5GBqiQjXTuB-Pcsie9BKSc,151791
25
+ airflow/providers/google/cloud/hooks/automl.py,sha256=GD_bF_Ka5z7ZmNTMlSFuRSd4gIl2Y_U-lQRaO5XSDqg,27562
26
+ airflow/providers/google/cloud/hooks/bigquery.py,sha256=5UrfnId7gVlir8V3KhiyDRQ4-qtXZgJVlAKhg3rZ-cg,153023
28
27
  airflow/providers/google/cloud/hooks/bigquery_dts.py,sha256=3wLKj-6tQwWphjwKBLGg1rjoXAAknv0WLh6T3MqsNWA,15228
29
28
  airflow/providers/google/cloud/hooks/bigtable.py,sha256=wReDIbDyQGP8oZIzg0vsfgD6zrLmY-oYghBNCPVPorw,12580
30
29
  airflow/providers/google/cloud/hooks/cloud_batch.py,sha256=FjpR_Av7z8oMnB4Q7S-aPTMO8HZMxAo_1akdHpE7iA8,7809
31
30
  airflow/providers/google/cloud/hooks/cloud_build.py,sha256=jqjvBxP1T4u-h7lDcmADgluYzH85Y-Kz6QhV2NzKmi8,28324
32
- airflow/providers/google/cloud/hooks/cloud_composer.py,sha256=Vk1sbdWbIlZiEZKw9U_ffZZQoOTQjlHJLwbX8KBLPEw,18449
31
+ airflow/providers/google/cloud/hooks/cloud_composer.py,sha256=_GRmI4CHry6_J8-ABccsSy-xpQJ5hmHxzu9je4UGCSg,28716
33
32
  airflow/providers/google/cloud/hooks/cloud_memorystore.py,sha256=4hUbVhN-AphoOjQ5NB2Ge4Z2Ay6vd5gnyvlxE3ffzWQ,40442
34
33
  airflow/providers/google/cloud/hooks/cloud_run.py,sha256=VfcDtF1APloCiVn6Fu6vEiXrRvAFaPnkndq_I8bfIlk,7362
35
- airflow/providers/google/cloud/hooks/cloud_sql.py,sha256=_dwfKau5vfIGQbMCSudFtaftRP-Aj_jKVbUf8wZ5GjU,45960
36
- airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py,sha256=krxwdG7dTG-6fNaiXdfA0Jq_U0TImUCKk3D_F6RNlMw,21764
34
+ airflow/providers/google/cloud/hooks/cloud_sql.py,sha256=9y10VA-liqe6hbr75VnFvvU4B2ELSHhTJwHPUNDEsNE,53234
35
+ airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py,sha256=w7-lO3soYQYma_vxAML_BaFxvArSw3LlfbchVQs-k0M,21833
37
36
  airflow/providers/google/cloud/hooks/compute.py,sha256=sBpi7oZjJwV4JPkWm3iKw23l7cAjHDET2MU9S8FOc58,40673
38
- airflow/providers/google/cloud/hooks/compute_ssh.py,sha256=jTuI8Lxr0wEwI0wHpVdzdV5-TkxUpJsMN7qLjcEsr5I,15601
37
+ airflow/providers/google/cloud/hooks/compute_ssh.py,sha256=GTSiuhDFpeN-7n8ggrF-XBaPQ2hfk80tWChGImYGpTo,15689
39
38
  airflow/providers/google/cloud/hooks/datacatalog.py,sha256=KoOcXUE-YhCR81wgHNJQ_YwTr5LYYyoDXTFJWZz_mds,54292
40
- airflow/providers/google/cloud/hooks/dataflow.py,sha256=I85PxL54goXtf6ONaD3Y65KIjO9kgREwMG5N4FFeJZg,53383
39
+ airflow/providers/google/cloud/hooks/dataflow.py,sha256=caj_nKCkmrXs5nSxYQmnkttUQ6vqfAXmR-oGt5_encM,63107
41
40
  airflow/providers/google/cloud/hooks/dataform.py,sha256=PhZ9b3D-VuAwIgHK6QkKmPaN12RIc-KxZR6F__r1lAo,27787
42
41
  airflow/providers/google/cloud/hooks/datafusion.py,sha256=cevxnJEXuVyfmzZ23ZOYL4AIlFvvU3elDpKBLLqaxiE,26177
43
42
  airflow/providers/google/cloud/hooks/datapipeline.py,sha256=29oE9jMZEhr_7VwZJzuqN-yC3WAg0NaQ7QLDe56BiMk,4361
44
- airflow/providers/google/cloud/hooks/dataplex.py,sha256=LLmV4L9VW_oqRzfKdwFLZ8LoMzM5P40Wj9ln5N03SKU,38303
43
+ airflow/providers/google/cloud/hooks/dataplex.py,sha256=hOAQ5gXBE0V6fw5Y_7Q8BymD6_GmFGsc8TPvd4SwJPM,38347
45
44
  airflow/providers/google/cloud/hooks/dataprep.py,sha256=GH46CoEMnc63RoMiJ7aKvsHlGFvsBl_QcRgbmWwJ5tU,12187
46
45
  airflow/providers/google/cloud/hooks/dataproc.py,sha256=wslqqGeGnKsT4OU5GxEw5mOwGZAyMYqBnFtX5UkfMXg,83495
47
46
  airflow/providers/google/cloud/hooks/dataproc_metastore.py,sha256=Oh6I6PbawdCb0hkfrFNU4BVbxWangCcjIJdOBAh7q2Q,32152
48
47
  airflow/providers/google/cloud/hooks/datastore.py,sha256=JuXTZqL-FAohbKBHQVYLCS3tY9pvMDjlg-dSphKiyPU,12158
49
- airflow/providers/google/cloud/hooks/dlp.py,sha256=m-LeaL0f1ZL7AYiwLxcRA4AHV7JH-6rrvA34dtkYH_M,67488
48
+ airflow/providers/google/cloud/hooks/dlp.py,sha256=U1mnUEIQBcvh0bxf9RgeKLK2gjWx09qGh-hvCDOL_8k,67586
50
49
  airflow/providers/google/cloud/hooks/functions.py,sha256=kQpMsZgcanbMpjN6IPR_-QYEDiWL4qydPEoSFXVZLUI,9204
51
- airflow/providers/google/cloud/hooks/gcs.py,sha256=1Lt4xUHlNn3PZ9He6hKvlbFqOBYtVytux0n7pPHgvbg,58809
52
- airflow/providers/google/cloud/hooks/gdm.py,sha256=JqLFtekHB3CoGNZZwQGrcIaNFCaDT8-BJSueeRMnFyo,4096
50
+ airflow/providers/google/cloud/hooks/gcs.py,sha256=HRc2I0q23d64YnvvJ658MrixeQViWMZ8_oLF5JGN7MA,58853
51
+ airflow/providers/google/cloud/hooks/gdm.py,sha256=fCTu6SXtyQ3sn56GfIdgj6Myj_cc8UWdFVbYDMRMhZY,4123
53
52
  airflow/providers/google/cloud/hooks/kms.py,sha256=CSIoyXgfZOujEPWOk2bn2bmwcKuDWXCu8eFSvi8MV9w,6574
54
- airflow/providers/google/cloud/hooks/kubernetes_engine.py,sha256=uZgQH-b2gCESD2fZrw-TKJYSx2oRQa8udcX8Pf3OouY,24517
53
+ airflow/providers/google/cloud/hooks/kubernetes_engine.py,sha256=P402AN4bFV383LiNqe2PrSBjQHxbxx1DKE7lyFrJxrU,24531
55
54
  airflow/providers/google/cloud/hooks/life_sciences.py,sha256=i4oSToBSlJv0gH_EO6CZAK5lHGBqYzm3sl52YzQjit8,6672
56
55
  airflow/providers/google/cloud/hooks/looker.py,sha256=sb3p3BdKyMwW-ZNN2lBVCFDccIdRoayu8mJdNdtqAHg,8933
57
- airflow/providers/google/cloud/hooks/mlengine.py,sha256=ukwB38fpL-vuUz33Xdr_FJzSD-ZIrkMLKXYBf9L2F2g,24978
56
+ airflow/providers/google/cloud/hooks/mlengine.py,sha256=yx1HTKw3zy4SuiqLD38uO1SBtBGb0bvSmxHh3d6Q0y0,25036
58
57
  airflow/providers/google/cloud/hooks/natural_language.py,sha256=hzblqwZhmgL5RUH7EzG5p5QvZtRLlhl0RbWv3HwD0O8,11657
59
58
  airflow/providers/google/cloud/hooks/os_login.py,sha256=uKAF_0-l77NrNxEwXPVnZ7SEVkLaax1I61PB3jDl6H4,4085
60
- airflow/providers/google/cloud/hooks/pubsub.py,sha256=eINU5EvXlAfKBT-OqkhjagevMjV5kxPz3ILAxZ1KwOQ,34332
61
- airflow/providers/google/cloud/hooks/secret_manager.py,sha256=j_kEmnC3dRbOMivjdXlKdYmFOIrM2UqUtkF5UsAhSA4,3567
59
+ airflow/providers/google/cloud/hooks/pubsub.py,sha256=8ZHEEqWBc-FCr3N342NdG2Cu_2YEjx-fk8kMQ9gKXmI,34339
60
+ airflow/providers/google/cloud/hooks/secret_manager.py,sha256=KWLGSQjrpfqOJfKmTGXe3dZKdtK9dAI4SyxCT_nuiaI,14620
62
61
  airflow/providers/google/cloud/hooks/spanner.py,sha256=VSPp7N4E9ZklyzV9_sN145SuHB_Ju1feLwVxLWzrhRI,17474
63
62
  airflow/providers/google/cloud/hooks/speech_to_text.py,sha256=LTVKrg9Br1U4nmlrNWJ-ke2Q5depyflEEX1Wgos-8pw,4532
64
63
  airflow/providers/google/cloud/hooks/stackdriver.py,sha256=OSwMXmtxoO1-M5hOlG_2KPTvfvkMkVMpos54qad1Hfs,25883
@@ -71,7 +70,7 @@ airflow/providers/google/cloud/hooks/workflows.py,sha256=M9U_Sn_Dll7FBHZ2wKi0xaJ
71
70
  airflow/providers/google/cloud/hooks/vertex_ai/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
72
71
  airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py,sha256=tvSwjx07J9Wrh8EEkUyze6qNAhjn8CVC3f6mGbt_0rQ,86692
73
72
  airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py,sha256=bMk8Sm6iP0AEkq8t1g8_Lxne3cB2ItvG9T6DXcgD-EU,34750
74
- airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py,sha256=95tcHo-Kyixb5rC2j6zEWtDkgjBkgjs-ggvmTBON3zA,116748
73
+ airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py,sha256=iR3LWZPZS_w8cNx6XewTo92f_2DjWpNmmnBpKPGZias,196976
75
74
  airflow/providers/google/cloud/hooks/vertex_ai/dataset.py,sha256=hSkQL6d9j5tLCRR7LBDSAbGWWGrdwWBeIGnB21rjkCQ,18693
76
75
  airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py,sha256=_rO_E1EL75ZclFgm1JY78CtrOkB4XcLUkmEbk5qI-sQ,16109
77
76
  airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py,sha256=UqxLJtkf-tUZC2Uhcc9wL_2W2Njs134xCWSTohIa5Ng,8687
@@ -106,99 +105,99 @@ airflow/providers/google/cloud/links/mlengine.py,sha256=lvhRkVVExFvwoaSskckm31BW
106
105
  airflow/providers/google/cloud/links/pubsub.py,sha256=MqCg3vHUvPVT1nkEwnjhNf5mmF5zPGtqsyxE-qkRCIw,2423
107
106
  airflow/providers/google/cloud/links/spanner.py,sha256=L2j8b6VIrLta1zTM_hsoK5sYpGb3VPf6HQ92qYhQyWk,2510
108
107
  airflow/providers/google/cloud/links/stackdriver.py,sha256=WgO-KeX9guf5l4Z3TLPUD_Pns8UZzUfbRVL4kdec8z0,2413
109
- airflow/providers/google/cloud/links/vertex_ai.py,sha256=UOWyW0WxEZ2jguQP0pWyReg0ukZA1bov8khl4WGNvHA,11106
108
+ airflow/providers/google/cloud/links/vertex_ai.py,sha256=T5WGK77wKIPTiHtxKuQXvokArjVQYwZPjX5IgJX1dds,11138
110
109
  airflow/providers/google/cloud/links/workflows.py,sha256=Ux7bwq2fspvSoNT4X3xFXX2SSmp8EuwDyPQsTO-z7bI,3303
111
110
  airflow/providers/google/cloud/log/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
112
- airflow/providers/google/cloud/log/gcs_task_handler.py,sha256=krACmSnkMdWW5lSrcz2lQ_bfsCzYwAbrtG9RoLwJmeM,10298
111
+ airflow/providers/google/cloud/log/gcs_task_handler.py,sha256=d2zTPtoQHwdFIXuWbHu0xniA2oor9BEBYBNgJaWeF-0,10386
113
112
  airflow/providers/google/cloud/log/stackdriver_task_handler.py,sha256=Z_aHF0_hjGwoDxk4VVtZ1sWTeqOdpSsRqg4yg6eOL80,15637
114
113
  airflow/providers/google/cloud/operators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
115
- airflow/providers/google/cloud/operators/automl.py,sha256=56rieD6uj65cUvggXElC9WilQAkOZT9awc6rHyOIQ-k,52110
116
- airflow/providers/google/cloud/operators/bigquery.py,sha256=VXoGXRcg40h7JD4Demumy2XPX2_xgyaWyGiWUb7ygtY,124463
117
- airflow/providers/google/cloud/operators/bigquery_dts.py,sha256=u0Lk73wGj29J4AbI5QjB2AjS591_wob7kr1JVHAHdl8,17593
118
- airflow/providers/google/cloud/operators/bigtable.py,sha256=ha4wDXS6eIPnsxWhrK8_EVtCVzdAhDFda5jxwWw9dGg,26798
114
+ airflow/providers/google/cloud/operators/automl.py,sha256=nWohxjYJHXWtzYN5XbSsd-7jKJhsOlaeYjlEWXmwCXM,52275
115
+ airflow/providers/google/cloud/operators/bigquery.py,sha256=VFnp0a1q7h2_2Na5cJS-cygzC_mkaC2unXhwCvgtTcw,125468
116
+ airflow/providers/google/cloud/operators/bigquery_dts.py,sha256=6VJISM4HoMBQ3EQ5nz3zxFk8tfluGA1d2vcUNUlYLPc,17695
117
+ airflow/providers/google/cloud/operators/bigtable.py,sha256=BnWHnTEscyPbsKWFaSreLr62W68fmHu5loQVZex7LPs,26921
119
118
  airflow/providers/google/cloud/operators/cloud_base.py,sha256=Xysh4znvIQIxbQqmfKoaL6O09FikndHrQuKKUnEV7KU,1483
120
119
  airflow/providers/google/cloud/operators/cloud_batch.py,sha256=TAfXtWgGC4M7Zzx7rI7caX9rOYtXfZg4OPwyNaynFXQ,12878
121
- airflow/providers/google/cloud/operators/cloud_build.py,sha256=j82i-lyNNo5wLK7V4jrPhqZ9ISkx4WGOvfiWPi8daoI,48323
122
- airflow/providers/google/cloud/operators/cloud_composer.py,sha256=pESBOSOpmXhWSYTAAR1CPRguF5zCA9onV4E6q-HsKAI,26695
123
- airflow/providers/google/cloud/operators/cloud_memorystore.py,sha256=xA7HyL7QrBhYRnUKbv9X0McrgiEnbimgX3vmaUa3Xng,70796
120
+ airflow/providers/google/cloud/operators/cloud_build.py,sha256=7L3mBxls1r628o1XyC1vMOnRThWgfRx1x1z5zWXjx70,48481
121
+ airflow/providers/google/cloud/operators/cloud_composer.py,sha256=MAmqS0FkbKfSk3-1lUyC5F3-76H5eVUBugmMeioEFFk,32679
122
+ airflow/providers/google/cloud/operators/cloud_memorystore.py,sha256=0I4nmUIRsA2lcJlKh2uTnty9ONH40sTxAshsrVN81dY,70989
124
123
  airflow/providers/google/cloud/operators/cloud_run.py,sha256=CJRZ10SOPcP7azb_l1VqIK91vY_ED0uhRfGtXbWcpdQ,15606
125
- airflow/providers/google/cloud/operators/cloud_sql.py,sha256=2h3DDqlZZvhIURESnoStEpHg5dSuri6qL7xKXQPD7FM,51460
126
- airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py,sha256=wKdf9y0tCX7SClXVprR9Z5IPAT8vXW76hGxPq1efgX8,44258
127
- airflow/providers/google/cloud/operators/compute.py,sha256=eTvwH5OOI6bNpt8J1F_hpgFVXeXzEzBcs94k_AQ06aQ,74449
128
- airflow/providers/google/cloud/operators/datacatalog.py,sha256=QUi8OIqQni0d8Q27yBoWML30LkyfH1ttONZbGeX2ULE,92741
129
- airflow/providers/google/cloud/operators/dataflow.py,sha256=9e87KJzu-Q53ANR2MVgNBQ-YI_HcFU1vFIHRg74J2AM,59792
124
+ airflow/providers/google/cloud/operators/cloud_sql.py,sha256=5JFjbRxIasj0NRQfrVaAGvWaCqFijW63z7ZNzBeifu0,53319
125
+ airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py,sha256=nzDUNzgQIOxa9PtJLwH7veR0ZHVc7TEVUtjdcMaMJTI,45047
126
+ airflow/providers/google/cloud/operators/compute.py,sha256=lFGCacevkKJvAszJhfSLAOfetlsbYrCoImTeWXS5bqw,74607
127
+ airflow/providers/google/cloud/operators/datacatalog.py,sha256=TY0KZtphd28mNmZF4f3pV-G4-K61nwlOzBok1ZHqG_E,92962
128
+ airflow/providers/google/cloud/operators/dataflow.py,sha256=cXftt6omPT_S8P4TWzeTdZSE_tDeZaeRSc84LYcTPPU,61152
130
129
  airflow/providers/google/cloud/operators/dataform.py,sha256=kLTSkMuQB4hfFezlDb2w5O7O_So8ELyMzClOHyDCYFc,48740
131
- airflow/providers/google/cloud/operators/datafusion.py,sha256=98YnFEr2TQPNaXfNphfuekKlhW0BxnyXGpo7uPf-qQI,41344
132
- airflow/providers/google/cloud/operators/datapipeline.py,sha256=z-Ek6XpqzqohQAEItXZQlEblGiAKzOOAhRxaJRVwAWU,6383
130
+ airflow/providers/google/cloud/operators/datafusion.py,sha256=NZoR65aChdkPUG8bxEaXDvMLvyMOVBoLkkJO9_v-2u0,41495
131
+ airflow/providers/google/cloud/operators/datapipeline.py,sha256=UFIhzulL7d9JD3PmIbpYIu1dKVVJrJthVyA-8kkJq0A,6478
133
132
  airflow/providers/google/cloud/operators/dataplex.py,sha256=3Xq7ewGIQFH-cf_vbsWkIyuDOMD5ij5EBbTeuFtAtKs,91185
134
- airflow/providers/google/cloud/operators/dataprep.py,sha256=Ulab_OZuyB4si3d7A9i8hlSo8ZEZchFuYBnVW0ydjBY,10368
135
- airflow/providers/google/cloud/operators/dataproc.py,sha256=F8e_LyQ4jP0VYdpnDIdBZ8d_pL1AeKMgYzPlZ_UnS8g,152232
133
+ airflow/providers/google/cloud/operators/dataprep.py,sha256=jTDDgRccd2zIUqGzJebZpbNTJsFdRi5RnMtldXHqiMs,10477
134
+ airflow/providers/google/cloud/operators/dataproc.py,sha256=snjZS33ZMXP2mtvB5FO26ymdjG1qElSIcE3qheNFYSU,152547
136
135
  airflow/providers/google/cloud/operators/dataproc_metastore.py,sha256=MWkThX_mzef-VTRrxZFn5WPfenZ3F2DNXWWa827nLrw,49532
137
- airflow/providers/google/cloud/operators/datastore.py,sha256=Pws9PV1GaAelE6UAFdFay8ztcS0uLVFwWB-UUaz8HYE,24797
138
- airflow/providers/google/cloud/operators/dlp.py,sha256=4yVPfDnWaQCxs_dxM31thgvqh32__MmS3_-LB-6OGzk,120451
139
- airflow/providers/google/cloud/operators/functions.py,sha256=7r14QPP9MQcudWbnZvSAcL_aNZdIQJ-oxCknqFuxUU0,20053
140
- airflow/providers/google/cloud/operators/gcs.py,sha256=Hgy_lvU7EPQuN7euuz40mGjRR1p7LlUDXstBG3UTLdU,45415
141
- airflow/providers/google/cloud/operators/kubernetes_engine.py,sha256=GDgtBOZ-sIehoA9U47Puc4URrtxjwDUQD16r6rluh_c,61875
142
- airflow/providers/google/cloud/operators/life_sciences.py,sha256=3lFwiA-wW6bsgSqI7So8yJTpSmwG4BDqjGNSk9kqETI,4728
136
+ airflow/providers/google/cloud/operators/datastore.py,sha256=di00jFy3Z1v0GcmcQ0df8NJ32yxcseOqWuojC4TKdmY,24927
137
+ airflow/providers/google/cloud/operators/dlp.py,sha256=SQCGml0RIKl0UrvXHIUiOskg5ayTj4F5_4k4rztClvM,120742
138
+ airflow/providers/google/cloud/operators/functions.py,sha256=dL5uaYtAWujwvAID_kLsyEsQ-ThFXGrEsg5Tk277FMs,20155
139
+ airflow/providers/google/cloud/operators/gcs.py,sha256=tUNcseFxF2AC-wNjcrngvKqLqhkYNC4gaSFHiCq7eK0,46627
140
+ airflow/providers/google/cloud/operators/kubernetes_engine.py,sha256=FazwWO8goImGQ9SFKC2msxBehL0ssjKiCATk3ABhOwg,69888
141
+ airflow/providers/google/cloud/operators/life_sciences.py,sha256=cQzFWGdwh4yr44j7nfMXdGnPVRkeXwkrj_qdzlchD-w,4816
143
142
  airflow/providers/google/cloud/operators/looker.py,sha256=LCbN0vv8y0exwvfHbRXmUtNUZIOlSfljInNZK1zcfrs,4063
144
- airflow/providers/google/cloud/operators/mlengine.py,sha256=WGCwU6p2F-q_51xJWNUFlAlmEvdN0KYX52MkS6I1AAc,62722
143
+ airflow/providers/google/cloud/operators/mlengine.py,sha256=pPoLn7txuR5h2I9prSY26Sc7qfjWRXfAjHplGl3vNK8,62873
145
144
  airflow/providers/google/cloud/operators/natural_language.py,sha256=mVi1R1QXU_aJXEGgyPiQXxAWlmOEInia6DpayxGhRwo,13719
146
- airflow/providers/google/cloud/operators/pubsub.py,sha256=mPMbaPVr5uEa9XWBaVxyFym7Wj4IkqRZipifamgijUU,34531
147
- airflow/providers/google/cloud/operators/spanner.py,sha256=nFODcNSntCzib5Bl5pmzChULvbbokpXIFTIHzRb85fg,24815
148
- airflow/providers/google/cloud/operators/speech_to_text.py,sha256=UAl57FDraOT-7qB_c_46k0t-SHgD775Cd1O-St62lf4,5558
149
- airflow/providers/google/cloud/operators/stackdriver.py,sha256=gGZWAxJKVy4rgp3erkWM8UUlJU2YIB99-9rzWM95qzg,39054
150
- airflow/providers/google/cloud/operators/tasks.py,sha256=FHT51lbIy05569MG0j0RvqPbYzrKuM3PpF6TpFbu068,48255
151
- airflow/providers/google/cloud/operators/text_to_speech.py,sha256=tJ2nvoVBHbxGn02UrFbRd-pGTZ4vlqICN2AlARHvg8U,6868
145
+ airflow/providers/google/cloud/operators/pubsub.py,sha256=1hZkH8Eh6RjxEanexXkikZlRyoQKeYmxT1RFZ2_UrKc,34647
146
+ airflow/providers/google/cloud/operators/spanner.py,sha256=Gpzr1LNB3e2zLaOb-LwORR9Vv9tMTDzNIcyV728u7Pw,24938
147
+ airflow/providers/google/cloud/operators/speech_to_text.py,sha256=ZVuE1m1nSta0HUzsK6azVslnIf1PC2edRsG7LqHPmy4,5646
148
+ airflow/providers/google/cloud/operators/stackdriver.py,sha256=Tei_f5oodxTp4K-m15U_M98_WhZr3v0JynTzlJHDOws,39205
149
+ airflow/providers/google/cloud/operators/tasks.py,sha256=zy3kgQkcVLx9a7r1Ojsk5-crVOzmmKC7_dO9WuKTwDY,48427
150
+ airflow/providers/google/cloud/operators/text_to_speech.py,sha256=y51bA2Ksr8NvaBKFn2dZBV3K04YqAu47yssK86t9MtQ,6956
152
151
  airflow/providers/google/cloud/operators/translate.py,sha256=yYN4IRcRHXllZsChMJd71UDMigdD2iKid9G27jIVOlM,5007
153
- airflow/providers/google/cloud/operators/translate_speech.py,sha256=5Punyw_yD-CYxw7i5Je3yOZD3pubgmvdEKiZnRN0Qjw,7729
152
+ airflow/providers/google/cloud/operators/translate_speech.py,sha256=ALehMdOuSspEb-7h9Cr5ml8TYFsUnc8vvHEULpKZxa4,7817
154
153
  airflow/providers/google/cloud/operators/video_intelligence.py,sha256=NQvEueDegdpPBSqMkJF_qb9x3WeZT7XJL-yE8Sqlz_U,14165
155
- airflow/providers/google/cloud/operators/vision.py,sha256=wYTB8hWF1oUAD8_GwNEo6TZD4FmBr9e1slKzAuwDwpk,67465
156
- airflow/providers/google/cloud/operators/workflows.py,sha256=ncAJElKApj10nDGP7h0xoH6adUQsxmYjPLIpMBx0vyo,28964
154
+ airflow/providers/google/cloud/operators/vision.py,sha256=RQrf9-dgRfgYxDceR--WMvc03d2a1zZaOQWzZxjrJYo,67630
155
+ airflow/providers/google/cloud/operators/workflows.py,sha256=-YMlO23E2J9sBl9WUcgsHTW8FTySyIfkoG0HE5K1gKI,29108
157
156
  airflow/providers/google/cloud/operators/vertex_ai/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
158
157
  airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py,sha256=Txeaul_QFrAKvEBGUa-AwcDEDtxhKWLNhbXSaBldTQE,30987
159
158
  airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py,sha256=e0oFWmCRH3aQHNckjEf_YO5zP9LqiLVTzB1QTgv3iUo,28828
160
- airflow/providers/google/cloud/operators/vertex_ai/custom_job.py,sha256=7xDZaEgRUfXjZBnCSuSKUnsWt32_YXUID2abnDXtLHQ,84424
159
+ airflow/providers/google/cloud/operators/vertex_ai/custom_job.py,sha256=lPo4lCT273V_LlGqDiu9lAPcMSdlN3quAOQi1xglRMQ,100098
161
160
  airflow/providers/google/cloud/operators/vertex_ai/dataset.py,sha256=u_iEOIJEoZj10bbiymvoAT7aJP50HyZMt7_2KxUKbxM,23051
162
161
  airflow/providers/google/cloud/operators/vertex_ai/endpoint_service.py,sha256=mtbgC2NrolxIxyxOmqlnokc22NtCspa8oXwuHo140EU,26739
163
- airflow/providers/google/cloud/operators/vertex_ai/generative_model.py,sha256=dPQmCJLV0srttStEtCa51Vkh4-qKR4Bx9Doi_aKcRz0,13158
162
+ airflow/providers/google/cloud/operators/vertex_ai/generative_model.py,sha256=k86sTqmDNWVcESuyAUxY1neeifASrusCo5MbKff6EWU,13634
164
163
  airflow/providers/google/cloud/operators/vertex_ai/hyperparameter_tuning_job.py,sha256=8mcAAABSVhZKNv1RYxrcAitzqpYpxxt1fP4ZGTre_VE,25479
165
164
  airflow/providers/google/cloud/operators/vertex_ai/model_service.py,sha256=zgxwHSSAbEqAYyvUnq1iIlruvywpKkBEwvtPyEeZJmA,34959
166
- airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py,sha256=7YNE2YCksYzQXk6ZxWUuhX11AijBuGGpIqjm4sEwoC8,23043
165
+ airflow/providers/google/cloud/operators/vertex_ai/pipeline_job.py,sha256=_NWaEgBM0URBi_Wrel2wl6dH11BcriZ446BOuVqOYI8,22963
167
166
  airflow/providers/google/cloud/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
168
- airflow/providers/google/cloud/secrets/secret_manager.py,sha256=TjwmGeNYlp4KjsuIg53ts6KmtL83omUVAY5NdMTIEmI,8946
167
+ airflow/providers/google/cloud/secrets/secret_manager.py,sha256=ht03MwHSQsNJoFptd9i25212TrrOw1pjek5gaA1Is5Q,9034
169
168
  airflow/providers/google/cloud/sensors/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
170
169
  airflow/providers/google/cloud/sensors/bigquery.py,sha256=gwizpZlh0uzbfjkoOEMPybyDxDrS20v7i_KZDdrX8QM,15838
171
- airflow/providers/google/cloud/sensors/bigquery_dts.py,sha256=xfLN9qbpfEoe9curzBJhyAhlgqPCx1g4TYLBnQ6Pous,6533
172
- airflow/providers/google/cloud/sensors/bigtable.py,sha256=TYWUE2AXBWVFdCJY_bSAVL3wRJA39WRTDMYDSp7LbsY,5060
170
+ airflow/providers/google/cloud/sensors/bigquery_dts.py,sha256=YpLD4s6lt3R0zeSCP_oY-z8WBit2z9q8ov8po6ttMH0,6621
171
+ airflow/providers/google/cloud/sensors/bigtable.py,sha256=iVQDpUjZKcjvkFCI98Ea28md6GPrRc4VLsZcQJiGmjs,5148
173
172
  airflow/providers/google/cloud/sensors/cloud_composer.py,sha256=-dXgakV4d0RjQaGZ3SyY-rXeaT5yUNwnRBnkcVc55fI,5350
174
- airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py,sha256=_C1Psn7a8TzjzJxVOBQmpwluoDICtMcHjOcanA8wKzQ,4790
175
- airflow/providers/google/cloud/sensors/dataflow.py,sha256=mfKOwtiUmfIRqIVEjkhqo691Yi2HLhyZS11ZCzTE_kc,15158
173
+ airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py,sha256=8oviMlDS7GKNPodALwZ0JxLAB1k7IPPaSPDBnXFk4uE,4878
174
+ airflow/providers/google/cloud/sensors/dataflow.py,sha256=qaD8FQLzkycfgauP8kTSnsI_wD0B96SEI1ar9OxzV_I,25162
176
175
  airflow/providers/google/cloud/sensors/dataform.py,sha256=fX5Wu0Db1RXKPw5CV78cY7PtRHevNx-04ImLVMYMOjM,4964
177
- airflow/providers/google/cloud/sensors/datafusion.py,sha256=Ps-Gll4YkKxXEXXSQ-4FUlJRVkpfKMjLpuZ4P8I89h0,5832
176
+ airflow/providers/google/cloud/sensors/datafusion.py,sha256=R2__IaqNB8xx93MefkXBpe-7nePpYKfkwUZlNE_7Z1Y,5920
178
177
  airflow/providers/google/cloud/sensors/dataplex.py,sha256=YWTPabnFE_IwMKc3Q83vZL6_sc_eBwAfplI5_LkerlA,16774
179
178
  airflow/providers/google/cloud/sensors/dataprep.py,sha256=bpec49ybL8rLwddTYdc8mKja_Ol_f66j-IKJLeL53-Y,1913
180
- airflow/providers/google/cloud/sensors/dataproc.py,sha256=huh3_DPPKAQENzWD-vrf9eWr_wShiDTH5RToIylQd4M,8280
179
+ airflow/providers/google/cloud/sensors/dataproc.py,sha256=Mm3W-DMz0LBuKZc65y8HuI3rPcZtNSF3W_kgTeMyh6Y,8375
181
180
  airflow/providers/google/cloud/sensors/dataproc_metastore.py,sha256=A_Xq93QWK9F0fgooWHzd5_vtBpj8d6MdT9BUg8zkuwE,5808
182
- airflow/providers/google/cloud/sensors/gcs.py,sha256=Pf19Ua6ShV5vFcVtY-k9iOmToKN8BT-YEMxb6qIZPVM,25444
181
+ airflow/providers/google/cloud/sensors/gcs.py,sha256=Vl29ru9raZphUq4y5u5p39mGko_rlzCHZ2w3QhuHENQ,25451
183
182
  airflow/providers/google/cloud/sensors/looker.py,sha256=SQvoEdLIBXY-0OPyxVB3JJZhiMzuMr2JH77O0CUxxOs,4339
184
183
  airflow/providers/google/cloud/sensors/pubsub.py,sha256=DINQ9iK85qC3QemA7e7W9-wh2lDd5o40hqtK6BN_HMc,8521
185
- airflow/providers/google/cloud/sensors/tasks.py,sha256=nxRjVL2ckUiNYZV86ery9taIOFkw8H0qZ74AqDPPIlI,3397
186
- airflow/providers/google/cloud/sensors/workflows.py,sha256=1BZV-y2DfsaVJPV7o6zp69Ct1zzoEJW_TrVJo_qK8WI,5244
184
+ airflow/providers/google/cloud/sensors/tasks.py,sha256=Y2t5OYIH98tsIN7G2LwSKnYZsOAUCkLqoOYMdQvYlHc,3485
185
+ airflow/providers/google/cloud/sensors/workflows.py,sha256=iJdPt5J-9nTNFIWRcQqzXleyzbasJRsF5uPtvVfIxLA,5332
187
186
  airflow/providers/google/cloud/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
188
- airflow/providers/google/cloud/transfers/adls_to_gcs.py,sha256=BLA_78-_5rgy-Pdh5ChEcMadOoT5ywegmgYzRo-T_k4,6563
189
- airflow/providers/google/cloud/transfers/azure_blob_to_gcs.py,sha256=gOWKydikAyqACZdb573BSd9ptd9FdH1dzN1YDsNJ7hY,4641
190
- airflow/providers/google/cloud/transfers/azure_fileshare_to_gcs.py,sha256=Xo8nmMolywRfPxTTGBXl_LHm7wSIjQ-REYsGpq6RDFY,7759
187
+ airflow/providers/google/cloud/transfers/adls_to_gcs.py,sha256=ona1WA9oNhozj_JPI28sFUOukMJehkvQyjB558vfp4Q,6739
188
+ airflow/providers/google/cloud/transfers/azure_blob_to_gcs.py,sha256=kizj9bNJp_wBgWT2Ytk4Dsj1O0EpWssMKkA_n7PquUM,4813
189
+ airflow/providers/google/cloud/transfers/azure_fileshare_to_gcs.py,sha256=scvWzZ-98bNSLmfEQj4Q9G_EERCA3tsPjF_Jwp_18Tw,7931
191
190
  airflow/providers/google/cloud/transfers/bigquery_to_bigquery.py,sha256=jQzd_QtgGDAcfWvLgKPSQuH70t-GFFbzrV7vS6Y-Zd4,8180
192
- airflow/providers/google/cloud/transfers/bigquery_to_gcs.py,sha256=ecPSTbGFrl3Dgbq_4AEeXee-j-kks_iiyUmSzLKXZTQ,14766
193
- airflow/providers/google/cloud/transfers/bigquery_to_mssql.py,sha256=4GKrzxpUSgiTeK8DBS8UrqrC1AKiG0E4TYgTj9ZJjq8,4056
191
+ airflow/providers/google/cloud/transfers/bigquery_to_gcs.py,sha256=Hj4fMLxXuxdlnYvSjhnzbBPWmAii3oDYn80jkvyX2XE,14854
192
+ airflow/providers/google/cloud/transfers/bigquery_to_mssql.py,sha256=24MKm3FeZ1HLVnNhxVUre4nr5KztYJKFgc-yO55sdAk,4056
194
193
  airflow/providers/google/cloud/transfers/bigquery_to_mysql.py,sha256=zMEadzSW-lXrxvSVHimNX9NQN2_6Q55dzrqHehQJKlA,3092
195
194
  airflow/providers/google/cloud/transfers/bigquery_to_postgres.py,sha256=4vmVgmZlBzBJOPMnuW4nUiTee6l3QDyvVL8AqhD4YPA,1984
196
- airflow/providers/google/cloud/transfers/bigquery_to_sql.py,sha256=FhT6VoB2EAmYC58VWau3B5u2UxcC0UU0sokx_Tfa-zc,5541
195
+ airflow/providers/google/cloud/transfers/bigquery_to_sql.py,sha256=n9MdtPYPLTXQxiRYWSg9wW7zr340hVFMnV-e9Udg5Zk,5587
197
196
  airflow/providers/google/cloud/transfers/calendar_to_gcs.py,sha256=Yba_iwBxCFXW-jHcpB9fTd8bCgq5J4yJr764N1Xe7Ss,8399
198
197
  airflow/providers/google/cloud/transfers/cassandra_to_gcs.py,sha256=3f2Q6seMBXHbLOXYa3m5GDh6N8fY-IOQSn1lu6Jmnv4,15814
199
198
  airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py,sha256=FFUOMx6S4DRgFbIBIkRZKcHfwDICawSKSc16260PPuo,10322
200
- airflow/providers/google/cloud/transfers/gcs_to_bigquery.py,sha256=HH6yFeBLG40xdgNpMJhYKv9rDATf_17h54DuIpyL8jw,36711
201
- airflow/providers/google/cloud/transfers/gcs_to_gcs.py,sha256=PxNFwxRILCsSZm01QvpICQD5gw09fwYIqDRb_xBU5BM,25947
199
+ airflow/providers/google/cloud/transfers/gcs_to_bigquery.py,sha256=uCryybqvvXVbRZHO77OYi3K5tT7rvybPtBKR5PLNesQ,36690
200
+ airflow/providers/google/cloud/transfers/gcs_to_gcs.py,sha256=ItZBJZsIziOfRgCEAZ0-Z28K1afk-UcGD7cKDTGRVNA,26315
202
201
  airflow/providers/google/cloud/transfers/gcs_to_local.py,sha256=qWUR9TZrj3Z5WzvO7gBAbr_V8LNhVHCAnjdlVgyuZBY,5274
203
202
  airflow/providers/google/cloud/transfers/gcs_to_sftp.py,sha256=km9StbMCeVZc3Nupzkp9CJk9B2c_8dLmrbhwF1lTukU,8409
204
203
  airflow/providers/google/cloud/transfers/gdrive_to_gcs.py,sha256=mkpIzRJEPnrYwncWWmnKwBdbhvNFoYVyMcNiKwlLrz4,4149
@@ -216,23 +215,23 @@ airflow/providers/google/cloud/transfers/sheets_to_gcs.py,sha256=G6PdHaYKUEhL7ER
216
215
  airflow/providers/google/cloud/transfers/sql_to_gcs.py,sha256=BNVCKLMwxFkyrLU4q7xkD0fg1wdLxQJMLxXCAc05DRM,21771
217
216
  airflow/providers/google/cloud/transfers/trino_to_gcs.py,sha256=w8a9JBsxdqiVJePDHF-hpGW5eZWIyop-lbzBYZYabzA,7143
218
217
  airflow/providers/google/cloud/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
219
- airflow/providers/google/cloud/triggers/bigquery.py,sha256=zmfYyUVG069VZpf42prtjtgmkMh2yahi5VQwysIgjuQ,31604
218
+ airflow/providers/google/cloud/triggers/bigquery.py,sha256=0-YftqqySCZcRoUbAWHICXGTXKJ_Bup6iDXlHyVF9bk,32162
220
219
  airflow/providers/google/cloud/triggers/bigquery_dts.py,sha256=uHqkZPa32sIPBPmO8pqgTsebRS_D_wYIwd6wABwyJo4,6219
221
220
  airflow/providers/google/cloud/triggers/cloud_batch.py,sha256=AZDmqsJSaJT3X1Mp8F4uuC7oAgShUoiYIIqaIApqum0,6717
222
221
  airflow/providers/google/cloud/triggers/cloud_build.py,sha256=yLmims5zQ3RyIfdY1NOA0qAhwEkTwpvTyT2M3dPb8-M,5628
223
- airflow/providers/google/cloud/triggers/cloud_composer.py,sha256=jO27y_S-MNqaCP6RdIgnGxtn13AIvI_uk5qT9fM1cic,3033
222
+ airflow/providers/google/cloud/triggers/cloud_composer.py,sha256=QAsIGERSmHdKgcnGa-0Fx8fzHiWQg7rQm30SLDTw5SE,5270
224
223
  airflow/providers/google/cloud/triggers/cloud_run.py,sha256=MDuBMKcz26u0PmBNdt4aO8S-9KthV-6gpAx1rAMRw3k,6020
225
- airflow/providers/google/cloud/triggers/cloud_sql.py,sha256=Xy2P0_e1597zsY75Sd09mnK6UrvUeaHHEiSFsZBPEFM,3909
226
- airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py,sha256=EugdNxX4XZrFwO-IJxss0PgjEq-vmQ-W-LHTswiEp4o,5555
227
- airflow/providers/google/cloud/triggers/dataflow.py,sha256=xSHGlrXda-MYF8qIqKzXfPu9kO4mRF-hIsj8pFQhEZw,6148
224
+ airflow/providers/google/cloud/triggers/cloud_sql.py,sha256=dSkJ9ylQQtDZbiaY3IlXOl7SCSliZvinwZ6JXzfYAHI,3997
225
+ airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py,sha256=NWSja8kSlgUAlPGarqddt5DxTB-Ct9Vj1lLbfjKg6WI,5643
226
+ airflow/providers/google/cloud/triggers/dataflow.py,sha256=u6CzIncAU3rWsGKTyNHV4ibYSBTCqqOiFCa7dcWnqzE,28635
228
227
  airflow/providers/google/cloud/triggers/datafusion.py,sha256=blqNx4hLHRrLp-FQMCNR3yWmAZ2hCTfql2eyf5XY0P0,5985
229
228
  airflow/providers/google/cloud/triggers/dataplex.py,sha256=fEHbvNYgP-6htNkp9b7nmvea_r3Z6CIMfIh57NaWxFA,8334
230
- airflow/providers/google/cloud/triggers/dataproc.py,sha256=Cz9twXFTQ49pk8uJofk28UWKcVEhwkFBSBUAVBHgD9g,16091
229
+ airflow/providers/google/cloud/triggers/dataproc.py,sha256=DAERheg6jxHWBgy9A5K4cIbnL9FJpIyW53TwLneIAZI,20660
231
230
  airflow/providers/google/cloud/triggers/gcs.py,sha256=pMjeNOkWHkOyiAxeK-JoyDInUf2VNtefOZxp8K-aNjw,18973
232
231
  airflow/providers/google/cloud/triggers/kubernetes_engine.py,sha256=SGdJL6wZAkYj_o6KkqW2m_zOxO-J02nfEVkzkQE3lEU,12335
233
- airflow/providers/google/cloud/triggers/mlengine.py,sha256=YSt38fZSUjS0uSe73bbZVTekhENu6Zp91_dEOveW34Q,5177
232
+ airflow/providers/google/cloud/triggers/mlengine.py,sha256=qpOa9Gz8FmHDxXvPWrXO3M7snGbRTq92gy6kGafCUiY,5265
234
233
  airflow/providers/google/cloud/triggers/pubsub.py,sha256=LbKGL-g6WfeiRhmkItWwl8hRgI3Lr6B3Ib2GNChL4mg,5724
235
- airflow/providers/google/cloud/triggers/vertex_ai.py,sha256=KnjM1SspV2SIcvRK1SiQh1pPYZFOSAyoQykoqb3UkzE,6781
234
+ airflow/providers/google/cloud/triggers/vertex_ai.py,sha256=99ah7Rcc_kYBihDXGcekZvkUz7ZNyXKv7j6R3vddcCE,9927
236
235
  airflow/providers/google/cloud/utils/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
237
236
  airflow/providers/google/cloud/utils/bigquery.py,sha256=nMPUMpfsf-7QQEJG3wo1QqKuPGPwDUwKLGhE9SBjCaI,2145
238
237
  airflow/providers/google/cloud/utils/bigquery_get_data.py,sha256=srSJSckp8ljprQ5Z_zqUAgdaEJlrFedccwe9ISlJkPQ,2092
@@ -251,7 +250,7 @@ airflow/providers/google/common/consts.py,sha256=KKjQX0FO6HP4MuzS8DDfWPoQNk0mhdO
251
250
  airflow/providers/google/common/auth_backend/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
252
251
  airflow/providers/google/common/auth_backend/google_openid.py,sha256=HvUAoHfpuK8gZiss0DCgB7R3wk2c1aDjAhwc7GknV4c,4525
253
252
  airflow/providers/google/common/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
254
- airflow/providers/google/common/hooks/base_google.py,sha256=3FspU6udAuRPAguKbgL5Ap0uESQZ0mRe8z1chG5C2YE,30056
253
+ airflow/providers/google/common/hooks/base_google.py,sha256=eTwHZVpl0pZgB9C6sfNADx5iDOTcrlz9G1rVoxxJtuY,31453
255
254
  airflow/providers/google/common/hooks/discovery_api.py,sha256=dHA3AHwsY7ETWM1fRoNknZZgz4cMnWw4q0PTQt0TiNA,6767
256
255
  airflow/providers/google/common/links/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
257
256
  airflow/providers/google/common/links/storage.py,sha256=24tb1xQ00gbGyOu26wryNkTYXlk_9H-ieUra9WmuPIY,2265
@@ -261,9 +260,9 @@ airflow/providers/google/datasets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2x
261
260
  airflow/providers/google/datasets/bigquery.py,sha256=MzEAmuDEA8Dv9vmxQYZBW1sdvL3HDOFIbtzBR-EMgEU,1258
262
261
  airflow/providers/google/firebase/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
263
262
  airflow/providers/google/firebase/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
264
- airflow/providers/google/firebase/hooks/firestore.py,sha256=HLcXp7sZp0YkmHaxJnhK5wk7TsGlS4GSHicR5Z5ySnA,5641
263
+ airflow/providers/google/firebase/hooks/firestore.py,sha256=pj5mLOLdi1Kz6GExshy9T9xa1rELPWRrifhTvoS43tg,5668
265
264
  airflow/providers/google/firebase/operators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
266
- airflow/providers/google/firebase/operators/firestore.py,sha256=lEe73geY0wlr-XGcmKgBQhJ6rhghpaiV9HDqFZs6F0k,3784
265
+ airflow/providers/google/firebase/operators/firestore.py,sha256=r1T0Q17OkMd3xS-C_FJDeTM9qM6Vt1kPQWiWStcO3rc,3872
267
266
  airflow/providers/google/leveldb/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
268
267
  airflow/providers/google/leveldb/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
269
268
  airflow/providers/google/leveldb/hooks/leveldb.py,sha256=tP6ZbRHiVyAHI5UYJjlHGVtpPAxnTHV9f3hENzNJJm8,5792
@@ -304,7 +303,7 @@ airflow/providers/google/suite/transfers/gcs_to_gdrive.py,sha256=CxtVhp3wlEOBtjR
304
303
  airflow/providers/google/suite/transfers/gcs_to_sheets.py,sha256=4nwXWkTySeBXNuThPxzO7uww_hH6PthpppTeuShn27Q,4363
305
304
  airflow/providers/google/suite/transfers/local_to_drive.py,sha256=eYCJghA0Ou2vUUvN_wfBQvpt2yzR9RmmeNdPgh2Cbjo,6100
306
305
  airflow/providers/google/suite/transfers/sql_to_sheets.py,sha256=sORkYSUDArRPnvi8WCiXP7YIXtpAgpEPhf8cqgpu644,5220
307
- apache_airflow_providers_google-10.17.0rc1.dist-info/entry_points.txt,sha256=Ay1Uo7uHxdXCxWew3CyBHumZ44Ld-iR7AcSR2fY-PLw,102
308
- apache_airflow_providers_google-10.17.0rc1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
309
- apache_airflow_providers_google-10.17.0rc1.dist-info/METADATA,sha256=yYTiT9EQQjEQsQwBAf0RdDF9CBC9Y4a5bileM0i4RqQ,15934
310
- apache_airflow_providers_google-10.17.0rc1.dist-info/RECORD,,
306
+ apache_airflow_providers_google-10.18.0rc1.dist-info/entry_points.txt,sha256=Ay1Uo7uHxdXCxWew3CyBHumZ44Ld-iR7AcSR2fY-PLw,102
307
+ apache_airflow_providers_google-10.18.0rc1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
308
+ apache_airflow_providers_google-10.18.0rc1.dist-info/METADATA,sha256=rdT5loJM7JcAWARv1m_-eVgQHKeONV4ysrGa3N5YQoQ,15934
309
+ apache_airflow_providers_google-10.18.0rc1.dist-info/RECORD,,
@@ -1,289 +0,0 @@
1
- #
2
- # Licensed to the Apache Software Foundation (ASF) under one
3
- # or more contributor license agreements. See the NOTICE file
4
- # distributed with this work for additional information
5
- # regarding copyright ownership. The ASF licenses this file
6
- # to you under the Apache License, Version 2.0 (the
7
- # "License"); you may not use this file except in compliance
8
- # with the License. You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing,
13
- # software distributed under the License is distributed on an
14
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
- # KIND, either express or implied. See the License for the
16
- # specific language governing permissions and limitations
17
- # under the License.
18
- """
19
- Example Airflow DAG that performs query in a Cloud SQL instance.
20
-
21
- This DAG relies on the following OS environment variables
22
-
23
- * GCP_PROJECT_ID - Google Cloud project for the Cloud SQL instance
24
- * GCP_REGION - Google Cloud region where the database is created
25
- *
26
- * GCSQL_POSTGRES_INSTANCE_NAME - Name of the postgres Cloud SQL instance
27
- * GCSQL_POSTGRES_USER - Name of the postgres database user
28
- * GCSQL_POSTGRES_PASSWORD - Password of the postgres database user
29
- * GCSQL_POSTGRES_PUBLIC_IP - Public IP of the Postgres database
30
- * GCSQL_POSTGRES_PUBLIC_PORT - Port of the postgres database
31
- *
32
- * GCSQL_MYSQL_INSTANCE_NAME - Name of the postgres Cloud SQL instance
33
- * GCSQL_MYSQL_USER - Name of the mysql database user
34
- * GCSQL_MYSQL_PASSWORD - Password of the mysql database user
35
- * GCSQL_MYSQL_PUBLIC_IP - Public IP of the mysql database
36
- * GCSQL_MYSQL_PUBLIC_PORT - Port of the mysql database
37
- """
38
-
39
- from __future__ import annotations
40
-
41
- import os
42
- import subprocess
43
- from datetime import datetime
44
- from pathlib import Path
45
- from urllib.parse import quote_plus
46
-
47
- from airflow.models.dag import DAG
48
- from airflow.providers.google.cloud.operators.cloud_sql import CloudSQLExecuteQueryOperator
49
-
50
- GCP_PROJECT_ID = os.environ.get("GCP_PROJECT_ID", "example-project")
51
- GCP_REGION = os.environ.get("GCP_REGION", "europe-west1")
52
-
53
- GCSQL_POSTGRES_INSTANCE_NAME_QUERY = os.environ.get(
54
- "GCSQL_POSTGRES_INSTANCE_NAME_QUERY", "test-postgres-query"
55
- )
56
- GCSQL_POSTGRES_DATABASE_NAME = os.environ.get("GCSQL_POSTGRES_DATABASE_NAME", "postgresdb")
57
- GCSQL_POSTGRES_USER = os.environ.get("GCSQL_POSTGRES_USER", "postgres_user")
58
- GCSQL_POSTGRES_PASSWORD = os.environ.get("GCSQL_POSTGRES_PASSWORD", "JoxHlwrPzwch0gz9")
59
- GCSQL_POSTGRES_PUBLIC_IP = os.environ.get("GCSQL_POSTGRES_PUBLIC_IP", "0.0.0.0")
60
- GCSQL_POSTGRES_PUBLIC_PORT = os.environ.get("GCSQL_POSTGRES_PUBLIC_PORT", 5432)
61
- GCSQL_POSTGRES_CLIENT_CERT_FILE = os.environ.get(
62
- "GCSQL_POSTGRES_CLIENT_CERT_FILE", ".key/postgres-client-cert.pem"
63
- )
64
- GCSQL_POSTGRES_CLIENT_KEY_FILE = os.environ.get(
65
- "GCSQL_POSTGRES_CLIENT_KEY_FILE", ".key/postgres-client-key.pem"
66
- )
67
- GCSQL_POSTGRES_SERVER_CA_FILE = os.environ.get("GCSQL_POSTGRES_SERVER_CA_FILE", ".key/postgres-server-ca.pem")
68
-
69
- GCSQL_MYSQL_INSTANCE_NAME_QUERY = os.environ.get("GCSQL_MYSQL_INSTANCE_NAME_QUERY", "test-mysql-query")
70
- GCSQL_MYSQL_DATABASE_NAME = os.environ.get("GCSQL_MYSQL_DATABASE_NAME", "mysqldb")
71
- GCSQL_MYSQL_USER = os.environ.get("GCSQL_MYSQL_USER", "mysql_user")
72
- GCSQL_MYSQL_PASSWORD = os.environ.get("GCSQL_MYSQL_PASSWORD", "JoxHlwrPzwch0gz9")
73
- GCSQL_MYSQL_PUBLIC_IP = os.environ.get("GCSQL_MYSQL_PUBLIC_IP", "0.0.0.0")
74
- GCSQL_MYSQL_PUBLIC_PORT = os.environ.get("GCSQL_MYSQL_PUBLIC_PORT", 3306)
75
- GCSQL_MYSQL_CLIENT_CERT_FILE = os.environ.get("GCSQL_MYSQL_CLIENT_CERT_FILE", ".key/mysql-client-cert.pem")
76
- GCSQL_MYSQL_CLIENT_KEY_FILE = os.environ.get("GCSQL_MYSQL_CLIENT_KEY_FILE", ".key/mysql-client-key.pem")
77
- GCSQL_MYSQL_SERVER_CA_FILE = os.environ.get("GCSQL_MYSQL_SERVER_CA_FILE", ".key/mysql-server-ca.pem")
78
-
79
- SQL = [
80
- "CREATE TABLE IF NOT EXISTS TABLE_TEST (I INTEGER)",
81
- "CREATE TABLE IF NOT EXISTS TABLE_TEST (I INTEGER)", # shows warnings logged
82
- "INSERT INTO TABLE_TEST VALUES (0)",
83
- "CREATE TABLE IF NOT EXISTS TABLE_TEST2 (I INTEGER)",
84
- "DROP TABLE TABLE_TEST",
85
- "DROP TABLE TABLE_TEST2",
86
- ]
87
-
88
-
89
- # [START howto_operator_cloudsql_query_connections]
90
-
91
- HOME_DIR = Path.home()
92
-
93
-
94
- def get_absolute_path(path):
95
- """
96
- Returns absolute path.
97
- """
98
- return os.fspath(HOME_DIR / path)
99
-
100
-
101
- postgres_kwargs = {
102
- "user": quote_plus(GCSQL_POSTGRES_USER),
103
- "password": quote_plus(GCSQL_POSTGRES_PASSWORD),
104
- "public_port": GCSQL_POSTGRES_PUBLIC_PORT,
105
- "public_ip": quote_plus(GCSQL_POSTGRES_PUBLIC_IP),
106
- "project_id": quote_plus(GCP_PROJECT_ID),
107
- "location": quote_plus(GCP_REGION),
108
- "instance": quote_plus(GCSQL_POSTGRES_INSTANCE_NAME_QUERY),
109
- "database": quote_plus(GCSQL_POSTGRES_DATABASE_NAME),
110
- "client_cert_file": quote_plus(get_absolute_path(GCSQL_POSTGRES_CLIENT_CERT_FILE)),
111
- "client_key_file": quote_plus(get_absolute_path(GCSQL_POSTGRES_CLIENT_KEY_FILE)),
112
- "server_ca_file": quote_plus(get_absolute_path(GCSQL_POSTGRES_SERVER_CA_FILE)),
113
- }
114
-
115
- # The connections below are created using one of the standard approaches - via environment
116
- # variables named AIRFLOW_CONN_* . The connections can also be created in the database
117
- # of AIRFLOW (using command line or UI).
118
-
119
- # Postgres: connect via proxy over TCP
120
- os.environ["AIRFLOW_CONN_PROXY_POSTGRES_TCP"] = (
121
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
122
- "database_type=postgres&"
123
- "project_id={project_id}&"
124
- "location={location}&"
125
- "instance={instance}&"
126
- "use_proxy=True&"
127
- "sql_proxy_use_tcp=True".format(**postgres_kwargs)
128
- )
129
-
130
- # Postgres: connect via proxy over UNIX socket (specific proxy version)
131
- os.environ["AIRFLOW_CONN_PROXY_POSTGRES_SOCKET"] = (
132
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
133
- "database_type=postgres&"
134
- "project_id={project_id}&"
135
- "location={location}&"
136
- "instance={instance}&"
137
- "use_proxy=True&"
138
- "sql_proxy_version=v1.13&"
139
- "sql_proxy_use_tcp=False".format(**postgres_kwargs)
140
- )
141
-
142
- # Postgres: connect directly via TCP (non-SSL)
143
- os.environ["AIRFLOW_CONN_PUBLIC_POSTGRES_TCP"] = (
144
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
145
- "database_type=postgres&"
146
- "project_id={project_id}&"
147
- "location={location}&"
148
- "instance={instance}&"
149
- "use_proxy=False&"
150
- "use_ssl=False".format(**postgres_kwargs)
151
- )
152
-
153
- # Postgres: connect directly via TCP (SSL)
154
- os.environ["AIRFLOW_CONN_PUBLIC_POSTGRES_TCP_SSL"] = (
155
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
156
- "database_type=postgres&"
157
- "project_id={project_id}&"
158
- "location={location}&"
159
- "instance={instance}&"
160
- "use_proxy=False&"
161
- "use_ssl=True&"
162
- "sslcert={client_cert_file}&"
163
- "sslkey={client_key_file}&"
164
- "sslrootcert={server_ca_file}".format(**postgres_kwargs)
165
- )
166
-
167
- mysql_kwargs = {
168
- "user": quote_plus(GCSQL_MYSQL_USER),
169
- "password": quote_plus(GCSQL_MYSQL_PASSWORD),
170
- "public_port": GCSQL_MYSQL_PUBLIC_PORT,
171
- "public_ip": quote_plus(GCSQL_MYSQL_PUBLIC_IP),
172
- "project_id": quote_plus(GCP_PROJECT_ID),
173
- "location": quote_plus(GCP_REGION),
174
- "instance": quote_plus(GCSQL_MYSQL_INSTANCE_NAME_QUERY),
175
- "database": quote_plus(GCSQL_MYSQL_DATABASE_NAME),
176
- "client_cert_file": quote_plus(get_absolute_path(GCSQL_MYSQL_CLIENT_CERT_FILE)),
177
- "client_key_file": quote_plus(get_absolute_path(GCSQL_MYSQL_CLIENT_KEY_FILE)),
178
- "server_ca_file": quote_plus(get_absolute_path(GCSQL_MYSQL_SERVER_CA_FILE)),
179
- }
180
-
181
- # MySQL: connect via proxy over TCP (specific proxy version)
182
- os.environ["AIRFLOW_CONN_PROXY_MYSQL_TCP"] = (
183
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
184
- "database_type=mysql&"
185
- "project_id={project_id}&"
186
- "location={location}&"
187
- "instance={instance}&"
188
- "use_proxy=True&"
189
- "sql_proxy_version=v1.13&"
190
- "sql_proxy_use_tcp=True".format(**mysql_kwargs)
191
- )
192
-
193
- # MySQL: connect via proxy over UNIX socket using pre-downloaded Cloud Sql Proxy binary
194
- try:
195
- sql_proxy_binary_path = subprocess.check_output(["which", "cloud_sql_proxy"]).decode("utf-8").rstrip()
196
- except subprocess.CalledProcessError:
197
- sql_proxy_binary_path = "/tmp/anyhow_download_cloud_sql_proxy"
198
-
199
- os.environ["AIRFLOW_CONN_PROXY_MYSQL_SOCKET"] = (
200
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
201
- "database_type=mysql&"
202
- "project_id={project_id}&"
203
- "location={location}&"
204
- "instance={instance}&"
205
- "use_proxy=True&"
206
- "sql_proxy_use_tcp=False".format(**mysql_kwargs)
207
- )
208
-
209
- # MySQL: connect directly via TCP (non-SSL)
210
- os.environ["AIRFLOW_CONN_PUBLIC_MYSQL_TCP"] = (
211
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
212
- "database_type=mysql&"
213
- "project_id={project_id}&"
214
- "location={location}&"
215
- "instance={instance}&"
216
- "use_proxy=False&"
217
- "use_ssl=False".format(**mysql_kwargs)
218
- )
219
-
220
- # MySQL: connect directly via TCP (SSL) and with fixed Cloud Sql Proxy binary path
221
- os.environ["AIRFLOW_CONN_PUBLIC_MYSQL_TCP_SSL"] = (
222
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
223
- "database_type=mysql&"
224
- "project_id={project_id}&"
225
- "location={location}&"
226
- "instance={instance}&"
227
- "use_proxy=False&"
228
- "use_ssl=True&"
229
- "sslcert={client_cert_file}&"
230
- "sslkey={client_key_file}&"
231
- "sslrootcert={server_ca_file}".format(**mysql_kwargs)
232
- )
233
-
234
- # Special case: MySQL: connect directly via TCP (SSL) and with fixed Cloud Sql
235
- # Proxy binary path AND with missing project_id
236
-
237
- os.environ["AIRFLOW_CONN_PUBLIC_MYSQL_TCP_SSL_NO_PROJECT_ID"] = (
238
- "gcpcloudsql://{user}:{password}@{public_ip}:{public_port}/{database}?"
239
- "database_type=mysql&"
240
- "location={location}&"
241
- "instance={instance}&"
242
- "use_proxy=False&"
243
- "use_ssl=True&"
244
- "sslcert={client_cert_file}&"
245
- "sslkey={client_key_file}&"
246
- "sslrootcert={server_ca_file}".format(**mysql_kwargs)
247
- )
248
-
249
-
250
- # [END howto_operator_cloudsql_query_connections]
251
-
252
- # [START howto_operator_cloudsql_query_operators]
253
-
254
- connection_names = [
255
- "proxy_postgres_tcp",
256
- "proxy_postgres_socket",
257
- "public_postgres_tcp",
258
- "public_postgres_tcp_ssl",
259
- "proxy_mysql_tcp",
260
- "proxy_mysql_socket",
261
- "public_mysql_tcp",
262
- "public_mysql_tcp_ssl",
263
- "public_mysql_tcp_ssl_no_project_id",
264
- ]
265
-
266
- tasks = []
267
-
268
-
269
- with DAG(
270
- dag_id="example_gcp_sql_query",
271
- start_date=datetime(2021, 1, 1),
272
- catchup=False,
273
- tags=["example"],
274
- ) as dag:
275
- prev_task = None
276
-
277
- for connection_name in connection_names:
278
- task = CloudSQLExecuteQueryOperator(
279
- gcp_cloudsql_conn_id=connection_name,
280
- task_id="example_gcp_sql_task_" + connection_name,
281
- sql=SQL,
282
- sql_proxy_binary_path=sql_proxy_binary_path,
283
- )
284
- tasks.append(task)
285
- if prev_task:
286
- prev_task >> task
287
- prev_task = task
288
-
289
- # [END howto_operator_cloudsql_query_operators]