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

potiuk pushed a commit to branch v2-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 4f560d391bd74d2ce4d833665d679618a90c9ced
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat Aug 21 12:12:39 2021 +0200

    Update description about the new ``connection-types`` provider meta-data
    
    The ``hook-class-names`` provider's meta-data property has been deprecated 
and
    is now replaced by ``connection-types`` property. This documents the
    change.
    
    (cherry picked from commit be75dcd39cd10264048c86e74110365bd5daf8b7)
---
 airflow/providers/airbyte/provider.yaml                 |  2 +-
 airflow/providers/amazon/provider.yaml                  |  2 +-
 airflow/providers/apache/cassandra/provider.yaml        |  2 +-
 airflow/providers/apache/drill/provider.yaml            |  2 +-
 airflow/providers/apache/druid/provider.yaml            |  2 +-
 airflow/providers/apache/hdfs/provider.yaml             |  2 +-
 airflow/providers/apache/hive/provider.yaml             |  2 +-
 airflow/providers/apache/livy/provider.yaml             |  2 +-
 airflow/providers/apache/pig/provider.yaml              |  2 +-
 airflow/providers/apache/spark/provider.yaml            |  2 +-
 airflow/providers/apache/sqoop/provider.yaml            |  2 +-
 airflow/providers/asana/provider.yaml                   |  2 +-
 airflow/providers/cloudant/provider.yaml                |  2 +-
 airflow/providers/cncf/kubernetes/provider.yaml         |  2 +-
 airflow/providers/databricks/provider.yaml              |  2 +-
 airflow/providers/dingding/provider.yaml                |  2 +-
 airflow/providers/discord/provider.yaml                 |  2 +-
 airflow/providers/docker/provider.yaml                  |  2 +-
 airflow/providers/elasticsearch/provider.yaml           |  2 +-
 airflow/providers/exasol/provider.yaml                  |  2 +-
 airflow/providers/facebook/provider.yaml                |  2 +-
 airflow/providers/ftp/provider.yaml                     |  2 +-
 airflow/providers/google/provider.yaml                  |  2 +-
 airflow/providers/grpc/provider.yaml                    |  2 +-
 airflow/providers/hashicorp/provider.yaml               |  2 +-
 airflow/providers/http/provider.yaml                    |  2 +-
 airflow/providers/imap/provider.yaml                    |  2 +-
 airflow/providers/jdbc/provider.yaml                    |  2 +-
 airflow/providers/jenkins/provider.yaml                 |  2 +-
 airflow/providers/jira/provider.yaml                    |  2 +-
 airflow/providers/microsoft/azure/provider.yaml         |  2 +-
 airflow/providers/microsoft/mssql/provider.yaml         |  2 +-
 airflow/providers/mongo/provider.yaml                   |  2 +-
 airflow/providers/mysql/provider.yaml                   |  2 +-
 airflow/providers/neo4j/provider.yaml                   |  2 +-
 airflow/providers/odbc/provider.yaml                    |  2 +-
 airflow/providers/opsgenie/provider.yaml                |  2 +-
 airflow/providers/oracle/provider.yaml                  |  2 +-
 airflow/providers/postgres/provider.yaml                |  2 +-
 airflow/providers/presto/provider.yaml                  |  2 +-
 airflow/providers/qubole/provider.yaml                  |  2 +-
 airflow/providers/redis/provider.yaml                   |  2 +-
 airflow/providers/salesforce/provider.yaml              |  3 ++-
 airflow/providers/samba/provider.yaml                   |  2 +-
 airflow/providers/segment/provider.yaml                 |  2 +-
 airflow/providers/sftp/provider.yaml                    |  2 +-
 airflow/providers/slack/provider.yaml                   |  2 +-
 airflow/providers/snowflake/provider.yaml               |  2 +-
 airflow/providers/sqlite/provider.yaml                  |  2 +-
 airflow/providers/ssh/provider.yaml                     |  2 +-
 airflow/providers/tableau/provider.yaml                 |  2 +-
 airflow/providers/trino/provider.yaml                   |  2 +-
 airflow/providers/vertica/provider.yaml                 |  2 +-
 airflow/providers/yandex/provider.yaml                  |  2 +-
 .../howto/create-update-providers.rst                   | 17 ++++++++++++++---
 docs/apache-airflow-providers/index.rst                 | 17 +++++++++++++----
 docs/apache-airflow/howto/connection.rst                | 12 ++++++++++--
 57 files changed, 92 insertions(+), 63 deletions(-)

