apache-airflow-providers-microsoft-azure 12.8.1rc1__tar.gz → 12.9.0rc1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/PKG-INFO +8 -8
  2. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/README.rst +4 -4
  3. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/changelog.rst +41 -8
  4. apache_airflow_providers_microsoft_azure-12.9.0rc1/docs/connections/message_bus.rst +99 -0
  5. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/index.rst +5 -5
  6. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/provider.yaml +6 -2
  7. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/pyproject.toml +4 -4
  8. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/__init__.py +3 -3
  9. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/get_provider_info.py +5 -1
  10. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/asb.py +54 -0
  11. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/synapse.py +2 -2
  12. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/container_instances.py +79 -3
  13. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/msgraph.py +2 -2
  14. apache_airflow_providers_microsoft_azure-12.9.0rc1/src/airflow/providers/microsoft/azure/triggers/message_bus.py +223 -0
  15. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_container_instances.py +60 -0
  16. apache_airflow_providers_microsoft_azure-12.9.0rc1/tests/unit/microsoft/azure/triggers/test_message_bus.py +286 -0
  17. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/LICENSE +0 -0
  18. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/NOTICE +0 -0
  19. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/.latest-doc-only-change.txt +0 -0
  20. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/commits.rst +0 -0
  21. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/conf.py +0 -0
  22. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/configurations-ref.rst +0 -0
  23. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/acr.rst +0 -0
  24. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/adf.rst +0 -0
  25. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/adl.rst +0 -0
  26. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/adls_v2.rst +0 -0
  27. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/adx.rst +0 -0
  28. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/asb.rst +0 -0
  29. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/azure.rst +0 -0
  30. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/azure_batch.rst +0 -0
  31. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/azure_container_volume.rst +0 -0
  32. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/azure_cosmos.rst +0 -0
  33. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/azure_fileshare.rst +0 -0
  34. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/azure_synapse.rst +0 -0
  35. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/images/msgraph.png +0 -0
  36. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/index.rst +0 -0
  37. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/msgraph.rst +0 -0
  38. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/powerbi.rst +0 -0
  39. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/connections/wasb.rst +0 -0
  40. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/filesystems/index.rst +0 -0
  41. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/filesystems/msgraph.rst +0 -0
  42. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/installing-providers-from-sources.rst +0 -0
  43. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Azure-Cosmos-DB.svg +0 -0
  44. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Azure-Data-Factory.svg +0 -0
  45. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Azure-Files.svg +0 -0
  46. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Blob-Storage.svg +0 -0
  47. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Container-Instances.svg +0 -0
  48. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Data-Lake-Storage.svg +0 -0
  49. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Microsoft-Azure-Batch.png +0 -0
  50. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Microsoft-Azure-Data-Explorer.png +0 -0
  51. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Microsoft-Azure-Fileshare.png +0 -0
  52. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Microsoft-Azure.png +0 -0
  53. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Microsoft-Graph-API.png +0 -0
  54. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/integration-logos/Service-Bus.svg +0 -0
  55. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/logging/index.rst +0 -0
  56. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/_partials/prerequisite_tasks.rst +0 -0
  57. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/adf_run_pipeline.rst +0 -0
  58. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/adls.rst +0 -0
  59. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/asb.rst +0 -0
  60. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/azure_synapse.rst +0 -0
  61. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/batch.rst +0 -0
  62. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/index.rst +0 -0
  63. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/msgraph.rst +0 -0
  64. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/operators/powerbi.rst +0 -0
  65. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/redirects.txt +0 -0
  66. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/secrets-backends/azure-key-vault.rst +0 -0
  67. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/security.rst +0 -0
  68. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/sensors/cosmos_document_sensor.rst +0 -0
  69. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/sensors/index.rst +0 -0
  70. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/sensors/msgraph.rst +0 -0
  71. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/sensors/wasb_sensors.rst +0 -0
  72. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/transfer/index.rst +0 -0
  73. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/transfer/local_to_adls.rst +0 -0
  74. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/transfer/local_to_wasb.rst +0 -0
  75. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/transfer/s3_to_wasb.rst +0 -0
  76. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/docs/transfer/sftp_to_wasb.rst +0 -0
  77. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/newsfragments/51944.bugfix.rst +0 -0
  78. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/__init__.py +0 -0
  79. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/__init__.py +0 -0
  80. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/__init__.py +0 -0
  81. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/fs/__init__.py +0 -0
  82. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/fs/adls.py +0 -0
  83. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/fs/msgraph.py +0 -0
  84. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/__init__.py +0 -0
  85. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/adx.py +0 -0
  86. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/base_azure.py +0 -0
  87. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/batch.py +0 -0
  88. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/container_instance.py +0 -0
  89. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/container_registry.py +0 -0
  90. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/container_volume.py +0 -0
  91. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/cosmos.py +0 -0
  92. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/data_factory.py +0 -0
  93. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/data_lake.py +0 -0
  94. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/fileshare.py +0 -0
  95. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/msgraph.py +0 -0
  96. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/powerbi.py +0 -0
  97. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/hooks/wasb.py +0 -0
  98. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/log/__init__.py +0 -0
  99. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/log/wasb_task_handler.py +0 -0
  100. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/__init__.py +0 -0
  101. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/adls.py +0 -0
  102. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/adx.py +0 -0
  103. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/asb.py +0 -0
  104. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/batch.py +0 -0
  105. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/cosmos.py +0 -0
  106. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/data_factory.py +0 -0
  107. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/powerbi.py +0 -0
  108. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/synapse.py +0 -0
  109. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/operators/wasb_delete_blob.py +0 -0
  110. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/secrets/__init__.py +0 -0
  111. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/secrets/key_vault.py +0 -0
  112. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/sensors/__init__.py +0 -0
  113. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/sensors/cosmos.py +0 -0
  114. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/sensors/data_factory.py +0 -0
  115. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/sensors/msgraph.py +0 -0
  116. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/sensors/wasb.py +0 -0
  117. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/transfers/__init__.py +0 -0
  118. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/transfers/local_to_adls.py +0 -0
  119. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/transfers/local_to_wasb.py +0 -0
  120. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py +0 -0
  121. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/transfers/s3_to_wasb.py +0 -0
  122. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py +0 -0
  123. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/triggers/__init__.py +0 -0
  124. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/triggers/data_factory.py +0 -0
  125. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/triggers/msgraph.py +0 -0
  126. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/triggers/powerbi.py +0 -0
  127. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/triggers/wasb.py +0 -0
  128. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/utils.py +0 -0
  129. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/src/airflow/providers/microsoft/azure/version_compat.py +0 -0
  130. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/conftest.py +0 -0
  131. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/__init__.py +0 -0
  132. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/__init__.py +0 -0
  133. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/__init__.py +0 -0
  134. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_adf_run_pipeline.py +0 -0
  135. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_adls_create.py +0 -0
  136. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_adls_delete.py +0 -0
  137. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_adls_list.py +0 -0
  138. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_azure_batch_operator.py +0 -0
  139. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_azure_container_instances.py +0 -0
  140. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_azure_cosmosdb.py +0 -0
  141. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_azure_service_bus.py +0 -0
  142. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_azure_synapse.py +0 -0
  143. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_fileshare.py +0 -0
  144. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_local_to_adls.py +0 -0
  145. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_local_to_wasb.py +0 -0
  146. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_msfabric.py +0 -0
  147. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_msgraph.py +0 -0
  148. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_powerbi.py +0 -0
  149. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_powerbi_dataset_list.py +0 -0
  150. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_powerbi_dataset_refresh.py +0 -0
  151. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_powerbi_workspace_list.py +0 -0
  152. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_s3_to_wasb.py +0 -0
  153. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_sftp_to_wasb.py +0 -0
  154. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_synapse_run_pipeline.py +0 -0
  155. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/system/microsoft/azure/example_wasb_sensors.py +0 -0
  156. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/__init__.py +0 -0
  157. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/__init__.py +0 -0
  158. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/__init__.py +0 -0
  159. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/fs/__init__.py +0 -0
  160. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/fs/test_adls.py +0 -0
  161. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/fs/test_msgraph.py +0 -0
  162. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/__init__.py +0 -0
  163. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_adx.py +0 -0
  164. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_asb.py +0 -0
  165. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_base_azure.py +0 -0
  166. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_batch.py +0 -0
  167. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_container_instance.py +0 -0
  168. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_container_registry.py +0 -0
  169. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_container_volume.py +0 -0
  170. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_cosmos.py +0 -0
  171. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_data_factory.py +0 -0
  172. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_data_lake.py +0 -0
  173. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_fileshare.py +0 -0
  174. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_msgraph.py +0 -0
  175. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_powerbi.py +0 -0
  176. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_synapse.py +0 -0
  177. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_synapse_pipeline.py +0 -0
  178. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/hooks/test_wasb.py +0 -0
  179. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/log/__init__.py +0 -0
  180. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/log/test_wasb_task_handler.py +0 -0
  181. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/__init__.py +0 -0
  182. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_adls_create.py +0 -0
  183. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_adls_delete.py +0 -0
  184. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_adls_list.py +0 -0
  185. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_adx.py +0 -0
  186. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_asb.py +0 -0
  187. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_batch.py +0 -0
  188. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_cosmos.py +0 -0
  189. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_data_factory.py +0 -0
  190. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_msgraph.py +0 -0
  191. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_powerbi.py +0 -0
  192. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_powerbi_list.py +0 -0
  193. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_synapse.py +0 -0
  194. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/operators/test_wasb_delete_blob.py +0 -0
  195. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/resources/__init__.py +0 -0
  196. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/resources/dummy.pdf +0 -0
  197. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/resources/next_users.json +0 -0
  198. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/resources/status.json +0 -0
  199. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/resources/users.json +0 -0
  200. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/secrets/__init__.py +0 -0
  201. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/secrets/test_key_vault.py +0 -0
  202. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/sensors/__init__.py +0 -0
  203. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/sensors/test_cosmos.py +0 -0
  204. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/sensors/test_data_factory.py +0 -0
  205. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/sensors/test_msgraph.py +0 -0
  206. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/sensors/test_wasb.py +0 -0
  207. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/test_utils.py +0 -0
  208. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/transfers/__init__.py +0 -0
  209. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/transfers/test_local_to_adls.py +0 -0
  210. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/transfers/test_local_to_wasb.py +0 -0
  211. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/transfers/test_oracle_to_azure_data_lake.py +0 -0
  212. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/transfers/test_s3_to_wasb.py +0 -0
  213. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/transfers/test_sftp_to_wasb.py +0 -0
  214. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/triggers/__init__.py +0 -0
  215. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/triggers/test_data_factory.py +0 -0
  216. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/triggers/test_msgraph.py +0 -0
  217. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/triggers/test_powerbi.py +0 -0
  218. {apache_airflow_providers_microsoft_azure-12.8.1rc1 → apache_airflow_providers_microsoft_azure-12.9.0rc1}/tests/unit/microsoft/azure/triggers/test_wasb.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-microsoft-azure
