You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2025/01/27 10:19:41 UTC
(airflow) branch main updated: Move TERADATA provider to new structure (#46060)
This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new b0d7ee2dabf Move TERADATA provider to new structure (#46060)
b0d7ee2dabf is described below
commit b0d7ee2dabf706b6662b33b1b9372047f94680b4
Author: vatsrahul1001 <43...@users.noreply.github.com>
AuthorDate: Mon Jan 27 15:49:34 2025 +0530
Move TERADATA provider to new structure (#46060)
* moving provider teradata
* resolving conflicts
---
.github/boring-cyborg.yml | 5 +-
docs/.gitignore | 1 +
.../provider_tests/qdrant/hooks/test_qdrant.py | 4 +-
.../provider_tests/qdrant/operators/test_qdrant.py | 5 +-
.../index.rst => providers/teradata/README.rst | 86 +---
.../docs}/.latest-doc-only-change.txt | 0
.../CHANGELOG.rst => teradata/docs/changelog.rst} | 0
.../teradata/docs}/commits.rst | 0
.../teradata/docs}/connections/teradata.rst | 0
.../teradata/docs}/index.rst | 0
.../docs}/installing-providers-from-sources.rst | 0
.../teradata/docs/integration-logos}/Teradata.png | Bin
.../docs}/operators/azure_blob_to_teradata.rst | 14 +-
.../teradata/docs}/operators/compute_cluster.rst | 8 +-
.../teradata/docs}/operators/index.rst | 0
.../teradata/docs}/operators/s3_to_teradata.rst | 8 +-
.../teradata/docs}/operators/teradata.rst | 26 +-
.../docs}/operators/teradata_to_teradata.rst | 4 +-
.../teradata/docs}/security.rst | 0
.../airflow/providers => }/teradata/provider.yaml | 16 +-
providers/teradata/pyproject.toml | 90 ++++
.../src/airflow/providers/teradata/LICENSE | 201 +++++++++
.../src/airflow/providers/teradata/__init__.py | 0
.../providers/teradata/get_provider_info.py | 109 +++++
.../airflow/providers/teradata/hooks/__init__.py | 0
.../airflow/providers/teradata/hooks/teradata.py | 0
.../providers/teradata/operators/__init__.py | 0
.../providers/teradata/operators/teradata.py | 0
.../teradata/operators/teradata_compute_cluster.py | 0
.../providers/teradata/transfers/__init__.py | 0
.../teradata/transfers/azure_blob_to_teradata.py | 0
.../providers/teradata/transfers/s3_to_teradata.py | 0
.../teradata/transfers/teradata_to_teradata.py | 0
.../providers/teradata/triggers/__init__.py | 0
.../teradata/triggers/teradata_compute_cluster.py | 0
.../airflow/providers/teradata/utils/__init__.py | 0
.../airflow/providers/teradata/utils/constants.py | 0
.../__init__.py => teradata/tests/conftest.py} | 16 +
.../tests/provider_tests}/__init__.py | 1 +
.../tests/provider_tests}/teradata/__init__.py | 0
.../provider_tests}/teradata/hooks/__init__.py | 0
.../teradata/hooks/test_teradata.py | 0
.../provider_tests}/teradata/operators/__init__.py | 0
.../teradata/operators/test_teradata.py | 0
.../operators/test_teradata_compute_cluster.py | 0
.../provider_tests}/teradata/transfers/__init__.py | 0
.../transfers/test_azure_blob_to_teradata.py | 0
.../teradata/transfers/test_s3_to_teradata.py | 0
.../transfers/test_teradata_to_teradata.py | 0
.../provider_tests}/teradata/triggers/__init__.py | 0
.../triggers/test_teradata_compute_cluster.py | 0
.../provider_tests}/teradata/utils/__init__.py | 0
.../teradata/utils/test_constants.py | 0
.../tests/system}/teradata/__init__.py | 0
.../tests/system/teradata/create_ssl_table.sql | 0
.../tests/system/teradata/create_table.sql | 0
.../example_azure_blob_to_teradata_transfer.py | 0
.../teradata/example_s3_to_teradata_transfer.py | 0
.../tests/system/teradata/example_ssl_teradata.py | 0
.../tests/system/teradata/example_teradata.py | 0
.../system/teradata/example_teradata_call_sp.py | 0
.../teradata/example_teradata_compute_cluster.py | 0
.../example_teradata_to_teradata_transfer.py | 0
.../yandex/README.rst | 2 +-
providers/yandex/docs/.latest-doc-only-change.txt | 1 +
providers/yandex/docs/changelog.rst | 454 +++++++++++++++++++
providers/yandex/docs/commits.rst | 492 +++++++++++++++++++++
.../yandex/docs/configurations-ref.rst | 2 +-
providers/yandex/docs/connections/yandexcloud.rst | 95 ++++
providers/yandex/docs/index.rst | 110 +++++
.../docs}/installing-providers-from-sources.rst | 0
.../yandex/docs/integration-logos/Yandex-Cloud.png | Bin 0 -> 12347 bytes
providers/yandex/docs/operators/dataproc.rst | 37 ++
.../yandex/docs/operators/index.rst | 15 +-
.../yandex/docs/operators/yq.rst | 15 +-
.../yandex-cloud-lockbox-secret-backend.rst | 298 +++++++++++++
.../yandex/docs/security.rst | 2 +-
pyproject.toml | 3 +
scripts/ci/docker-compose/remove-sources.yml | 1 +
scripts/ci/docker-compose/tests-sources.yml | 1 +
80 files changed, 1984 insertions(+), 138 deletions(-)
diff --git a/.github/boring-cyborg.yml b/.github/boring-cyborg.yml
index 5c5cec39b39..d655b4ed4d7 100644
--- a/.github/boring-cyborg.yml
+++ b/.github/boring-cyborg.yml
@@ -408,10 +408,7 @@ labelPRBasedOnFilePath:
- providers/telegram/**
provider:teradata:
- - providers/src/airflow/providers/teradata/**/*
- - docs/apache-airflow-providers-teradata/**/*
- - providers/tests/teradata/**/*
- - providers/tests/system/teradata/**/*
+ - providers/teradata/**
provider:trino:
- providers/src/airflow/providers/trino/**/*
diff --git a/docs/.gitignore b/docs/.gitignore
index 91a0a168e36..a1d71d70587 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -36,6 +36,7 @@ apache-airflow-providers-segment
apache-airflow-providers-singularity
apache-airflow-providers-ssh
apache-airflow-providers-standard
+apache-airflow-providers-teradata
apache-airflow-providers-tableau
apache-airflow-providers-telegram
apache-airflow-providers-weaviate
diff --git a/providers/qdrant/tests/provider_tests/qdrant/hooks/test_qdrant.py b/providers/qdrant/tests/provider_tests/qdrant/hooks/test_qdrant.py
index cef7374aff6..5933b0a1c7a 100644
--- a/providers/qdrant/tests/provider_tests/qdrant/hooks/test_qdrant.py
+++ b/providers/qdrant/tests/provider_tests/qdrant/hooks/test_qdrant.py
@@ -20,10 +20,10 @@ from unittest.mock import Mock, patch
import pytest
-qdrant_client = pytest.importorskip("qdrant_client")
-
from airflow.providers.qdrant.hooks.qdrant import QdrantHook
+qdrant_client = pytest.importorskip("qdrant_client")
+
class TestQdrantHook:
def setup_method(self):
diff --git a/providers/qdrant/tests/provider_tests/qdrant/operators/test_qdrant.py b/providers/qdrant/tests/provider_tests/qdrant/operators/test_qdrant.py
index 0a3b539cd7a..ea2e7879a1e 100644
--- a/providers/qdrant/tests/provider_tests/qdrant/operators/test_qdrant.py
+++ b/providers/qdrant/tests/provider_tests/qdrant/operators/test_qdrant.py
@@ -20,11 +20,10 @@ from unittest.mock import patch
import pytest
-qdrant_client = pytest.importorskip("qdrant_client")
-
-
from airflow.providers.qdrant.operators.qdrant import QdrantIngestOperator
+qdrant_client = pytest.importorskip("qdrant_client")
+
class TestQdrantIngestOperator:
@pytest.mark.db_test
diff --git a/docs/apache-airflow-providers-teradata/index.rst b/providers/teradata/README.rst
similarity index 52%
copy from docs/apache-airflow-providers-teradata/index.rst
copy to providers/teradata/README.rst
index fb037044b00..adce7564977 100644
--- a/docs/apache-airflow-providers-teradata/index.rst
+++ b/providers/teradata/README.rst
@@ -16,87 +16,41 @@
specific language governing permissions and limitations
under the License.
-``apache-airflow-providers-teradata``
-=====================================
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+ .. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+ `PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
-.. toctree::
- :hidden:
- :maxdepth: 1
- :caption: Basics
- Home <self>
- Changelog <changelog>
- Security <security>
+Package ``apache-airflow-providers-teradata``
-.. toctree::
- :hidden:
- :maxdepth: 1
- :caption: Guides
+Release: ``3.0.0``
- Connection types <connections/teradata>
- Operators <operators/index>
-
-.. toctree::
- :hidden:
- :maxdepth: 1
- :caption: References
-
- Python API <_api/airflow/providers/teradata/index>
-
-.. toctree::
- :hidden:
- :maxdepth: 1
- :caption: System tests
-
- System Tests <_api/tests/system/teradata/index>
- System Tests Dashboard <https://teradata.github.io/airflow/index.html>
-
-.. toctree::
- :hidden:
- :maxdepth: 1
- :caption: Resources
-
- PyPI Repository <https://pypi.org/project/apache-airflow-providers-teradata/>
- Installing from sources <installing-providers-from-sources>
-
-.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME!
-
-
-.. toctree::
- :hidden:
- :maxdepth: 1
- :caption: Commits
-
- Detailed list of commits <commits>
-
-
-apache-airflow-providers-teradata package
-------------------------------------------------------
`Teradata <https://www.teradata.com/>`__
-Release: 3.0.0
-
Provider package
----------------
-This package is for the ``teradata`` provider.
-All classes for this package are included in the ``airflow.providers.teradata`` python package.
+This is a provider package for ``teradata`` provider. All classes for this provider package
+are in ``airflow.providers.teradata`` python package.
+
+You can find package information and changelog for the provider
+in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/>`_.
Installation
------------
-You can install this package on top of an existing Airflow 2 installation via
-``pip install apache-airflow-providers-teradata``.
-For the minimum Airflow version supported, see ``Requirements`` below.
+You can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below
+for the minimum Airflow version supported) via
+``pip install apache-airflow-providers-teradata``
+
+The package supports the following python versions: 3.9,3.10,3.11,3.12
Requirements
------------
-The minimum Apache Airflow version supported by this provider package is ``2.9.0``.
-
======================================= ==================
PIP package Version required
======================================= ==================
@@ -127,11 +81,5 @@ Dependent package
`apache-airflow-providers-microsoft-azure <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure>`_ ``microsoft.azure``
====================================================================================================================== ===================
-Downloading official packages
------------------------------
-
-You can download officially released packages and verify their checksums and signatures from the
-`Official Apache Download site <https://downloads.apache.org/airflow/providers/>`_
-
-* `The apache-airflow-providers-teradata 3.0.0 sdist package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_teradata-3.0.0.tar.gz>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_teradata-3.0.0.tar.gz.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_teradata-3.0.0.tar.gz.sha512>`__)
-* `The apache-airflow-providers-teradata 3.0.0 wheel package <https://downloads.apache.org/airflow/providers/apache_airflow_providers_teradata-3.0.0-py3-none-any.whl>`_ (`asc <https://downloads.apache.org/airflow/providers/apache_airflow_providers_teradata-3.0.0-py3-none-any.whl.asc>`__, `sha512 <https://downloads.apache.org/airflow/providers/apache_airflow_providers_teradata-3.0.0-py3-none-any.whl.sha512>`__)
+The changelog for the provider package can be found in the
+`changelog <https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/changelog.html>`_.
diff --git a/providers/src/airflow/providers/teradata/.latest-doc-only-change.txt b/providers/teradata/docs/.latest-doc-only-change.txt
similarity index 100%
rename from providers/src/airflow/providers/teradata/.latest-doc-only-change.txt
rename to providers/teradata/docs/.latest-doc-only-change.txt
diff --git a/providers/src/airflow/providers/teradata/CHANGELOG.rst b/providers/teradata/docs/changelog.rst
similarity index 100%
rename from providers/src/airflow/providers/teradata/CHANGELOG.rst
rename to providers/teradata/docs/changelog.rst
diff --git a/docs/apache-airflow-providers-teradata/commits.rst b/providers/teradata/docs/commits.rst
similarity index 100%
rename from docs/apache-airflow-providers-teradata/commits.rst
rename to providers/teradata/docs/commits.rst
diff --git a/docs/apache-airflow-providers-teradata/connections/teradata.rst b/providers/teradata/docs/connections/teradata.rst
similarity index 100%
rename from docs/apache-airflow-providers-teradata/connections/teradata.rst
rename to providers/teradata/docs/connections/teradata.rst
diff --git a/docs/apache-airflow-providers-teradata/index.rst b/providers/teradata/docs/index.rst
similarity index 100%
rename from docs/apache-airflow-providers-teradata/index.rst
rename to providers/teradata/docs/index.rst
diff --git a/docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst b/providers/teradata/docs/installing-providers-from-sources.rst
similarity index 100%
copy from docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst
copy to providers/teradata/docs/installing-providers-from-sources.rst
diff --git a/docs/integration-logos/teradata/Teradata.png b/providers/teradata/docs/integration-logos/Teradata.png
similarity index 100%
rename from docs/integration-logos/teradata/Teradata.png
rename to providers/teradata/docs/integration-logos/Teradata.png
diff --git a/docs/apache-airflow-providers-teradata/operators/azure_blob_to_teradata.rst b/providers/teradata/docs/operators/azure_blob_to_teradata.rst
similarity index 90%
rename from docs/apache-airflow-providers-teradata/operators/azure_blob_to_teradata.rst
rename to providers/teradata/docs/operators/azure_blob_to_teradata.rst
index 4cc3da46a90..88524f7d69e 100644
--- a/docs/apache-airflow-providers-teradata/operators/azure_blob_to_teradata.rst
+++ b/providers/teradata/docs/operators/azure_blob_to_teradata.rst
@@ -60,7 +60,7 @@ Transferring data from public Azure Blob Storage to Teradata
An example usage of the AzureBlobStorageToTeradataOperator to transfer CSV data format from public Azure Blob Storage to teradata table is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
:language: python
:start-after: [START azure_blob__to_teradata_transfer_operator_howto_guide_transfer_data_public_blob_to_teradata_csv]
:end-before: [END azure_blob__to_teradata_transfer_operator_howto_guide_transfer_data_public_blob_to_teradata_csv]
@@ -71,7 +71,7 @@ Transferring data from private Azure Blob Storage to Teradata with AWS connectio
An example usage of the AzureBlobStorageToTeradataOperator to transfer CSV data format from private S3 object store to teradata with AWS credentials defined as
AWS connection:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
:language: python
:start-after: [START azure_blob_to_teradata_transfer_operator_howto_guide_transfer_data_access_blob_to_teradata_csv]
:end-before: [END azure_blob_to_teradata_transfer_operator_howto_guide_transfer_data_access_blob_to_teradata_csv]
@@ -85,7 +85,7 @@ database object should exists in Teradata database to use it in transferring dat
An example usage of the AzureBlobStorageToTeradataOperator to transfer CSV data format from private S3 object store to teradata with
Authorization database object defined in Teradata.
-.. exampleinclude:: /../../providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
:language: python
:start-after: [START azure_blob_to_teradata_transfer_operator_howto_guide_transfer_data_authorization_blob_to_teradata_csv]
:end-before: [END azure_blob_to_teradata_transfer_operator_howto_guide_transfer_data_authorization_blob_to_teradata_csv]
@@ -96,7 +96,7 @@ Transferring data in CSV format from Azure Blob Storage to Teradata
An example usage of the AzureBlobStorageToTeradataOperator to transfer CSV data format from Azure Blob Storage
to teradata table is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
:language: python
:start-after: [START azure_blob__to_teradata_transfer_operator_howto_guide_transfer_data_public_blob_to_teradata_csv]
:end-before: [END azure_blob__to_teradata_transfer_operator_howto_guide_transfer_data_public_blob_to_teradata_csv]
@@ -107,7 +107,7 @@ Transferring data in JSON format from Azure Blob Storage to Teradata
An example usage of the AzureBlobStorageToTeradataOperator to transfer JSON data format from Azure Blob Storage
to teradata table is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
:language: python
:start-after: [START azure_blob_to_teradata_transfer_operator_howto_guide_transfer_data_blob_to_teradata_json]
:end-before: [END azure_blob_to_teradata_transfer_operator_howto_guide_transfer_data_blob_to_teradata_json]
@@ -118,7 +118,7 @@ Transferring data in PARQUET format from Azure Blob Storage to Teradata
An example usage of the AzureBlobStorageToTeradataOperator to transfer PARQUET data format from Azure Blob Storage
to teradata table is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
:language: python
:start-after: [START azure_blob_to_teradata_transfer_operator_howto_guide_transfer_data_blob_to_teradata_parquet]
:end-before: [END azure_blob_to_teradata_transfer_operator_howto_guide_transfer_data_blob_to_teradata_parquet]
@@ -128,7 +128,7 @@ The complete ``AzureBlobStorageToTeradataOperator`` Operator DAG
When we put everything together, our DAG should look like this:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
:language: python
:start-after: [START azure_blob_to_teradata_transfer_operator_howto_guide]
:end-before: [END azure_blob_to_teradata_transfer_operator_howto_guide]
diff --git a/docs/apache-airflow-providers-teradata/operators/compute_cluster.rst b/providers/teradata/docs/operators/compute_cluster.rst
similarity index 91%
rename from docs/apache-airflow-providers-teradata/operators/compute_cluster.rst
rename to providers/teradata/docs/operators/compute_cluster.rst
index 507aac5c90a..9c83fd5bdeb 100644
--- a/docs/apache-airflow-providers-teradata/operators/compute_cluster.rst
+++ b/providers/teradata/docs/operators/compute_cluster.rst
@@ -33,7 +33,7 @@ to provision the new Compute Cluster in Teradata Vantage Cloud Lake.
An example usage of the TeradataComputeClusterProvisionOperator to provision the new Compute Cluster in
Teradata Vantage Cloud Lake is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_compute_cluster.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_compute_cluster.py
:language: python
:start-after: [START teradata_vantage_lake_compute_cluster_provision_howto_guide]
:end-before: [END teradata_vantage_lake_compute_cluster_provision_howto_guide]
@@ -56,7 +56,7 @@ to decommission the specified Teradata Vantage Cloud Lake Compute Cluster.
An example usage of the TeradataComputeClusterDecommissionOperator to decommission the specified Teradata Vantage Cloud
Lake Compute Cluster is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_compute_cluster.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_compute_cluster.py
:language: python
:start-after: [START teradata_vantage_lake_compute_cluster_decommission_howto_guide]
:end-before: [END teradata_vantage_lake_compute_cluster_decommission_howto_guide]
@@ -79,7 +79,7 @@ to start the specified Compute Cluster in Teradata Vantage Cloud Lake.
An example usage of the TeradataComputeClusterSuspendOperator to start the specified Compute Cluster in
Teradata Vantage Cloud Lake is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_compute_cluster.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_compute_cluster.py
:language: python
:start-after: [START teradata_vantage_lake_compute_cluster_resume_howto_guide]
:end-before: [END teradata_vantage_lake_compute_cluster_resume_howto_guide]
@@ -101,7 +101,7 @@ to suspend the specified Compute Cluster in Teradata Vantage Cloud Lake.
An example usage of the TeradataComputeClusterSuspendOperator to suspend the specified Compute Cluster in
Teradata Vantage Cloud Lake is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_compute_cluster.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_compute_cluster.py
:language: python
:start-after: [START teradata_vantage_lake_compute_cluster_suspend_howto_guide]
:end-before: [END teradata_vantage_lake_compute_cluster_suspend_howto_guide]
diff --git a/docs/apache-airflow-providers-teradata/operators/index.rst b/providers/teradata/docs/operators/index.rst
similarity index 100%
copy from docs/apache-airflow-providers-teradata/operators/index.rst
copy to providers/teradata/docs/operators/index.rst
diff --git a/docs/apache-airflow-providers-teradata/operators/s3_to_teradata.rst b/providers/teradata/docs/operators/s3_to_teradata.rst
similarity index 91%
rename from docs/apache-airflow-providers-teradata/operators/s3_to_teradata.rst
rename to providers/teradata/docs/operators/s3_to_teradata.rst
index e24887126a2..e48a4d0968b 100644
--- a/docs/apache-airflow-providers-teradata/operators/s3_to_teradata.rst
+++ b/providers/teradata/docs/operators/s3_to_teradata.rst
@@ -45,7 +45,7 @@ Transferring data in CSV format from S3 to Teradata
An example usage of the S3ToTeradataOperator to transfer CSV data format from S3 to teradata table is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_s3_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_s3_to_teradata_transfer.py
:language: python
:start-after: [START s3_to_teradata_transfer_operator_howto_guide_transfer_data_public_s3_to_teradata_csv]
:end-before: [END s3_to_teradata_transfer_operator_howto_guide_transfer_data_public_s3_to_teradata_csv]
@@ -55,7 +55,7 @@ Transferring data in JSON format from S3 to Teradata
An example usage of the S3ToTeradataOperator to transfer JSON data format from S3 to teradata table is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_s3_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_s3_to_teradata_transfer.py
:language: python
:start-after: [START s3_to_teradata_transfer_operator_howto_guide_transfer_data_s3_to_teradata_json]
:end-before: [END s3_to_teradata_transfer_operator_howto_guide_transfer_data_s3_to_teradata_json]
@@ -65,7 +65,7 @@ Transferring data in PARQUET format from S3 to Teradata
An example usage of the S3ToTeradataOperator to transfer PARQUET data format from S3 to teradata table is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_s3_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_s3_to_teradata_transfer.py
:language: python
:start-after: [START s3_to_teradata_transfer_operator_howto_guide_transfer_data_s3_to_teradata_parquet]
:end-before: [END s3_to_teradata_transfer_operator_howto_guide_transfer_data_s3_to_teradata_parquet]
@@ -75,7 +75,7 @@ The complete ``S3ToTeradataOperator`` Operator DAG
When we put everything together, our DAG should look like this:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_s3_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_s3_to_teradata_transfer.py
:language: python
:start-after: [START s3_to_teradata_transfer_operator_howto_guide]
:end-before: [END s3_to_teradata_transfer_operator_howto_guide]
diff --git a/docs/apache-airflow-providers-teradata/operators/teradata.rst b/providers/teradata/docs/operators/teradata.rst
similarity index 87%
rename from docs/apache-airflow-providers-teradata/operators/teradata.rst
rename to providers/teradata/docs/operators/teradata.rst
index 78e2e1b12e8..1da53f453d8 100644
--- a/docs/apache-airflow-providers-teradata/operators/teradata.rst
+++ b/providers/teradata/docs/operators/teradata.rst
@@ -33,7 +33,7 @@ Creating a Teradata database table
An example usage of the TeradataOperator is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata.py
:language: python
:dedent: 4
:start-after: [START teradata_operator_howto_guide_create_table]
@@ -42,7 +42,7 @@ An example usage of the TeradataOperator is as follows:
You can also use an external file to execute the SQL commands. External file must be at the same level as DAG.py file.
This way you can easily maintain the SQL queries separated from the code.
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata.py
:language: python
:start-after: [START teradata_operator_howto_guide_create_table_from_external_file]
:end-before: [END teradata_operator_howto_guide_create_table_from_external_file]
@@ -63,7 +63,7 @@ Inserting data into a Teradata database table
---------------------------------------------
We can then create a TeradataOperator task that populate the ``Users`` table.
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata.py
:language: python
:start-after: [START teradata_operator_howto_guide_populate_table]
:end-before: [END teradata_operator_howto_guide_populate_table]
@@ -74,7 +74,7 @@ Fetching records from your Teradata database table
Fetching records from your Teradata database table can be as simple as:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata.py
:language: python
:start-after: [START teradata_operator_howto_guide_get_all_countries]
:end-before: [END teradata_operator_howto_guide_get_all_countries]
@@ -88,7 +88,7 @@ SQL requests during runtime.
To find the countries in Asian continent:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata.py
:language: python
:start-after: [START teradata_operator_howto_guide_params_passing_get_query]
:end-before: [END teradata_operator_howto_guide_params_passing_get_query]
@@ -99,7 +99,7 @@ Dropping a Teradata database table
We can then create a TeradataOperator task that drops the ``Users`` table.
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata.py
:language: python
:start-after: [START teradata_operator_howto_guide_drop_users_table]
:end-before: [END teradata_operator_howto_guide_drop_users_table]
@@ -109,7 +109,7 @@ The complete Teradata Operator DAG
When we put everything together, our DAG should look like this:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata.py
:language: python
:start-after: [START teradata_operator_howto_guide]
:end-before: [END teradata_operator_howto_guide]
@@ -152,21 +152,21 @@ This stored procedure can be invoked using
One approach involves passing parameters positionally as a list, with output parameters specified as Python data types:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_call_sp.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_call_sp.py
:language: python
:start-after: [START howto_call_teradata_stored_procedure_operator_with_types]
:end-before: [END howto_call_teradata_stored_procedure_operator_with_types]
Alternatively, parameters can be passed positionally as a list, with output parameters designated as placeholders:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_call_sp.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_call_sp.py
:language: python
:start-after: [START howto_call_teradata_stored_procedure_operator_with_place_holder]
:end-before: [END howto_call_teradata_stored_procedure_operator_with_place_holder]
Another method entails passing parameters positionally as a dictionary:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_call_sp.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_call_sp.py
:language: python
:start-after: [START howto_call_teradata_stored_procedure_operator_with_dict_input]
:end-before: [END howto_call_teradata_stored_procedure_operator_with_dict_input]
@@ -186,7 +186,7 @@ This stored procedure yields a singular timestamp argument, out_timestamp, and i
:class:`~airflow.providers.teradata.operators.teradata.TeradataStoredProcedureOperator`
with parameters passed positionally as a list:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_call_sp.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_call_sp.py
:language: python
:start-after: [START howto_call_teradata_stored_procedure_operator_timestamp]
:end-before: [END howto_call_teradata_stored_procedure_operator_timestamp]
@@ -213,7 +213,7 @@ This stored procedure can be invoked using
:class:`~airflow.providers.teradata.operators.teradata.TeradataStoredProcedureOperator`
with parameters passed positionally as a list:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_call_sp.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_call_sp.py
:language: python
:start-after: [START howto_teradata_stored_procedure_operator_with_in_out_dynamic_result]
:end-before: [END howto_teradata_stored_procedure_operator_with_in_out_dynamic_result]
@@ -223,7 +223,7 @@ The complete TeradataStoredProcedureOperator DAG
When we put everything together, our DAG should look like this:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_call_sp.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_call_sp.py
:language: python
:start-after: [START howto_teradata_operator_for_sp]
:end-before: [END howto_teradata_operator_for_sp]
diff --git a/docs/apache-airflow-providers-teradata/operators/teradata_to_teradata.rst b/providers/teradata/docs/operators/teradata_to_teradata.rst
similarity index 91%
rename from docs/apache-airflow-providers-teradata/operators/teradata_to_teradata.rst
rename to providers/teradata/docs/operators/teradata_to_teradata.rst
index ec2a414ff7d..c1bc9982a2e 100644
--- a/docs/apache-airflow-providers-teradata/operators/teradata_to_teradata.rst
+++ b/providers/teradata/docs/operators/teradata_to_teradata.rst
@@ -32,7 +32,7 @@ To transfer data between two Teradata instances, use the
An example usage of the TeradataToTeradataOperator is as follows:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata_to_teradata_transfer.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata_to_teradata_transfer.py
:language: python
:start-after: [START teradata_to_teradata_transfer_operator_howto_guide_transfer_data]
:end-before: [END teradata_to_teradata_transfer_operator_howto_guide_transfer_data]
@@ -42,7 +42,7 @@ The complete TeradataToTeradata Transfer Operator DAG
When we put everything together, our DAG should look like this:
-.. exampleinclude:: /../../providers/tests/system/teradata/example_teradata.py
+.. exampleinclude:: /../../providers/teradata/tests/system/teradata/example_teradata.py
:language: python
:start-after: [START teradata_operator_howto_guide]
:end-before: [END teradata_operator_howto_guide]
diff --git a/docs/apache-airflow-providers-teradata/security.rst b/providers/teradata/docs/security.rst
similarity index 100%
rename from docs/apache-airflow-providers-teradata/security.rst
rename to providers/teradata/docs/security.rst
diff --git a/providers/src/airflow/providers/teradata/provider.yaml b/providers/teradata/provider.yaml
similarity index 87%
rename from providers/src/airflow/providers/teradata/provider.yaml
rename to providers/teradata/provider.yaml
index bb45180aeca..48b822172e6 100644
--- a/providers/src/airflow/providers/teradata/provider.yaml
+++ b/providers/teradata/provider.yaml
@@ -36,27 +36,13 @@ versions:
- 2.1.0
- 2.0.0
-dependencies:
- - apache-airflow>=2.9.0
- - apache-airflow-providers-common-sql>=1.20.0
- - teradatasqlalchemy>=17.20.0.0
- - teradatasql>=17.20.0.28
-
-additional-extras:
- - name: microsoft.azure
- dependencies:
- - apache-airflow-providers-microsoft-azure
- - name: amazon
- dependencies:
- - apache-airflow-providers-amazon
-
integrations:
- integration-name: Teradata
external-doc-url: https://www.teradata.com/
how-to-guide:
- /docs/apache-airflow-providers-teradata/operators/teradata.rst
- /docs/apache-airflow-providers-teradata/operators/compute_cluster.rst
- logo: /integration-logos/teradata/Teradata.png
+ logo: /docs/integration-logos/Teradata.png
tags: [software]
operators:
diff --git a/providers/teradata/pyproject.toml b/providers/teradata/pyproject.toml
new file mode 100644
index 00000000000..f0b8333b749
--- /dev/null
+++ b/providers/teradata/pyproject.toml
@@ -0,0 +1,90 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+
+# IF YOU WANT TO MODIFY THIS FILE EXCEPT DEPENDENCIES, YOU SHOULD MODIFY THE TEMPLATE
+# `pyproject_TEMPLATE.toml.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
+[build-system]
+requires = ["flit_core==3.10.1"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "apache-airflow-providers-teradata"
+version = "3.0.0"
+description = "Provider package apache-airflow-providers-teradata for Apache Airflow"
+readme = "README.rst"
+authors = [
+ {name="Apache Software Foundation", email="dev@airflow.apache.org"},
+]
+maintainers = [
+ {name="Apache Software Foundation", email="dev@airflow.apache.org"},
+]
+keywords = [ "airflow-provider", "teradata", "airflow", "integration" ]
+classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Environment :: Console",
+ "Environment :: Web Environment",
+ "Intended Audience :: Developers",
+ "Intended Audience :: System Administrators",
+ "Framework :: Apache Airflow",
+ "Framework :: Apache Airflow :: Provider",
+ "License :: OSI Approved :: Apache Software License",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Topic :: System :: Monitoring",
+]
+requires-python = "~=3.9"
+
+# The dependencies should be modified in place in the generated file
+# Any change in the dependencies is preserved when the file is regenerated
+dependencies = [
+ "apache-airflow>=2.9.0",
+ "apache-airflow-providers-common-sql>=1.20.0",
+ "teradatasqlalchemy>=17.20.0.0",
+ "teradatasql>=17.20.0.28",
+]
+
+# The optional dependencies should be modified in place in the generated file
+# Any change in the dependencies is preserved when the file is regenerated
+[project.optional-dependencies]
+"microsoft.azure" = [
+ "apache-airflow-providers-microsoft-azure",
+]
+"amazon" = [
+ "apache-airflow-providers-amazon",
+]
+
+[project.urls]
+"Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0"
+"Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-teradata/3.0.0/changelog.html"
+"Bug Tracker" = "https://github.com/apache/airflow/issues"
+"Source Code" = "https://github.com/apache/airflow"
+"Slack Chat" = "https://s.apache.org/airflow-slack"
+"Twitter" = "https://x.com/ApacheAirflow"
+"YouTube" = "https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/"
+
+[project.entry-points."apache_airflow_provider"]
+provider_info = "airflow.providers.teradata.get_provider_info:get_provider_info"
+
+[tool.flit.module]
+name = "airflow.providers.teradata"
+
+[tool.pytest.ini_options]
+ignore = "tests/system/"
diff --git a/providers/teradata/src/airflow/providers/teradata/LICENSE b/providers/teradata/src/airflow/providers/teradata/LICENSE
new file mode 100644
index 00000000000..11069edd790
--- /dev/null
+++ b/providers/teradata/src/airflow/providers/teradata/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/providers/src/airflow/providers/teradata/__init__.py b/providers/teradata/src/airflow/providers/teradata/__init__.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/__init__.py
rename to providers/teradata/src/airflow/providers/teradata/__init__.py
diff --git a/providers/teradata/src/airflow/providers/teradata/get_provider_info.py b/providers/teradata/src/airflow/providers/teradata/get_provider_info.py
new file mode 100644
index 00000000000..6057834dfa4
--- /dev/null
+++ b/providers/teradata/src/airflow/providers/teradata/get_provider_info.py
@@ -0,0 +1,109 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
+#
+# IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+# `get_provider_info_TEMPLATE.py.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+
+def get_provider_info():
+ return {
+ "package-name": "apache-airflow-providers-teradata",
+ "name": "Teradata",
+ "description": "`Teradata <https://www.teradata.com/>`__\n",
+ "state": "ready",
+ "source-date-epoch": 1734537340,
+ "versions": [
+ "3.0.0",
+ "2.6.1",
+ "2.6.0",
+ "2.5.0",
+ "2.4.0",
+ "2.3.0",
+ "2.2.0",
+ "2.1.1",
+ "2.1.0",
+ "2.0.0",
+ ],
+ "integrations": [
+ {
+ "integration-name": "Teradata",
+ "external-doc-url": "https://www.teradata.com/",
+ "how-to-guide": [
+ "/docs/apache-airflow-providers-teradata/operators/teradata.rst",
+ "/docs/apache-airflow-providers-teradata/operators/compute_cluster.rst",
+ ],
+ "logo": "/docs/integration-logos/Teradata.png",
+ "tags": ["software"],
+ }
+ ],
+ "operators": [
+ {
+ "integration-name": "Teradata",
+ "python-modules": [
+ "airflow.providers.teradata.operators.teradata",
+ "airflow.providers.teradata.operators.teradata_compute_cluster",
+ ],
+ }
+ ],
+ "hooks": [
+ {"integration-name": "Teradata", "python-modules": ["airflow.providers.teradata.hooks.teradata"]}
+ ],
+ "transfers": [
+ {
+ "source-integration-name": "Teradata",
+ "target-integration-name": "Teradata",
+ "python-module": "airflow.providers.teradata.transfers.teradata_to_teradata",
+ "how-to-guide": "/docs/apache-airflow-providers-teradata/operators/teradata_to_teradata.rst",
+ },
+ {
+ "source-integration-name": "Microsoft Azure Blob Storage",
+ "target-integration-name": "Teradata",
+ "python-module": "airflow.providers.teradata.transfers.azure_blob_to_teradata",
+ "how-to-guide": "/docs/apache-airflow-providers-teradata/operators/azure_blob_to_teradata.rst",
+ },
+ {
+ "source-integration-name": "Amazon Simple Storage Service (S3)",
+ "target-integration-name": "Teradata",
+ "python-module": "airflow.providers.teradata.transfers.s3_to_teradata",
+ "how-to-guide": "/docs/apache-airflow-providers-teradata/operators/s3_to_teradata.rst",
+ },
+ ],
+ "connection-types": [
+ {
+ "hook-class-name": "airflow.providers.teradata.hooks.teradata.TeradataHook",
+ "connection-type": "teradata",
+ }
+ ],
+ "triggers": [
+ {
+ "integration-name": "Teradata",
+ "python-modules": ["airflow.providers.teradata.triggers.teradata_compute_cluster"],
+ }
+ ],
+ "dependencies": [
+ "apache-airflow>=2.9.0",
+ "apache-airflow-providers-common-sql>=1.20.0",
+ "teradatasqlalchemy>=17.20.0.0",
+ "teradatasql>=17.20.0.28",
+ ],
+ "optional-dependencies": {
+ "microsoft.azure": ["apache-airflow-providers-microsoft-azure"],
+ "amazon": ["apache-airflow-providers-amazon"],
+ },
+ }
diff --git a/providers/src/airflow/providers/teradata/hooks/__init__.py b/providers/teradata/src/airflow/providers/teradata/hooks/__init__.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/hooks/__init__.py
rename to providers/teradata/src/airflow/providers/teradata/hooks/__init__.py
diff --git a/providers/src/airflow/providers/teradata/hooks/teradata.py b/providers/teradata/src/airflow/providers/teradata/hooks/teradata.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/hooks/teradata.py
rename to providers/teradata/src/airflow/providers/teradata/hooks/teradata.py
diff --git a/providers/src/airflow/providers/teradata/operators/__init__.py b/providers/teradata/src/airflow/providers/teradata/operators/__init__.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/operators/__init__.py
rename to providers/teradata/src/airflow/providers/teradata/operators/__init__.py
diff --git a/providers/src/airflow/providers/teradata/operators/teradata.py b/providers/teradata/src/airflow/providers/teradata/operators/teradata.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/operators/teradata.py
rename to providers/teradata/src/airflow/providers/teradata/operators/teradata.py
diff --git a/providers/src/airflow/providers/teradata/operators/teradata_compute_cluster.py b/providers/teradata/src/airflow/providers/teradata/operators/teradata_compute_cluster.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/operators/teradata_compute_cluster.py
rename to providers/teradata/src/airflow/providers/teradata/operators/teradata_compute_cluster.py
diff --git a/providers/src/airflow/providers/teradata/transfers/__init__.py b/providers/teradata/src/airflow/providers/teradata/transfers/__init__.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/transfers/__init__.py
rename to providers/teradata/src/airflow/providers/teradata/transfers/__init__.py
diff --git a/providers/src/airflow/providers/teradata/transfers/azure_blob_to_teradata.py b/providers/teradata/src/airflow/providers/teradata/transfers/azure_blob_to_teradata.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/transfers/azure_blob_to_teradata.py
rename to providers/teradata/src/airflow/providers/teradata/transfers/azure_blob_to_teradata.py
diff --git a/providers/src/airflow/providers/teradata/transfers/s3_to_teradata.py b/providers/teradata/src/airflow/providers/teradata/transfers/s3_to_teradata.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/transfers/s3_to_teradata.py
rename to providers/teradata/src/airflow/providers/teradata/transfers/s3_to_teradata.py
diff --git a/providers/src/airflow/providers/teradata/transfers/teradata_to_teradata.py b/providers/teradata/src/airflow/providers/teradata/transfers/teradata_to_teradata.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/transfers/teradata_to_teradata.py
rename to providers/teradata/src/airflow/providers/teradata/transfers/teradata_to_teradata.py
diff --git a/providers/src/airflow/providers/teradata/triggers/__init__.py b/providers/teradata/src/airflow/providers/teradata/triggers/__init__.py
similarity index 100%
copy from providers/src/airflow/providers/teradata/triggers/__init__.py
copy to providers/teradata/src/airflow/providers/teradata/triggers/__init__.py
diff --git a/providers/src/airflow/providers/teradata/triggers/teradata_compute_cluster.py b/providers/teradata/src/airflow/providers/teradata/triggers/teradata_compute_cluster.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/triggers/teradata_compute_cluster.py
rename to providers/teradata/src/airflow/providers/teradata/triggers/teradata_compute_cluster.py
diff --git a/providers/src/airflow/providers/teradata/utils/__init__.py b/providers/teradata/src/airflow/providers/teradata/utils/__init__.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/utils/__init__.py
rename to providers/teradata/src/airflow/providers/teradata/utils/__init__.py
diff --git a/providers/src/airflow/providers/teradata/utils/constants.py b/providers/teradata/src/airflow/providers/teradata/utils/constants.py
similarity index 100%
rename from providers/src/airflow/providers/teradata/utils/constants.py
rename to providers/teradata/src/airflow/providers/teradata/utils/constants.py
diff --git a/providers/src/airflow/providers/teradata/triggers/__init__.py b/providers/teradata/tests/conftest.py
similarity index 58%
copy from providers/src/airflow/providers/teradata/triggers/__init__.py
copy to providers/teradata/tests/conftest.py
index 13a83393a91..068fe6bbf5a 100644
--- a/providers/src/airflow/providers/teradata/triggers/__init__.py
+++ b/providers/teradata/tests/conftest.py
@@ -14,3 +14,19 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
+from __future__ import annotations
+
+import pathlib
+
+import pytest
+
+pytest_plugins = "tests_common.pytest_plugin"
+
+
+@pytest.hookimpl(tryfirst=True)
+def pytest_configure(config: pytest.Config) -> None:
+ deprecations_ignore_path = pathlib.Path(__file__).parent.joinpath("deprecations_ignore.yml")
+ dep_path = [deprecations_ignore_path] if deprecations_ignore_path.exists() else []
+ config.inicfg["airflow_deprecations_ignore"] = (
+ config.inicfg.get("airflow_deprecations_ignore", []) + dep_path # type: ignore[assignment,operator]
+ )
diff --git a/providers/src/airflow/providers/teradata/triggers/__init__.py b/providers/teradata/tests/provider_tests/__init__.py
similarity index 90%
rename from providers/src/airflow/providers/teradata/triggers/__init__.py
rename to providers/teradata/tests/provider_tests/__init__.py
index 13a83393a91..e8fd2285643 100644
--- a/providers/src/airflow/providers/teradata/triggers/__init__.py
+++ b/providers/teradata/tests/provider_tests/__init__.py
@@ -14,3 +14,4 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
+__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
diff --git a/providers/tests/system/teradata/__init__.py b/providers/teradata/tests/provider_tests/teradata/__init__.py
similarity index 100%
rename from providers/tests/system/teradata/__init__.py
rename to providers/teradata/tests/provider_tests/teradata/__init__.py
diff --git a/providers/tests/teradata/hooks/__init__.py b/providers/teradata/tests/provider_tests/teradata/hooks/__init__.py
similarity index 100%
rename from providers/tests/teradata/hooks/__init__.py
rename to providers/teradata/tests/provider_tests/teradata/hooks/__init__.py
diff --git a/providers/tests/teradata/hooks/test_teradata.py b/providers/teradata/tests/provider_tests/teradata/hooks/test_teradata.py
similarity index 100%
rename from providers/tests/teradata/hooks/test_teradata.py
rename to providers/teradata/tests/provider_tests/teradata/hooks/test_teradata.py
diff --git a/providers/tests/teradata/operators/__init__.py b/providers/teradata/tests/provider_tests/teradata/operators/__init__.py
similarity index 100%
rename from providers/tests/teradata/operators/__init__.py
rename to providers/teradata/tests/provider_tests/teradata/operators/__init__.py
diff --git a/providers/tests/teradata/operators/test_teradata.py b/providers/teradata/tests/provider_tests/teradata/operators/test_teradata.py
similarity index 100%
rename from providers/tests/teradata/operators/test_teradata.py
rename to providers/teradata/tests/provider_tests/teradata/operators/test_teradata.py
diff --git a/providers/tests/teradata/operators/test_teradata_compute_cluster.py b/providers/teradata/tests/provider_tests/teradata/operators/test_teradata_compute_cluster.py
similarity index 100%
rename from providers/tests/teradata/operators/test_teradata_compute_cluster.py
rename to providers/teradata/tests/provider_tests/teradata/operators/test_teradata_compute_cluster.py
diff --git a/providers/tests/teradata/transfers/__init__.py b/providers/teradata/tests/provider_tests/teradata/transfers/__init__.py
similarity index 100%
rename from providers/tests/teradata/transfers/__init__.py
rename to providers/teradata/tests/provider_tests/teradata/transfers/__init__.py
diff --git a/providers/tests/teradata/transfers/test_azure_blob_to_teradata.py b/providers/teradata/tests/provider_tests/teradata/transfers/test_azure_blob_to_teradata.py
similarity index 100%
rename from providers/tests/teradata/transfers/test_azure_blob_to_teradata.py
rename to providers/teradata/tests/provider_tests/teradata/transfers/test_azure_blob_to_teradata.py
diff --git a/providers/tests/teradata/transfers/test_s3_to_teradata.py b/providers/teradata/tests/provider_tests/teradata/transfers/test_s3_to_teradata.py
similarity index 100%
rename from providers/tests/teradata/transfers/test_s3_to_teradata.py
rename to providers/teradata/tests/provider_tests/teradata/transfers/test_s3_to_teradata.py
diff --git a/providers/tests/teradata/transfers/test_teradata_to_teradata.py b/providers/teradata/tests/provider_tests/teradata/transfers/test_teradata_to_teradata.py
similarity index 100%
rename from providers/tests/teradata/transfers/test_teradata_to_teradata.py
rename to providers/teradata/tests/provider_tests/teradata/transfers/test_teradata_to_teradata.py
diff --git a/providers/tests/teradata/triggers/__init__.py b/providers/teradata/tests/provider_tests/teradata/triggers/__init__.py
similarity index 100%
rename from providers/tests/teradata/triggers/__init__.py
rename to providers/teradata/tests/provider_tests/teradata/triggers/__init__.py
diff --git a/providers/tests/teradata/triggers/test_teradata_compute_cluster.py b/providers/teradata/tests/provider_tests/teradata/triggers/test_teradata_compute_cluster.py
similarity index 100%
rename from providers/tests/teradata/triggers/test_teradata_compute_cluster.py
rename to providers/teradata/tests/provider_tests/teradata/triggers/test_teradata_compute_cluster.py
diff --git a/providers/tests/teradata/utils/__init__.py b/providers/teradata/tests/provider_tests/teradata/utils/__init__.py
similarity index 100%
rename from providers/tests/teradata/utils/__init__.py
rename to providers/teradata/tests/provider_tests/teradata/utils/__init__.py
diff --git a/providers/tests/teradata/utils/test_constants.py b/providers/teradata/tests/provider_tests/teradata/utils/test_constants.py
similarity index 100%
rename from providers/tests/teradata/utils/test_constants.py
rename to providers/teradata/tests/provider_tests/teradata/utils/test_constants.py
diff --git a/providers/tests/teradata/__init__.py b/providers/teradata/tests/system/teradata/__init__.py
similarity index 100%
rename from providers/tests/teradata/__init__.py
rename to providers/teradata/tests/system/teradata/__init__.py
diff --git a/providers/tests/system/teradata/create_ssl_table.sql b/providers/teradata/tests/system/teradata/create_ssl_table.sql
similarity index 100%
rename from providers/tests/system/teradata/create_ssl_table.sql
rename to providers/teradata/tests/system/teradata/create_ssl_table.sql
diff --git a/providers/tests/system/teradata/create_table.sql b/providers/teradata/tests/system/teradata/create_table.sql
similarity index 100%
rename from providers/tests/system/teradata/create_table.sql
rename to providers/teradata/tests/system/teradata/create_table.sql
diff --git a/providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py b/providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
similarity index 100%
rename from providers/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
rename to providers/teradata/tests/system/teradata/example_azure_blob_to_teradata_transfer.py
diff --git a/providers/tests/system/teradata/example_s3_to_teradata_transfer.py b/providers/teradata/tests/system/teradata/example_s3_to_teradata_transfer.py
similarity index 100%
rename from providers/tests/system/teradata/example_s3_to_teradata_transfer.py
rename to providers/teradata/tests/system/teradata/example_s3_to_teradata_transfer.py
diff --git a/providers/tests/system/teradata/example_ssl_teradata.py b/providers/teradata/tests/system/teradata/example_ssl_teradata.py
similarity index 100%
rename from providers/tests/system/teradata/example_ssl_teradata.py
rename to providers/teradata/tests/system/teradata/example_ssl_teradata.py
diff --git a/providers/tests/system/teradata/example_teradata.py b/providers/teradata/tests/system/teradata/example_teradata.py
similarity index 100%
rename from providers/tests/system/teradata/example_teradata.py
rename to providers/teradata/tests/system/teradata/example_teradata.py
diff --git a/providers/tests/system/teradata/example_teradata_call_sp.py b/providers/teradata/tests/system/teradata/example_teradata_call_sp.py
similarity index 100%
rename from providers/tests/system/teradata/example_teradata_call_sp.py
rename to providers/teradata/tests/system/teradata/example_teradata_call_sp.py
diff --git a/providers/tests/system/teradata/example_teradata_compute_cluster.py b/providers/teradata/tests/system/teradata/example_teradata_compute_cluster.py
similarity index 100%
rename from providers/tests/system/teradata/example_teradata_compute_cluster.py
rename to providers/teradata/tests/system/teradata/example_teradata_compute_cluster.py
diff --git a/providers/tests/system/teradata/example_teradata_to_teradata_transfer.py b/providers/teradata/tests/system/teradata/example_teradata_to_teradata_transfer.py
similarity index 100%
rename from providers/tests/system/teradata/example_teradata_to_teradata_transfer.py
rename to providers/teradata/tests/system/teradata/example_teradata_to_teradata_transfer.py
diff --git a/docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst b/providers/yandex/README.rst
similarity index 92%
copy from docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst
copy to providers/yandex/README.rst
index b4e730f4ff2..ef6c09aeba2 100644
--- a/docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst
+++ b/providers/yandex/README.rst
@@ -15,4 +15,4 @@
specific language governing permissions and limitations
under the License.
-.. include:: ../exts/includes/installing-providers-from-sources.rst
+This content will be overridden by pre-commit hook
diff --git a/providers/yandex/docs/.latest-doc-only-change.txt b/providers/yandex/docs/.latest-doc-only-change.txt
new file mode 100644
index 00000000000..2a10512ecd4
--- /dev/null
+++ b/providers/yandex/docs/.latest-doc-only-change.txt
@@ -0,0 +1 @@
+857ca4c06c9008593674cabdd28d3c30e3e7f97b
diff --git a/providers/yandex/docs/changelog.rst b/providers/yandex/docs/changelog.rst
new file mode 100644
index 00000000000..e71425d3056
--- /dev/null
+++ b/providers/yandex/docs/changelog.rst
@@ -0,0 +1,454 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+.. NOTE TO CONTRIBUTORS:
+ Please, only add notes to the Changelog just below the "Changelog" header when there are some breaking changes
+ and you want to add an explanation to the users on how they are supposed to deal with them.
+ The changelog is updated and maintained semi-automatically by release manager.
+
+``apache-airflow-providers-yandex``
+
+
+Changelog
+---------
+
+4.0.0
+.....
+
+.. note::
+ This release of provider is only available for Airflow 2.9+ as explained in the
+ `Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
+
+Breaking changes
+~~~~~~~~~~~~~~~~
+
+.. warning::
+ All deprecated classes, parameters and features have been removed from the {provider_name} provider package.
+ The following breaking changes were introduced:
+
+ * removed ``YandexCloudBaseHook.provider_user_agent`` . Use ``utils.user_agent.provider_user_agent`` instead.
+ * removed ``connection_id`` parameter from ``YandexCloudBaseHook``. Use ``yandex_conn_id`` parameter.
+ * removed ``yandex.hooks.yandexcloud_dataproc`` module.
+ * removed ``yandex.operators.yandexcloud_dataproc`` module.
+ * removed implicit passing of ``yandex_conn_id`` in ``DataprocBaseOperator``. Please pass it as a parameter.
+
+* ``Remove Provider Deprecations in Yandex provider (#44754)``
+
+Misc
+~~~~
+
+* ``Bump minimum Airflow version in providers to Airflow 2.9.0 (#44956)``
+* ``Update DAG example links in multiple providers documents (#44034)``
+
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Use Python 3.9 as target version for Ruff & Black rules (#44298)``
+ * ``Prepare docs for Nov 1st wave of providers (#44011)``
+ * ``Split providers out of the main "airflow/" tree into a UV workspace project (#42505)``
+
+.. Review and move the new changes to one of the sections above:
+ * ``Update path of example dags in docs (#45069)``
+
+3.12.0
+......
+
+.. note::
+ This release of provider is only available for Airflow 2.8+ as explained in the
+ `Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
+
+Bug Fixes
+~~~~~~~~~
+
+* ``providers/yandex: fix typing (#40997)``
+
+Misc
+~~~~
+
+* ``Bump minimum Airflow version in providers to Airflow 2.8.0 (#41396)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Prepare docs for Aug 1st wave of providers (#41230)``
+ * ``Prepare docs 1st wave July 2024 (#40644)``
+ * ``Enable enforcing pydocstyle rule D213 in ruff. (#40448)``
+
+3.11.2
+......
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Exclude yandex versions 0.289.0, 0.290.0 (#39974)``
+
+Misc
+~~~~
+
+* ``Fix typos in Providers docs and Yandex hook (#40277)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Limit yandex provider to avoid mypy errors (#39990)``
+ * ``Workaround new yandexcloud breaking dataproc integration (#39964)``
+
+3.11.1
+......
+
+Misc
+~~~~
+
+* `` AIP-21: yandexcloud: rename files, emit deprecation warning (#39618)``
+* ``yandex provider: bump version for yq http client package (#39548)``
+* ``Faster 'airflow_version' imports (#39552)``
+* ``add doc about Yandex Query operator (#39445)``
+* ``Simplify 'airflow_version' imports (#39497)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Reapply templates for all providers (#39554)``
+
+3.11.0
+......
+
+.. note::
+ This release of provider is only available for Airflow 2.7+ as explained in the
+ `Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
+
+Misc
+~~~~
+
+* ``Bump minimum Airflow version in providers to Airflow 2.7.0 (#39240)``
+
+3.10.0
+......
+
+Features
+~~~~~~~~
+
+* ``Add Yandex Query support from Yandex.Cloud (#37458)``
+
+Misc
+~~~~
+
+* ``support iam token from metadata, simplify code (#38411)``
+* ``Avoid use of 'assert' outside of the tests (#37718)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Prepare docs 1st wave (RC1) April 2024 (#38863)``
+ * ``docs: yandex provider grammatical improvements (#38589)``
+ * ``Bump ruff to 0.3.3 (#38240)``
+ * ``Prepare docs 1st wave (RC1) March 2024 (#37876)``
+ * ``Add comment about versions updated by release manager (#37488)``
+
+3.9.0
+.....
+
+Features
+~~~~~~~~
+
+* ``Add secrets-backends section into the Yandex provider yaml definition (#37065)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``fix: using endpoint from connection if not specified (#37076)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``D401 Support in Providers (simple) (#37258)``
+ * ``docs: update description in airflow provider.yaml (#37096)``
+
+3.8.0
+.....
+
+Features
+~~~~~~~~
+
+* ``feat: add Yandex Cloud Lockbox secrets backend (#36449)``
+
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Fix stacklevel in warnings.warn into the providers (#36831)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Prepare docs 1st wave of Providers January 2024 (#36640)``
+ * ``Speed up autocompletion of Breeze by simplifying provider state (#36499)``
+ * ``Provide the logger_name param in providers hooks in order to override the logger name (#36675)``
+ * ``Revert "Provide the logger_name param in providers hooks in order to override the logger name (#36675)" (#37015)``
+ * ``Prepare docs 2nd wave of Providers January 2024 (#36945)``
+
+3.7.1
+.....
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Follow BaseHook connection fields method signature in child classes (#36086)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+
+3.7.0
+.....
+
+.. note::
+ This release of provider is only available for Airflow 2.6+ as explained in the
+ `Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
+
+Misc
+~~~~
+
+* ``Bump minimum Airflow version in providers to Airflow 2.6.0 (#36017)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Fix and reapply templates for provider documentation (#35686)``
+ * ``Prepare docs 2nd wave of Providers November 2023 (#35836)``
+ * ``Use reproducible builds for provider packages (#35693)``
+
+3.6.0
+.....
+
+Features
+~~~~~~~~
+
+* ``Yandex dataproc deduce default service account (#35059)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Prepare docs 3rd wave of Providers October 2023 - FIX (#35233)``
+ * ``Prepare docs 3rd wave of Providers October 2023 (#35187)``
+ * ``Pre-upgrade 'ruff==0.0.292' changes in providers (#35053)``
+
+3.5.0
+.....
+
+.. note::
+ This release of provider is only available for Airflow 2.5+ as explained in the
+ `Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
+
+Misc
+~~~~
+
+* ``Bump min airflow version of providers (#34728)``
+
+3.4.0
+.....
+
+.. note::
+ This release dropped support for Python 3.7
+
+Features
+~~~~~~~~
+
+* ``add support for Yandex Dataproc cluster labels (#29811)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Add note about dropping Python 3.7 for providers (#32015)``
+ * ``Add D400 pydocstyle check - Providers (#31427)``
+ * ``Add full automation for min Airflow version for providers (#30994)``
+ * ``Add mechanism to suspend providers (#30422)``
+ * ``Resume yandex provider (#33574)``
+ * ``Remove spurious headers for provider changelogs (#32373)``
+ * ``Improve provider documentation and README structure (#32125)``
+ * ``Use '__version__' in providers not 'version' (#31393)``
+ * ``Use 'AirflowProviderDeprecationWarning' in providers (#30975)``
+ * ``Bump minimum Airflow version in providers (#30917)``
+ * ``Suspend Yandex provider due to protobuf limitation (#30667)``
+
+3.3.0
+.....
+
+Features
+~~~~~~~~
+
+* ``support Yandex SDK feature "endpoint" (#29635)``
+
+3.2.0
+.....
+
+.. note::
+ This release of provider is only available for Airflow 2.3+ as explained in the
+ Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
+
+Features
+~~~~~~~~
+
+* In YandexCloudBaseHook, non-prefixed extra fields are supported and are preferred (#27040). E.g. ``folder_id`` will be preferred if ``extra__yandexcloud__folder_id`` is also present.
+
+Misc
+~~~~
+
+* ``Move min airflow version to 2.3.0 for all providers (#27196)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Enable string normalization in python formatting - providers (#27205)``
+ * ``Update docs for September Provider's release (#26731)``
+ * ``Apply PEP-563 (Postponed Evaluation of Annotations) to non-core airflow (#26289)``
+ * ``pRepare docs for November 2022 wave of Providers (#27613)``
+ * ``Prepare for follow-up release for November providers (#27774)``
+
+3.1.0
+.....
+
+Features
+~~~~~~~~
+
+* ``YandexCloud provider: Support new Yandex SDK features for DataProc (#25158)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Add documentation for July 2022 Provider's release (#25030)``
+ * ``Move provider dependencies to inside provider folders (#24672)``
+ * ``Remove 'hook-class-names' from provider.yaml (#24702)``
+
+3.0.0
+.....
+
+Breaking changes
+~~~~~~~~~~~~~~~~
+
+.. note::
+ This release of provider is only available for Airflow 2.2+ as explained in the Apache Airflow
+ Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Migrate Yandex example DAGs to new design AIP-47 (#24082)``
+ * ``Add explanatory note for contributors about updating Changelog (#24229)``
+ * ``Prepare docs for May 2022 provider's release (#24231)``
+ * ``Update package description to remove double min-airflow specification (#24292)``
+
+2.2.3
+.....
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Fix mistakenly added install_requires for all providers (#22382)``
+
+2.2.2
+.....
+
+Misc
+~~~~~
+
+* ``Add Trove classifiers in PyPI (Framework :: Apache Airflow :: Provider)``
+
+2.2.1
+.....
+
+Misc
+~~~~
+
+* ``Support for Python 3.10``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Fixed changelog for January 2022 (delayed) provider's release (#21439)``
+ * ``Add documentation for January 2021 providers release (#21257)``
+ * ``Add optional features in providers. (#21074)``
+ * ``Remove ':type' lines now sphinx-autoapi supports typehints (#20951)``
+ * ``Fix spelling (#22054)``
+
+2.2.0
+.....
+
+Features
+~~~~~~~~
+
+* ``YandexCloud provider: Support new Yandex SDK features: log_group_id, user-agent, maven packages (#20103)``
+
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Fix mypy for providers: elasticsearch, oracle, yandex (#20344)``
+ * ``Fixup string concatenations (#19099)``
+ * ``Update documentation for November 2021 provider's release (#19882)``
+ * ``Prepare documentation for October Provider's release (#19321)``
+ * ``Update documentation for September providers release (#18613)``
+ * ``Static start_date and default arg cleanup for misc. provider example DAGs (#18597)``
+ * ``Inclusive Language (#18349)``
+ * ``Use typed Context EVERYWHERE (#20565)``
+ * ``Fix template_fields type to have MyPy friendly Sequence type (#20571)``
+ * ``Update documentation for provider December 2021 release (#20523)``
+
+2.1.0
+.....
+
+Misc
+~~~~
+
+* ``Optimise connection importing for Airflow 2.2.0``
+
+
+Features
+~~~~~~~~
+
+* ``Add autoscaling subcluster support and remove defaults (#17033)``
+
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Update description about the new ''connection-types'' provider meta-data (#17767)``
+ * ``Import Hooks lazily individually in providers manager (#17682)``
+ * ``Prepares docs for Rc2 release of July providers (#17116)``
+ * ``Remove/refactor default_args pattern for miscellaneous providers (#16872)``
+ * ``Prepare documentation for July release of providers. (#17015)``
+ * ``Removes pylint from our toolchain (#16682)``
+
+2.0.0
+.....
+
+Breaking changes
+~~~~~~~~~~~~~~~~
+
+* ``Auto-apply apply_default decorator (#15667)``
+
+.. warning:: Due to apply_default decorator removal, this version of the provider requires Airflow 2.1.0+.
+ If your Airflow version is < 2.1.0, and you want to install this provider version, first upgrade
+ Airflow to at least version 2.1.0. Otherwise your Airflow package version will be upgraded
+ automatically and you will have to manually run ``airflow upgrade db`` to complete the migration.
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Adds interactivity when generating provider documentation. (#15518)``
+ * ``Prepares provider release after PIP 21 compatibility (#15576)``
+ * ``Update docstrings to adhere to sphinx standards (#14918)``
+ * ``Remove Backport Providers (#14886)``
+ * ``Update documentation for broken package releases (#14734)``
+ * ``Updated documentation for June 2021 provider release (#16294)``
+ * ``Fix Sphinx Issues with Docstrings (#14968)``
+ * ``More documentation update for June providers release (#16405)``
+ * ``Synchronizes updated changelog after buggfix release (#16464)``
+
+1.0.1
+.....
+
+Updated documentation and readme files.
+
+1.0.0
+.....
+
+Initial version of the provider.
diff --git a/providers/yandex/docs/commits.rst b/providers/yandex/docs/commits.rst
new file mode 100644
index 00000000000..78d8068f45c
--- /dev/null
+++ b/providers/yandex/docs/commits.rst
@@ -0,0 +1,492 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+ .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
+ OVERWRITTEN WHEN PREPARING PACKAGES.
+
+ .. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
+ `PROVIDER_COMMITS_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
+
+ .. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME!
+
+Package apache-airflow-providers-yandex
+------------------------------------------------------
+
+This package is for Yandex, including:
+
+ - `Yandex.Cloud <https://cloud.yandex.com/>`__
+
+
+This is detailed commit list of changes for versions provider package: ``yandex``.
+For high-level changelog, see :doc:`package information including changelog <index>`.
+
+
+
+4.0.0
+.....
+
+Latest change: 2024-12-19
+
+================================================================================================= =========== ========================================================================================
+Commit Committed Subject
+================================================================================================= =========== ========================================================================================
+`35b927fe17 <https://github.com/apache/airflow/commit/35b927fe177065dad0e00c49d72b494e58b27ca8>`_ 2024-12-19 ``Update path of example dags in docs (#45069)``
+`4b38bed76c <https://github.com/apache/airflow/commit/4b38bed76c1ea5fe84a6bc678ce87e20d563adc0>`_ 2024-12-16 ``Bump min version of Providers to 2.9 (#44956)``
+`e786c78f52 <https://github.com/apache/airflow/commit/e786c78f528ab3f9f8073ad1b4dc7323b8e5a0ce>`_ 2024-12-07 ``Remove Provider Deprecations in Yandex provider (#44754)``
+`1275fec92f <https://github.com/apache/airflow/commit/1275fec92fd7cd7135b100d66d41bdcb79ade29d>`_ 2024-11-24 ``Use Python 3.9 as target version for Ruff & Black rules (#44298)``
+`4dfae23532 <https://github.com/apache/airflow/commit/4dfae23532d26ed838069c49d48f28c185e954c6>`_ 2024-11-15 ``Update DAG example links in multiple providers documents (#44034)``
+`a53d9f6d25 <https://github.com/apache/airflow/commit/a53d9f6d257f193ea5026ba4cd007d5ddeab968f>`_ 2024-11-14 ``Prepare docs for Nov 1st wave of providers (#44011)``
+`857ca4c06c <https://github.com/apache/airflow/commit/857ca4c06c9008593674cabdd28d3c30e3e7f97b>`_ 2024-10-09 ``Split providers out of the main "airflow/" tree into a UV workspace project (#42505)``
+================================================================================================= =========== ========================================================================================
+
+3.12.0
+......
+
+Latest change: 2024-08-19
+
+================================================================================================= =========== =======================================================================
+Commit Committed Subject
+================================================================================================= =========== =======================================================================
+`75fb7acbac <https://github.com/apache/airflow/commit/75fb7acbaca09a040067f0a5a37637ff44eb9e14>`_ 2024-08-19 ``Prepare docs for Aug 2nd wave of providers (#41559)``
+`fcbff15bda <https://github.com/apache/airflow/commit/fcbff15bda151f70db0ca13fdde015bace5527c4>`_ 2024-08-12 ``Bump minimum Airflow version in providers to Airflow 2.8.0 (#41396)``
+`2daa5bd01a <https://github.com/apache/airflow/commit/2daa5bd01a65b6062ec3a38aa71dc462c805ba28>`_ 2024-08-04 ``providers/yandex: fix typing (#40997)``
+`d23881c648 <https://github.com/apache/airflow/commit/d23881c6489916113921dcedf85077441b44aaf3>`_ 2024-08-03 ``Prepare docs for Aug 1st wave of providers (#41230)``
+`09a7bd1d58 <https://github.com/apache/airflow/commit/09a7bd1d585d2d306dd30435689f22b614fe0abf>`_ 2024-07-09 ``Prepare docs 1st wave July 2024 (#40644)``
+`a62bd83188 <https://github.com/apache/airflow/commit/a62bd831885957c55b073bf309bc59a1d505e8fb>`_ 2024-06-27 ``Enable enforcing pydocstyle rule D213 in ruff. (#40448)``
+================================================================================================= =========== =======================================================================
+
+3.11.2
+......
+
+Latest change: 2024-06-22
+
+================================================================================================= =========== =========================================================================
+Commit Committed Subject
+================================================================================================= =========== =========================================================================
+`6e5ae26382 <https://github.com/apache/airflow/commit/6e5ae26382b328e88907e8301d4b2352ef8524c5>`_ 2024-06-22 ``Prepare docs 2nd wave June 2024 (#40273)``
+`0d5bb60981 <https://github.com/apache/airflow/commit/0d5bb60981b79f67d6ea5b813a88d09b366ee2d3>`_ 2024-06-17 ``Fix typos in Providers docs and Yandex hook (#40277)``
+`53e6739e67 <https://github.com/apache/airflow/commit/53e6739e67886e3326cfca0face7e9ce116ce4ab>`_ 2024-06-01 ``Limit yandex provider to avoid mypy errors (#39990)``
+`8173693a70 <https://github.com/apache/airflow/commit/8173693a706f09e0f6c53bd0f4e22b2ba6586bc6>`_ 2024-05-31 ``Remove upper-binding in yandex after dataproc issue is fixed (#39974)``
+`b8a83b2293 <https://github.com/apache/airflow/commit/b8a83b2293f16523b40fab6035fed5f5431076af>`_ 2024-05-31 ``Workaround new yandexcloud breaking dataproc integration (#39964)``
+================================================================================================= =========== =========================================================================
+
+3.11.1
+......
+
+Latest change: 2024-05-26
+
+================================================================================================= =========== =========================================================================
+Commit Committed Subject
+================================================================================================= =========== =========================================================================
+`34500f3a2f <https://github.com/apache/airflow/commit/34500f3a2fa4652272bc831e3c18fd2a6a2da5ef>`_ 2024-05-26 ``Prepare docs 3rd wave May 2024 (#39738)``
+`e0dd075d1b <https://github.com/apache/airflow/commit/e0dd075d1b4ef48bdae5a9a690a27518e4438104>`_ 2024-05-15 `` AIP-21: yandexcloud: rename files, emit deprecation warning (#39618)``
+`defe4590e9 <https://github.com/apache/airflow/commit/defe4590e9c94a9b5157143d618a143cb30ade78>`_ 2024-05-11 ``yandex provider: bump version for yq http client package (#39548)``
+`2b1a2f8d56 <https://github.com/apache/airflow/commit/2b1a2f8d561e569df194c4ee0d3a18930738886e>`_ 2024-05-11 ``Reapply templates for all providers (#39554)``
+`2c05187b07 <https://github.com/apache/airflow/commit/2c05187b07baf7c41a32b18fabdbb3833acc08eb>`_ 2024-05-10 ``Faster 'airflow_version' imports (#39552)``
+`05945a47f3 <https://github.com/apache/airflow/commit/05945a47f32571422fec82559cbde366f255b8ed>`_ 2024-05-09 ``add doc about Yandex Query operator (#39445)``
+`73918925ed <https://github.com/apache/airflow/commit/73918925edaf1c94790a6ad8bec01dec60accfa1>`_ 2024-05-08 ``Simplify 'airflow_version' imports (#39497)``
+================================================================================================= =========== =========================================================================
+
+3.11.0
+......
+
+Latest change: 2024-05-01
+
+================================================================================================= =========== =======================================================================
+Commit Committed Subject
+================================================================================================= =========== =======================================================================
+`fe4605a10e <https://github.com/apache/airflow/commit/fe4605a10e26f1b8a180979ba5765d1cb7fb0111>`_ 2024-05-01 ``Prepare docs 1st wave May 2024 (#39328)``
+`ead9b00f7c <https://github.com/apache/airflow/commit/ead9b00f7cd5acecf9d575c459bb62633088436a>`_ 2024-04-25 ``Bump minimum Airflow version in providers to Airflow 2.7.0 (#39240)``
+================================================================================================= =========== =======================================================================
+
+3.10.0
+......
+
+Latest change: 2024-04-13
+
+================================================================================================= =========== ==================================================================
+Commit Committed Subject
+================================================================================================= =========== ==================================================================
+`f9dcc82fb6 <https://github.com/apache/airflow/commit/f9dcc82fb690777e0cb4951f5ae5a4bde1e15c54>`_ 2024-04-13 ``Prepare docs 1st wave (RC2) April 2024 (#38995)``
+`5fa80b6aea <https://github.com/apache/airflow/commit/5fa80b6aea60f93cdada66f160e2b54f723865ca>`_ 2024-04-10 ``Prepare docs 1st wave (RC1) April 2024 (#38863)``
+`a9a6976dd2 <https://github.com/apache/airflow/commit/a9a6976dd234ff84af7db4253fe700b9ccc6aa4a>`_ 2024-03-28 ``docs: yandex provider grammatical improvements (#38589)``
+`30817a5c6d <https://github.com/apache/airflow/commit/30817a5c6df1be3ec080ff1c542899092679768f>`_ 2024-03-22 ``support iam token from metadata, simplify code (#38411)``
+`390bec1c82 <https://github.com/apache/airflow/commit/390bec1c82f6a6ac0efdc51a1355b5aae79516cb>`_ 2024-03-20 ``Add Yandex Query support from Yandex.Cloud (#37458)``
+`0a74928894 <https://github.com/apache/airflow/commit/0a74928894fb57b0160208262ccacad12da23fc7>`_ 2024-03-18 ``Bump ruff to 0.3.3 (#38240)``
+`c0b849ad2b <https://github.com/apache/airflow/commit/c0b849ad2b3f7015f7cb2a45aefd1fa3828bda31>`_ 2024-03-11 ``Avoid use of 'assert' outside of the tests (#37718)``
+`83316b8158 <https://github.com/apache/airflow/commit/83316b81584c9e516a8142778fc509f19d95cc3e>`_ 2024-03-04 ``Prepare docs 1st wave (RC1) March 2024 (#37876)``
+`5a0be392e6 <https://github.com/apache/airflow/commit/5a0be392e66f8e5426ba3478621115e92fcf245b>`_ 2024-02-16 ``Add comment about versions updated by release manager (#37488)``
+================================================================================================= =========== ==================================================================
+
+3.9.0
+.....
+
+Latest change: 2024-02-12
+
+================================================================================================= =========== ==================================================================================
+Commit Committed Subject
+================================================================================================= =========== ==================================================================================
+`bfb054e9e8 <https://github.com/apache/airflow/commit/bfb054e9e867b8b9a6a449e43bfba97f645e025e>`_ 2024-02-12 ``Prepare docs 1st wave of Providers February 2024 (#37326)``
+`08036e5df5 <https://github.com/apache/airflow/commit/08036e5df5ae3ec9f600219361f86a1a3e8e9d19>`_ 2024-02-08 ``D401 Support in Providers (simple) (#37258)``
+`cea58c1111 <https://github.com/apache/airflow/commit/cea58c11118cb6776cc14b9460d674b251888bad>`_ 2024-02-02 ``fix: using endpoint from connection if not specified (#37076)``
+`3ec781946a <https://github.com/apache/airflow/commit/3ec781946a7fcb5fa5bc99449d59d5981e6257ab>`_ 2024-02-01 ``Add secrets-backends section into the Yandex provider yaml definition (#37065)``
+`0e752383a8 <https://github.com/apache/airflow/commit/0e752383a8f199dea1894462a3514e15961301d0>`_ 2024-01-31 ``docs: update description in airflow provider.yaml (#37096)``
+================================================================================================= =========== ==================================================================================
+
+3.8.0
+.....
+
+Latest change: 2024-01-26
+
+================================================================================================= =========== ====================================================================================================================
+Commit Committed Subject
+================================================================================================= =========== ====================================================================================================================
+`cead3da4a6 <https://github.com/apache/airflow/commit/cead3da4a6f483fa626b81efd27a24dcb5a36ab0>`_ 2024-01-26 ``Add docs for RC2 wave of providers for 2nd round of Jan 2024 (#37019)``
+`0b680c9492 <https://github.com/apache/airflow/commit/0b680c94922e3f7ca1f3ada8328e315bbae37dc8>`_ 2024-01-26 ``Revert "Provide the logger_name param in providers hooks in order to override the logger name (#36675)" (#37015)``
+`12ccb5f0ac <https://github.com/apache/airflow/commit/12ccb5f0ac34007b6cbea4f6a6d9cc6811d71268>`_ 2024-01-25 ``feat: add Yandex Cloud Lockbox secrets backend (#36449)``
+`2b4da0101f <https://github.com/apache/airflow/commit/2b4da0101f0314989d148c3c8a02c87e87048974>`_ 2024-01-22 ``Prepare docs 2nd wave of Providers January 2024 (#36945)``
+`6ff96af480 <https://github.com/apache/airflow/commit/6ff96af4806a4107d48ee2e966c61778045ad584>`_ 2024-01-18 ``Fix stacklevel in warnings.warn into the providers (#36831)``
+`6bd450da1e <https://github.com/apache/airflow/commit/6bd450da1eb6cacc2ccfd4544d520ae059b75c3b>`_ 2024-01-10 ``Provide the logger_name param in providers hooks in order to override the logger name (#36675)``
+`19ebcac239 <https://github.com/apache/airflow/commit/19ebcac2395ef9a6b6ded3a2faa29dc960c1e635>`_ 2024-01-07 ``Prepare docs 1st wave of Providers January 2024 (#36640)``
+`6937ae7647 <https://github.com/apache/airflow/commit/6937ae76476b3bc869ef912d000bcc94ad642db1>`_ 2023-12-30 ``Speed up autocompletion of Breeze by simplifying provider state (#36499)``
+================================================================================================= =========== ====================================================================================================================
+
+3.7.1
+.....
+
+Latest change: 2023-12-23
+
+================================================================================================= =========== ==================================================================================
+Commit Committed Subject
+================================================================================================= =========== ==================================================================================
+`b15d5578da <https://github.com/apache/airflow/commit/b15d5578dac73c4c6a3ca94d90ab0dc9e9e74c9c>`_ 2023-12-23 ``Re-apply updated version numbers to 2nd wave of providers in December (#36380)``
+`f5883d6e7b <https://github.com/apache/airflow/commit/f5883d6e7be83f1ab9468e67164b7ac381fdb49f>`_ 2023-12-23 ``Prepare 2nd wave of providers in December (#36373)``
+`cd476acd8f <https://github.com/apache/airflow/commit/cd476acd8f1684f613c20dddaa9e988bcfb3ac1c>`_ 2023-12-11 ``Follow BaseHook connection fields method signature in child classes (#36086)``
+================================================================================================= =========== ==================================================================================
+
+3.7.0
+.....
+
+Latest change: 2023-12-08
+
+================================================================================================= =========== =======================================================================
+Commit Committed Subject
+================================================================================================= =========== =======================================================================
+`999b70178a <https://github.com/apache/airflow/commit/999b70178a1f5d891fd2c88af4831a4ba4c2cbc9>`_ 2023-12-08 ``Prepare docs 1st wave of Providers December 2023 (#36112)``
+`d0918d77ee <https://github.com/apache/airflow/commit/d0918d77ee05ab08c83af6956e38584a48574590>`_ 2023-12-07 ``Bump minimum Airflow version in providers to Airflow 2.6.0 (#36017)``
+`0b23d5601c <https://github.com/apache/airflow/commit/0b23d5601c6f833392b0ea816e651dcb13a14685>`_ 2023-11-24 ``Prepare docs 2nd wave of Providers November 2023 (#35836)``
+`99534e47f3 <https://github.com/apache/airflow/commit/99534e47f330ce0efb96402629dda5b2a4f16e8f>`_ 2023-11-19 ``Use reproducible builds for provider packages (#35693)``
+`99df205f42 <https://github.com/apache/airflow/commit/99df205f42a754aa67f80b5983e1d228ff23267f>`_ 2023-11-16 ``Fix and reapply templates for provider documentation (#35686)``
+================================================================================================= =========== =======================================================================
+
+3.6.0
+.....
+
+Latest change: 2023-11-08
+
+================================================================================================= =========== ==================================================================
+Commit Committed Subject
+================================================================================================= =========== ==================================================================
+`1b059c57d6 <https://github.com/apache/airflow/commit/1b059c57d6d57d198463e5388138bee8a08591b1>`_ 2023-11-08 ``Prepare docs 1st wave of Providers November 2023 (#35537)``
+`706878ec35 <https://github.com/apache/airflow/commit/706878ec354cf867440c367a95c85753c19e54de>`_ 2023-11-04 ``Remove empty lines in generated changelog (#35436)``
+`052e26ad47 <https://github.com/apache/airflow/commit/052e26ad473a9d50f0b96456ed094f2087ee4434>`_ 2023-11-04 ``Change security.rst to use includes in providers (#35435)``
+`09880741cb <https://github.com/apache/airflow/commit/09880741cbfc4c1e6d433d1e7fac60deccd10a97>`_ 2023-11-03 ``Add configuration files for yandex (#35420)``
+`0b850a97e8 <https://github.com/apache/airflow/commit/0b850a97e8972f9c2cef9cb5ab520b6018033cdb>`_ 2023-11-03 ``Yandex dataproc deduce default service account (#35059)``
+`d1c58d86de <https://github.com/apache/airflow/commit/d1c58d86de1267d9268a1efe0a0c102633c051a1>`_ 2023-10-28 ``Prepare docs 3rd wave of Providers October 2023 - FIX (#35233)``
+`3592ff4046 <https://github.com/apache/airflow/commit/3592ff40465032fa041600be740ee6bc25e7c242>`_ 2023-10-28 ``Prepare docs 3rd wave of Providers October 2023 (#35187)``
+`dd7ba3cae1 <https://github.com/apache/airflow/commit/dd7ba3cae139cb10d71c5ebc25fc496c67ee784e>`_ 2023-10-19 ``Pre-upgrade 'ruff==0.0.292' changes in providers (#35053)``
+================================================================================================= =========== ==================================================================
+
+3.5.0
+.....
+
+Latest change: 2023-10-13
+
+================================================================================================= =========== ===============================================================
+Commit Committed Subject
+================================================================================================= =========== ===============================================================
+`e9987d5059 <https://github.com/apache/airflow/commit/e9987d50598f70d84cbb2a5d964e21020e81c080>`_ 2023-10-13 ``Prepare docs 1st wave of Providers in October 2023 (#34916)``
+`0c8e30e43b <https://github.com/apache/airflow/commit/0c8e30e43b70e9d033e1686b327eb00aab82479c>`_ 2023-10-05 ``Bump min airflow version of providers (#34728)``
+================================================================================================= =========== ===============================================================
+
+3.4.0
+.....
+
+Latest change: 2023-08-26
+
+================================================================================================= =========== ======================================================================
+Commit Committed Subject
+================================================================================================= =========== ======================================================================
+`c077d19060 <https://github.com/apache/airflow/commit/c077d190609f931387c1fcd7b8cc34f12e2372b9>`_ 2023-08-26 ``Prepare docs for Aug 2023 3rd wave of Providers (#33730)``
+`2ae1c10bfa <https://github.com/apache/airflow/commit/2ae1c10bfa59d1b2b5d8d453cd64d9858cb18c0b>`_ 2023-08-23 ``add support for Yandex Dataproc cluster labels (#29811)``
+`2b43fa473f <https://github.com/apache/airflow/commit/2b43fa473f02cfe58c9af25c861187a7712a78ef>`_ 2023-08-22 ``Resume yandex provider (#33574)``
+`73b90c48b1 <https://github.com/apache/airflow/commit/73b90c48b1933b49086d34176527947bd727ec85>`_ 2023-07-21 ``Allow configuration to be contributed by providers (#32604)``
+`3878fe6fab <https://github.com/apache/airflow/commit/3878fe6fab3ccc1461932b456c48996f2763139f>`_ 2023-07-05 ``Remove spurious headers for provider changelogs (#32373)``
+`09d4718d3a <https://github.com/apache/airflow/commit/09d4718d3a46aecf3355d14d3d23022002f4a818>`_ 2023-06-27 ``Improve provider documentation and README structure (#32125)``
+`8b146152d6 <https://github.com/apache/airflow/commit/8b146152d62118defb3004c997c89c99348ef948>`_ 2023-06-20 ``Add note about dropping Python 3.7 for providers (#32015)``
+`a59076eaee <https://github.com/apache/airflow/commit/a59076eaeed03dd46e749ad58160193b4ef3660c>`_ 2023-06-02 ``Add D400 pydocstyle check - Providers (#31427)``
+`abea189022 <https://github.com/apache/airflow/commit/abea18902257c0250fedb764edda462f9e5abc84>`_ 2023-05-18 ``Use '__version__' in providers not 'version' (#31393)``
+`0a30706aa7 <https://github.com/apache/airflow/commit/0a30706aa7c581905ca99a8b6e2f05960d480729>`_ 2023-05-03 ``Use 'AirflowProviderDeprecationWarning' in providers (#30975)``
+`eef5bc7f16 <https://github.com/apache/airflow/commit/eef5bc7f166dc357fea0cc592d39714b1a5e3c14>`_ 2023-05-03 ``Add full automation for min Airflow version for providers (#30994)``
+`a7eb32a5b2 <https://github.com/apache/airflow/commit/a7eb32a5b222e236454d3e474eec478ded7c368d>`_ 2023-04-30 ``Bump minimum Airflow version in providers (#30917)``
+`b4d6e83686 <https://github.com/apache/airflow/commit/b4d6e83686ecfa81d4badbefc4f60a03d9f3c571>`_ 2023-04-19 ``Suspend Yandex provider due to protobuf limitation (#30667)``
+`d23a3bbed8 <https://github.com/apache/airflow/commit/d23a3bbed89ae04369983f21455bf85ccc1ae1cb>`_ 2023-04-04 ``Add mechanism to suspend providers (#30422)``
+================================================================================================= =========== ======================================================================
+
+3.3.0
+.....
+
+Latest change: 2023-03-03
+
+================================================================================================= =========== =====================================================================
+Commit Committed Subject
+================================================================================================= =========== =====================================================================
+`fcd3c0149f <https://github.com/apache/airflow/commit/fcd3c0149f17b364dfb94c0523d23e3145976bbe>`_ 2023-03-03 ``Prepare docs for 03/2023 wave of Providers (#29878)``
+`1768872a00 <https://github.com/apache/airflow/commit/1768872a0085ba423d0a34fe6cc4e1e109f3adeb>`_ 2023-02-22 ``support Yandex SDK feature "endpoint" (#29635)``
+`2b92c3c74d <https://github.com/apache/airflow/commit/2b92c3c74d3259ebac714f157c525836f0af50f0>`_ 2023-01-05 ``Fix providers documentation formatting (#28754)``
+`c8e348dcb0 <https://github.com/apache/airflow/commit/c8e348dcb0bae27e98d68545b59388c9f91fc382>`_ 2022-12-05 ``Add automated version replacement in example dag indexes (#28090)``
+================================================================================================= =========== =====================================================================
+
+3.2.0
+.....
+
+Latest change: 2022-11-26
+
+================================================================================================= =========== ====================================================================================
+Commit Committed Subject
+================================================================================================= =========== ====================================================================================
+`25bdbc8e67 <https://github.com/apache/airflow/commit/25bdbc8e6768712bad6043618242eec9c6632618>`_ 2022-11-26 ``Updated docs for RC3 wave of providers (#27937)``
+`2e20e9f7eb <https://github.com/apache/airflow/commit/2e20e9f7ebf5f43bf27069f4c0063cdd72e6b2e2>`_ 2022-11-24 ``Prepare for follow-up relase for November providers (#27774)``
+`12c3c39d1a <https://github.com/apache/airflow/commit/12c3c39d1a816c99c626fe4c650e88cf7b1cc1bc>`_ 2022-11-15 ``pRepare docs for November 2022 wave of Providers (#27613)``
+`78b8ea2f22 <https://github.com/apache/airflow/commit/78b8ea2f22239db3ef9976301234a66e50b47a94>`_ 2022-10-24 ``Move min airflow version to 2.3.0 for all providers (#27196)``
+`2a34dc9e84 <https://github.com/apache/airflow/commit/2a34dc9e8470285b0ed2db71109ef4265e29688b>`_ 2022-10-23 ``Enable string normalization in python formatting - providers (#27205)``
+`837e463ae8 <https://github.com/apache/airflow/commit/837e463ae82f578720691602716fd9784d804d7d>`_ 2022-10-22 ``Allow no extra prefix in yandex hook (#27040)``
+`f8db64c35c <https://github.com/apache/airflow/commit/f8db64c35c8589840591021a48901577cff39c07>`_ 2022-09-28 ``Update docs for September Provider's release (#26731)``
+`06acf40a43 <https://github.com/apache/airflow/commit/06acf40a4337759797f666d5bb27a5a393b74fed>`_ 2022-09-13 ``Apply PEP-563 (Postponed Evaluation of Annotations) to non-core airflow (#26289)``
+================================================================================================= =========== ====================================================================================
+
+3.1.0
+.....
+
+Latest change: 2022-08-10
+
+================================================================================================= =========== ===============================================================================
+Commit Committed Subject
+================================================================================================= =========== ===============================================================================
+`e5ac6c7cfb <https://github.com/apache/airflow/commit/e5ac6c7cfb189c33e3b247f7d5aec59fe5e89a00>`_ 2022-08-10 ``Prepare docs for new providers release (August 2022) (#25618)``
+`a61e0c1df7 <https://github.com/apache/airflow/commit/a61e0c1df7cd8a25ac67fdfc778350e148510743>`_ 2022-07-29 ``YandexCloud provider: Support new Yandex SDK features for DataProc (#25158)``
+`d2459a241b <https://github.com/apache/airflow/commit/d2459a241b54d596ebdb9d81637400279fff4f2d>`_ 2022-07-13 ``Add documentation for July 2022 Provider's release (#25030)``
+`0de31bd73a <https://github.com/apache/airflow/commit/0de31bd73a8f41dded2907f0dee59dfa6c1ed7a1>`_ 2022-06-29 ``Move provider dependencies to inside provider folders (#24672)``
+`510a6bab45 <https://github.com/apache/airflow/commit/510a6bab4595cce8bd5b1447db957309d70f35d9>`_ 2022-06-28 ``Remove 'hook-class-names' from provider.yaml (#24702)``
+`08b675cf66 <https://github.com/apache/airflow/commit/08b675cf6642171cb1c5ddfb09607b541db70b29>`_ 2022-06-13 ``Fix links to sources for examples (#24386)``
+================================================================================================= =========== ===============================================================================
+
+3.0.0
+.....
+
+Latest change: 2022-06-09
+
+================================================================================================= =========== ==================================================================================
+Commit Committed Subject
+================================================================================================= =========== ==================================================================================
+`dcdcf3a2b8 <https://github.com/apache/airflow/commit/dcdcf3a2b8054fa727efb4cd79d38d2c9c7e1bd5>`_ 2022-06-09 ``Update release notes for RC2 release of Providers for May 2022 (#24307)``
+`717a7588bc <https://github.com/apache/airflow/commit/717a7588bc8170363fea5cb75f17efcf68689619>`_ 2022-06-07 ``Update package description to remove double min-airflow specification (#24292)``
+`aeabe994b3 <https://github.com/apache/airflow/commit/aeabe994b3381d082f75678a159ddbb3cbf6f4d3>`_ 2022-06-07 ``Prepare docs for May 2022 provider's release (#24231)``
+`333e98759b <https://github.com/apache/airflow/commit/333e98759b05b6747ac3267d1c0a709cfb9f7a3b>`_ 2022-06-07 ``Fix link broken after #24082 (#24276)``
+`027b707d21 <https://github.com/apache/airflow/commit/027b707d215a9ff1151717439790effd44bab508>`_ 2022-06-05 ``Add explanatory note for contributors about updating Changelog (#24229)``
+`65ad2aed26 <https://github.com/apache/airflow/commit/65ad2aed26f7572ba0d3b04a33f9144989ac7117>`_ 2022-06-01 ``Migrate Yandex example DAGs to new design AIP-47 (#24082)``
+================================================================================================= =========== ==================================================================================
+
+2.2.3
+.....
+
+Latest change: 2022-03-22
+
+================================================================================================= =========== ==============================================================
+Commit Committed Subject
+================================================================================================= =========== ==============================================================
+`d7dbfb7e26 <https://github.com/apache/airflow/commit/d7dbfb7e26a50130d3550e781dc71a5fbcaeb3d2>`_ 2022-03-22 ``Add documentation for bugfix release of Providers (#22383)``
+================================================================================================= =========== ==============================================================
+
+2.2.2
+.....
+
+Latest change: 2022-03-14
+
+================================================================================================= =========== ====================================================================
+Commit Committed Subject
+================================================================================================= =========== ====================================================================
+`16adc035b1 <https://github.com/apache/airflow/commit/16adc035b1ecdf533f44fbb3e32bea972127bb71>`_ 2022-03-14 ``Add documentation for Classifier release for March 2022 (#22226)``
+================================================================================================= =========== ====================================================================
+
+2.2.1
+.....
+
+Latest change: 2022-03-07
+
+================================================================================================= =========== ==========================================================================
+Commit Committed Subject
+================================================================================================= =========== ==========================================================================
+`f5b96315fe <https://github.com/apache/airflow/commit/f5b96315fe65b99c0e2542831ff73a3406c4232d>`_ 2022-03-07 ``Add documentation for Feb Providers release (#22056)``
+`6126c4e40f <https://github.com/apache/airflow/commit/6126c4e40f36f76d294cfd72f84cb83d97d622a5>`_ 2022-03-07 ``Fix spelling (#22054)``
+`d94fa37830 <https://github.com/apache/airflow/commit/d94fa378305957358b910cfb1fe7cb14bc793804>`_ 2022-02-08 ``Fixed changelog for January 2022 (delayed) provider's release (#21439)``
+`6c3a67d4fc <https://github.com/apache/airflow/commit/6c3a67d4fccafe4ab6cd9ec8c7bacf2677f17038>`_ 2022-02-05 ``Add documentation for January 2021 providers release (#21257)``
+`cb73053211 <https://github.com/apache/airflow/commit/cb73053211367e2c2dd76d5279cdc7dc7b190124>`_ 2022-01-27 ``Add optional features in providers. (#21074)``
+`602abe8394 <https://github.com/apache/airflow/commit/602abe8394fafe7de54df7e73af56de848cdf617>`_ 2022-01-20 ``Remove ':type' lines now sphinx-autoapi supports typehints (#20951)``
+================================================================================================= =========== ==========================================================================
+
+2.2.0
+.....
+
+Latest change: 2021-12-31
+
+================================================================================================= =========== ============================================================================================================
+Commit Committed Subject
+================================================================================================= =========== ============================================================================================================
+`f77417eb0d <https://github.com/apache/airflow/commit/f77417eb0d3f12e4849d80645325c02a48829278>`_ 2021-12-31 ``Fix K8S changelog to be PyPI-compatible (#20614)``
+`97496ba2b4 <https://github.com/apache/airflow/commit/97496ba2b41063fa24393c58c5c648a0cdb5a7f8>`_ 2021-12-31 ``Update documentation for provider December 2021 release (#20523)``
+`d56e7b56bb <https://github.com/apache/airflow/commit/d56e7b56bb9827daaf8890557147fd10bdf72a7e>`_ 2021-12-30 ``Fix template_fields type to have MyPy friendly Sequence type (#20571)``
+`a0821235fb <https://github.com/apache/airflow/commit/a0821235fb6877a471973295fe42283ef452abf6>`_ 2021-12-30 ``Use typed Context EVERYWHERE (#20565)``
+`6e51608f28 <https://github.com/apache/airflow/commit/6e51608f28f4c769c019624ea0caaa0c6e671f80>`_ 2021-12-16 ``Fix mypy for providers: elasticsearch, oracle, yandex (#20344)``
+`41c49c7ff6 <https://github.com/apache/airflow/commit/41c49c7ff6dfa1d6805e5f74c0a36dd549e159ea>`_ 2021-12-14 ``YandexCloud provider: Support new Yandex SDK features: log_group_id, user-agent, maven packages (#20103)``
+`9a469d813f <https://github.com/apache/airflow/commit/9a469d813fc083a7a5f402727e93df3e3f9c9118>`_ 2021-11-30 ``Capitalize names in docs (#19893)``
+`853576d901 <https://github.com/apache/airflow/commit/853576d9019d2aca8de1d9c587c883dcbe95b46a>`_ 2021-11-30 ``Update documentation for November 2021 provider's release (#19882)``
+`d9567eb106 <https://github.com/apache/airflow/commit/d9567eb106929b21329c01171fd398fbef2dc6c6>`_ 2021-10-29 ``Prepare documentation for October Provider's release (#19321)``
+`f5ad26dcdd <https://github.com/apache/airflow/commit/f5ad26dcdd7bcb724992528dce71056965b94d26>`_ 2021-10-21 ``Fixup string concatenations (#19099)``
+`840ea3efb9 <https://github.com/apache/airflow/commit/840ea3efb9533837e9f36b75fa527a0fbafeb23a>`_ 2021-09-30 ``Update documentation for September providers release (#18613)``
+`ef037e7021 <https://github.com/apache/airflow/commit/ef037e702182e4370cb00c853c4fb0e246a0479c>`_ 2021-09-29 ``Static start_date and default arg cleanup for misc. provider example DAGs (#18597)``
+`e25eea052f <https://github.com/apache/airflow/commit/e25eea052fd54c94b490a377de05c6bae4c24dbb>`_ 2021-09-19 ``Inclusive Language (#18349)``
+`1cb456cba1 <https://github.com/apache/airflow/commit/1cb456cba1099198bbdba50c2d1ad79664be8ce6>`_ 2021-09-12 ``Add official download page for providers (#18187)``
+`046f02e5a7 <https://github.com/apache/airflow/commit/046f02e5a7097a6e6c928c28196b38b37e776916>`_ 2021-09-09 ``fix misspelling (#18121)``
+================================================================================================= =========== ============================================================================================================
+
+2.1.0
+.....
+
+Latest change: 2021-08-30
+
+================================================================================================= =========== =============================================================================
+Commit Committed Subject
+================================================================================================= =========== =============================================================================
+`0a68588479 <https://github.com/apache/airflow/commit/0a68588479e34cf175d744ea77b283d9d78ea71a>`_ 2021-08-30 ``Add August 2021 Provider's documentation (#17890)``
+`be75dcd39c <https://github.com/apache/airflow/commit/be75dcd39cd10264048c86e74110365bd5daf8b7>`_ 2021-08-23 ``Update description about the new ''connection-types'' provider meta-data``
+`76ed2a49c6 <https://github.com/apache/airflow/commit/76ed2a49c6cd285bf59706cf04f39a7444c382c9>`_ 2021-08-19 ``Import Hooks lazily individually in providers manager (#17682)``
+`e3089dd5d0 <https://github.com/apache/airflow/commit/e3089dd5d045cf6daf8f15033a4cc879db0df5b5>`_ 2021-08-02 ``Add autoscaling subcluster support and remove defaults (#17033)``
+`87f408b1e7 <https://github.com/apache/airflow/commit/87f408b1e78968580c760acb275ae5bb042161db>`_ 2021-07-26 ``Prepares docs for Rc2 release of July providers (#17116)``
+`0dbd0f420c <https://github.com/apache/airflow/commit/0dbd0f420cc08e011317e2a9f21f92fff4a64c1b>`_ 2021-07-26 ``Remove/refactor default_args pattern for miscellaneous providers (#16872)``
+`b916b75079 <https://github.com/apache/airflow/commit/b916b7507921129dc48d6add1bdc4b923b60c9b9>`_ 2021-07-15 ``Prepare documentation for July release of providers. (#17015)``
+`866a601b76 <https://github.com/apache/airflow/commit/866a601b76e219b3c043e1dbbc8fb22300866351>`_ 2021-06-28 ``Removes pylint from our toolchain (#16682)``
+================================================================================================= =========== =============================================================================
+
+2.0.0
+.....
+
+Latest change: 2021-06-18
+
+================================================================================================= =========== =======================================================================
+Commit Committed Subject
+================================================================================================= =========== =======================================================================
+`bbc627a3da <https://github.com/apache/airflow/commit/bbc627a3dab17ba4cf920dd1a26dbed6f5cebfd1>`_ 2021-06-18 ``Prepares documentation for rc2 release of Providers (#16501)``
+`cbf8001d76 <https://github.com/apache/airflow/commit/cbf8001d7630530773f623a786f9eb319783b33c>`_ 2021-06-16 ``Synchronizes updated changelog after buggfix release (#16464)``
+`1fba5402bb <https://github.com/apache/airflow/commit/1fba5402bb14b3ffa6429fdc683121935f88472f>`_ 2021-06-15 ``More documentation update for June providers release (#16405)``
+`9c94b72d44 <https://github.com/apache/airflow/commit/9c94b72d440b18a9e42123d20d48b951712038f9>`_ 2021-06-07 ``Updated documentation for June 2021 provider release (#16294)``
+`1e647029e4 <https://github.com/apache/airflow/commit/1e647029e469c1bb17e9ad051d0184f3357644c3>`_ 2021-06-01 ``Rename the main branch of the Airflow repo to be 'main' (#16149)``
+`37681bca00 <https://github.com/apache/airflow/commit/37681bca0081dd228ac4047c17631867bba7a66f>`_ 2021-05-07 ``Auto-apply apply_default decorator (#15667)``
+`807ad32ce5 <https://github.com/apache/airflow/commit/807ad32ce59e001cb3532d98a05fa7d0d7fabb95>`_ 2021-05-01 ``Prepares provider release after PIP 21 compatibility (#15576)``
+`40a2476a5d <https://github.com/apache/airflow/commit/40a2476a5db14ee26b5108d72635da116eab720b>`_ 2021-04-28 ``Adds interactivity when generating provider documentation. (#15518)``
+`a7ca1b3b0b <https://github.com/apache/airflow/commit/a7ca1b3b0bdf0b7677e53be1b11e833714dfbbb4>`_ 2021-03-26 ``Fix Sphinx Issues with Docstrings (#14968)``
+`e172bd0e16 <https://github.com/apache/airflow/commit/e172bd0e16d5b13105734fe9eb8effc44d593c29>`_ 2021-03-22 ``Update docstrings to adhere to sphinx standards (#14918)``
+`68e4c4dcb0 <https://github.com/apache/airflow/commit/68e4c4dcb0416eb51a7011a3bb040f1e23d7bba8>`_ 2021-03-20 ``Remove Backport Providers (#14886)``
+`6e6526a0f6 <https://github.com/apache/airflow/commit/6e6526a0f650119cb1ad7c2e2a1b87f0fa45c60e>`_ 2021-03-13 ``Update documentation for broken package releases (#14734)``
+================================================================================================= =========== =======================================================================
+
+1.0.1
+.....
+
+Latest change: 2021-02-04
+
+================================================================================================= =========== =========================================================
+Commit Committed Subject
+================================================================================================= =========== =========================================================
+`88bdcfa0df <https://github.com/apache/airflow/commit/88bdcfa0df5bcb4c489486e05826544b428c8f43>`_ 2021-02-04 ``Prepare to release a new wave of providers. (#14013)``
+`ac2f72c98d <https://github.com/apache/airflow/commit/ac2f72c98dc0821b33721054588adbf2bb53bb0b>`_ 2021-02-01 ``Implement provider versioning tools (#13767)``
+`3fd5ef3555 <https://github.com/apache/airflow/commit/3fd5ef355556cf0ad7896bb570bbe4b2eabbf46e>`_ 2021-01-21 ``Add missing logos for integrations (#13717)``
+`295d66f914 <https://github.com/apache/airflow/commit/295d66f91446a69610576d040ba687b38f1c5d0a>`_ 2020-12-30 ``Fix Grammar in PIP warning (#13380)``
+`6cf76d7ac0 <https://github.com/apache/airflow/commit/6cf76d7ac01270930de7f105fb26428763ee1d4e>`_ 2020-12-18 ``Fix typo in pip upgrade command :( (#13148)``
+`f6448b4e48 <https://github.com/apache/airflow/commit/f6448b4e482fd96339ae65c26d08e6a2bdb51aaf>`_ 2020-12-15 ``Add link to PyPI Repository to provider docs (#13064)``
+================================================================================================= =========== =========================================================
+
+1.0.0
+.....
+
+Latest change: 2020-12-09
+
+================================================================================================= =========== ======================================================================================================================================================================
+Commit Committed Subject
+================================================================================================= =========== ======================================================================================================================================================================
+`32971a1a2d <https://github.com/apache/airflow/commit/32971a1a2de1db0b4f7442ed26facdf8d3b7a36f>`_ 2020-12-09 ``Updates providers versions to 1.0.0 (#12955)``
+`b40dffa085 <https://github.com/apache/airflow/commit/b40dffa08547b610162f8cacfa75847f3c4ca364>`_ 2020-12-08 ``Rename remaing modules to match AIP-21 (#12917)``
+`9b39f24780 <https://github.com/apache/airflow/commit/9b39f24780e85f859236672e9060b2fbeee81b36>`_ 2020-12-08 ``Add support for dynamic connection form fields per provider (#12558)``
+`bd90136aaf <https://github.com/apache/airflow/commit/bd90136aaf5035e3234fe545b79a3e4aad21efe2>`_ 2020-11-30 ``Move operator guides to provider documentation packages (#12681)``
+`de3b1e687b <https://github.com/apache/airflow/commit/de3b1e687b26c524c6909b7b4dfbb60d25019751>`_ 2020-11-28 ``Move connection guides to provider documentation packages (#12653)``
+`ef4af21351 <https://github.com/apache/airflow/commit/ef4af2135171c6e451f1407ea1a280ea875f2175>`_ 2020-11-22 ``Move providers docs to separate package + Spell-check in a common job with docs-build (#12527)``
+`f2569de7d1 <https://github.com/apache/airflow/commit/f2569de7d1a7b100774f397a641e977c307cbb91>`_ 2020-11-22 ``Add example DAGs to provider docs (#12528)``
+`c34ef853c8 <https://github.com/apache/airflow/commit/c34ef853c890e08f5468183c03dc8f3f3ce84af2>`_ 2020-11-20 ``Separate out documentation building per provider (#12444)``
+`0080354502 <https://github.com/apache/airflow/commit/00803545023b096b8db4fbd6eb473843096d7ce4>`_ 2020-11-18 ``Update provider READMEs for 1.0.0b2 batch release (#12449)``
+`ae7cb4a1e2 <https://github.com/apache/airflow/commit/ae7cb4a1e2a96351f1976cf5832615e24863e05d>`_ 2020-11-17 ``Update wrong commit hash in backport provider changes (#12390)``
+`6889a333cf <https://github.com/apache/airflow/commit/6889a333cff001727eb0a66e375544a28c9a5f03>`_ 2020-11-15 ``Improvements for operators and hooks ref docs (#12366)``
+`7825e8f590 <https://github.com/apache/airflow/commit/7825e8f59034645ab3247229be83a3aa90baece1>`_ 2020-11-13 ``Docs installation improvements (#12304)``
+`85a18e13d9 <https://github.com/apache/airflow/commit/85a18e13d9dec84275283ff69e34704b60d54a75>`_ 2020-11-09 ``Point at pypi project pages for cross-dependency of provider packages (#12212)``
+`59eb5de78c <https://github.com/apache/airflow/commit/59eb5de78c70ee9c7ae6e4cba5c7a2babb8103ca>`_ 2020-11-09 ``Update provider READMEs for up-coming 1.0.0beta1 releases (#12206)``
+`b2a28d1590 <https://github.com/apache/airflow/commit/b2a28d1590410630d66966aa1f2b2a049a8c3b32>`_ 2020-11-09 ``Moves provider packages scripts to dev (#12082)``
+`4e8f9cc8d0 <https://github.com/apache/airflow/commit/4e8f9cc8d02b29c325b8a5a76b4837671bdf5f68>`_ 2020-11-03 ``Enable Black - Python Auto Formmatter (#9550)``
+`8c42cf1b00 <https://github.com/apache/airflow/commit/8c42cf1b00c90f0d7f11b8a3a455381de8e003c5>`_ 2020-11-03 ``Use PyUpgrade to use Python 3.6 features (#11447)``
+`5a439e84eb <https://github.com/apache/airflow/commit/5a439e84eb6c0544dc6c3d6a9f4ceeb2172cd5d0>`_ 2020-10-26 ``Prepare providers release 0.0.2a1 (#11855)``
+`872b1566a1 <https://github.com/apache/airflow/commit/872b1566a11cb73297e657ff325161721b296574>`_ 2020-10-25 ``Generated backport providers readmes/setup for 2020.10.29 (#11826)``
+`349b0811c3 <https://github.com/apache/airflow/commit/349b0811c3022605426ba57d30936240a7c2848a>`_ 2020-10-20 ``Add D200 pydocstyle check (#11688)``
+`16e7129719 <https://github.com/apache/airflow/commit/16e7129719f1c0940aef2a93bed81368e997a746>`_ 2020-10-13 ``Added support for provider packages for Airflow 2.0 (#11487)``
+`0a0e1af800 <https://github.com/apache/airflow/commit/0a0e1af80038ef89974c3c8444461fe867945daa>`_ 2020-10-03 ``Fix Broken Markdown links in Providers README TOC (#11249)``
+`ca4238eb4d <https://github.com/apache/airflow/commit/ca4238eb4d9a2aef70eb641343f59ee706d27d13>`_ 2020-10-02 ``Fixed month in backport packages to October (#11242)``
+`5220e4c384 <https://github.com/apache/airflow/commit/5220e4c3848a2d2c81c266ef939709df9ce581c5>`_ 2020-10-02 ``Prepare Backport release 2020.09.07 (#11238)``
+`5093245d6f <https://github.com/apache/airflow/commit/5093245d6f77a370fbd2f9e3df35ac6acf46a1c4>`_ 2020-09-30 ``Strict type coverage for Oracle and Yandex provider (#11198)``
+`9549274d11 <https://github.com/apache/airflow/commit/9549274d110f689a0bd709db829a4d69e274eed9>`_ 2020-09-09 ``Upgrade black to 20.8b1 (#10818)``
+`fdd9b6f65b <https://github.com/apache/airflow/commit/fdd9b6f65b608c516b8a062b058972d9a45ec9e3>`_ 2020-08-25 ``Enable Black on Providers Packages (#10543)``
+`3696c34c28 <https://github.com/apache/airflow/commit/3696c34c28c6bc7b442deab999d9ecba24ed0e34>`_ 2020-08-24 ``Fix typo in the word "release" (#10528)``
+`ee7ca128a1 <https://github.com/apache/airflow/commit/ee7ca128a17937313566f2badb6cc569c614db94>`_ 2020-08-22 ``Fix broken Markdown refernces in Providers README (#10483)``
+`f6734b3b85 <https://github.com/apache/airflow/commit/f6734b3b850d33d3712763f93c114e80f5af9ffb>`_ 2020-08-12 ``Enable Sphinx spellcheck for doc generation (#10280)``
+`cdec301254 <https://github.com/apache/airflow/commit/cdec3012542b45d23a05f62d69110944ba542e2a>`_ 2020-08-07 ``Add correct signature to all operators and sensors (#10205)``
+`aeea71274d <https://github.com/apache/airflow/commit/aeea71274d4527ff2351102e94aa38bda6099e7f>`_ 2020-08-02 ``Remove 'args' parameter from provider operator constructors (#10097)``
+`7d24b088cd <https://github.com/apache/airflow/commit/7d24b088cd736cfa18f9214e4c9d6ce2d5865f3d>`_ 2020-07-25 ``Stop using start_date in default_args in example_dags (2) (#9985)``
+`d0e7db4024 <https://github.com/apache/airflow/commit/d0e7db4024806af35e3c9a2cae460fdeedd4d2ec>`_ 2020-06-19 ``Fixed release number for fresh release (#9408)``
+`12af6a0800 <https://github.com/apache/airflow/commit/12af6a08009b8776e00d8a0aab92363eb8c4e8b1>`_ 2020-06-19 ``Final cleanup for 2020.6.23rc1 release preparation (#9404)``
+`c7e5bce57f <https://github.com/apache/airflow/commit/c7e5bce57fe7f51cefce4f8a41ce408ac5675d13>`_ 2020-06-19 ``Prepare backport release candidate for 2020.6.23rc1 (#9370)``
+`40bf8f28f9 <https://github.com/apache/airflow/commit/40bf8f28f97f17f40d993d207ea740eba54593ee>`_ 2020-06-18 ``Detect automatically the lack of reference to the guide in the operator descriptions (#9290)``
+`f6bd817a3a <https://github.com/apache/airflow/commit/f6bd817a3aac0a16430fc2e3d59c1f17a69a15ac>`_ 2020-06-16 ``Introduce 'transfers' packages (#9320)``
+`0b0e4f7a4c <https://github.com/apache/airflow/commit/0b0e4f7a4cceff3efe15161fb40b984782760a34>`_ 2020-05-26 ``Preparing for RC3 relase of backports (#9026)``
+`00642a46d0 <https://github.com/apache/airflow/commit/00642a46d019870c4decb3d0e47c01d6a25cb88c>`_ 2020-05-26 ``Fixed name of 20 remaining wrongly named operators. (#8994)``
+`1d36b0303b <https://github.com/apache/airflow/commit/1d36b0303b8632fce6de78ca4e782ae26ee06fea>`_ 2020-05-23 ``Fix references in docs (#8984)``
+`375d1ca229 <https://github.com/apache/airflow/commit/375d1ca229464617780623c61c6e8a1bf570c87f>`_ 2020-05-19 ``Release candidate 2 for backport packages 2020.05.20 (#8898)``
+`12c5e5d8ae <https://github.com/apache/airflow/commit/12c5e5d8ae25fa633efe63ccf4db389e2b796d79>`_ 2020-05-17 ``Prepare release candidate for backport packages (#8891)``
+`f3521fb0e3 <https://github.com/apache/airflow/commit/f3521fb0e36733d8bd356123e56a453fd37a6dca>`_ 2020-05-16 ``Regenerate readme files for backport package release (#8886)``
+`92585ca4cb <https://github.com/apache/airflow/commit/92585ca4cb375ac879f4ab331b3a063106eb7b92>`_ 2020-05-15 ``Added automated release notes generation for backport operators (#8807)``
+`59a4f26699 <https://github.com/apache/airflow/commit/59a4f26699125b1594496940d62be78d7732b4be>`_ 2020-04-17 ``stop rendering some class docs in wrong place (#8095)``
+`3320e432a1 <https://github.com/apache/airflow/commit/3320e432a129476dbc1c55be3b3faa3326a635bc>`_ 2020-02-24 ``[AIRFLOW-6817] Lazy-load 'airflow.DAG' to keep user-facing API untouched (#7517)``
+`4d03e33c11 <https://github.com/apache/airflow/commit/4d03e33c115018e30fa413c42b16212481ad25cc>`_ 2020-02-22 ``[AIRFLOW-6817] remove imports from 'airflow/__init__.py', replaced implicit imports with explicit imports, added entry to 'UPDATING.MD' - squashed/rebased (#7456)``
+`9cbd7de6d1 <https://github.com/apache/airflow/commit/9cbd7de6d115795aba8bfb8addb060bfdfbdf87b>`_ 2020-02-18 ``[AIRFLOW-6792] Remove _operator/_hook/_sensor in providers package and add tests (#7412)``
+`ee1ab7697c <https://github.com/apache/airflow/commit/ee1ab7697c6106b7107b285d8fe9ad01766dc19e>`_ 2020-02-14 ``[AIRFLOW-6531] Initial Yandex.Cloud Dataproc support (#7252)``
+================================================================================================= =========== ======================================================================================================================================================================
diff --git a/docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst b/providers/yandex/docs/configurations-ref.rst
similarity index 92%
copy from docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst
copy to providers/yandex/docs/configurations-ref.rst
index b4e730f4ff2..5885c9d91b6 100644
--- a/docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst
+++ b/providers/yandex/docs/configurations-ref.rst
@@ -15,4 +15,4 @@
specific language governing permissions and limitations
under the License.
-.. include:: ../exts/includes/installing-providers-from-sources.rst
+.. include:: ../exts/includes/providers-configurations-ref.rst
diff --git a/providers/yandex/docs/connections/yandexcloud.rst b/providers/yandex/docs/connections/yandexcloud.rst
new file mode 100644
index 00000000000..b1d8b4074c2
--- /dev/null
+++ b/providers/yandex/docs/connections/yandexcloud.rst
@@ -0,0 +1,95 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _yandex_cloud_connection:
+
+Yandex.Cloud Connection
+=======================
+
+The Yandex.Cloud connection type enables the authentication in Yandex.Cloud services.
+
+Configuring the Connection
+--------------------------
+
+Service account auth JSON
+ JSON object as a string.
+
+ Example: ``{"id": "...", "service_account_id": "...", "private_key": "..."}``
+
+Service account auth JSON file path
+ Path to the file containing service account auth JSON.
+
+ Example: ``/home/airflow/authorized_key.json``
+
+OAuth Token
+ User account OAuth token as a string.
+
+ Example: ``y3_Vd3eub7w9bIut67GHeL345gfb5GAnd3dZnf08FR1vjeUFve7Yi8hGvc``
+
+SSH public key (optional)
+ The key will be placed to all created Compute nodes, allowing you to have a root shell there.
+
+Folder ID (optional)
+ A folder is an entity to separate different projects within the cloud.
+
+ If specified, this ID will be used by default when creating nodes and clusters.
+
+ See `this guide <https://cloud.yandex.com/docs/resource-manager/operations/folder/get-id>`__ for details.
+
+Endpoint (optional)
+ Use this setting to configure your API endpoint.
+
+ Leave blank to use default `endpoints <https://cloud.yandex.com/docs/api-design-guide/concepts/endpoints>`__.
+
+Default Connection IDs
+----------------------
+
+All hooks and operators related to Yandex.Cloud use the ``yandexcloud_default`` connection by default.
+
+Authenticating to Yandex.Cloud
+------------------------------
+
+Using authorized keys to authorize as a service account
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Before you start, make sure you have `created <https://cloud.yandex.com/docs/iam/operations/sa/create>`__
+a Yandex Cloud `service account <https://cloud.yandex.com/docs/iam/concepts/users/service-accounts>`__.
+
+First, you need to create an `authorized key <https://cloud.yandex.com/docs/iam/concepts/authorization/key>`__
+for your service account and save the generated JSON file with both public and private key parts.
+
+Then, you need to specify the key in the ``Service account auth JSON`` field.
+
+Alternatively, you can specify the path to the JSON file in the ``Service account auth JSON file path`` field.
+
+Using an OAuth token to authorize as a user account
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+First, you need to create
+an `OAuth token <https://cloud.yandex.com/docs/iam/concepts/authorization/oauth-token>`__ for your user account.
+Your token will look like this: ``y3_Vd3eub7w9bIut67GHeL345gfb5GAnd3dZnf08FR1vjeUFve7Yi8hGvc``.
+
+Then you need to specify your token in the ``OAuth Token`` field.
+
+Using metadata service
+~~~~~~~~~~~~~~~~~~~~~~
+
+If you do not specify any credentials, the connection will attempt to use
+the `metadata service <https://cloud.yandex.com/docs/compute/concepts/vm-metadata>`__ for authentication.
+
+To do this, you need to `link <https://cloud.yandex.com/docs/compute/operations/vm-connect/auth-inside-vm>`__
+your service account with your VM.
diff --git a/providers/yandex/docs/index.rst b/providers/yandex/docs/index.rst
new file mode 100644
index 00000000000..249542f23ed
--- /dev/null
+++ b/providers/yandex/docs/index.rst
@@ -0,0 +1,110 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+``apache-airflow-providers-yandex``
+===================================
+
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: Basics
+
+ Home <self>
+ Changelog <changelog>
+ Security <security>
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: Guides
+
+ Configuration <configurations-ref>
+ Connection types <connections/yandexcloud>
+ Lockbox Secret Backend <secrets-backends/yandex-cloud-lockbox-secret-backend>
+ Operators <operators/index>
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: References
+
+ Python API <_api/airflow/providers/yandex/index>
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: System tests
+
+ System Tests <_api/tests/system/yandex/index>
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: Resources
+
+ Example DAGs <https://github.com/apache/airflow/tree/providers-yandex/|version|/providers/tests/system/yandex/example_yandexcloud_dataproc.py>
+ PyPI Repository <https://pypi.org/project/apache-airflow-providers-yandex/>
+ Installing from sources <installing-providers-from-sources>
+
+.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME!
+
+
+.. toctree::
+ :hidden:
+ :maxdepth: 1
+ :caption: Commits
+
+ Detailed list of commits <commits>
+
+
+apache-airflow-providers-yandex package
+------------------------------------------------------
+
+This package is for Yandex, including:
+
+ - `Yandex.Cloud <https://cloud.yandex.com/>`__
+
+
+Release: 4.0.0
+
+Provider package
+----------------
+
+This package is for the ``yandex`` provider.
+All classes for this package are included in the ``airflow.providers.yandex`` python package.
+
+Installation
+------------
+
+You can install this package on top of an existing Airflow 2 installation via
+``pip install apache-airflow-providers-yandex``.
+For the minimum Airflow version supported, see ``Requirements`` below.
+
+Requirements
+------------
+
+The minimum Apache Airflow version supported by this provider package is ``2.9.0``.
+
+======================= ==================
+PIP package Version required
+======================= ==================
+``apache-airflow`` ``>=2.9.0``
+``yandexcloud`` ``>=0.308.0``
+``yandex-query-client`` ``>=0.1.4``
+======================= ==================
diff --git a/docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst b/providers/yandex/docs/installing-providers-from-sources.rst
similarity index 100%
copy from docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst
copy to providers/yandex/docs/installing-providers-from-sources.rst
diff --git a/providers/yandex/docs/integration-logos/Yandex-Cloud.png b/providers/yandex/docs/integration-logos/Yandex-Cloud.png
new file mode 100644
index 00000000000..33e8e1b71b2
Binary files /dev/null and b/providers/yandex/docs/integration-logos/Yandex-Cloud.png differ
diff --git a/providers/yandex/docs/operators/dataproc.rst b/providers/yandex/docs/operators/dataproc.rst
new file mode 100644
index 00000000000..03dfd3acae8
--- /dev/null
+++ b/providers/yandex/docs/operators/dataproc.rst
@@ -0,0 +1,37 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Yandex.Cloud Data Proc Operators
+================================
+
+`Yandex Data Proc <https://cloud.yandex.com/services/data-proc>`__ is a service
+that helps you deploy Apache Hadoop®* and Apache Spark™ clusters in the Yandex Cloud infrastructure.
+
+With Data Proc, you can manage the cluster size and node capacity,
+as well as work with various Apache® services,
+such as Spark, HDFS, YARN, Hive, HBase, Oozie, Sqoop, Flume, Tez, and Zeppelin.
+
+Apache Hadoop is used for storing and analyzing structured and unstructured big data.
+
+Apache Spark is a tool for quick data processing
+that can be integrated with Apache Hadoop and other storage systems.
+
+Using the operators
+^^^^^^^^^^^^^^^^^^^
+To learn how to use Data Proc operators,
+see `example DAGs <https://github.com/apache/airflow/tree/providers-yandex/|version|/providers/tests/system/yandex/example_yandexcloud_dataproc.py>`_.
diff --git a/docs/apache-airflow-providers-teradata/changelog.rst b/providers/yandex/docs/operators/index.rst
similarity index 69%
rename from docs/apache-airflow-providers-teradata/changelog.rst
rename to providers/yandex/docs/operators/index.rst
index 577e6333e20..12b05418e10 100644
--- a/docs/apache-airflow-providers-teradata/changelog.rst
+++ b/providers/yandex/docs/operators/index.rst
@@ -1,4 +1,3 @@
-
.. Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
@@ -16,10 +15,14 @@
specific language governing permissions and limitations
under the License.
- .. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
- OVERWRITTEN WHEN PREPARING PACKAGES.
- .. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
- `PROVIDER_CHANGELOG_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
-.. include:: ../../providers/src/airflow/providers/teradata/CHANGELOG.rst
+Yandex.Cloud Operators
+======================
+
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ *
diff --git a/docs/apache-airflow-providers-teradata/operators/index.rst b/providers/yandex/docs/operators/yq.rst
similarity index 53%
rename from docs/apache-airflow-providers-teradata/operators/index.rst
rename to providers/yandex/docs/operators/yq.rst
index b01345d8fd1..23bd4ac3361 100644
--- a/docs/apache-airflow-providers-teradata/operators/index.rst
+++ b/providers/yandex/docs/operators/yq.rst
@@ -15,11 +15,14 @@
specific language governing permissions and limitations
under the License.
-Teradata operators
-===================
-.. toctree::
- :maxdepth: 1
- :glob:
+Yandex Query Operators
+======================
+`Yandex Query <https://yandex.cloud/en/services/query>`__ is a service in the Yandex Cloud to process data from different sources such as
+`Object Storage <https://yandex.cloud/ru/services/storage>`__, `MDB ClickHouse <https://yandex.cloud/ru/services/managed-clickhouse>`__,
+`MDB PostgreSQL <https://yandex.cloud/ru/services/managed-postgresql>`__, `Yandex DataStreams <https://yandex.cloud/ru/services/data-streams>`__ using SQL scripts.
- *
+Using the operators
+^^^^^^^^^^^^^^^^^^^
+To learn how to use Yandex Query operator,
+see `example DAG <https://github.com/apache/airflow/tree/providers-yandex/|version|/providers/tests/system/yandex/example_yandexcloud_yq.py>`__.
diff --git a/providers/yandex/docs/secrets-backends/yandex-cloud-lockbox-secret-backend.rst b/providers/yandex/docs/secrets-backends/yandex-cloud-lockbox-secret-backend.rst
new file mode 100644
index 00000000000..f30346b24da
--- /dev/null
+++ b/providers/yandex/docs/secrets-backends/yandex-cloud-lockbox-secret-backend.rst
@@ -0,0 +1,298 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ .. http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Yandex.Cloud Lockbox Secret Backend
+===================================
+
+This topic describes how to configure Apache Airflow to use `Yandex Lockbox <https://cloud.yandex.com/docs/lockbox>`__
+as a secret backend and how to manage secrets.
+
+Getting started
+---------------
+
+Before you start, make sure you have installed the ``yandex`` provider in your Apache Airflow installation:
+
+.. code-block:: bash
+
+ pip install apache-airflow-providers-yandex
+
+Enabling the Yandex Lockbox secret backend
+------------------------------------------
+
+To enable Yandex Lockbox as a secret backend,
+specify :py:class:`~airflow.providers.yandex.secrets.lockbox.LockboxSecretBackend`
+as your ``backend`` in the ``[secrets]`` section of the ``airflow.cfg`` file.
+
+Here is a sample configuration:
+
+.. code-block:: ini
+
+ [secrets]
+ backend = airflow.providers.yandex.secrets.lockbox.LockboxSecretBackend
+
+You can also set this with an environment variable:
+
+.. code-block:: bash
+
+ export AIRFLOW__SECRETS__BACKEND=airflow.providers.yandex.secrets.lockbox.LockboxSecretBackend
+
+You can verify whether the configuration options have been set up correctly
+using the ``airflow config get-value`` command:
+
+.. code-block:: console
+
+ $ airflow config get-value secrets backend
+ airflow.providers.yandex.secrets.lockbox.LockboxSecretBackend
+
+Backend parameters
+------------------
+
+The next step is to configure backend parameters using the ``backend_kwargs`` options
+that allow you to provide the following parameters:
+
+* ``yc_oauth_token``: Specifies the user account OAuth token to connect to Yandex Lockbox. The parameter value should look like ``y3_xx123``.
+* ``yc_sa_key_json``: Specifies the service account key in JSON. The parameter value should look like ``{"id": "...", "service_account_id": "...", "private_key": "..."}``.
+* ``yc_sa_key_json_path``: Specifies the service account key in JSON file path. The parameter value should look like ``/home/airflow/authorized_key.json``, while the file content should have the following format: ``{"id": "...", "service_account_id": "...", "private_key": "..."}``.
+* ``yc_connection_id``: Specifies the connection ID to connect to Yandex Lockbox. The default value is ``yandexcloud_default``.
+* ``folder_id``: Specifies the folder ID to search for Yandex Lockbox secrets in. If set to ``None`` (``null`` in JSON), the requests will use the connection ``folder_id``, if specified.
+* ``connections_prefix``: Specifies the prefix of the secret to read to get connections. If set to ``None`` (``null`` in JSON), the requests for connections will not be sent to Yandex Lockbox. The default value is ``airflow/connections``.
+* ``variables_prefix``: Specifies the prefix of the secret to read to get variables. If set to ``None`` (``null`` in JSON), the requests for variables will not be sent to Yandex Lockbox. The default value is ``airflow/variables``.
+* ``config_prefix``: Specifies the prefix of the secret to read to get configurations. If set to ``None`` (``null`` in JSON), the requests for variables will not be sent to Yandex Lockbox. The default value is ``airflow/config``.
+* ``sep``: Specifies the separator to concatenate ``secret_prefix`` and ``secret_id``. The default value is ``/``.
+* ``endpoint``: Specifies the API endpoint. If set to ``None`` (``null`` in JSON), the requests will use the connection endpoint, if specified; otherwise, they will use the default endpoint.
+
+Make sure to provide all options as a JSON dictionary.
+
+For example, if you want to set ``connections_prefix`` to ``"example-connections-prefix"``
+and ``variables_prefix`` to ``"example-variables-prefix"``,
+your configuration file should look like this:
+
+.. code-block:: ini
+
+ [secrets]
+ backend = airflow.providers.yandex.secrets.lockbox.LockboxSecretBackend
+ backend_kwargs = {"connections_prefix": "example-connections-prefix", "variables_prefix": "example-variables-prefix"}
+
+Setting up credentials
+----------------------
+
+You need to specify credentials or the ID of the ``yandexcloud`` connection to connect to Yandex Lockbox.
+
+The credentials will be used with the following priority:
+
+* OAuth token
+* Service account key in JSON from file
+* Service account key in JSON
+* Yandex Cloud connection
+
+If you do not specify any credentials, the system will use the default connection ID: ``yandexcloud_default``.
+
+Using an OAuth token to authorize as a user account
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+First, you need to create
+an `OAuth token <https://cloud.yandex.com/docs/iam/concepts/authorization/oauth-token>`__ for your user account.
+Your token will look like this: ``y3_Vd3eub7w9bIut67GHeL345gfb5GAnd3dZnf08FR1vjeUFve7Yi8hGvc``.
+
+Then, you need to specify the ``folder_id`` and your token in ``backend_kwargs``:
+
+.. code-block:: ini
+
+ [secrets]
+ backend_kwargs = {"folder_id": "b1g66mft1vo1n4vbn57j", "yc_oauth_token": "y3_Vd3eub7w9bIut67GHeL345gfb5GAnd3dZnf08FR1vjeUFve7Yi8hGvc"}
+
+Using authorized keys to authorize as a service account
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Before you start, make sure you have `created <https://cloud.yandex.com/docs/iam/operations/sa/create>`__
+a Yandex Cloud `service account <https://cloud.yandex.com/docs/iam/concepts/users/service-accounts>`__
+with the ``lockbox.viewer`` and ``lockbox.payloadViewer`` permissions.
+
+First, you need to create an `authorized key <https://cloud.yandex.com/docs/iam/concepts/authorization/key>`__
+for your service account and save the generated JSON file with both public and private key parts.
+
+Then, you need to specify the ``folder_id`` and key in ``backend_kwargs``:
+
+.. code-block:: ini
+
+ [secrets]
+ backend_kwargs = {"folder_id": "b1g66mft1vo1n4vbn57j", "yc_sa_key_json": {"id": "...", "service_account_id": "...", "private_key": "..."}"}
+
+Alternatively, you can specify the path to the JSON file in ``backend_kwargs``:
+
+.. code-block:: ini
+
+ [secrets]
+ backend_kwargs = {"folder_id": "b1g66mft1vo1n4vbn57j", "yc_sa_key_json_path": "/home/airflow/authorized_key.json"}
+
+Using Yandex Cloud connection for authorization
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+First, you need to create :ref:`Yandex Cloud connection <yandex_cloud_connection>`.
+
+Then, you need to specify the ``connection_id`` in ``backend_kwargs``:
+
+.. code-block:: ini
+
+ [secrets]
+ backend_kwargs = {"yc_connection_id": "my_yc_connection"}
+
+If you do not specify any credentials,
+Lockbox Secret Backend will try to use the default connection ID: ``yandexcloud_default``.
+
+Lockbox Secret Backend will try to use the default folder ID from your connection.
+You can also specify the ``folder_id`` in the ``backend_kwargs``:
+
+.. code-block:: ini
+
+ [secrets]
+ backend_kwargs = {"folder_id": "b1g66mft1vo1n4vbn57j", "yc_connection_id": "my_yc_connection"}
+
+Storing and retrieving connections
+----------------------------------
+
+To store a connection, you need to `create a secret <https://cloud.yandex.com/docs/lockbox/operations/secret-create>`__
+with a name in the following format: ``{connections_prefix}{sep}{connection_name}``.
+
+The payload must contain a text value with any key.
+
+Storing a connection as a URI
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The main way to save connections is using a :ref:`connection URI representation <generating_connection_uri>`, such as
+``mysql://myname:mypassword@myhost.com?this_param=some+val&that_param=other+val%2A``.
+
+Here is an example of creating a secret with the ``yc`` CLI:
+
+.. code-block:: console
+
+ $ yc lockbox secret create \
+ --name airflow/connections/mysqldb \
+ --payload '[{"key": "value", "text_value": "mysql://myname:mypassword@myhost.com?this_param=some+val&that_param=other+val%2A"}]'
+ done (1s)
+ name: airflow/connections/mysqldb
+
+Storing a connection as JSON
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Another way to store connections is using JSON format:
+
+.. code-block:: json
+
+ {
+ "conn_type": "mysql",
+ "host": "host.com",
+ "login": "myname",
+ "password": "mypassword",
+ "extra": {
+ "this_param": "some val",
+ "that_param": "other val*"
+ }
+ }
+
+Here is an example of creating a secret with the ``yc`` CLI:
+
+.. code-block:: console
+
+ $ yc lockbox secret create \
+ --name airflow/connections/my_sql_db_json \
+ --payload '[{"key": "value", "text_value": "{\"conn_type\": \"mysql\", \"host\": \"host.com\", \"login\": \"myname\", \"password\": \"mypassword\", \"extra\": {\"this_param\": \"some val\", \"that_param\": \"other val*\"}}"}]'
+ done (1s)
+ name: airflow/connections/my_sql_db_json
+
+Retrieving connection
+~~~~~~~~~~~~~~~~~~~~~
+
+To check the connection is correctly read from the Lockbox Secret Backend, you can use ``airflow connections get``:
+
+.. code-block:: console
+
+ $ airflow connections get mysqldb -o json
+ [{"id": null, "conn_id": "mysqldb", "conn_type": "mysql", "description": null, "host": "host.com", "schema": "", "login": "myname", "password": "mypassword", "port": null, "is_encrypted": "False", "is_extra_encrypted": "False", "extra_dejson": {"this_param": "some val", "that_param": "other val*"}, "get_uri": "mysql://myname:mypassword@myhost.com/?this_param=some+val&that_param=other+val%2A"}]
+
+Storing and retrieving variables
+--------------------------------
+
+To store a variable, you need to `create a secret <https://cloud.yandex.com/docs/lockbox/operations/secret-create>`__
+with a name in the following format: ``{variables_prefix}{sep}{variable_name}``.
+The payload must contain a text value with any key.
+
+Here is how a variable value may look like: ``some_secret_data``.
+
+Here is an example of creating a secret with the ``yc`` CLI:
+
+.. code-block:: console
+
+ $ yc lockbox secret create \
+ --name airflow/variables/my_variable \
+ --payload '[{"key": "value", "text_value": "some_secret_data"}]'
+ done (1s)
+ name: airflow/variables/my_variable
+
+To check the variable is correctly read from the Lockbox Secret Backend, you can use ``airflow variables get``:
+
+.. code-block:: console
+
+ $ airflow variables get my_variable
+ some_secret_data
+
+Storing and retrieving configs
+------------------------------
+
+Lockbox Secret Backend is also suitable for storing sensitive configurations.
+
+For example, we will provide you with a secret for ``sentry.sentry_dsn``
+and use ``sentry_dsn_value`` as the config value name.
+
+To store a config, you need to `create a secret <https://cloud.yandex.com/docs/lockbox/operations/secret-create>`__
+with a name in the following format: ``{config_prefix}{sep}{config_value_name}``.
+The payload must contain a text value with any key.
+
+Here is an example of creating a secret with the ``yc`` CLI:
+
+.. code-block:: console
+
+ $ yc lockbox secret create \
+ --name airflow/config/sentry_dsn_value \
+ --payload '[{"key": "value", "text_value": "https://public@sentry.example.com/1"}]'
+ done (1s)
+ name: airflow/config/sentry_dsn_value
+
+Then, we need to specify the config value name as ``{key}_secret`` in the Apache Airflow configuration:
+
+.. code-block:: ini
+
+ [sentry]
+ sentry_dsn_secret = sentry_dsn_value
+
+To check the config value is correctly read from the Lockbox Secret Backend, you can use ``airflow config get-value``:
+
+.. code-block:: console
+
+ $ airflow config get-value sentry sentry_dsn
+ https://public@sentry.example.com/1
+
+Cleaning up your secret
+-----------------------
+
+You can easily delete your secret with the ``yc`` CLI:
+
+.. code-block:: console
+
+ $ yc lockbox secret delete --name airflow/connections/mysqldb
+ name: airflow/connections/mysqldb
diff --git a/docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst b/providers/yandex/docs/security.rst
similarity index 92%
rename from docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst
rename to providers/yandex/docs/security.rst
index b4e730f4ff2..afa13dac6fc 100644
--- a/docs/apache-airflow-providers-teradata/installing-providers-from-sources.rst
+++ b/providers/yandex/docs/security.rst
@@ -15,4 +15,4 @@
specific language governing permissions and limitations
under the License.
-.. include:: ../exts/includes/installing-providers-from-sources.rst
+.. include:: ../exts/includes/security.rst
diff --git a/pyproject.toml b/pyproject.toml
index 4d0be9f65ee..0b7e0348109 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -657,6 +657,7 @@ dev = [
"apache-airflow-providers-standard",
"apache-airflow-providers-tableau",
"apache-airflow-providers-telegram",
+ "apache-airflow-providers-teradata",
"apache-airflow-providers-weaviate",
"apache-airflow-providers-ydb",
"apache-airflow-providers-zendesk",
@@ -703,6 +704,7 @@ apache-airflow-providers-ssh = { workspace = true }
apache-airflow-providers-standard = { workspace = true }
apache-airflow-providers-tableau = { workspace = true }
apache-airflow-providers-telegram = { workspace = true }
+apache-airflow-providers-teradata = { workspace = true }
apache-airflow-providers-weaviate = { workspace = true }
apache-airflow-providers-ydb = { workspace = true }
apache-airflow-providers-zendesk = { workspace = true }
@@ -747,6 +749,7 @@ members = [
"providers/standard",
"providers/tableau",
"providers/telegram",
+ "providers/teradata",
"providers/weaviate",
"providers/ydb",
"providers/zendesk",
diff --git a/scripts/ci/docker-compose/remove-sources.yml b/scripts/ci/docker-compose/remove-sources.yml
index 33b503ad5d3..01840bb4ea5 100644
--- a/scripts/ci/docker-compose/remove-sources.yml
+++ b/scripts/ci/docker-compose/remove-sources.yml
@@ -68,6 +68,7 @@ services:
- ../../../empty:/opt/airflow/providers/standard/src
- ../../../empty:/opt/airflow/providers/tableau/src
- ../../../empty:/opt/airflow/providers/telegram/src
+ - ../../../empty:/opt/airflow/providers/teradata/src
- ../../../empty:/opt/airflow/providers/weaviate/src
- ../../../empty:/opt/airflow/providers/ydb/src
- ../../../empty:/opt/airflow/providers/zendesk/src
diff --git a/scripts/ci/docker-compose/tests-sources.yml b/scripts/ci/docker-compose/tests-sources.yml
index 0c5da333cec..d0c5d8310b1 100644
--- a/scripts/ci/docker-compose/tests-sources.yml
+++ b/scripts/ci/docker-compose/tests-sources.yml
@@ -75,6 +75,7 @@ services:
- ../../../providers/standard/tests:/opt/airflow/providers/standard/tests
- ../../../providers/tableau/tests:/opt/airflow/providers/tableau/tests
- ../../../providers/telegram/tests:/opt/airflow/providers/telegram/tests
+ - ../../../providers/teradata/tests:/opt/airflow/providers/teradata/tests
- ../../../providers/weaviate/tests:/opt/airflow/providers/weaviate/tests
- ../../../providers/ydb/tests:/opt/airflow/providers/ydb/tests
- ../../../providers/zendesk/tests:/opt/airflow/providers/zendesk/tests