diff --git a/airflow/providers/airbyte/provider.yaml 
b/airflow/providers/airbyte/provider.yaml
index 87bb1d1..a7f80bb 100644
--- a/airflow/providers/airbyte/provider.yaml
+++ b/airflow/providers/airbyte/provider.yaml
@@ -51,5 +51,5 @@ sensors:
     python-modules:
       - airflow.providers.airbyte.sensors.airbyte
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.airbyte.hooks.airbyte.AirbyteHook
diff --git a/airflow/providers/amazon/provider.yaml 
b/airflow/providers/amazon/provider.yaml
index 1bd4189..cbd90c6 100644
--- a/airflow/providers/amazon/provider.yaml
+++ b/airflow/providers/amazon/provider.yaml
@@ -369,7 +369,7 @@ transfers:
     target-integration-name: Amazon Simple Storage Service (S3)
     python-module: airflow.providers.amazon.aws.transfers.ftp_to_s3
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.amazon.aws.hooks.s3.S3Hook
   - airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook
   - airflow.providers.amazon.aws.hooks.emr.EmrHook
diff --git a/airflow/providers/apache/cassandra/provider.yaml 
b/airflow/providers/apache/cassandra/provider.yaml
index 4ebccad..d000e31 100644
--- a/airflow/providers/apache/cassandra/provider.yaml
+++ b/airflow/providers/apache/cassandra/provider.yaml
@@ -48,5 +48,5 @@ hooks:
     python-modules:
       - airflow.providers.apache.cassandra.hooks.cassandra
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.cassandra.hooks.cassandra.CassandraHook
diff --git a/airflow/providers/apache/drill/provider.yaml 
b/airflow/providers/apache/drill/provider.yaml
index 88021e6..062f7bf 100644
--- a/airflow/providers/apache/drill/provider.yaml
+++ b/airflow/providers/apache/drill/provider.yaml
@@ -45,5 +45,5 @@ hooks:
     python-modules:
       - airflow.providers.apache.drill.hooks.drill
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.drill.hooks.drill.DrillHook
diff --git a/airflow/providers/apache/druid/provider.yaml 
b/airflow/providers/apache/druid/provider.yaml
index 66974e6..f432c1c 100644
--- a/airflow/providers/apache/druid/provider.yaml
+++ b/airflow/providers/apache/druid/provider.yaml
@@ -47,7 +47,7 @@ hooks:
     python-modules:
       - airflow.providers.apache.druid.hooks.druid
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.druid.hooks.druid.DruidDbApiHook
 
 transfers:
diff --git a/airflow/providers/apache/hdfs/provider.yaml 
b/airflow/providers/apache/hdfs/provider.yaml
index aa70701..2554920 100644
--- a/airflow/providers/apache/hdfs/provider.yaml
+++ b/airflow/providers/apache/hdfs/provider.yaml
@@ -58,5 +58,5 @@ hooks:
     python-modules:
       - airflow.providers.apache.hdfs.hooks.webhdfs
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.hdfs.hooks.hdfs.HDFSHook
diff --git a/airflow/providers/apache/hive/provider.yaml 
b/airflow/providers/apache/hive/provider.yaml
index 9d02184..d619fa5 100644
--- a/airflow/providers/apache/hive/provider.yaml
+++ b/airflow/providers/apache/hive/provider.yaml
@@ -78,7 +78,7 @@ transfers:
     target-integration-name: Apache Hive
     python-module: airflow.providers.apache.hive.transfers.mssql_to_hive
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.hive.hooks.hive.HiveCliHook
   - airflow.providers.apache.hive.hooks.hive.HiveServer2Hook
   - airflow.providers.apache.hive.hooks.hive.HiveMetastoreHook
diff --git a/airflow/providers/apache/livy/provider.yaml 
b/airflow/providers/apache/livy/provider.yaml
index d47649b..c5c5130 100644
--- a/airflow/providers/apache/livy/provider.yaml
+++ b/airflow/providers/apache/livy/provider.yaml
@@ -51,5 +51,5 @@ hooks:
     python-modules:
       - airflow.providers.apache.livy.hooks.livy
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.livy.hooks.livy.LivyHook
diff --git a/airflow/providers/apache/pig/provider.yaml 
b/airflow/providers/apache/pig/provider.yaml
index 03aa24e..2b006f8 100644
--- a/airflow/providers/apache/pig/provider.yaml
+++ b/airflow/providers/apache/pig/provider.yaml
@@ -45,5 +45,5 @@ hooks:
     python-modules:
       - airflow.providers.apache.pig.hooks.pig
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.pig.hooks.pig.PigCliHook
diff --git a/airflow/providers/apache/spark/provider.yaml 
b/airflow/providers/apache/spark/provider.yaml
index 6394efe..394657c 100644
--- a/airflow/providers/apache/spark/provider.yaml
+++ b/airflow/providers/apache/spark/provider.yaml
@@ -54,7 +54,7 @@ hooks:
       - airflow.providers.apache.spark.hooks.spark_sql
       - airflow.providers.apache.spark.hooks.spark_submit
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.spark.hooks.spark_jdbc.SparkJDBCHook
   - airflow.providers.apache.spark.hooks.spark_sql.SparkSqlHook
   - airflow.providers.apache.spark.hooks.spark_submit.SparkSubmitHook
