This is an automated email from the ASF dual-hosted git repository.

bbovenzi pushed a change to branch mapped-task-drawer
in repository https://gitbox.apache.org/repos/asf/airflow.git.


 discard 74d739c  add last scheduling decision and fix tests
 discard 7cae4f0  add duration to tooltips
 discard 235c9a9  minor details styling
 discard 19da315  adjust panel width and use status color
 discard cce0a36  remove modals
 discard 683d228  task actions
 discard 4d00224  task instance links
 discard 194a371  dag run actions w/ react-query
 discard d86f698  dag run actions
 discard e106d17  make side panel collapsible, useTasks,
 discard e9ab611  use API
 discard e251bb5  add tooltip info to details
 discard 1ea0b42  switch from drawer to details section
 discard ba73495  fix hover and extra prop
 discard 21b27b7  improve rendering and add selected dag run
 discard cf02a41  reformat grid background colors
 discard 4125e93  basic slide drawer
 discard f4763f7  make UI and tree work with mapped tasks
     add dd0724f  Add guide for 
DataprocInstantiateInlineWorkflowTemplateOperator (#22062)
     add 4516256  EMR on EKS Sample DAG and Docs Update (#22095)
     add f4e65a4  Upgrade PIP to 22.0.4 (just released) (#22081)
     add cfd6ca6  Add new map_index field to log message (#22098)
     add 8482b69  Show import error for 'airflow dags list' CLI command (#21991)
     add a7d3992  bump sphinx-jinja (#22101)
     add bd809bc  If uploading task logs to S3 fails, retry once (#21981)
     add b2e0f76  Fix typo in AWS doc (#22097)
     add 4ac771c  Fix spelling (#22107)
     add 60ec508  bump moto version (#22099)
     add eddf4a3  Replace build image bash script  in CI with build image in 
python (#22008)
     add b1fdcdf  Rename task-mapping trigger to 'expand' (#22106)
     add 05f3a30  Add Codespaces support (#22082)
     add d6031f9  Add map_index to RenderedTaskInstanceFields (#22004)
     add f6c41ad  Require SQLAlchemy 1.4 (#22114)
     add 4afba90  Update logging-tasks.rst (#22116)
     add 197b139  Use "dev" from main in "build-images" workflow (#22119)
     add 3b9ae42  Allow searching/filtering Browse Task Instances view by 
map_index (#22117)
     add bedc1c8  Don't try to create automigration for celery tables (#22120)
     add a4d514b  Fix RTIF test against the apply-expand (#22121)
     add 161fcbf  Add webserver PodDisruptionBudget (#21735)
     add 828d1cb  Add support for ARM platform (#22127)
     add 1264243  Rename wrongly named script for pushing prod images (#22139)
     add 8c3f479  Switches backend to sqlite when building images (#22140)
     add 57e711e  Fix location of --push directive for prod images (#22142)
     add 4388808  Add more template fields to `DbtCloudJobRunOperator` (#22126)
     add f8c0131  Pass explicit overrides in `DbtCloudJobRunOperator` to 
`DbtCloudHook` (#22136)
     add b79abe5  Explicitly adding read permission to Docker entrypoint. 
(#22135)
     add da34ff4  Update cloud_composer.rst (#22124)
     add afd3c13  Add queue button to click-on-DagRun interface. (#21555)
     add 7354937  Reduce rerendering of TaskName component (#22156)
     add 805cde3  Reduce rerendering of component (#22161)
     add fde8572  Don't try to expand mapped tasks if they can't run (#22155)
     add 887f356  Order filenames for migrations (#22168)
     add 16ad03c  Bugfix for retrying on provision failuers(#22137)
     add 7c1fa58  Conditional skipping of provider tag when it exists (#22172)
     add c65734e  Fix ordering of migration filenames (#22169)
     add 33ecca1  Use jobs check command for liveness probe check in airflow 2 
(#22143)
     add e63f6e3  additional information in the ECSOperator around support of 
launch_type=EXTERNAL (#22093)
     add 46a120d  Fix RedshiftDataOperator and update doc (#22157)
     add 9e06187  Add pip_install_options to PythonVirtualenvOperator (#22158)
     add 03d0c70  Switch unit tests for oss operator and oss sensor in alibaba 
provider to use mocks (#17617) (#22178)
     add 7bd8b2d  Add oss_task_handler into alibaba-provider and enable remote 
logging to OSS (#21785)
     add 9eb1a1c  Improve StatusBox rendering in Grid view (#22170)
     add d08284e   Add map_index to XCom model and interface (#22112)
     add 961225f  Update links to new Grid/Graph view instead of relying on 
redirects (#22167)
     add 0ab1308  Show DagModel details. (#21868)
     add 5d9b088  Remove Snowflake limits (#22181)
     add d5c039d  Use relation in TI join to RTIF (#22159)
     add 03cdfe7  Avoid trying to kill container when it did not succeed for 
Docker (#22145)
     add 6e0a689  Remove some really old Airflow 1.10 compatibility shims 
(#22187)
     add 6583d06  Remove extra initialization overhead for mypy/flake (#22183)
     add 1aa1d0f  Prepare for Python 3.10 adding (#22075)
     add a6d16a9  Remove warnings from kubernetes tests (#22190)
     add 2499da8  Bump chart version to 1.6.0-dev (#22192)
     add 067e6b5  Move last chart test to `tests` (#22198)
     add 31550c8  Update instructions of doc updates when removing providers 
from release (#22199)
     add 4e70aeb  Fix typo in mongo.rst (#22211)
     add 42a891d  Update ``GKEDeleteClusterOperator`, 
``GKECreateClusterOperator`` docstrings (#22212)
     add 9320230  fix contributing guide image master -> main (#22216)
     add a7e4730  Make code snippet appear again (#22163)
     add 69f5ab1  SFTP docs add example “extras” field using ``key_file``, 
``private_key`` and ``host_key`` (#20757)
     add 4543539  Support Uploading Bigger Files to Google Drive (#22179)
     add a840561  AWS RDS integration fixes (#22125)
     add af9d85c  Skip some tests for Databricks from running on Python 3.10 
(#22221)
     add c108f26  Change the default `chunk_size` to a clear representation & 
add documentation (#22222)
     add 12e9e2c  Databricks hook - retry on HTTP Status 429 as well (#21852)
     add 6f8f535  Add sample dags and update doc for RedshiftClusterSensor, 
RedshiftPauseClusterOperator and RedshiftResumeClusterOperator (#22128)
     add 3931394  Issue 20453 - Fixes the test_http and test_sheets assert 
calls only (#22104)
     add 408a7d6  Add REST API endpoint for bulk update of DAGs (#19758)
     add d3c65b6  Add the new Airflow Trove Classifier to setup.cfg (#22241)
     add 6fee5e0  Use variable for vote end date for helm chart release email 
(#22239)
     add e6ed2f2  Remove celery from intersphinx mapping temporarily (#22254)
     add bccc72e  Fix assert_queries_count margin to be 0 by default (#22249)
     add 4f6d24f  use different logger to avoid duplicate log entry (#22256)
     add c1ab8e2  Protect against accidental misuse of XCom.get_value() (#22244)
     add 87c1246  Add Dataplex operators (#20377)
     add 152539f  Add vertical scrolling to grid view (#22134)
     add 46c61ed  EMR Sample DAG and Docs Update (#22189)
     add 86cc07b  Soften the wording in issue templates (#22200)
     add 16adc03  Add documentation for Classifier release for March 2022 
(#22226)
     add 1950c18  Pause autorefresh if scheduler isn't running (#22151)
     add 86ff203  make UI and tree work with mapped tasks
     add 1a9e6f3  move ref and selection to providers

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (74d739c)
            \
             N -- N -- N   refs/heads/mapped-task-drawer (1a9e6f3)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .devcontainer/devcontainer.json                    |  24 ++
 .github/ISSUE_TEMPLATE/airflow_bug_report.yml      |   2 +-
 .../ISSUE_TEMPLATE/airflow_doc_issue_report.yml    |   4 +-
 .../airflow_helmchart_bug_report.yml               |   2 +-
 .../airflow_providers_bug_report.yml               |   2 +-
 .github/ISSUE_TEMPLATE/feature_request.yml         |   2 +-
 .github/workflows/build-images.yml                 |  10 +-
 .github/workflows/ci.yml                           |   5 +-
 .pre-commit-config.yaml                            |  15 +-
 BREEZE.rst                                         |  58 +--
 CI.rst                                             |  10 +
 CONTRIBUTING.rst                                   |  65 ++--
 CONTRIBUTORS_QUICK_START.rst                       |   3 +-
 Dockerfile                                         |  13 +-
 Dockerfile.ci                                      |  16 +-
 IMAGES.rst                                         |   2 +-
 README.md                                          |   5 +-
 STATIC_CODE_CHECKS.rst                             |   2 +
 TESTING.rst                                        |   4 +-
 UPDATING.md                                        |   4 +
 airflow/api/common/mark_tasks.py                   |  53 ++-
 airflow/api_connexion/endpoints/dag_endpoint.py    |  58 ++-
 .../endpoints/task_instance_endpoint.py            |  63 +--
 airflow/api_connexion/openapi/v1.yaml              |  69 +++-
 .../api_connexion/schemas/task_instance_schema.py  |   4 +-
 airflow/cli/commands/dag_command.py                |   8 +
 airflow/config_templates/airflow_local_settings.py |  11 +
 airflow/config_templates/config.yml                |   8 +-
 airflow/config_templates/default_airflow.cfg       |   8 +-
 airflow/configuration.py                           |   1 +
 airflow/decorators/base.py                         |  10 +-
 airflow/decorators/task_group.py                   |   8 +-
 airflow/jobs/scheduler_job.py                      |   3 +-
 airflow/migrations/env.py                          |   4 +-
 ...chema.py => 0001_e3a246e0dc1_current_schema.py} |   0
 ...py => 0002_1507a7289a2f_create_is_encrypted.py} |   0
 ...y.py => 0003_13eb55f81627_for_compatibility.py} |   0
 ...38e90f54d61_more_logging_into_task_isntance.py} |   0
 ...dices.py => 0005_52d714495f0_job_id_indices.py} |   0
 ...py => 0006_502898887f84_adding_extra_to_log.py} |   0
 ...d_dagrun.py => 0007_1b38cef5b76e_add_dagrun.py} |   0
 ...ation.py => 0008_2e541a1dcfed_task_duration.py} |   0
 ...onfig.py => 0009_40e67319e3a9_dagrun_config.py} |   0
 ...10_561833c1c74b_add_password_column_to_user.py} |   0
 ..._end.py => 0011_4446e08588_dagrun_start_end.py} |   0
 ...3e_add_notification_sent_column_to_sla_miss.py} |   0
 ...fc896_add_a_column_to_track_the_encryption_.py} |   0
 ...fc09e3_add_is_encrypted_column_to_variable_.py} |   0
 ...e.py => 0015_2e82aab8ef20_rename_user_table.py} |   0
 ....py => 0016_211e584da130_add_ti_state_index.py} |   0
 ...7_64de9cddf6c9_add_task_fails_journal_table.py} |   0
 ...py => 0018_f2ca10b85618_add_dag_stats_table.py} |   0
 ...36f1_add_fractional_seconds_to_mysql_tables.py} |   0
 ... => 0020_8504051e801b_xcom_dag_task_indices.py} |   0
 ..._5e7d17757c7a_add_pid_field_to_taskinstance.py} |   0
 ...fa7_add_dag_id_state_index_on_dag_run_table.py} |   0
 ...23dc7_add_max_tries_column_to_task_instance.py} |   0
 ...e6c56_make_xcom_value_column_a_large_binary.py} |   0
 ...py => 0025_947454bf1dff_add_ti_job_id_index.py} |   0
 ...6_d2ae31099d61_increase_text_size_for_mysql.py} |   0
 ...> 0027_0e2a74e0fc9f_add_time_zone_awareness.py} |   0
 ...a1ff4_add_kubernetes_resource_checkpointing.py} |   0
 ...0d7c24_add_executor_config_to_task_instance.py} |   0
 ...d1215c0_add_kubernetes_scheduler_uniqueness.py} |   0
 ...e_heads.py => 0031_05f30312d566_merge_heads.py} |   0
 ..._f23433877c24_fix_mysql_not_null_constraint.py} |   0
 ...=> 0033_856955da8476_fix_sqlite_foreign_key.py} |   0
 ...fail.py => 0034_9635ae0956e7_index_taskfail.py} |   0
 ...dag.py => 0035_dd25f486b8ea_add_idx_log_dag.py} |   0
 ...0036_bf00311e1990_add_index_to_taskinstance.py} |   0
 ...0037_0a2a5b66e19d_add_task_reschedule_table.py} |   0
 ...ex.py => 0038_03bc53e68815_add_sm_dag_index.py} |   0
 ...py => 0039_41f5f12752f8_add_superuser_field.py} |   0
 ...g.py => 0040_c8ffec048a3b_add_fields_to_dag.py} |   0
 ...1_dd4ecb8fbee3_add_schedule_interval_to_dag.py} |   0
 ...e647c8_task_reschedule_fk_on_cascade_delete.py} |   0
 ...59344a4_make_taskinstance_pool_not_nullable.py} |   0
 ... 0044_d38e04c12aa2_add_serialized_dag_table.py} |   0
 ...=> 0045_b3b105409875_add_root_dag_id_to_dag.py} |   0
 ...67_change_datetime_to_datetime2_6_on_mssql_.py} |   0
 ...004c1210f153_increase_queue_name_size_limit.py} |   0
 ... => 0048_a56c9515abdc_remove_dag_stat_table.py} |   0
 ...e_heads.py => 0049_08364691d074_merge_heads.py} |   0
 ...35f_increase_length_for_connection_password.py} |   0
 ...e.py => 0051_7939bcff74ba_add_dagtags_table.py} |   0
 ...7d16b_add_pool_slots_field_to_task_instance.py} |   0
 ...5af_add_rendered_task_instance_fields_table.py} |   0
 ....py => 0054_952da73b5eff_add_dag_code_table.py} |   0
 ...ea_add_precision_to_execution_date_in_mysql.py} |   0
 ...3a5a_add_dag_hash_column_to_serialized_dag_.py} |   0
 ...bles.py => 0057_92c57b58940d_add_fab_tables.py} |   0
 ...b6f902_increase_length_of_fab_ab_view_menu_.py} |   0
 ...py => 0059_cf5dc11e79ad_drop_user_and_chart.py} |   0
 ...060_bbf4a7ad0465_remove_id_column_from_xcom.py} |   0
 ...1_b25a55525161_increase_length_of_pool_name.py} |   0
 ...py => 0062_3c20cacc0044_add_dagrun_run_type.py} |   0
 ..._8f966b9c467a_set_conn_type_as_non_nullable.py} |   0
 ...48763f6d53_add_unique_constraint_to_conn_id.py} |   0
 ...e38be357a868_update_schema_for_smart_sensor.py} |   0
 ...066_b247b1e3d1ed_add_queued_by_job_id_to_ti.py} |   0
 ...e1a11ece99cc_add_external_executor_id_to_ti.py} |   0
 ..._bef4f3d11e8b_drop_kuberesourceversion_and_.py} |   0
 ...06e2_add_scheduling_decision_to_dagrun_and_.py} |   0
 ..._fix_mssql_exec_date_rendered_task_instance.py} |   0
 ...071_364159666cbd_add_job_id_to_dagrun_table.py} |   0
 ...3f1493b9_add_k8s_yaml_to_rendered_templates.py} |   0
 ...=> 0073_849da589634d_prefix_dag_permissions.py} |   0
 ...074_2c6edca13270_resource_based_permissions.py} |   0
 ...3d9401f_add_description_field_to_connection.py} |   0
 ...aae_fix_description_field_in_connection_to_.py} |   0
 ...c86c_change_field_in_dagcode_to_mediumtext_.py} |   0
 ...c147f_remove_can_read_permission_on_config_.py} |   0
 ...da_increase_size_of_connection_extra_field_.py} |   0
 ...8646922c8a04_change_default_pool_slots_to_1.py} |   0
 ...42bb497a22_rename_last_scheduler_run_column.py} |   0
 ...b86_increase_pool_name_size_in_taskinstance.py} |   0
 ...5e7455d70_add_description_field_to_variable.py} |   0
 ...d25_resource_based_permissions_for_default_.py} |   0
 ...3827b8_add_queued_at_column_to_dagrun_table.py} |   0
 ...d12_add_max_active_runs_column_to_dagmodel_.py} |   0
 ...6fe78_add_index_on_state_dag_id_for_queued_.py} |   0
 ...88_83f031fd9f1c_improve_mssql_compatibility.py} |   0
 ...a3141f0_make_xcom_pkey_columns_non_nullable.py} |   0
 ...44a_rename_concurrency_column_in_dag_table_.py} |   0
 ...4bebd308c5f_add_trigger_table_and_task_info.py} |   0
 ...a_interval_start_end_to_dagmodel_and_dagrun.py} |   0
 ...3_7b2661a43ba3_taskinstance_keyed_to_dagrun.py} |   0
 ...23_add_has_import_errors_column_to_dagmodel.py} |   0
 ...> 0095_c381b21cb7e4_add_session_table_to_db.py} |   0
 ...587bdf053233_adding_index_for_dag_id_in_job.py} |   0
 ...7fdd3_increase_length_of_email_and_username.py} |   0
 ...3737b18f_added_timetable_description_column.py} |   0
 ...2e7089_add_task_log_filename_template_model.py} |   0
 ...3f75_add_taskmap_and_map_id_on_taskinstance.py} |   0
 ...14482_add_data_compressed_to_serialized_dag.py} |   0
 ...306b5b5ae4a_switch_xcom_table_to_use_run_id.py} |  14 +-
 ...103_c97c2ab6aa23_add_callback_request_table.py} |   0
 ...582_migrate_rtif_to_use_run_id_and_map_index.py | 168 ++++++++
 airflow/models/baseoperator.py                     |   4 +-
 airflow/models/dag.py                              |  13 +-
 airflow/models/dagrun.py                           |  21 +-
 airflow/models/mappedoperator.py                   |  20 +-
 airflow/models/renderedtifields.py                 |  94 +++--
 airflow/models/taskinstance.py                     |  11 +-
 airflow/models/xcom.py                             | 145 ++++---
 airflow/operators/python.py                        |   5 +
 airflow/operators/trigger_dagrun.py                |   2 +-
 airflow/providers/airbyte/CHANGELOG.rst            |   8 +
 airflow/providers/airbyte/provider.yaml            |   1 +
 airflow/providers/alibaba/CHANGELOG.rst            |  16 +
 airflow/providers/alibaba/cloud/hooks/oss.py       |  96 ++++-
 .../providers/alibaba/cloud/log}/__init__.py       |   0
 .../cloud/log/oss_task_handler.py}                 | 109 +++---
 airflow/providers/alibaba/provider.yaml            |   4 +
 airflow/providers/amazon/CHANGELOG.rst             |  32 +-
 .../{example_ecs_fargate.py => example_ecs_ec2.py} |  23 +-
 .../amazon/aws/example_dags/example_ecs_fargate.py |  14 +-
 .../amazon/aws/example_dags/example_emr_eks_job.py |  20 +-
 .../example_emr_job_flow_automatic_steps.py        |  41 +-
 .../example_emr_job_flow_manual_steps.py           |  55 +--
 .../amazon/aws/example_dags/example_rds.py         |  10 +-
 .../aws/example_dags/example_redshift_cluster.py   |  71 ++++
 .../example_redshift_data_execute_sql.py           |  58 ++-
 airflow/providers/amazon/aws/hooks/base_aws.py     |   7 +-
 airflow/providers/amazon/aws/hooks/emr.py          |   2 +-
 .../providers/amazon/aws/log/s3_task_handler.py    |  29 +-
 airflow/providers/amazon/aws/operators/ecs.py      |  12 +-
 airflow/providers/amazon/aws/operators/emr.py      |  21 +-
 airflow/providers/amazon/aws/operators/rds.py      |  20 +-
 .../amazon/aws/operators/redshift_data.py          |  25 +-
 airflow/providers/amazon/aws/sensors/emr.py        |  12 +
 airflow/providers/amazon/aws/sensors/rds.py        |  14 +-
 .../amazon/aws/sensors/redshift_cluster.py         |   4 +
 airflow/providers/amazon/provider.yaml             |   2 +-
 airflow/providers/apache/beam/CHANGELOG.rst        |   8 +
 airflow/providers/apache/beam/provider.yaml        |   1 +
 airflow/providers/apache/cassandra/CHANGELOG.rst   |   8 +
 airflow/providers/apache/cassandra/provider.yaml   |   1 +
 airflow/providers/apache/drill/CHANGELOG.rst       |   8 +
 airflow/providers/apache/drill/provider.yaml       |   1 +
 airflow/providers/apache/druid/CHANGELOG.rst       |   8 +
 airflow/providers/apache/druid/provider.yaml       |   1 +
 airflow/providers/apache/hdfs/CHANGELOG.rst        |   8 +
 airflow/providers/apache/hdfs/provider.yaml        |   1 +
 airflow/providers/apache/hive/CHANGELOG.rst        |   8 +
 airflow/providers/apache/hive/provider.yaml        |   1 +
 airflow/providers/apache/kylin/CHANGELOG.rst       |   8 +
 airflow/providers/apache/kylin/provider.yaml       |   1 +
 airflow/providers/apache/livy/CHANGELOG.rst        |   8 +
 airflow/providers/apache/livy/provider.yaml        |   1 +
 airflow/providers/apache/pig/CHANGELOG.rst         |   8 +
 airflow/providers/apache/pig/provider.yaml         |   1 +
 airflow/providers/apache/pinot/CHANGELOG.rst       |   8 +
 airflow/providers/apache/pinot/provider.yaml       |   1 +
 airflow/providers/apache/spark/CHANGELOG.rst       |   8 +
 airflow/providers/apache/spark/provider.yaml       |   1 +
 airflow/providers/apache/sqoop/CHANGELOG.rst       |   8 +
 airflow/providers/apache/sqoop/provider.yaml       |   1 +
 airflow/providers/asana/CHANGELOG.rst              |   8 +
 airflow/providers/asana/provider.yaml              |   1 +
 airflow/providers/celery/CHANGELOG.rst             |   8 +
 airflow/providers/celery/provider.yaml             |   1 +
 airflow/providers/cloudant/CHANGELOG.rst           |   8 +
 airflow/providers/cloudant/provider.yaml           |   1 +
 airflow/providers/cncf/kubernetes/CHANGELOG.rst    |   8 +
 airflow/providers/cncf/kubernetes/provider.yaml    |   1 +
 airflow/providers/databricks/CHANGELOG.rst         |  14 +
 airflow/providers/databricks/hooks/databricks.py   |   4 +-
 .../providers/databricks/hooks/databricks_base.py  | 196 +++++-----
 .../providers/databricks/operators/databricks.py   |   8 +
 airflow/providers/databricks/provider.yaml         |   4 +
 airflow/providers/datadog/CHANGELOG.rst            |   8 +
 airflow/providers/datadog/provider.yaml            |   1 +
 airflow/providers/dbt/cloud/operators/dbt.py       |  16 +-
 airflow/providers/dbt/cloud/provider.yaml          |   2 +-
 airflow/providers/dingding/CHANGELOG.rst           |   8 +
 airflow/providers/dingding/provider.yaml           |   1 +
 airflow/providers/discord/CHANGELOG.rst            |   8 +
 airflow/providers/discord/provider.yaml            |   1 +
 airflow/providers/docker/CHANGELOG.rst             |  13 +
 airflow/providers/docker/operators/docker.py       |   3 +
 airflow/providers/docker/provider.yaml             |   1 +
 airflow/providers/elasticsearch/CHANGELOG.rst      |   8 +
 airflow/providers/elasticsearch/provider.yaml      |   1 +
 airflow/providers/exasol/CHANGELOG.rst             |   8 +
 airflow/providers/exasol/provider.yaml             |   1 +
 airflow/providers/facebook/CHANGELOG.rst           |   8 +
 airflow/providers/facebook/provider.yaml           |   1 +
 airflow/providers/ftp/CHANGELOG.rst                |   8 +
 airflow/providers/ftp/provider.yaml                |   1 +
 airflow/providers/github/CHANGELOG.rst             |   8 +
 airflow/providers/github/provider.yaml             |   1 +
 airflow/providers/google/CHANGELOG.rst             |  28 ++
 .../google/cloud/example_dags/example_dataplex.py  | 122 ++++++
 .../google/cloud/example_dags/example_dataproc.py  |   7 +
 airflow/providers/google/cloud/hooks/cloud_sql.py  |   2 +-
 airflow/providers/google/cloud/hooks/dataflow.py   |   2 +-
 airflow/providers/google/cloud/hooks/dataplex.py   | 247 ++++++++++++
 airflow/providers/google/cloud/hooks/gdm.py        |   2 +-
 airflow/providers/google/cloud/links/base.py       |   4 +-
 airflow/providers/google/cloud/links/dataplex.py   |  76 ++++
 airflow/providers/google/cloud/links/dataproc.py   |   8 +-
 .../providers/google/cloud/operators/bigquery.py   |  29 +-
 .../providers/google/cloud/operators/dataplex.py   | 428 ++++++++++++++++++++
 .../providers/google/cloud/operators/dataproc.py   |   7 +-
 .../google/cloud/operators/dataproc_metastore.py   |   8 +-
 .../google/cloud/operators/kubernetes_engine.py    |   4 +-
 .../providers/google/cloud/operators/mlengine.py   |  22 +-
 airflow/providers/google/cloud/sensors/dataplex.py | 119 ++++++
 airflow/providers/google/provider.yaml             |  17 +
 airflow/providers/google/suite/hooks/drive.py      |  20 +-
 airflow/providers/grpc/CHANGELOG.rst               |   8 +
 airflow/providers/grpc/provider.yaml               |   1 +
 airflow/providers/hashicorp/CHANGELOG.rst          |   8 +
 airflow/providers/hashicorp/provider.yaml          |   1 +
 airflow/providers/http/CHANGELOG.rst               |   8 +
 airflow/providers/http/provider.yaml               |   1 +
 airflow/providers/imap/CHANGELOG.rst               |   8 +
 airflow/providers/imap/provider.yaml               |   1 +
 airflow/providers/influxdb/CHANGELOG.rst           |   8 +
 airflow/providers/influxdb/provider.yaml           |   1 +
 airflow/providers/jdbc/CHANGELOG.rst               |   8 +
 airflow/providers/jdbc/provider.yaml               |   1 +
 airflow/providers/jenkins/CHANGELOG.rst            |   8 +
 airflow/providers/jenkins/provider.yaml            |   1 +
 airflow/providers/jira/CHANGELOG.rst               |   8 +
 airflow/providers/jira/provider.yaml               |   1 +
 airflow/providers/microsoft/azure/CHANGELOG.rst    |  13 +
 .../microsoft/azure/operators/data_factory.py      |   4 +-
 airflow/providers/microsoft/azure/provider.yaml    |   1 +
 airflow/providers/microsoft/mssql/CHANGELOG.rst    |   8 +
 airflow/providers/microsoft/mssql/provider.yaml    |   1 +
 airflow/providers/microsoft/psrp/CHANGELOG.rst     |   8 +
 airflow/providers/microsoft/psrp/provider.yaml     |   1 +
 airflow/providers/microsoft/winrm/CHANGELOG.rst    |   8 +
 airflow/providers/microsoft/winrm/provider.yaml    |   1 +
 airflow/providers/mongo/CHANGELOG.rst              |   8 +
 airflow/providers/mongo/provider.yaml              |   1 +
 airflow/providers/mysql/CHANGELOG.rst              |   8 +
 airflow/providers/mysql/provider.yaml              |   1 +
 airflow/providers/neo4j/CHANGELOG.rst              |   8 +
 airflow/providers/neo4j/provider.yaml              |   1 +
 airflow/providers/odbc/CHANGELOG.rst               |   8 +
 airflow/providers/odbc/provider.yaml               |   1 +
 airflow/providers/openfaas/CHANGELOG.rst           |   8 +
 airflow/providers/openfaas/provider.yaml           |   1 +
 airflow/providers/opsgenie/CHANGELOG.rst           |   8 +
 airflow/providers/opsgenie/provider.yaml           |   1 +
 airflow/providers/oracle/CHANGELOG.rst             |   8 +
 airflow/providers/oracle/provider.yaml             |   1 +
 airflow/providers/pagerduty/CHANGELOG.rst          |   8 +
 airflow/providers/pagerduty/provider.yaml          |   1 +
 airflow/providers/papermill/CHANGELOG.rst          |   8 +
 airflow/providers/papermill/provider.yaml          |   1 +
 airflow/providers/plexus/CHANGELOG.rst             |   8 +
 airflow/providers/plexus/provider.yaml             |   1 +
 airflow/providers/postgres/CHANGELOG.rst           |  15 +-
 airflow/providers/postgres/provider.yaml           |   1 +
 airflow/providers/presto/CHANGELOG.rst             |   8 +
 airflow/providers/presto/provider.yaml             |   1 +
 airflow/providers/qubole/CHANGELOG.rst             |  13 +
 airflow/providers/qubole/operators/qubole.py       |   4 +-
 airflow/providers/qubole/provider.yaml             |   1 +
 airflow/providers/redis/CHANGELOG.rst              |   8 +
 airflow/providers/redis/provider.yaml              |   1 +
 airflow/providers/salesforce/CHANGELOG.rst         |   8 +
 airflow/providers/salesforce/provider.yaml         |   1 +
 airflow/providers/samba/CHANGELOG.rst              |   8 +
 airflow/providers/samba/provider.yaml              |   1 +
 airflow/providers/segment/CHANGELOG.rst            |   8 +
 airflow/providers/segment/provider.yaml            |   1 +
 airflow/providers/sendgrid/CHANGELOG.rst           |   8 +
 airflow/providers/sendgrid/provider.yaml           |   1 +
 airflow/providers/sftp/CHANGELOG.rst               |   8 +
 airflow/providers/sftp/provider.yaml               |   1 +
 airflow/providers/singularity/CHANGELOG.rst        |   8 +
 airflow/providers/singularity/provider.yaml        |   1 +
 airflow/providers/slack/CHANGELOG.rst              |   7 +
 airflow/providers/slack/provider.yaml              |   1 +
 airflow/providers/snowflake/CHANGELOG.rst          |   8 +
 airflow/providers/snowflake/hooks/snowflake.py     |   7 +-
 airflow/providers/snowflake/provider.yaml          |   1 +
 airflow/providers/sqlite/CHANGELOG.rst             |   8 +
 airflow/providers/sqlite/provider.yaml             |   1 +
 airflow/providers/ssh/CHANGELOG.rst                |   8 +
 airflow/providers/ssh/provider.yaml                |   1 +
 airflow/providers/tableau/CHANGELOG.rst            |   8 +
 airflow/providers/tableau/provider.yaml            |   1 +
 airflow/providers/telegram/CHANGELOG.rst           |   8 +
 airflow/providers/telegram/provider.yaml           |   1 +
 airflow/providers/trino/CHANGELOG.rst              |  18 +
 airflow/providers/trino/provider.yaml              |   1 +
 airflow/providers/vertica/CHANGELOG.rst            |   8 +
 airflow/providers/vertica/provider.yaml            |   1 +
 airflow/providers/yandex/CHANGELOG.rst             |   8 +
 airflow/providers/yandex/provider.yaml             |   1 +
 airflow/providers/zendesk/CHANGELOG.rst            |   8 +
 airflow/providers/zendesk/provider.yaml            |   1 +
 airflow/serialization/serialized_objects.py        |   2 +-
 airflow/ti_deps/dep_context.py                     |  34 +-
 airflow/ti_deps/deps/mapped_task_expanded.py       |   2 +
 airflow/utils/db.py                                |   7 +-
 airflow/utils/python_virtualenv.py                 |  22 +-
 airflow/utils/task_group.py                        |   2 +-
 airflow/www/package.json                           |   1 +
 airflow/www/static/js/calendar.js                  |  11 +-
 airflow/www/static/js/dag.js                       |   8 +-
 airflow/www/static/js/dags.js                      |   5 +-
 airflow/www/static/js/graph.js                     |   3 +-
 airflow/www/static/js/tree/StatusBox.jsx           |  55 ++-
 airflow/www/static/js/tree/TaskName.jsx            |  60 +++
 airflow/www/static/js/tree/Tree.jsx                |  52 +--
 airflow/www/static/js/tree/dagRuns/Bar.jsx         |  65 ++--
 airflow/www/static/js/tree/dagRuns/index.jsx       |  10 +-
 airflow/www/static/js/tree/details/Header.jsx      |  12 +-
 airflow/www/static/js/tree/details/index.jsx       |   9 +-
 airflow/www/static/js/tree/index.jsx               |  13 +-
 .../www/static/js/tree/providers/containerRef.jsx  |  37 ++
 airflow/www/static/js/tree/providers/selection.jsx |  52 +++
 airflow/www/static/js/tree/renderTaskRows.jsx      | 104 +++--
 airflow/www/static/js/tree/renderTaskRows.test.jsx |   4 +-
 airflow/www/static/js/tree/useTreeData.js          |   5 +-
 airflow/www/static/js/tree/useTreeData.test.jsx    |  15 +-
 airflow/www/templates/airflow/calendar.html        |   3 +-
 airflow/www/templates/airflow/dag.html             |  41 +-
 airflow/www/templates/airflow/dag_details.html     |  13 +
 airflow/www/templates/airflow/dags.html            |   2 +-
 airflow/www/templates/airflow/main.html            |   7 +
 airflow/www/views.py                               |  82 +++-
 breeze                                             |   9 +-
 breeze-complete                                    |   5 +-
 chart/Chart.yaml                                   |  89 +----
 chart/dockerfiles/pgbouncer-exporter/Dockerfile    |   7 +-
 chart/templates/_helpers.yaml                      |  35 ++
 .../templates/scheduler/scheduler-deployment.yaml  |   8 +-
 .../templates/triggerer/triggerer-deployment.yaml  |   8 +-
 .../webserver/webserver-poddisruptionbudget.yaml   |  46 +++
 chart/values.schema.json                           |  57 ++-
 chart/values.yaml                                  |  47 +--
 dev/README_RELEASE_HELM_CHART.md                   |  16 +-
 dev/README_RELEASE_PROVIDER_PACKAGES.md            |  12 +
 dev/REFRESHING_CI_CACHE.md                         |  11 +-
 dev/TRACKING_BACKTRACKING_ISSUES.md                |   2 +-
 dev/breeze/src/airflow_breeze/breeze.py            |  58 ++-
 dev/breeze/src/airflow_breeze/ci/build_params.py   |   4 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |   9 +-
 dev/breeze/src/airflow_breeze/pre_commit_ids.py    |   1 +
 dev/breeze/src/airflow_breeze/utils/path_utils.py  |   2 +-
 .../src/airflow_ci/find_newer_dependencies.py      |   2 +-
 dev/breeze/tests/test_cache.py                     |   4 +-
 dev/provider_packages/SETUP_TEMPLATE.cfg.jinja2    |  43 +-
 dev/provider_packages/SETUP_TEMPLATE.py.jinja2     |  52 +--
 dev/provider_packages/prepare_provider_packages.py |  18 +-
 dev/provider_packages/tag_providers.sh             |   3 +-
 dev/refresh_images.sh                              |   4 +-
 docs/apache-airflow-providers-airbyte/commits.rst  |   3 +-
 docs/apache-airflow-providers-airbyte/index.rst    |   6 +-
 docs/apache-airflow-providers-alibaba/commits.rst  |  14 +-
 docs/apache-airflow-providers-alibaba/index.rst    |   3 +-
 .../logging/index.rst                              |   0
 .../logging/oss-task-handler.rst                   |  32 +-
 docs/apache-airflow-providers-amazon/commits.rst   |  28 +-
 .../connections/aws.rst                            |   2 +-
 docs/apache-airflow-providers-amazon/index.rst     |   6 +-
 .../operators/ecs.rst                              |  86 +++-
 .../operators/emr.rst                              | 149 ++++---
 .../operators/emr_eks.rst                          |  38 +-
 .../operators/redshift_cluster.rst                 |  67 +++-
 .../operators/redshift_data.rst                    |  39 +-
 .../commits.rst                                    |   3 +-
 .../apache-airflow-providers-apache-beam/index.rst |   6 +-
 .../commits.rst                                    |   3 +-
 .../index.rst                                      |   2 +-
 .../commits.rst                                    |   3 +-
 .../index.rst                                      |   2 +-
 .../commits.rst                                    |  11 +
 .../index.rst                                      |   6 +-
 .../commits.rst                                    |   3 +-
 .../apache-airflow-providers-apache-hdfs/index.rst |   2 +-
 .../commits.rst                                    |   3 +-
 .../apache-airflow-providers-apache-hive/index.rst |   6 +-
 .../commits.rst                                    |   3 +-
 .../index.rst                                      |   2 +-
 .../commits.rst                                    |   3 +-
 .../apache-airflow-providers-apache-livy/index.rst |   6 +-
 .../commits.rst                                    |   3 +-
 docs/apache-airflow-providers-apache-pig/index.rst |   2 +-
 .../commits.rst                                    |   3 +-
 .../index.rst                                      |   2 +-
 .../commits.rst                                    |   3 +-
 .../index.rst                                      |   2 +-
 .../commits.rst                                    |   9 +-
 .../index.rst                                      |   2 +-
 docs/apache-airflow-providers-asana/commits.rst    |   3 +-
 docs/apache-airflow-providers-asana/index.rst      |   2 +-
 docs/apache-airflow-providers-celery/commits.rst   |   3 +-
 docs/apache-airflow-providers-celery/index.rst     |   2 +-
 docs/apache-airflow-providers-cloudant/commits.rst |   3 +-
 docs/apache-airflow-providers-cloudant/index.rst   |   2 +-
 .../commits.rst                                    |   3 +-
 .../index.rst                                      |   2 +-
 .../commits.rst                                    |  16 +-
 docs/apache-airflow-providers-databricks/index.rst |   2 +-
 .../operators/run_now.rst                          |   2 +
 .../operators/submit_run.rst                       |   2 +
 docs/apache-airflow-providers-datadog/commits.rst  |   3 +-
 docs/apache-airflow-providers-datadog/index.rst    |   2 +-
 .../apache-airflow-providers-dbt-cloud/commits.rst |  14 +-
 docs/apache-airflow-providers-dingding/commits.rst |   3 +-
 docs/apache-airflow-providers-dingding/index.rst   |   6 +-
 docs/apache-airflow-providers-discord/commits.rst  |   3 +-
 docs/apache-airflow-providers-discord/index.rst    |   6 +-
 docs/apache-airflow-providers-docker/commits.rst   |  12 +
 docs/apache-airflow-providers-docker/index.rst     |   2 +-
 .../commits.rst                                    |   3 +-
 .../index.rst                                      |   2 +-
 docs/apache-airflow-providers-exasol/commits.rst   |  11 +
 docs/apache-airflow-providers-exasol/index.rst     |   2 +-
 docs/apache-airflow-providers-facebook/commits.rst |   3 +-
 docs/apache-airflow-providers-facebook/index.rst   |   2 +-
 docs/apache-airflow-providers-ftp/commits.rst      |   3 +-
 docs/apache-airflow-providers-ftp/index.rst        |   2 +-
 docs/apache-airflow-providers-github/commits.rst   |   3 +-
 docs/apache-airflow-providers-github/index.rst     |   2 +-
 docs/apache-airflow-providers-google/commits.rst   |  24 ++
 docs/apache-airflow-providers-google/index.rst     |   7 +-
 .../operators/cloud/cloud_composer.rst             |   4 +-
 .../operators/cloud/dataplex.rst                   | 105 +++++
 .../operators/cloud/dataproc.rst                   |  10 +
 docs/apache-airflow-providers-grpc/commits.rst     |   3 +-
 docs/apache-airflow-providers-grpc/index.rst       |   2 +-
 .../apache-airflow-providers-hashicorp/commits.rst |   3 +-
 docs/apache-airflow-providers-hashicorp/index.rst  |   6 +-
 docs/apache-airflow-providers-http/commits.rst     |   3 +-
 docs/apache-airflow-providers-http/index.rst       |   2 +-
 docs/apache-airflow-providers-imap/commits.rst     |  11 +
 docs/apache-airflow-providers-imap/index.rst       |   2 +-
 docs/apache-airflow-providers-influxdb/commits.rst |   3 +-
 docs/apache-airflow-providers-influxdb/index.rst   |   2 +-
 docs/apache-airflow-providers-jdbc/commits.rst     |  11 +
 docs/apache-airflow-providers-jdbc/index.rst       |   2 +-
 docs/apache-airflow-providers-jenkins/commits.rst  |   3 +-
 docs/apache-airflow-providers-jenkins/index.rst    |   2 +-
 docs/apache-airflow-providers-jira/commits.rst     |   3 +-
 docs/apache-airflow-providers-jira/index.rst       |   2 +-
 .../commits.rst                                    |  15 +-
 .../index.rst                                      |   6 +-
 .../commits.rst                                    |  11 +
 .../index.rst                                      |  10 +-
 .../commits.rst                                    |   3 +-
 .../index.rst                                      |   2 +-
 .../commits.rst                                    |   9 +-
 .../index.rst                                      |   2 +-
 docs/apache-airflow-providers-mongo/commits.rst    |   3 +-
 .../connections/mongo.rst                          |   2 +-
 docs/apache-airflow-providers-mongo/index.rst      |   2 +-
 docs/apache-airflow-providers-mysql/commits.rst    |   9 +-
 docs/apache-airflow-providers-mysql/index.rst      |  16 +-
 docs/apache-airflow-providers-neo4j/commits.rst    |   3 +-
 docs/apache-airflow-providers-neo4j/index.rst      |   2 +-
 docs/apache-airflow-providers-odbc/commits.rst     |  11 +
 docs/apache-airflow-providers-odbc/index.rst       |   2 +-
 docs/apache-airflow-providers-openfaas/commits.rst |   3 +-
 docs/apache-airflow-providers-openfaas/index.rst   |   2 +-
 docs/apache-airflow-providers-opsgenie/commits.rst |   3 +-
 docs/apache-airflow-providers-opsgenie/index.rst   |   2 +-
 docs/apache-airflow-providers-oracle/commits.rst   |   9 +-
 docs/apache-airflow-providers-oracle/index.rst     |   2 +-
 .../apache-airflow-providers-pagerduty/commits.rst |   3 +-
 docs/apache-airflow-providers-pagerduty/index.rst  |   2 +-
 .../apache-airflow-providers-papermill/commits.rst |   3 +-
 docs/apache-airflow-providers-papermill/index.rst  |   2 +-
 docs/apache-airflow-providers-plexus/commits.rst   |   3 +-
 docs/apache-airflow-providers-plexus/index.rst     |   2 +-
 docs/apache-airflow-providers-postgres/commits.rst |   9 +-
 docs/apache-airflow-providers-postgres/index.rst   |   6 +-
 docs/apache-airflow-providers-presto/commits.rst   |   3 +-
 docs/apache-airflow-providers-presto/index.rst     |   6 +-
 docs/apache-airflow-providers-qubole/commits.rst   |  15 +-
 docs/apache-airflow-providers-qubole/index.rst     |   2 +-
 docs/apache-airflow-providers-redis/commits.rst    |   3 +-
 docs/apache-airflow-providers-redis/index.rst      |   2 +-
 .../commits.rst                                    |   3 +-
 docs/apache-airflow-providers-salesforce/index.rst |   6 +-
 docs/apache-airflow-providers-samba/commits.rst    |   3 +-
 docs/apache-airflow-providers-samba/index.rst      |   2 +-
 docs/apache-airflow-providers-segment/commits.rst  |   3 +-
 docs/apache-airflow-providers-segment/index.rst    |   2 +-
 docs/apache-airflow-providers-sendgrid/commits.rst |  11 +
 docs/apache-airflow-providers-sendgrid/index.rst   |   2 +-
 docs/apache-airflow-providers-sftp/commits.rst     |   3 +-
 .../connections/sftp.rst                           |  14 +-
 docs/apache-airflow-providers-sftp/index.rst       |   6 +-
 .../commits.rst                                    |   3 +-
 .../apache-airflow-providers-singularity/index.rst |   2 +-
 docs/apache-airflow-providers-slack/commits.rst    |  11 +
 docs/apache-airflow-providers-slack/index.rst      |   6 +-
 .../apache-airflow-providers-snowflake/commits.rst |  22 ++
 docs/apache-airflow-providers-snowflake/index.rst  |  16 +-
 docs/apache-airflow-providers-sqlite/commits.rst   |  11 +
 docs/apache-airflow-providers-sqlite/index.rst     |   2 +-
 docs/apache-airflow-providers-ssh/commits.rst      |  11 +
 docs/apache-airflow-providers-ssh/index.rst        |   2 +-
 docs/apache-airflow-providers-tableau/commits.rst  |  11 +
 docs/apache-airflow-providers-tableau/index.rst    |   2 +-
 docs/apache-airflow-providers-telegram/commits.rst |   3 +-
 docs/apache-airflow-providers-telegram/index.rst   |   2 +-
 docs/apache-airflow-providers-trino/commits.rst    |   3 +-
 docs/apache-airflow-providers-trino/index.rst      |   6 +-
 docs/apache-airflow-providers-vertica/commits.rst  |  11 +
 docs/apache-airflow-providers-vertica/index.rst    |   2 +-
 docs/apache-airflow-providers-yandex/commits.rst   |   1 +
 docs/apache-airflow-providers-yandex/index.rst     |   2 +-
 docs/apache-airflow-providers-zendesk/commits.rst  |   3 +-
 docs/apache-airflow-providers-zendesk/index.rst    |   2 +-
 .../howto/create-update-providers.rst              |  38 ++
 .../logging-monitoring/logging-tasks.rst           |   2 +-
 docs/apache-airflow/migrations-ref.rst             |   6 +-
 docs/conf.py                                       |  12 +-
 docs/docker-stack/build-arg-ref.rst                |   2 +-
 docs/exts/providers_packages_ref.py                |   2 +-
 docs/spelling_wordlist.txt                         |   4 +-
 images/workflow.png                                | Bin 12677 -> 12318 bytes
 scripts/ci/docker-compose/_docker.env              |   2 +
 scripts/ci/docker-compose/base.yml                 |   2 +
 .../ci/docker-compose/devcontainer-mysql.yml       |   9 +
 .../ci/docker-compose/devcontainer-postgres.yml    |   9 +
 scripts/ci/docker-compose/devcontainer.env         |  52 +++
 .../ci/docker-compose/devcontainer.yml             |  29 +-
 scripts/ci/docker-compose/local-all-sources.yml    |   2 -
 scripts/ci/docker-compose/local.yml                |   2 -
 ...tion_images.sh => ci_push_empty_prod_images.sh} |   0
 scripts/ci/libraries/_build_images.sh              |  58 +--
 scripts/ci/libraries/_initialization.sh            |  19 +-
 scripts/ci/libraries/_kind.sh                      |  21 +-
 scripts/ci/libraries/_runs.sh                      |  20 +-
 scripts/ci/pre_commit/pre_commit_check_license.sh  |   7 +-
 .../pre_commit/pre_commit_check_xcom_get_value.py  |  60 +++
 scripts/ci/pre_commit/pre_commit_flake8.sh         |  10 +-
 .../ci/pre_commit/pre_commit_lint_dockerfile.sh    |   7 +-
 .../pre_commit/pre_commit_migration_reference.py   |  26 +-
 .../pre_commit/pre_commit_migration_reference.sh   |   8 +-
 scripts/ci/pre_commit/pre_commit_mypy.sh           |   4 +-
 .../ci_install_and_test_provider_packages.sh       |   4 +-
 scripts/docker/install_mssql.sh                    |   5 +
 scripts/docker/install_mysql.sh                    |   5 +
 scripts/docker/install_pipx_tools.sh               |  15 +-
 scripts/in_container/bin/install_kubectl.sh        |   3 +-
 scripts/in_container/bin/install_terraform.sh      |   3 +-
 scripts/in_container/check_environment.sh          |  16 +-
 scripts/in_container/entrypoint_ci.sh              | 283 +++++++-------
 scripts/in_container/prod/entrypoint_prod.sh       |  10 +
 .../run_prepare_provider_documentation.sh          |   2 +-
 setup.cfg                                          |   3 +-
 setup.py                                           |  25 +-
 tests/always/test_project_structure.py             |   1 -
 tests/api/common/test_mark_tasks.py                |  55 ++-
 tests/api_connexion/endpoints/test_dag_endpoint.py | 433 ++++++++++++++++++++-
 .../test_mapped_task_instance_endpoint.py          |   4 +-
 .../endpoints/test_task_instance_endpoint.py       |  52 +++
 .../schemas/test_task_instance_schema.py           |   4 +-
 tests/{timetables => charts}/__init__.py           |   0
 {chart/tests => tests/charts}/conftest.py          |  16 +-
 .../charts}/helm_template_generator.py             |   8 +-
 .../tests => tests/charts}/test_airflow_common.py  |   2 +-
 {chart/tests => tests/charts}/test_annotations.py  |   2 +-
 .../charts}/test_basic_helm_chart.py               |   2 +-
 .../charts}/test_celery_kubernetes_executor.py     |   2 +-
 .../tests => tests/charts}/test_chart_quality.py   |  11 +-
 {chart/tests => tests/charts}/test_cleanup_pods.py |   2 +-
 {chart/tests => tests/charts}/test_configmap.py    |   2 +-
 .../tests => tests/charts}/test_create_user_job.py |   2 +-
 .../charts}/test_dags_persistent_volume_claim.py   |   2 +-
 .../charts}/test_elasticsearch_secret.py           |   2 +-
 .../charts}/test_extra_configmaps_secrets.py       |   2 +-
 .../charts}/test_extra_env_env_from.py             |   2 +-
 {chart/tests => tests/charts}/test_flower.py       |   2 +-
 .../charts}/test_git_sync_scheduler.py             |   2 +-
 .../charts}/test_git_sync_webserver.py             |   2 +-
 .../tests => tests/charts}/test_git_sync_worker.py |   2 +-
 .../tests => tests/charts}/test_ingress_flower.py  |   2 +-
 {chart/tests => tests/charts}/test_ingress_web.py  |   2 +-
 {chart/tests => tests/charts}/test_keda.py         |   2 +-
 {chart/tests => tests/charts}/test_kerberos.py     |   2 +-
 {chart/tests => tests/charts}/test_limit_ranges.py |   2 +-
 .../charts}/test_logs_persistent_volume_claim.py   |   2 +-
 .../charts}/test_metadata_connection_secret.py     |   2 +-
 .../charts}/test_migrate_database_job.py           |   2 +-
 .../tests => tests/charts}/test_pdb_pgbouncer.py   |   2 +-
 .../tests => tests/charts}/test_pdb_scheduler.py   |   2 +-
 .../charts/test_pdb_webserver.py                   |  12 +-
 {chart/tests => tests/charts}/test_pgbouncer.py    |   2 +-
 .../charts}/test_pod_launcher_role.py              |   2 +-
 .../charts}/test_pod_template_file.py              |   9 +-
 {chart/tests => tests/charts}/test_rbac.py         |   2 +-
 .../charts}/test_rbac_pod_log_reader.py            |   2 +-
 {chart/tests => tests/charts}/test_redis.py        |   2 +-
 .../tests => tests/charts}/test_resource_quota.py  |   2 +-
 .../test_result_backend_connection_secret.py       |   2 +-
 .../tests => tests/charts}/test_scc_rolebinding.py |   2 +-
 {chart/tests => tests/charts}/test_scheduler.py    |   2 +-
 .../charts}/test_security_context.py               |   2 +-
 {chart/tests => tests/charts}/test_statsd.py       |   2 +-
 {chart/tests => tests/charts}/test_triggerer.py    |   2 +-
 {chart/tests => tests/charts}/test_webserver.py    |   2 +-
 {chart/tests => tests/charts}/test_worker.py       |   2 +-
 tests/cli/commands/test_dag_command.py             |   9 +
 tests/conftest.py                                  |  23 +-
 tests/dags/test_mapped_classic.py                  |   2 +-
 tests/dags/test_mapped_taskflow.py                 |   2 +-
 tests/decorators/test_python.py                    |  32 +-
 tests/jobs/test_scheduler_job.py                   |   4 +-
 tests/models/test_baseoperator.py                  |  16 +-
 tests/models/test_dagrun.py                        |  38 +-
 tests/models/test_renderedtifields.py              |  59 ++-
 tests/models/test_taskinstance.py                  |  14 +-
 tests/models/test_xcom.py                          |  10 +-
 tests/operators/test_python.py                     |  26 +-
 tests/providers/alibaba/cloud/hooks/test_oss.py    |  52 ++-
 .../alibaba/cloud/log}/__init__.py                 |   0
 .../alibaba/cloud/log/test_oss_task_handler.py     | 135 +++++++
 .../providers/alibaba/cloud/operators/test_oss.py  | 163 ++++----
 .../alibaba/cloud/sensors/test_oss_key.py          | 102 ++---
 tests/providers/alibaba/cloud/utils/oss_mock.py    |   1 +
 tests/providers/amazon/aws/operators/test_ecs.py   |   7 +
 tests/providers/amazon/aws/operators/test_rds.py   |  42 +-
 .../amazon/aws/operators/test_redshift_data.py     |  26 +-
 tests/providers/amazon/aws/sensors/test_rds.py     |  20 +-
 .../operators/test_spark_kubernetes_system.py      |   4 -
 .../providers/databricks/hooks/test_databricks.py  |  61 ++-
 .../databricks/operators/test_databricks.py        |  45 ++-
 .../databricks/operators/test_databricks_sql.py    |   8 +-
 .../dbt/cloud/operators/test_dbt_cloud.py          |  21 +-
 .../providers/google/cloud/hooks/test_dataplex.py  | 120 ++++++
 .../google/cloud/operators/test_dataplex.py        | 179 +++++++++
 .../google/cloud/operators/test_dataplex_system.py |  45 +++
 .../google/cloud/sensors/test_dataplex.py          | 103 +++++
 .../google/suite/operators/test_sheets.py          |   9 +-
 tests/providers/http/operators/test_http.py        |   6 +-
 .../snowflake/operators/test_snowflake_system.py   |  35 --
 tests/sensors/test_external_task_sensor.py         |   2 +-
 tests/serialization/test_dag_serialization.py      |  10 +-
 tests/test_utils/asserts.py                        |  16 +-
 tests/test_utils/system_tests_class.py             |   9 -
 tests/utils/test_python_virtualenv.py              |  19 +
 tests/utils/test_task_group.py                     |   8 +-
 tests/www/views/test_views_base.py                 |   2 +-
 687 files changed, 7172 insertions(+), 2158 deletions(-)
 create mode 100644 .devcontainer/devcontainer.json
 rename airflow/migrations/versions/{e3a246e0dc1_current_schema.py => 
0001_e3a246e0dc1_current_schema.py} (100%)
 rename airflow/migrations/versions/{1507a7289a2f_create_is_encrypted.py => 
0002_1507a7289a2f_create_is_encrypted.py} (100%)
 rename airflow/migrations/versions/{13eb55f81627_for_compatibility.py => 
0003_13eb55f81627_for_compatibility.py} (100%)
 rename 
airflow/migrations/versions/{338e90f54d61_more_logging_into_task_isntance.py => 
0004_338e90f54d61_more_logging_into_task_isntance.py} (100%)
 rename airflow/migrations/versions/{52d714495f0_job_id_indices.py => 
0005_52d714495f0_job_id_indices.py} (100%)
 rename airflow/migrations/versions/{502898887f84_adding_extra_to_log.py => 
0006_502898887f84_adding_extra_to_log.py} (100%)
 rename airflow/migrations/versions/{1b38cef5b76e_add_dagrun.py => 
0007_1b38cef5b76e_add_dagrun.py} (100%)
 rename airflow/migrations/versions/{2e541a1dcfed_task_duration.py => 
0008_2e541a1dcfed_task_duration.py} (100%)
 rename airflow/migrations/versions/{40e67319e3a9_dagrun_config.py => 
0009_40e67319e3a9_dagrun_config.py} (100%)
 rename 
airflow/migrations/versions/{561833c1c74b_add_password_column_to_user.py => 
0010_561833c1c74b_add_password_column_to_user.py} (100%)
 rename airflow/migrations/versions/{4446e08588_dagrun_start_end.py => 
0011_4446e08588_dagrun_start_end.py} (100%)
 rename 
airflow/migrations/versions/{bbc73705a13e_add_notification_sent_column_to_sla_miss.py
 => 0012_bbc73705a13e_add_notification_sent_column_to_sla_miss.py} (100%)
 rename 
airflow/migrations/versions/{bba5a7cfc896_add_a_column_to_track_the_encryption_.py
 => 0013_bba5a7cfc896_add_a_column_to_track_the_encryption_.py} (100%)
 rename 
airflow/migrations/versions/{1968acfc09e3_add_is_encrypted_column_to_variable_.py
 => 0014_1968acfc09e3_add_is_encrypted_column_to_variable_.py} (100%)
 rename airflow/migrations/versions/{2e82aab8ef20_rename_user_table.py => 
0015_2e82aab8ef20_rename_user_table.py} (100%)
 rename airflow/migrations/versions/{211e584da130_add_ti_state_index.py => 
0016_211e584da130_add_ti_state_index.py} (100%)
 rename 
airflow/migrations/versions/{64de9cddf6c9_add_task_fails_journal_table.py => 
0017_64de9cddf6c9_add_task_fails_journal_table.py} (100%)
 rename airflow/migrations/versions/{f2ca10b85618_add_dag_stats_table.py => 
0018_f2ca10b85618_add_dag_stats_table.py} (100%)
 rename 
airflow/migrations/versions/{4addfa1236f1_add_fractional_seconds_to_mysql_tables.py
 => 0019_4addfa1236f1_add_fractional_seconds_to_mysql_tables.py} (100%)
 rename airflow/migrations/versions/{8504051e801b_xcom_dag_task_indices.py => 
0020_8504051e801b_xcom_dag_task_indices.py} (100%)
 rename 
airflow/migrations/versions/{5e7d17757c7a_add_pid_field_to_taskinstance.py => 
0021_5e7d17757c7a_add_pid_field_to_taskinstance.py} (100%)
 rename 
airflow/migrations/versions/{127d2bf2dfa7_add_dag_id_state_index_on_dag_run_table.py
 => 0022_127d2bf2dfa7_add_dag_id_state_index_on_dag_run_table.py} (100%)
 rename 
airflow/migrations/versions/{cc1e65623dc7_add_max_tries_column_to_task_instance.py
 => 0023_cc1e65623dc7_add_max_tries_column_to_task_instance.py} (100%)
 rename 
airflow/migrations/versions/{bdaa763e6c56_make_xcom_value_column_a_large_binary.py
 => 0024_bdaa763e6c56_make_xcom_value_column_a_large_binary.py} (100%)
 rename airflow/migrations/versions/{947454bf1dff_add_ti_job_id_index.py => 
0025_947454bf1dff_add_ti_job_id_index.py} (100%)
 rename 
airflow/migrations/versions/{d2ae31099d61_increase_text_size_for_mysql.py => 
0026_d2ae31099d61_increase_text_size_for_mysql.py} (100%)
 rename airflow/migrations/versions/{0e2a74e0fc9f_add_time_zone_awareness.py => 
0027_0e2a74e0fc9f_add_time_zone_awareness.py} (100%)
 rename 
airflow/migrations/versions/{33ae817a1ff4_add_kubernetes_resource_checkpointing.py
 => 0028_33ae817a1ff4_add_kubernetes_resource_checkpointing.py} (100%)
 rename 
airflow/migrations/versions/{27c6a30d7c24_add_executor_config_to_task_instance.py
 => 0029_27c6a30d7c24_add_executor_config_to_task_instance.py} (100%)
 rename 
airflow/migrations/versions/{86770d1215c0_add_kubernetes_scheduler_uniqueness.py
 => 0030_86770d1215c0_add_kubernetes_scheduler_uniqueness.py} (100%)
 rename airflow/migrations/versions/{05f30312d566_merge_heads.py => 
0031_05f30312d566_merge_heads.py} (100%)
 rename 
airflow/migrations/versions/{f23433877c24_fix_mysql_not_null_constraint.py => 
0032_f23433877c24_fix_mysql_not_null_constraint.py} (100%)
 rename airflow/migrations/versions/{856955da8476_fix_sqlite_foreign_key.py => 
0033_856955da8476_fix_sqlite_foreign_key.py} (100%)
 rename airflow/migrations/versions/{9635ae0956e7_index_taskfail.py => 
0034_9635ae0956e7_index_taskfail.py} (100%)
 rename airflow/migrations/versions/{dd25f486b8ea_add_idx_log_dag.py => 
0035_dd25f486b8ea_add_idx_log_dag.py} (100%)
 rename airflow/migrations/versions/{bf00311e1990_add_index_to_taskinstance.py 
=> 0036_bf00311e1990_add_index_to_taskinstance.py} (100%)
 rename airflow/migrations/versions/{0a2a5b66e19d_add_task_reschedule_table.py 
=> 0037_0a2a5b66e19d_add_task_reschedule_table.py} (100%)
 rename airflow/migrations/versions/{03bc53e68815_add_sm_dag_index.py => 
0038_03bc53e68815_add_sm_dag_index.py} (100%)
 rename airflow/migrations/versions/{41f5f12752f8_add_superuser_field.py => 
0039_41f5f12752f8_add_superuser_field.py} (100%)
 rename airflow/migrations/versions/{c8ffec048a3b_add_fields_to_dag.py => 
0040_c8ffec048a3b_add_fields_to_dag.py} (100%)
 rename 
airflow/migrations/versions/{dd4ecb8fbee3_add_schedule_interval_to_dag.py => 
0041_dd4ecb8fbee3_add_schedule_interval_to_dag.py} (100%)
 rename 
airflow/migrations/versions/{939bb1e647c8_task_reschedule_fk_on_cascade_delete.py
 => 0042_939bb1e647c8_task_reschedule_fk_on_cascade_delete.py} (100%)
 rename 
airflow/migrations/versions/{6e96a59344a4_make_taskinstance_pool_not_nullable.py
 => 0043_6e96a59344a4_make_taskinstance_pool_not_nullable.py} (100%)
 rename airflow/migrations/versions/{d38e04c12aa2_add_serialized_dag_table.py 
=> 0044_d38e04c12aa2_add_serialized_dag_table.py} (100%)
 rename airflow/migrations/versions/{b3b105409875_add_root_dag_id_to_dag.py => 
0045_b3b105409875_add_root_dag_id_to_dag.py} (100%)
 rename 
airflow/migrations/versions/{74effc47d867_change_datetime_to_datetime2_6_on_mssql_.py
 => 0046_74effc47d867_change_datetime_to_datetime2_6_on_mssql_.py} (100%)
 rename 
airflow/migrations/versions/{004c1210f153_increase_queue_name_size_limit.py => 
0047_004c1210f153_increase_queue_name_size_limit.py} (100%)
 rename airflow/migrations/versions/{a56c9515abdc_remove_dag_stat_table.py => 
0048_a56c9515abdc_remove_dag_stat_table.py} (100%)
 rename airflow/migrations/versions/{08364691d074_merge_heads.py => 
0049_08364691d074_merge_heads.py} (100%)
 rename 
airflow/migrations/versions/{fe461863935f_increase_length_for_connection_password.py
 => 0050_fe461863935f_increase_length_for_connection_password.py} (100%)
 rename airflow/migrations/versions/{7939bcff74ba_add_dagtags_table.py => 
0051_7939bcff74ba_add_dagtags_table.py} (100%)
 rename 
airflow/migrations/versions/{a4c2fd67d16b_add_pool_slots_field_to_task_instance.py
 => 0052_a4c2fd67d16b_add_pool_slots_field_to_task_instance.py} (100%)
 rename 
airflow/migrations/versions/{852ae6c715af_add_rendered_task_instance_fields_table.py
 => 0053_852ae6c715af_add_rendered_task_instance_fields_table.py} (100%)
 rename airflow/migrations/versions/{952da73b5eff_add_dag_code_table.py => 
0054_952da73b5eff_add_dag_code_table.py} (100%)
 rename 
airflow/migrations/versions/{a66efa278eea_add_precision_to_execution_date_in_mysql.py
 => 0055_a66efa278eea_add_precision_to_execution_date_in_mysql.py} (100%)
 rename 
airflow/migrations/versions/{da3f683c3a5a_add_dag_hash_column_to_serialized_dag_.py
 => 0056_da3f683c3a5a_add_dag_hash_column_to_serialized_dag_.py} (100%)
 rename airflow/migrations/versions/{92c57b58940d_add_fab_tables.py => 
0057_92c57b58940d_add_fab_tables.py} (100%)
 rename 
airflow/migrations/versions/{03afc6b6f902_increase_length_of_fab_ab_view_menu_.py
 => 0058_03afc6b6f902_increase_length_of_fab_ab_view_menu_.py} (100%)
 rename airflow/migrations/versions/{cf5dc11e79ad_drop_user_and_chart.py => 
0059_cf5dc11e79ad_drop_user_and_chart.py} (100%)
 rename airflow/migrations/versions/{bbf4a7ad0465_remove_id_column_from_xcom.py 
=> 0060_bbf4a7ad0465_remove_id_column_from_xcom.py} (100%)
 rename 
airflow/migrations/versions/{b25a55525161_increase_length_of_pool_name.py => 
0061_b25a55525161_increase_length_of_pool_name.py} (100%)
 rename airflow/migrations/versions/{3c20cacc0044_add_dagrun_run_type.py => 
0062_3c20cacc0044_add_dagrun_run_type.py} (100%)
 rename 
airflow/migrations/versions/{8f966b9c467a_set_conn_type_as_non_nullable.py => 
0063_8f966b9c467a_set_conn_type_as_non_nullable.py} (100%)
 rename 
airflow/migrations/versions/{8d48763f6d53_add_unique_constraint_to_conn_id.py 
=> 0064_8d48763f6d53_add_unique_constraint_to_conn_id.py} (100%)
 rename 
airflow/migrations/versions/{e38be357a868_update_schema_for_smart_sensor.py => 
0065_e38be357a868_update_schema_for_smart_sensor.py} (100%)
 rename airflow/migrations/versions/{b247b1e3d1ed_add_queued_by_job_id_to_ti.py 
=> 0066_b247b1e3d1ed_add_queued_by_job_id_to_ti.py} (100%)
 rename 
airflow/migrations/versions/{e1a11ece99cc_add_external_executor_id_to_ti.py => 
0067_e1a11ece99cc_add_external_executor_id_to_ti.py} (100%)
 rename 
airflow/migrations/versions/{bef4f3d11e8b_drop_kuberesourceversion_and_.py => 
0068_bef4f3d11e8b_drop_kuberesourceversion_and_.py} (100%)
 rename 
airflow/migrations/versions/{98271e7606e2_add_scheduling_decision_to_dagrun_and_.py
 => 0069_98271e7606e2_add_scheduling_decision_to_dagrun_and_.py} (100%)
 rename 
airflow/migrations/versions/{52d53670a240_fix_mssql_exec_date_rendered_task_instance.py
 => 0070_52d53670a240_fix_mssql_exec_date_rendered_task_instance.py} (100%)
 rename airflow/migrations/versions/{364159666cbd_add_job_id_to_dagrun_table.py 
=> 0071_364159666cbd_add_job_id_to_dagrun_table.py} (100%)
 rename 
airflow/migrations/versions/{45ba3f1493b9_add_k8s_yaml_to_rendered_templates.py 
=> 0072_45ba3f1493b9_add_k8s_yaml_to_rendered_templates.py} (100%)
 rename airflow/migrations/versions/{849da589634d_prefix_dag_permissions.py => 
0073_849da589634d_prefix_dag_permissions.py} (100%)
 rename airflow/migrations/versions/{2c6edca13270_resource_based_permissions.py 
=> 0074_2c6edca13270_resource_based_permissions.py} (100%)
 rename 
airflow/migrations/versions/{61ec73d9401f_add_description_field_to_connection.py
 => 0075_61ec73d9401f_add_description_field_to_connection.py} (100%)
 rename 
airflow/migrations/versions/{64a7d6477aae_fix_description_field_in_connection_to_.py
 => 0076_64a7d6477aae_fix_description_field_in_connection_to_.py} (100%)
 rename 
airflow/migrations/versions/{e959f08ac86c_change_field_in_dagcode_to_mediumtext_.py
 => 0077_e959f08ac86c_change_field_in_dagcode_to_mediumtext_.py} (100%)
 rename 
airflow/migrations/versions/{82b7c48c147f_remove_can_read_permission_on_config_.py
 => 0078_82b7c48c147f_remove_can_read_permission_on_config_.py} (100%)
 rename 
airflow/migrations/versions/{449b4072c2da_increase_size_of_connection_extra_field_.py
 => 0079_449b4072c2da_increase_size_of_connection_extra_field_.py} (100%)
 rename 
airflow/migrations/versions/{8646922c8a04_change_default_pool_slots_to_1.py => 
0080_8646922c8a04_change_default_pool_slots_to_1.py} (100%)
 rename 
airflow/migrations/versions/{2e42bb497a22_rename_last_scheduler_run_column.py 
=> 0081_2e42bb497a22_rename_last_scheduler_run_column.py} (100%)
 rename 
airflow/migrations/versions/{90d1635d7b86_increase_pool_name_size_in_taskinstance.py
 => 0082_90d1635d7b86_increase_pool_name_size_in_taskinstance.py} (100%)
 rename 
airflow/migrations/versions/{e165e7455d70_add_description_field_to_variable.py 
=> 0083_e165e7455d70_add_description_field_to_variable.py} (100%)
 rename 
airflow/migrations/versions/{a13f7613ad25_resource_based_permissions_for_default_.py
 => 0084_a13f7613ad25_resource_based_permissions_for_default_.py} (100%)
 rename 
airflow/migrations/versions/{97cdd93827b8_add_queued_at_column_to_dagrun_table.py
 => 0085_97cdd93827b8_add_queued_at_column_to_dagrun_table.py} (100%)
 rename 
airflow/migrations/versions/{092435bf5d12_add_max_active_runs_column_to_dagmodel_.py
 => 0086_092435bf5d12_add_max_active_runs_column_to_dagmodel_.py} (100%)
 rename 
airflow/migrations/versions/{ccde3e26fe78_add_index_on_state_dag_id_for_queued_.py
 => 0087_ccde3e26fe78_add_index_on_state_dag_id_for_queued_.py} (100%)
 rename 
airflow/migrations/versions/{83f031fd9f1c_improve_mssql_compatibility.py => 
0088_83f031fd9f1c_improve_mssql_compatibility.py} (100%)
 rename 
airflow/migrations/versions/{e9304a3141f0_make_xcom_pkey_columns_non_nullable.py
 => 0089_e9304a3141f0_make_xcom_pkey_columns_non_nullable.py} (100%)
 rename 
airflow/migrations/versions/{30867afad44a_rename_concurrency_column_in_dag_table_.py
 => 0090_30867afad44a_rename_concurrency_column_in_dag_table_.py} (100%)
 rename 
airflow/migrations/versions/{54bebd308c5f_add_trigger_table_and_task_info.py => 
0091_54bebd308c5f_add_trigger_table_and_task_info.py} (100%)
 rename 
airflow/migrations/versions/{142555e44c17_add_data_interval_start_end_to_dagmodel_and_dagrun.py
 => 0092_142555e44c17_add_data_interval_start_end_to_dagmodel_and_dagrun.py} 
(100%)
 rename 
airflow/migrations/versions/{7b2661a43ba3_taskinstance_keyed_to_dagrun.py => 
0093_7b2661a43ba3_taskinstance_keyed_to_dagrun.py} (100%)
 rename 
airflow/migrations/versions/{be2bfac3da23_add_has_import_errors_column_to_dagmodel.py
 => 0094_be2bfac3da23_add_has_import_errors_column_to_dagmodel.py} (100%)
 rename airflow/migrations/versions/{c381b21cb7e4_add_session_table_to_db.py => 
0095_c381b21cb7e4_add_session_table_to_db.py} (100%)
 rename 
airflow/migrations/versions/{587bdf053233_adding_index_for_dag_id_in_job.py => 
0096_587bdf053233_adding_index_for_dag_id_in_job.py} (100%)
 rename 
airflow/migrations/versions/{5e3ec427fdd3_increase_length_of_email_and_username.py
 => 0097_5e3ec427fdd3_increase_length_of_email_and_username.py} (100%)
 rename 
airflow/migrations/versions/{786e3737b18f_added_timetable_description_column.py 
=> 0098_786e3737b18f_added_timetable_description_column.py} (100%)
 rename 
airflow/migrations/versions/{f9da662e7089_add_task_log_filename_template_model.py
 => 0099_f9da662e7089_add_task_log_filename_template_model.py} (100%)
 rename 
airflow/migrations/versions/{e655c0453f75_add_taskmap_and_map_id_on_taskinstance.py
 => 0100_e655c0453f75_add_taskmap_and_map_id_on_taskinstance.py} (100%)
 rename 
airflow/migrations/versions/{a3bcd0914482_add_data_compressed_to_serialized_dag.py
 => 0101_a3bcd0914482_add_data_compressed_to_serialized_dag.py} (100%)
 rename 
airflow/migrations/versions/{c306b5b5ae4a_switch_xcom_table_to_use_run_id.py => 
0102_c306b5b5ae4a_switch_xcom_table_to_use_run_id.py} (92%)
 rename airflow/migrations/versions/{c97c2ab6aa23_add_callback_request_table.py 
=> 0103_c97c2ab6aa23_add_callback_request_table.py} (100%)
 create mode 100644 
airflow/migrations/versions/0104_4eaab2fe6582_migrate_rtif_to_use_run_id_and_map_index.py
 copy {tests/timetables => airflow/providers/alibaba/cloud/log}/__init__.py 
(100%)
 copy airflow/providers/{amazon/aws/log/s3_task_handler.py => 
alibaba/cloud/log/oss_task_handler.py} (63%)
 copy airflow/providers/amazon/aws/example_dags/{example_ecs_fargate.py => 
example_ecs_ec2.py} (73%)
 create mode 100644 
airflow/providers/amazon/aws/example_dags/example_redshift_cluster.py
 create mode 100644 
airflow/providers/google/cloud/example_dags/example_dataplex.py
 create mode 100644 airflow/providers/google/cloud/hooks/dataplex.py
 create mode 100644 airflow/providers/google/cloud/links/dataplex.py
 create mode 100644 airflow/providers/google/cloud/operators/dataplex.py
 create mode 100644 airflow/providers/google/cloud/sensors/dataplex.py
 create mode 100644 airflow/www/static/js/tree/TaskName.jsx
 create mode 100644 airflow/www/static/js/tree/providers/containerRef.jsx
 create mode 100644 airflow/www/static/js/tree/providers/selection.jsx
 create mode 100644 chart/templates/webserver/webserver-poddisruptionbudget.yaml
 copy docs/{apache-airflow-providers-amazon => 
apache-airflow-providers-alibaba}/logging/index.rst (100%)
 copy airflow/providers/github/CHANGELOG.rst => 
docs/apache-airflow-providers-alibaba/logging/oss-task-handler.rst (50%)
 create mode 100644 
docs/apache-airflow-providers-google/operators/cloud/dataplex.rst
 copy chart/tests/__init__.py => 
scripts/ci/docker-compose/devcontainer-mysql.yml (86%)
 rename chart/tests/__init__.py => 
scripts/ci/docker-compose/devcontainer-postgres.yml (86%)
 create mode 100644 scripts/ci/docker-compose/devcontainer.env
 copy airflow/providers/sendgrid/provider.yaml => 
scripts/ci/docker-compose/devcontainer.yml (62%)
 rename scripts/ci/images/{ci_push_empty_production_images.sh => 
ci_push_empty_prod_images.sh} (100%)
 create mode 100755 scripts/ci/pre_commit/pre_commit_check_xcom_get_value.py
 copy tests/{timetables => charts}/__init__.py (100%)
 rename {chart/tests => tests/charts}/conftest.py (74%)
 rename {chart/tests => tests/charts}/helm_template_generator.py (96%)
 rename {chart/tests => tests/charts}/test_airflow_common.py (99%)
 rename {chart/tests => tests/charts}/test_annotations.py (99%)
 rename {chart/tests => tests/charts}/test_basic_helm_chart.py (99%)
 rename {chart/tests => tests/charts}/test_celery_kubernetes_executor.py (96%)
 rename {chart/tests => tests/charts}/test_chart_quality.py (81%)
 rename {chart/tests => tests/charts}/test_cleanup_pods.py (99%)
 rename {chart/tests => tests/charts}/test_configmap.py (98%)
 rename {chart/tests => tests/charts}/test_create_user_job.py (99%)
 rename {chart/tests => tests/charts}/test_dags_persistent_volume_claim.py (97%)
 rename {chart/tests => tests/charts}/test_elasticsearch_secret.py (98%)
 rename {chart/tests => tests/charts}/test_extra_configmaps_secrets.py (98%)
 rename {chart/tests => tests/charts}/test_extra_env_env_from.py (97%)
 rename {chart/tests => tests/charts}/test_flower.py (99%)
 rename {chart/tests => tests/charts}/test_git_sync_scheduler.py (99%)
 rename {chart/tests => tests/charts}/test_git_sync_webserver.py (99%)
 rename {chart/tests => tests/charts}/test_git_sync_worker.py (98%)
 rename {chart/tests => tests/charts}/test_ingress_flower.py (98%)
 rename {chart/tests => tests/charts}/test_ingress_web.py (98%)
 rename {chart/tests => tests/charts}/test_keda.py (98%)
 rename {chart/tests => tests/charts}/test_kerberos.py (98%)
 rename {chart/tests => tests/charts}/test_limit_ranges.py (95%)
 rename {chart/tests => tests/charts}/test_logs_persistent_volume_claim.py (97%)
 rename {chart/tests => tests/charts}/test_metadata_connection_secret.py (98%)
 rename {chart/tests => tests/charts}/test_migrate_database_job.py (99%)
 rename {chart/tests => tests/charts}/test_pdb_pgbouncer.py (96%)
 copy {chart/tests => tests/charts}/test_pdb_scheduler.py (96%)
 rename chart/tests/test_pdb_scheduler.py => tests/charts/test_pdb_webserver.py 
(77%)
 rename {chart/tests => tests/charts}/test_pgbouncer.py (99%)
 rename {chart/tests => tests/charts}/test_pod_launcher_role.py (96%)
 rename {chart/tests => tests/charts}/test_pod_template_file.py (99%)
 rename {chart/tests => tests/charts}/test_rbac.py (99%)
 rename {chart/tests => tests/charts}/test_rbac_pod_log_reader.py (97%)
 rename {chart/tests => tests/charts}/test_redis.py (99%)
 rename {chart/tests => tests/charts}/test_resource_quota.py (96%)
 rename {chart/tests => tests/charts}/test_result_backend_connection_secret.py 
(99%)
 rename {chart/tests => tests/charts}/test_scc_rolebinding.py (98%)
 rename {chart/tests => tests/charts}/test_scheduler.py (99%)
 rename {chart/tests => tests/charts}/test_security_context.py (99%)
 rename {chart/tests => tests/charts}/test_statsd.py (98%)
 rename {chart/tests => tests/charts}/test_triggerer.py (99%)
 rename {chart/tests => tests/charts}/test_webserver.py (99%)
 rename {chart/tests => tests/charts}/test_worker.py (99%)
 copy tests/{timetables => providers/alibaba/cloud/log}/__init__.py (100%)
 create mode 100644 tests/providers/alibaba/cloud/log/test_oss_task_handler.py
 create mode 100644 tests/providers/google/cloud/hooks/test_dataplex.py
 create mode 100644 tests/providers/google/cloud/operators/test_dataplex.py
 create mode 100644 
tests/providers/google/cloud/operators/test_dataplex_system.py
 create mode 100644 tests/providers/google/cloud/sensors/test_dataplex.py

Reply via email to