3
- Version: 12.8.1rc1
3
+ Version: 12.9.0rc1
4
4
  Summary: Provider package apache-airflow-providers-microsoft-azure for Apache Airflow
5
5
  Keywords: airflow-provider,microsoft.azure,airflow,integration
6
6
  Author-email: Apache Software Foundation <dev@airflow.apache.org>
@@ -22,7 +22,7 @@ Classifier: Programming Language :: Python :: 3.13
22
22
  Classifier: Topic :: System :: Monitoring
23
23
  License-File: LICENSE
24
24
  License-File: NOTICE
25
- Requires-Dist: apache-airflow>=2.10.0rc1
25
+ Requires-Dist: apache-airflow>=2.11.0rc1
26
26
  Requires-Dist: apache-airflow-providers-common-compat>=1.8.0rc1
27
27
  Requires-Dist: adlfs>=2023.10.0
28
28
  Requires-Dist: azure-batch>=8.0.0
@@ -57,8 +57,8 @@ Requires-Dist: apache-airflow-providers-common-compat ; extra == "common-compat"
57
57
  Requires-Dist: apache-airflow-providers-oracle ; extra == "oracle"
58
58
  Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
59
59
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
60
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.1/changelog.html
61
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.1
60
+ Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.9.0/changelog.html
61
+ Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.9.0
62
62
  Project-URL: Mastodon, https://fosstodon.org/@airflow