diff --git a/airflow/providers/apache/sqoop/provider.yaml 
b/airflow/providers/apache/sqoop/provider.yaml
index 2e2689a..1195179 100644
--- a/airflow/providers/apache/sqoop/provider.yaml
+++ b/airflow/providers/apache/sqoop/provider.yaml
@@ -45,5 +45,5 @@ hooks:
     python-modules:
       - airflow.providers.apache.sqoop.hooks.sqoop
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.apache.sqoop.hooks.sqoop.SqoopHook
diff --git a/airflow/providers/asana/provider.yaml 
b/airflow/providers/asana/provider.yaml
index bff1b04..f441df5 100644
--- a/airflow/providers/asana/provider.yaml
+++ b/airflow/providers/asana/provider.yaml
@@ -44,5 +44,5 @@ hooks:
     python-modules:
       - airflow.providers.asana.hooks.asana
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.asana.hooks.asana.AsanaHook
diff --git a/airflow/providers/cloudant/provider.yaml 
b/airflow/providers/cloudant/provider.yaml
index 5902386..88ccbf9 100644
--- a/airflow/providers/cloudant/provider.yaml
+++ b/airflow/providers/cloudant/provider.yaml
@@ -40,5 +40,5 @@ hooks:
     python-modules:
       - airflow.providers.cloudant.hooks.cloudant
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.cloudant.hooks.cloudant.CloudantHook
diff --git a/airflow/providers/cncf/kubernetes/provider.yaml 
b/airflow/providers/cncf/kubernetes/provider.yaml
index 0dfbc96..1e8a29b 100644
--- a/airflow/providers/cncf/kubernetes/provider.yaml
+++ b/airflow/providers/cncf/kubernetes/provider.yaml
@@ -60,5 +60,5 @@ hooks:
     python-modules:
       - airflow.providers.cncf.kubernetes.hooks.kubernetes
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook
diff --git a/airflow/providers/databricks/provider.yaml 
b/airflow/providers/databricks/provider.yaml
index 4ec1b5a..4a8d16f 100644
--- a/airflow/providers/databricks/provider.yaml
+++ b/airflow/providers/databricks/provider.yaml
@@ -46,5 +46,5 @@ hooks:
     python-modules:
       - airflow.providers.databricks.hooks.databricks
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.databricks.hooks.databricks.DatabricksHook
diff --git a/airflow/providers/dingding/provider.yaml 
b/airflow/providers/dingding/provider.yaml
index 8f6f857..74eca91 100644
--- a/airflow/providers/dingding/provider.yaml
+++ b/airflow/providers/dingding/provider.yaml
@@ -48,5 +48,5 @@ hooks:
     python-modules:
       - airflow.providers.dingding.hooks.dingding
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.dingding.hooks.dingding.DingdingHook
diff --git a/airflow/providers/discord/provider.yaml 
b/airflow/providers/discord/provider.yaml
index acd986e..6b4510a 100644
--- a/airflow/providers/discord/provider.yaml
+++ b/airflow/providers/discord/provider.yaml
@@ -45,5 +45,5 @@ hooks:
     python-modules:
       - airflow.providers.discord.hooks.discord_webhook
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.discord.hooks.discord_webhook.DiscordWebhookHook
diff --git a/airflow/providers/docker/provider.yaml 
b/airflow/providers/docker/provider.yaml
index 2f8fb1c..21a1749 100644
--- a/airflow/providers/docker/provider.yaml
+++ b/airflow/providers/docker/provider.yaml
@@ -55,5 +55,5 @@ hooks:
     python-modules:
       - airflow.providers.docker.hooks.docker
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.docker.hooks.docker.DockerHook
diff --git a/airflow/providers/elasticsearch/provider.yaml 
b/airflow/providers/elasticsearch/provider.yaml
index 311b0fd..8309efe 100644
--- a/airflow/providers/elasticsearch/provider.yaml
+++ b/airflow/providers/elasticsearch/provider.yaml
@@ -43,5 +43,5 @@ hooks:
     python-modules:
       - airflow.providers.elasticsearch.hooks.elasticsearch
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchHook
diff --git a/airflow/providers/exasol/provider.yaml 
b/airflow/providers/exasol/provider.yaml
index 74ba9e5..cf7ac50 100644
--- a/airflow/providers/exasol/provider.yaml
+++ b/airflow/providers/exasol/provider.yaml
@@ -46,5 +46,5 @@ hooks:
     python-modules:
       - airflow.providers.exasol.hooks.exasol
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.exasol.hooks.exasol.ExasolHook
diff --git a/airflow/providers/facebook/provider.yaml 
b/airflow/providers/facebook/provider.yaml
index a93c91b..4f0a7da 100644
--- a/airflow/providers/facebook/provider.yaml
+++ b/airflow/providers/facebook/provider.yaml
@@ -41,5 +41,5 @@ hooks:
     python-modules:
       - airflow.providers.facebook.ads.hooks.ads
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.facebook.ads.hooks.ads.FacebookAdsReportingHook
diff --git a/airflow/providers/ftp/provider.yaml 
b/airflow/providers/ftp/provider.yaml
index 8843b49..3bab0bd 100644
--- a/airflow/providers/ftp/provider.yaml
+++ b/airflow/providers/ftp/provider.yaml
@@ -43,5 +43,5 @@ hooks:
     python-modules:
       - airflow.providers.ftp.hooks.ftp
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.ftp.hooks.ftp.FTPHook
diff --git a/airflow/providers/google/provider.yaml 
b/airflow/providers/google/provider.yaml
index daae5f8..7bfaea6 100644
--- a/airflow/providers/google/provider.yaml
+++ b/airflow/providers/google/provider.yaml
@@ -734,7 +734,7 @@ transfers:
     target-integration-name: Google Cloud Storage (GCS)
     python-module: airflow.providers.google.ads.transfers.ads_to_gcs
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.google.common.hooks.base_google.GoogleBaseHook
   - airflow.providers.google.cloud.hooks.dataprep.GoogleDataprepHook
   - airflow.providers.google.cloud.hooks.cloud_sql.CloudSQLHook
diff --git a/airflow/providers/grpc/provider.yaml 
b/airflow/providers/grpc/provider.yaml
index 5d688a7..dad8221 100644
--- a/airflow/providers/grpc/provider.yaml
+++ b/airflow/providers/grpc/provider.yaml
@@ -45,5 +45,5 @@ hooks:
     python-modules:
       - airflow.providers.grpc.hooks.grpc
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.grpc.hooks.grpc.GrpcHook
diff --git a/airflow/providers/hashicorp/provider.yaml 
b/airflow/providers/hashicorp/provider.yaml
index ce66256..0f55e02 100644
--- a/airflow/providers/hashicorp/provider.yaml
+++ b/airflow/providers/hashicorp/provider.yaml
@@ -41,5 +41,5 @@ hooks:
     python-modules:
       - airflow.providers.hashicorp.hooks.vault
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.hashicorp.hooks.vault.VaultHook
diff --git a/airflow/providers/http/provider.yaml 
b/airflow/providers/http/provider.yaml
index f2508ab..e93f511 100644
--- a/airflow/providers/http/provider.yaml
+++ b/airflow/providers/http/provider.yaml
@@ -52,5 +52,5 @@ hooks:
     python-modules:
       - airflow.providers.http.hooks.http
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.http.hooks.http.HttpHook
diff --git a/airflow/providers/imap/provider.yaml 
b/airflow/providers/imap/provider.yaml
index 77e2b97..0fb3ba6 100644
--- a/airflow/providers/imap/provider.yaml
+++ b/airflow/providers/imap/provider.yaml
@@ -42,5 +42,5 @@ hooks:
     python-modules:
       - airflow.providers.imap.hooks.imap
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.imap.hooks.imap.ImapHook
diff --git a/airflow/providers/jdbc/provider.yaml 
b/airflow/providers/jdbc/provider.yaml
index eaf7603..4a43f1d 100644
--- a/airflow/providers/jdbc/provider.yaml
+++ b/airflow/providers/jdbc/provider.yaml
@@ -46,5 +46,5 @@ hooks:
     python-modules:
       - airflow.providers.jdbc.hooks.jdbc
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.jdbc.hooks.jdbc.JdbcHook
diff --git a/airflow/providers/jenkins/provider.yaml 
b/airflow/providers/jenkins/provider.yaml
index b8609dd..bab708d 100644
--- a/airflow/providers/jenkins/provider.yaml
+++ b/airflow/providers/jenkins/provider.yaml
@@ -45,5 +45,5 @@ hooks:
     python-modules:
       - airflow.providers.jenkins.hooks.jenkins
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.jenkins.hooks.jenkins.JenkinsHook
diff --git a/airflow/providers/jira/provider.yaml 
b/airflow/providers/jira/provider.yaml
index 1972323..c8d60a3 100644
--- a/airflow/providers/jira/provider.yaml
+++ b/airflow/providers/jira/provider.yaml
@@ -51,5 +51,5 @@ hooks:
     python-modules:
       - airflow.providers.jira.hooks.jira
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.jira.hooks.jira.JiraHook
diff --git a/airflow/providers/microsoft/azure/provider.yaml 
b/airflow/providers/microsoft/azure/provider.yaml
index 50fbaed..395ed7d 100644
--- a/airflow/providers/microsoft/azure/provider.yaml
+++ b/airflow/providers/microsoft/azure/provider.yaml
@@ -152,7 +152,7 @@ transfers:
     how-to-guide: 