63
63
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
64
64
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -93,7 +93,7 @@ Provides-Extra: sftp
93
93
 
94
94
  Package ``apache-airflow-providers-microsoft-azure``
95
95
 
96
- Release: ``12.8.1``
96
+ Release: ``12.9.0``
97
97
 
98
98
 
99
99
  `Microsoft Azure <https://azure.microsoft.com/>`__
@@ -106,7 +106,7 @@ This is a provider package for ``microsoft.azure`` provider. All classes for thi
106
106
  are in ``airflow.providers.microsoft.azure`` python package.
107
107
 
108
108
  You can find package information and changelog for the provider
109
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.1/>`_.
109
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.9.0/>`_.
110
110
 
111
111
  Installation
112
112
  ------------
@@ -123,7 +123,7 @@ Requirements
123
123
  ========================================== ===========================
124
124
  PIP package Version required
125
125
  ========================================== ===========================
126
- ``apache-airflow`` ``>=2.10.0``
126
+ ``apache-airflow`` ``>=2.11.0``
127
127
  ``apache-airflow-providers-common-compat`` ``>=1.8.0``
128
128
  ``adlfs`` ``>=2023.10.0``
129
129
  ``azure-batch`` ``>=8.0.0``
@@ -190,5 +190,5 @@ Extra Dependencies
190
190
  ================= ==========================================
191
191
 
192
192
  The changelog for the provider package can be found in the
193
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.1/changelog.html>`_.
193
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.9.0/changelog.html>`_.
194
194
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  Package ``apache-airflow-providers-microsoft-azure``
25
25
 
26
- Release: ``12.8.1``
26
+ Release: ``12.9.0``
27
27
 
28
28
 
29
29
  `Microsoft Azure <https://azure.microsoft.com/>`__
@@ -36,7 +36,7 @@ This is a provider package for ``microsoft.azure`` provider. All classes for thi
36
36
  are in ``airflow.providers.microsoft.azure`` python package.
37
37
 
38
38
  You can find package information and changelog for the provider
39
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.1/>`_.
39
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.9.0/>`_.
40
40
 
41
41
  Installation
42
42
  ------------
@@ -53,7 +53,7 @@ Requirements
53
53
  ========================================== ===========================
54
54
  PIP package Version required
55
55
  ========================================== ===========================
56
- ``apache-airflow`` ``>=2.10.0``
56
+ ``apache-airflow`` ``>=2.11.0``
57
57
  ``apache-airflow-providers-common-compat`` ``>=1.8.0``
58
58
  ``adlfs`` ``>=2023.10.0``
59
59
  ``azure-batch`` ``>=8.0.0``
@@ -120,4 +120,4 @@ Extra Dependencies
120
120
  ================= ==========================================
121
121
 
122
122
  The changelog for the provider package can be found in the
123
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.1/changelog.html>`_.
123
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.9.0/changelog.html>`_.
@@ -27,6 +27,35 @@
27
27
  Changelog
28
28
  ---------
29
29
 