/docs/apache-airflow-providers-microsoft-azure/operators/azure_blob_to_gcs.rst
     python-module: 
airflow.providers.microsoft.azure.transfers.azure_blob_to_gcs
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.microsoft.azure.hooks.base_azure.AzureBaseHook
   - airflow.providers.microsoft.azure.hooks.adx.AzureDataExplorerHook
   - airflow.providers.microsoft.azure.hooks.azure_batch.AzureBatchHook
diff --git a/airflow/providers/microsoft/mssql/provider.yaml 
b/airflow/providers/microsoft/mssql/provider.yaml
index 1832559..c87388a 100644
--- a/airflow/providers/microsoft/mssql/provider.yaml
+++ b/airflow/providers/microsoft/mssql/provider.yaml
@@ -46,5 +46,5 @@ hooks:
     python-modules:
       - airflow.providers.microsoft.mssql.hooks.mssql
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.microsoft.mssql.hooks.mssql.MsSqlHook
diff --git a/airflow/providers/mongo/provider.yaml 
b/airflow/providers/mongo/provider.yaml
index 826c005..6e9f0a4 100644
--- a/airflow/providers/mongo/provider.yaml
+++ b/airflow/providers/mongo/provider.yaml
@@ -44,5 +44,5 @@ hooks:
     python-modules:
       - airflow.providers.mongo.hooks.mongo
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.mongo.hooks.mongo.MongoHook
diff --git a/airflow/providers/mysql/provider.yaml 
b/airflow/providers/mysql/provider.yaml
index 220e758..28349d6 100644
--- a/airflow/providers/mysql/provider.yaml
+++ b/airflow/providers/mysql/provider.yaml
@@ -64,5 +64,5 @@ transfers:
     target-integration-name: MySQL
     python-module: airflow.providers.mysql.transfers.trino_to_mysql
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.mysql.hooks.mysql.MySqlHook
diff --git a/airflow/providers/neo4j/provider.yaml 
b/airflow/providers/neo4j/provider.yaml
index 934650f..ddae326 100644
--- a/airflow/providers/neo4j/provider.yaml
+++ b/airflow/providers/neo4j/provider.yaml
@@ -46,5 +46,5 @@ hooks:
     python-modules:
       - airflow.providers.neo4j.hooks.neo4j
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.neo4j.hooks.neo4j.Neo4jHook
diff --git a/airflow/providers/odbc/provider.yaml 
b/airflow/providers/odbc/provider.yaml
index 44fc2ea..134befd 100644
--- a/airflow/providers/odbc/provider.yaml
+++ b/airflow/providers/odbc/provider.yaml
@@ -40,5 +40,5 @@ hooks:
     python-modules:
       - airflow.providers.odbc.hooks.odbc
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.odbc.hooks.odbc.OdbcHook
diff --git a/airflow/providers/opsgenie/provider.yaml 
b/airflow/providers/opsgenie/provider.yaml
index 03e4d43..2790d46 100644
--- a/airflow/providers/opsgenie/provider.yaml
+++ b/airflow/providers/opsgenie/provider.yaml
@@ -46,5 +46,5 @@ hooks:
     python-modules:
       - airflow.providers.opsgenie.hooks.opsgenie_alert
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.opsgenie.hooks.opsgenie_alert.OpsgenieAlertHook
diff --git a/airflow/providers/oracle/provider.yaml 
b/airflow/providers/oracle/provider.yaml
index 9f6ed83..ecce5db 100644
--- a/airflow/providers/oracle/provider.yaml
+++ b/airflow/providers/oracle/provider.yaml
@@ -51,5 +51,5 @@ transfers:
     target-integration-name: Oracle
     python-module: airflow.providers.oracle.transfers.oracle_to_oracle
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.oracle.hooks.oracle.OracleHook
diff --git a/airflow/providers/postgres/provider.yaml 
b/airflow/providers/postgres/provider.yaml
index 364b929..e631b6d 100644
--- a/airflow/providers/postgres/provider.yaml
+++ b/airflow/providers/postgres/provider.yaml
@@ -48,5 +48,5 @@ hooks:
     python-modules:
       - airflow.providers.postgres.hooks.postgres
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.postgres.hooks.postgres.PostgresHook
diff --git a/airflow/providers/presto/provider.yaml 
b/airflow/providers/presto/provider.yaml
index 61e6aa9..559cd82 100644
--- a/airflow/providers/presto/provider.yaml
+++ b/airflow/providers/presto/provider.yaml
@@ -41,5 +41,5 @@ hooks:
     python-modules:
       - airflow.providers.presto.hooks.presto
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.presto.hooks.presto.PrestoHook
diff --git a/airflow/providers/qubole/provider.yaml 
b/airflow/providers/qubole/provider.yaml
index 6dabbdd..6b5966d 100644
--- a/airflow/providers/qubole/provider.yaml
+++ b/airflow/providers/qubole/provider.yaml
@@ -53,7 +53,7 @@ hooks:
       - airflow.providers.qubole.hooks.qubole
       - airflow.providers.qubole.hooks.qubole_check
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.qubole.hooks.qubole.QuboleHook
 
 extra-links:
diff --git a/airflow/providers/redis/provider.yaml 
b/airflow/providers/redis/provider.yaml
index 7c2509a..f62de13 100644
--- a/airflow/providers/redis/provider.yaml
+++ b/airflow/providers/redis/provider.yaml
@@ -51,5 +51,5 @@ hooks:
     python-modules:
       - airflow.providers.redis.hooks.redis
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.redis.hooks.redis.RedisHook
diff --git a/airflow/providers/salesforce/provider.yaml 
b/airflow/providers/salesforce/provider.yaml
index edfc925..fd011b4 100644
--- a/airflow/providers/salesforce/provider.yaml
+++ b/airflow/providers/salesforce/provider.yaml
@@ -22,6 +22,7 @@ description: |
     `Salesforce <https://www.salesforce.com/>`__
 
 versions:
+  - 3.1.0
   - 3.0.0
   - 2.0.0
   - 1.0.1
@@ -54,5 +55,5 @@ hooks:
     python-modules:
       - airflow.providers.salesforce.hooks.salesforce
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.salesforce.hooks.tableau.TableauHook
diff --git a/airflow/providers/samba/provider.yaml 
b/airflow/providers/samba/provider.yaml
index 8522b4d..d57bd8a 100644
--- a/airflow/providers/samba/provider.yaml
+++ b/airflow/providers/samba/provider.yaml
@@ -40,5 +40,5 @@ hooks:
     python-modules:
       - airflow.providers.samba.hooks.samba
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.samba.hooks.samba.SambaHook
diff --git a/airflow/providers/segment/provider.yaml 
b/airflow/providers/segment/provider.yaml
index 327e1fd..c0a707b 100644
--- a/airflow/providers/segment/provider.yaml
+++ b/airflow/providers/segment/provider.yaml
@@ -45,5 +45,5 @@ hooks:
     python-modules:
       - airflow.providers.segment.hooks.segment
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.segment.hooks.segment.SegmentHook
diff --git a/airflow/providers/sftp/provider.yaml 
b/airflow/providers/sftp/provider.yaml
index 8e2c4a3..6176c02 100644
--- a/airflow/providers/sftp/provider.yaml
+++ b/airflow/providers/sftp/provider.yaml
@@ -52,5 +52,5 @@ hooks:
     python-modules:
       - airflow.providers.sftp.hooks.sftp
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.sftp.hooks.sftp.SFTPHook
diff --git a/airflow/providers/slack/provider.yaml 
b/airflow/providers/slack/provider.yaml
index 8fc0f96..21720fb 100644
--- a/airflow/providers/slack/provider.yaml
+++ b/airflow/providers/slack/provider.yaml
@@ -48,5 +48,5 @@ hooks:
       - airflow.providers.slack.hooks.slack
       - airflow.providers.slack.hooks.slack_webhook
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.slack.hooks.slack_webhook.SlackWebhookHook
diff --git a/airflow/providers/snowflake/provider.yaml 
b/airflow/providers/snowflake/provider.yaml
index a1e3662..886dc8f 100644
--- a/airflow/providers/snowflake/provider.yaml
+++ b/airflow/providers/snowflake/provider.yaml
@@ -60,5 +60,5 @@ transfers:
     python-module: airflow.providers.snowflake.transfers.snowflake_to_slack
     how-to-guide: 