30
+ 12.9.0
31
+ ......
32
+
33
+ .. note::
34
+ This release of provider is only available for Airflow 2.11+ as explained in the
35
+ Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>_.
36
+
37
+ Features
38
+ ~~~~~~~~
39
+
40
+ * ``Add Azure Service Bus Queue and Subscription triggers for async message processing (#53356)``
41
+ * ``Add managed identity assignment support (#58364)``
42
+
43
+ Bug Fixes
44
+ ~~~~~~~~~
45
+
46
+ * ``Fix Microsoft azure provider filesystem metadata (#58568)``
47
+ * ``Add _ensure_identity, modifies files, and tests (#58563)``
48
+
49
+ Misc
50
+ ~~~~
51
+
52
+ * ``Move out some exceptions to TaskSDK (#54505)``
53
+ * ``Bump minimum Airflow version in providers to Airflow 2.11.0 (#58612)``
54
+
55
+ .. Below changes are excluded from the changelog. Move them to
56
+ appropriate section above if needed. Do not delete the lines(!):
57
+ * ``Updates to release process of providers (#58316)``
58
+
30
59
  12.8.1
31
60
  ......
32
61
 
@@ -123,8 +152,6 @@ Doc-only
123
152
  * ``Fix short names in test_adls (#54907)``
124
153
  * ``Move trigger_rule utils from 'airflow/utils' to 'airflow.task'and integrate with Execution API spec (#53389)``
125
154
  * ``Switch pre-commit to prek (#54258)``
126
-
127
- .. Review and move the new changes to one of the sections above:
128
155
  * ``Fix Airflow 2 reference in README/index of providers (#55240)``
129
156
 
130
157
  12.6.1
@@ -584,7 +611,8 @@ Misc
584
611
 
585
612
  * ``implement per-provider tests with lowest-direct dependency resolution (#39946)``
586
613
 
587
- .. Review and move the new changes to one of the sections above:
614
+ .. Below changes are excluded from the changelog. Move them to
615
+ appropriate section above if needed. Do not delete the lines(!):
588
616
  * ``Revert "refactor: Make sure xcoms work correctly in multi-threaded environmen…" (#40300)``
589
617
  * ``refactor: Make sure xcoms work correctly in multi-threaded environment by taking the map_index into account (#40297)``
590
618
 
@@ -627,7 +655,8 @@ Misc
627
655
  * ``Faster 'airflow_version' imports (#39552)``
628
656
  * ``Simplify 'airflow_version' imports (#39497)``
629
657
 
630
- .. Review and move the new changes to one of the sections above:
658
+ .. Below changes are excluded from the changelog. Move them to
659
+ appropriate section above if needed. Do not delete the lines(!):
631
660
  * ``Prepare docs 1st wave May 2024 (#39328)``
632
661
 
633
662
  10.0.0
@@ -663,7 +692,8 @@ Misc
663
692
  * ``update to latest service bus (#38384)``
664
693
  * ``Limit azure-cosmos (#38175)``
665
694
 
666
- .. Review and move the new changes to one of the sections above:
695
+ .. Below changes are excluded from the changelog. Move them to
696
+ appropriate section above if needed. Do not delete the lines(!):
667
697
  * ``fix: try002 for provider microsoft azure (#38805)``
668
698
  * ``Bump ruff to 0.3.3 (#38240)``
669
699
 
@@ -704,7 +734,8 @@ Misc
704
734
 
705
735
  * ``feat: Switch all class, functions, methods deprecations to decorators (#36876)``
706
736
 
707
- .. Review and move the new changes to one of the sections above:
737
+ .. Below changes are excluded from the changelog. Move them to
738
+ appropriate section above if needed. Do not delete the lines(!):
708
739
  * ``Revert "Provide the logger_name param in providers hooks in order to override the logger name (#36675)" (#37015)``
709
740
  * ``Fix stacklevel in warnings.warn into the providers (#36831)``
710
741
  * ``Standardize airflow build process and switch to Hatchling build backend (#36537)``
@@ -895,7 +926,8 @@ Misc
895
926
  * ``Consolidate hook management in AzureBatchOperator (#34437)``
896
927
  * ``Consolidate hook management in AzureDataExplorerQueryOperator (#34436)``
897
928
 
898
- .. Review and move the new changes to one of the sections above:
929
+ .. Below changes are excluded from the changelog. Move them to
930
+ appropriate section above if needed. Do not delete the lines(!):
899
931
  * ``Refactor: consolidate import time in providers (#34402)``
900
932
  * ``Refactor usage of str() in providers (#34320)``
901
933
  * ``Refactor: reduce some conditions in providers (#34440)``
@@ -1043,7 +1075,8 @@ Misc
1043
1075
 
1044
1076
  * ``Moves 'AzureBlobStorageToGCSOperator' from Azure to Google provider (#32306)``
1045
1077
 
1046
- .. Review and move the new changes to one of the sections above:
1078
+ .. Below changes are excluded from the changelog. Move them to
1079
+ appropriate section above if needed. Do not delete the lines(!):
1047
1080
  * ``D205 Support - Providers: Stragglers and new additions (#32447)``
1048
1081
 
1049
1082
  6.2.0
@@ -0,0 +1,99 @@
1
+ .. Licensed to the Apache Software Foundation (ASF) under one
2
+ or more contributor license agreements. See the NOTICE file
3
+ distributed with this work for additional information
4
+ regarding copyright ownership. The ASF licenses this file
5
+ to you under the Apache License, Version 2.0 (the
6
+ "License"); you may not use this file except in compliance
7
+ with the License. You may obtain a copy of the License at
8
+
9
+ .. http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ .. Unless required by applicable law or agreed to in writing,
12
+ software distributed under the License is distributed on an
13
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ KIND, either express or implied. See the License for the
15
+ specific language governing permissions and limitations
16
+ under the License.
17
+
18
+ .. _howto/trigger:azure_service_bus_queue:
19
+
20
+ Microsoft Azure Service Bus Queue Trigger
21
+ =========================================
22
+
23
+ The Microsoft Azure Service Bus Queue trigger enables you to monitor Azure Service Bus queues for new messages and trigger DAG runs when messages arrive.
24
+
25
+ Authenticating to Azure
26
+ -----------------------
27
+
28
+ The trigger uses the connection you have configured in Airflow to connect to Azure.
29
+ Please refer to the :ref:`howto/connection:azure_service_bus` documentation for details on how to configure your connection.
30
+
31
+ Using the Trigger
32
+ -----------------
33
+
34
+ This example shows how to use the ``AzureServiceBusQueueTrigger``.
35
+
36
+ .. code-block:: python
37
+
38
+ from airflow.providers.microsoft.azure.triggers.message_bus import AzureServiceBusQueueTrigger
39
+
40
+ trigger = AzureServiceBusQueueTrigger(
41
+ queues=["my_queue"],
42
+ azure_service_bus_conn_id="azure_service_bus_default",
43
+ max_message_count=1,
44
+ poll_interval=5.0,
45
+ )
46
+
47
+ # The trigger will fire when a message is available in the queue.
48
+
49
+ .. _howto/trigger:azure_service_bus_subscription:
50
+
51
+ Microsoft Azure Service Bus Subscription Trigger
52
+ ================================================
53
+
54
+ The Microsoft Azure Service Bus Subscription trigger enables you to monitor Azure Service Bus topic subscriptions for new messages and trigger DAG runs when messages arrive.
55
+
56
+ Authenticating to Azure
57
+ -----------------------
58
+
59
+ The trigger uses the connection you have configured in Airflow to connect to Azure.
60
+ Please refer to the :ref:`howto/connection:azure_service_bus` documentation for details on how to configure your connection.
61
+
62
+ Using the Trigger
63
+ -----------------
64
+
65
+ This example shows how to use the ``AzureServiceBusSubscriptionTrigger``.
66
+
67
+ .. code-block:: python
68
+
69
+ from airflow.providers.microsoft.azure.triggers.message_bus import AzureServiceBusSubscriptionTrigger
70
+
71
+ trigger = AzureServiceBusSubscriptionTrigger(
72
+ topics=["my_topic"],
73
+ subscription_name="my_subscription",
74
+ azure_service_bus_conn_id="azure_service_bus_default",
75
+ max_message_count=1,
76
+ poll_interval=5.0,
77
+ )
78
+
79
+ # The trigger will fire when a message is available in the topic subscription.
80
+
81
+ Azure Service Bus Message Queue
82
+ ===============================
83
+
84
+ Azure Service Bus Queue Provider
85
+ --------------------------------
86
+
87
+ Implemented by :class:`~airflow.providers.microsoft.azure.triggers.message_bus.AzureServiceBusQueueTrigger`
88
+
89
+ The Azure Service Bus Queue Provider is a message queue provider that uses Azure Service Bus queues.
90
+ It allows you to monitor Azure Service Bus queues for new messages and trigger DAG runs when messages arrive.
91
+
92
+
93
+ Azure Service Bus Subscription Provider
94
+ ---------------------------------------
95
+
96
+ Implemented by :class:`~airflow.providers.microsoft.azure.triggers.message_bus.AzureServiceBusSubscriptionTrigger`
97
+
98
+ The Azure Service Bus Subscription Provider is a message queue provider that uses Azure Service Bus topic subscriptions.
99
+ It allows you to monitor Azure Service Bus topic subscriptions for new messages and trigger DAG runs when messages arrive.
@@ -83,7 +83,7 @@ apache-airflow-providers-microsoft-azure package
83
83
  `Microsoft Azure <https://azure.microsoft.com/>`__
84
84
 
85
85
 
86
- Release: 12.8.1
86
+ Release: 12.9.0
87
87
 
88
88
  Provider package
89
89
  ----------------
@@ -101,12 +101,12 @@ For the minimum Airflow version supported, see ``Requirements`` below.
101
101
  Requirements
102
102
  ------------
103
103
 
104
- The minimum Apache Airflow version supported by this provider distribution is ``2.10.0``.
104
+ The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``.
105
105
 
106
106
  ========================================== ===========================
107
107
  PIP package Version required
108
108
  ========================================== ===========================
109
- ``apache-airflow`` ``>=2.10.0``
109
+ ``apache-airflow`` ``>=2.11.0``
110
110
  ``apache-airflow-providers-common-compat`` ``>=1.8.0``
111
111
  ``adlfs`` ``>=2023.10.0``
112
112
  ``azure-batch`` ``>=8.0.0``
@@ -166,5 +166,5 @@ Downloading official packages
166
166
  You can download officially released packages and verify their checksums and signatures from the
167
167
  `Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
168
168
 
169
- * `The apache-airflow-providers-microsoft-azure 12.8.1 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.8.1.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.8.1.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.8.1.tar.gz.sha512>`__)
170
- * `The apache-airflow-providers-microsoft-azure 12.8.1 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.8.1-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.8.1-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.8.1-py3-none-any.whl.sha512>`__)
169
+ * `The apache-airflow-providers-microsoft-azure 12.9.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.9.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.9.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.9.0.tar.gz.sha512>`__)
170
+ * `The apache-airflow-providers-microsoft-azure 12.9.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.9.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.9.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_azure-12.9.0-py3-none-any.whl.sha512>`__)
@@ -20,12 +20,13 @@ name: Microsoft Azure
20
20
  description: |
21
21
  `Microsoft Azure <https://azure.microsoft.com/>`__
22
22
  state: ready
23
- source-date-epoch: 1763069828
23
+ source-date-epoch: 1764110348
24
24
  # Note that those versions are maintained by release manager - do not update them manually
25
25
  # with the exception of case where other provider in sources has >= new provider version.
26
26
  # In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
27
27
  # to be done in the same PR
28
28
  versions:
29
+ - 12.9.0
29
30
  - 12.8.1
30
31
  - 12.8.0
31
32
  - 12.7.1
@@ -233,7 +234,7 @@ sensors:
233
234
 
234
235
  filesystems:
235
236
  - airflow.providers.microsoft.azure.fs.adls
236
- - airflow.providers.microsoft.azure.fs.msgraphfs
237
+ - airflow.providers.microsoft.azure.fs.msgraph
237
238
 
238
239
  hooks:
239
240
  - integration-name: Microsoft Azure Container Instances
@@ -294,6 +295,9 @@ triggers:
294
295
  - integration-name: Microsoft Power BI
295
296
  python-modules:
296
297
  - airflow.providers.microsoft.azure.triggers.powerbi
298
+ - integration-name: Microsoft Azure Service Bus
299
+ python-modules:
300
+ - airflow.providers.microsoft.azure.triggers.message_bus
297
301
 
298
302
  transfers:
299
303
  - source-integration-name: Local
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-microsoft-azure"
28
- version = "12.8.1rc1"
28
+ version = "12.9.0rc1"
29
29
  description = "Provider package apache-airflow-providers-microsoft-azure for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  license = "Apache-2.0"
@@ -58,7 +58,7 @@ requires-python = ">=3.10"
58
58
  # Make sure to run ``prek update-providers-dependencies --all-files``
59
59
  # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
60
60
  dependencies = [
61
- "apache-airflow>=2.10.0rc1",
61
+ "apache-airflow>=2.11.0rc1",
62
62
  "apache-airflow-providers-common-compat>=1.8.0rc1",
63
63
  "adlfs>=2023.10.0",
64
64
  "azure-batch>=8.0.0",
@@ -151,8 +151,8 @@ apache-airflow-providers-common-sql = {workspace = true}
151
151
  apache-airflow-providers-standard = {workspace = true}
152
152
 
153
153
  [project.urls]
154
- "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.1"
155
- "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.1/changelog.html"
154
+ "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.9.0"
155
+ "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.9.0/changelog.html"
156
156
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
157
157
  "Source Code" = "https://github.com/apache/airflow"
158
158
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "12.8.1"
32
+ __version__ = "12.9.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
- "2.10.0"
35
+ "2.11.0"
36
36
  ):
37
37
  raise RuntimeError(
38
- f"The package `apache-airflow-providers-microsoft-azure:{__version__}` needs Apache Airflow 2.10.0+"
38
+ f"The package `apache-airflow-providers-microsoft-azure:{__version__}` needs Apache Airflow 2.11.0+"
39
39
  )
@@ -200,7 +200,7 @@ def get_provider_info():
200
200
  ],
201
201
  "filesystems": [
202
202
  "airflow.providers.microsoft.azure.fs.adls",
203
- "airflow.providers.microsoft.azure.fs.msgraphfs",
203
+ "airflow.providers.microsoft.azure.fs.msgraph",
204
204
  ],
205
205
  "hooks": [
206
206
  {
@@ -281,6 +281,10 @@ def get_provider_info():
281
281
  "integration-name": "Microsoft Power BI",
282
282
  "python-modules": ["airflow.providers.microsoft.azure.triggers.powerbi"],
283
283
  },
284
+ {
285
+ "integration-name": "Microsoft Azure Service Bus",
286
+ "python-modules": ["airflow.providers.microsoft.azure.triggers.message_bus"],
287
+ },
284
288
  ],
285
289
  "transfers": [
286
290
  {
@@ -606,6 +606,60 @@ class MessageHook(BaseAzureServiceBusHook):
606
606
  for msg in received_msgs:
607
607
  self._process_message(msg, context, message_callback, subscription_receiver)
608
608
 
609
+ def read_message(
610
+ self,
611
+ queue_name: str,
612
+ max_wait_time: float | None = None,
613
+ ) -> ServiceBusReceivedMessage | None:
614
+ """
615
+ Read a single message from a Service Bus queue without callback processing.
616
+
617
+ :param queue_name: The name of the queue to read from.
618
+ :param max_wait_time: Maximum time to wait for messages (seconds).
619
+ :return: The received message or None if no message is available.
620
+ """
621
+ with (
622
+ self.get_conn() as service_bus_client,
623
+ service_bus_client.get_queue_receiver(queue_name=queue_name) as receiver,
624
+ receiver,
625
+ ):
626
+ received_msgs = receiver.receive_messages(max_message_count=1, max_wait_time=max_wait_time)
627
+ if received_msgs:
628
+ msg = received_msgs[0]
629
+ receiver.complete_message(msg)
630
+ return msg
631
+ return None
632
+
633
+ def read_subscription_message(
634
+ self,
635
+ topic_name: str,
636
+ subscription_name: str,
637
+ max_wait_time: float | None = None,
638
+ ) -> ServiceBusReceivedMessage | None:
639
+ """
640
+ Read a single message from a Service Bus topic subscription without callback processing.
641
+
642
+ :param topic_name: The name of the topic.
643
+ :param subscription_name: The name of the subscription.
644
+ :param max_wait_time: Maximum time to wait for messages (seconds).
645
+ :return: The received message or None if no message is available.
646
+ """
647
+ with (
648
+ self.get_conn() as service_bus_client,
649
+ service_bus_client.get_subscription_receiver(
650
+ topic_name, subscription_name
651
+ ) as subscription_receiver,
652
+ subscription_receiver,
653
+ ):
654
+ received_msgs = subscription_receiver.receive_messages(
655
+ max_message_count=1, max_wait_time=max_wait_time
656
+ )
657
+ if received_msgs:
658
+ msg = received_msgs[0]
659
+ subscription_receiver.complete_message(msg)
660
+ return msg
661
+ return None
662
+
609
663
  def _process_message(
610
664
  self,
611
665
  msg: ServiceBusReceivedMessage,
@@ -24,8 +24,8 @@ from azure.identity import ClientSecretCredential, DefaultAzureCredential
24
24
  from azure.synapse.artifacts import ArtifactsClient
25
25
  from azure.synapse.spark import SparkClient
26
26
 
27
- from airflow.exceptions import AirflowException, AirflowTaskTimeout
28
- from airflow.providers.common.compat.sdk import BaseHook
27
+ from airflow.exceptions import AirflowException
28
+ from airflow.providers.common.compat.sdk import AirflowTaskTimeout, BaseHook
29
29
  from airflow.providers.microsoft.azure.utils import (
30
30
  add_managed_identity_connection_widgets,
31
31
  get_field,
@@ -21,26 +21,29 @@ import re
21
21
  import time
22
22
  from collections import namedtuple
23
23
  from collections.abc import Sequence
24
- from typing import TYPE_CHECKING, Any
24
+ from typing import TYPE_CHECKING, Any, cast
25
25
 
26
26
  from azure.mgmt.containerinstance.models import (
27
27
  Container,
28
28
  ContainerGroup,
29
29
  ContainerGroupDiagnostics,
30
+ ContainerGroupIdentity,
30
31
  ContainerGroupSubnetId,
31
32
  ContainerPort,
32
33
  DnsConfiguration,
33
34
  EnvironmentVariable,
34
35
  IpAddress,
36
+ ResourceIdentityType,
35
37
  ResourceRequests,
36
38
  ResourceRequirements,
39
+ UserAssignedIdentities,
37
40
  Volume as _AzureVolume,
38
41
  VolumeMount,
39
42
  )
40
43
  from msrestazure.azure_exceptions import CloudError
41
44
 
42
- from airflow.exceptions import AirflowException, AirflowTaskTimeout
43
- from airflow.providers.common.compat.sdk import BaseOperator
45
+ from airflow.exceptions import AirflowException
46
+ from airflow.providers.common.compat.sdk import AirflowTaskTimeout, BaseOperator
44
47
  from airflow.providers.microsoft.azure.hooks.container_instance import AzureContainerInstanceHook
45
48
  from airflow.providers.microsoft.azure.hooks.container_registry import AzureContainerRegistryHook
46
49
  from airflow.providers.microsoft.azure.hooks.container_volume import AzureContainerVolumeHook
@@ -102,6 +105,7 @@ class AzureContainerInstancesOperator(BaseOperator):
102
105
  :param dns_config: The DNS configuration for a container group.
103
106
  :param diagnostics: Container group diagnostic information (Log Analytics).
104
107
  :param priority: Container group priority, Possible values include: 'Regular', 'Spot'
108
+ :param identity: List of User/System assigned identities for the container group.
105
109
 
106
110
  **Example**::
107
111
 
@@ -144,6 +148,15 @@ class AzureContainerInstancesOperator(BaseOperator):
144
148
  }
145
149
  },
146
150
  priority="Regular",
151
+ identity = {
152
+ "type": "UserAssigned" | "SystemAssigned" | "SystemAssigned,UserAssigned",
153
+ "resource_ids": [
154
+ "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<id>"
155
+ ]
156
+ "user_assigned_identities": {
157
+ "/subscriptions/.../userAssignedIdentities/<id>": {}
158
+ }
159
+ }
147
160
  command=["/bin/echo", "world"],
148
161
  task_id="start_container",
149
162
  )
@@ -180,6 +193,7 @@ class AzureContainerInstancesOperator(BaseOperator):
180
193
  dns_config: DnsConfiguration | None = None,
181
194
  diagnostics: ContainerGroupDiagnostics | None = None,
182
195
  priority: str | None = "Regular",
196
+ identity: ContainerGroupIdentity | dict | None = None,
183
197
  **kwargs,
184
198
  ) -> None:
185
199
  super().__init__(**kwargs)
@@ -222,6 +236,7 @@ class AzureContainerInstancesOperator(BaseOperator):
222
236
  self.dns_config = dns_config
223
237
  self.diagnostics = diagnostics
224
238
  self.priority = priority
239
+ self.identity = self._ensure_identity(identity)
225
240
  if self.priority not in ["Regular", "Spot"]:
226
241
  raise AirflowException(
227
242
  "Invalid value for the priority argument. "
@@ -229,6 +244,66 @@ class AzureContainerInstancesOperator(BaseOperator):
229
244
  f"Found `{self.priority}`."
230
245
  )
231
246
 
247
+ # helper to accept dict (user-friendly) or ContainerGroupIdentity (SDK object)
248
+ @staticmethod
249
+ def _ensure_identity(identity: ContainerGroupIdentity | dict | None) -> ContainerGroupIdentity | None:
250
+ """
251
+ Normalize identity input into a ContainerGroupIdentity instance.
252
+
253
+ Accepts:
254
+ - None -> returns None
255
+ - ContainerGroupIdentity -> returned as-is
256
+ - dict -> converted to ContainerGroupIdentity
257
+ - any other object -> returned as-is (pass-through) to preserve backwards compatibility
258
+
259
+ Expected dict shapes:
260
+ {"type": "UserAssigned", "resource_ids": ["/.../userAssignedIdentities/id1", ...]}
261
+ or
262
+ {"type": "SystemAssigned"}
263
+ or
264
+ {"type": "SystemAssigned,UserAssigned", "resource_ids": [...]}
265
+ """
266
+ if identity is None:
267
+ return None
268
+
269
+ if isinstance(identity, ContainerGroupIdentity):
270
+ return identity
271
+
272
+ if isinstance(identity, dict):
273
+ # require type
274
+ id_type = identity.get("type")
275
+ if not id_type:
276
+ raise AirflowException(
277
+ "identity dict must include 'type' key with value 'UserAssigned' or 'SystemAssigned'"
278
+ )
279
+
280
+ # map common string type names to ResourceIdentityType enum values if available
281
+ type_map = {
282
+ "SystemAssigned": ResourceIdentityType.system_assigned,
283
+ "UserAssigned": ResourceIdentityType.user_assigned,
284
+ "SystemAssigned,UserAssigned": ResourceIdentityType.system_assigned_user_assigned,
285
+ "SystemAssigned, UserAssigned": ResourceIdentityType.system_assigned_user_assigned,
286
+ }
287
+ cg_type = type_map.get(id_type, id_type)
288
+
289
+ # build user_assigned_identities mapping if resource_ids provided
290
+ resource_ids = identity.get("resource_ids")
291
+ if resource_ids:
292
+ if not isinstance(resource_ids, (list, tuple)):
293
+ raise AirflowException("identity['resource_ids'] must be a list of resource id strings")
294
+ user_assigned_identities: dict[str, Any] = {rid: {} for rid in resource_ids}
295
+ else:
296
+ # accept a pre-built mapping if given
297
+ user_assigned_identities = identity.get("user_assigned_identities") or {}
298
+
299
+ return ContainerGroupIdentity(
300
+ type=cg_type,
301
+ user_assigned_identities=cast(
302
+ "dict[str, UserAssignedIdentities] | None", user_assigned_identities
303
+ ),
304
+ )
305
+ return identity
306
+
232
307
  def execute(self, context: Context) -> int:
233
308
  # Check name again in case it was templated.
234
309
  self._check_name(self.name)
@@ -304,6 +379,7 @@ class AzureContainerInstancesOperator(BaseOperator):
304
379
  dns_config=self.dns_config,
305
380
  diagnostics=self.diagnostics,
306
381
  priority=self.priority,
382
+ identity=self.identity,
307
383
  )
308
384
 
309
385
  self._ci_hook.create_or_update(self.resource_group, self.name, container_group)
@@ -26,8 +26,8 @@ from typing import (
26
26
  Any,
27
27
  )
28
28
 
29
- from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning, TaskDeferred
30
- from airflow.providers.common.compat.sdk import XCOM_RETURN_KEY, BaseOperator
29
+ from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
30
+ from airflow.providers.common.compat.sdk import XCOM_RETURN_KEY, BaseOperator, TaskDeferred
31
31
  from airflow.providers.microsoft.azure.hooks.msgraph import KiotaRequestAdapterHook
32
32
  from airflow.providers.microsoft.azure.triggers.msgraph import (
33
33
  MSGraphTrigger,