/docs/apache-airflow-providers-snowflake/operators/snowflake_to_slack.rst
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.snowflake.hooks.snowflake.SnowflakeHook
diff --git a/airflow/providers/sqlite/provider.yaml 
b/airflow/providers/sqlite/provider.yaml
index d2071ae..c9dca08 100644
--- a/airflow/providers/sqlite/provider.yaml
+++ b/airflow/providers/sqlite/provider.yaml
@@ -46,5 +46,5 @@ hooks:
     python-modules:
       - airflow.providers.sqlite.hooks.sqlite
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.sqlite.hooks.sqlite.SqliteHook
diff --git a/airflow/providers/ssh/provider.yaml 
b/airflow/providers/ssh/provider.yaml
index 2f0fa65..73c41de 100644
--- a/airflow/providers/ssh/provider.yaml
+++ b/airflow/providers/ssh/provider.yaml
@@ -47,5 +47,5 @@ hooks:
     python-modules:
       - airflow.providers.ssh.hooks.ssh
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.ssh.hooks.ssh.SSHHook
diff --git a/airflow/providers/tableau/provider.yaml 
b/airflow/providers/tableau/provider.yaml
index 18ee431..2416509 100644
--- a/airflow/providers/tableau/provider.yaml
+++ b/airflow/providers/tableau/provider.yaml
@@ -49,5 +49,5 @@ hooks:
     python-modules:
       - airflow.providers.tableau.hooks.tableau
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.tableau.hooks.tableau.TableauHook
diff --git a/airflow/providers/trino/provider.yaml 
b/airflow/providers/trino/provider.yaml
index fa8f84e..8d80c70 100644
--- a/airflow/providers/trino/provider.yaml
+++ b/airflow/providers/trino/provider.yaml
@@ -39,5 +39,5 @@ hooks:
     python-modules:
       - airflow.providers.trino.hooks.trino
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.trino.hooks.trino.TrinoHook
diff --git a/airflow/providers/vertica/provider.yaml 
b/airflow/providers/vertica/provider.yaml
index f7d98bd..0bcdca8 100644
--- a/airflow/providers/vertica/provider.yaml
+++ b/airflow/providers/vertica/provider.yaml
@@ -45,5 +45,5 @@ hooks:
     python-modules:
       - airflow.providers.vertica.hooks.vertica
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.vertica.hooks.vertica.VerticaHook
diff --git a/airflow/providers/yandex/provider.yaml 
b/airflow/providers/yandex/provider.yaml
index bc3f3d7..2cd18d9 100644
--- a/airflow/providers/yandex/provider.yaml
+++ b/airflow/providers/yandex/provider.yaml
@@ -55,5 +55,5 @@ hooks:
     python-modules:
       - airflow.providers.yandex.hooks.yandexcloud_dataproc
 
-hook-class-names:
+hook-class-names:  # deprecated - to be removed after providers add dependency 
on Airflow 2.2.0+
   - airflow.providers.yandex.hooks.yandex.YandexCloudBaseHook
diff --git a/docs/apache-airflow-providers/howto/create-update-providers.rst 
b/docs/apache-airflow-providers/howto/create-update-providers.rst
index e5b075d..f87e11c 100644
--- a/docs/apache-airflow-providers/howto/create-update-providers.rst
+++ b/docs/apache-airflow-providers/howto/create-update-providers.rst
@@ -279,11 +279,22 @@ In the ``airflow/providers/<NEW_PROVIDER>/provider.yaml`` 
add information of you
           python-modules:
             - airflow.providers.<NEW_PROVIDER>.sensors.<NEW_PROVIDER>
 
-      hook-class-names:
+      connection-types:
+        - hook-class-name: 
airflow.providers.<NEW_PROVIDER>.hooks.<NEW_PROVIDER>.NewProviderHook
+        - connection-type: provider-connection-type
+
+      hook-class-names:  # deprecated in Airflow 2.2.0
         - airflow.providers.<NEW_PROVIDER>.hooks.<NEW_PROVIDER>.NewProviderHook
 
-You only need to add ``hook-class-names`` in case you have some hooks that 
have customized UI behavior.
-For more information see `Custom connection types 
<http://airflow.apache.org/docs/apache-airflow/stable/howto/connection.html#custom-connection-types>`_
+.. note:: Defining your own connection types
+
+    You only need to add ``connection-types`` in case you have some hooks that 
have customized UI behavior. However
+    it is only supported for Airflow 2.2.0. If your providers are also 
targeting Airflow below 2.2.0 you should
+    provide the deprecated ``hook-class-names`` array. The 
``connection-types`` array allows for optimization
+    of importing of individual connections and while Airflow 2.2.0 is able to 
handle both definition, the
+    ``connection-types`` is recommended.
+
+    For more information see `Custom connection types 
<http://airflow.apache.org/docs/apache-airflow/stable/howto/connection.html#custom-connection-types>`_
 
 
 After changing and creating these files you can build the documentation 
locally. The two commands below will
diff --git a/docs/apache-airflow-providers/index.rst 
b/docs/apache-airflow-providers/index.rst
index 71c5132..99ac4b7 100644
--- a/docs/apache-airflow-providers/index.rst
+++ b/docs/apache-airflow-providers/index.rst
@@ -143,9 +143,17 @@ Exposing customized functionality to the Airflow's core:
   capability. See :doc:`apache-airflow:howto/define_extra_link` for 
description of how to add extra link
   capability to the operators of yours.
 
-* ``hook-class-names`` - this field should contain the list of all hook class 
names that provide
-  custom connection types with custom extra fields and field behaviour. See
-  :doc:`apache-airflow:howto/connection` for more details.
+* ``connection-types`` - this field should contain the list of all connection 
types together with hook
+  class names implementing those custom connection types (providing custom 
extra fields and
+  custom field behaviour). This field is available as of Airflow 2.2.0 and it 
replaces deprecated
+  ``hook-class-names``. See :doc:`apache-airflow:howto/connection` for more 
details
+
+* ``hook-class-names`` (deprecated) - this field should contain the list of 
all hook class names that provide
+  custom connection types with custom extra fields and field behaviour. The 
``hook-class-names`` array
+  is deprecated as of Airflow 2.2.0 (for optimization reasons) and will be 
removed in Airflow 3. If your
+  providers are targeting Airflow 2.2.0+ you do not have to include the 
``hook-class-names`` array, if
+  you want to also target earlier versions of Airflow 2, you should include 
both ``hook-class-names`` and
+  ``connection-types`` arrays. See :doc:`apache-airflow:howto/connection` for 
more details.
 
 
 When your providers are installed you can query the installed providers and 
their capabilities with the
@@ -209,7 +217,8 @@ Creating your own providers
 **When I write my own provider, do I need to do anything special to make it 
available to others?**
 
 You do not need to do anything special besides creating the 
``apache_airflow_provider`` entry point
-returning properly formatted meta-data (dictionary with ``extra-links`` and 
``hook-class-names`` fields).
+returning properly formatted meta-data  - dictionary with ``extra-links`` and 
``connection-types`` fields
+(and deprecated ``hook-class-names`` field if you are also targeting versions 
of Airflow before 2.2.0).
 
 Anyone who runs airflow in an environment that has your Python package 
installed will be able to use the
 package as a provider package.
diff --git a/docs/apache-airflow/howto/connection.rst 
b/docs/apache-airflow/howto/connection.rst
index 2424d3f..ec50cf8 100644
--- a/docs/apache-airflow/howto/connection.rst
+++ b/docs/apache-airflow/howto/connection.rst
@@ -374,8 +374,8 @@ custom Hook should not derive from this class, this class 
is a dummy example to
 regarding about class fields and methods that your Hook might define. Another 
good example is
 :py:class:`~airflow.providers.jdbc.hooks.jdbc.JdbcHook`.
 
-By implementing those methods in your hooks and exposing them via 
``hook-class-names`` array in
-the provider meta-data you can customize Airflow by:
+By implementing those methods in your hooks and exposing them via 
``connection-types`` array (and
+deprecated ``hook-class-names``) in the provider meta-data, you can customize 
Airflow by:
 
 * Adding custom connection types
 * Adding automated Hook creation from the connection type
@@ -384,3 +384,11 @@ the provider meta-data you can customize Airflow by:
 * Adding placeholders showing examples of how fields should be formatted
 
 You can read more about details how to add custom provider packages in the 
:doc:`apache-airflow-providers:index`
+
+.. note:: Deprecated ``hook-class-names``
+
+   Prior to Airflow 2.2.0, the connections in providers have been exposed via 
``hook-class-names`` array
+   in provider's meta-data, this however has proven to be not well optimized 
for using individual hooks
+   in workers and the ``hook-class-names`` array is now replaced by 
``connection-types`` array. Until
+   provider supports Airflow below 2.2.0, both ``connection-types`` and 
``hook-class-names`` should be
+   present. Automated checks during CI build will verify consistency of those 
two arrays.

Reply via email to