From ea69c67fa293cc6cf3015712da192cfc94f7b372 Mon Sep 17 00:00:00 2001 From: Yuseok Jo Date: Sun, 5 Apr 2026 00:41:36 +0900 Subject: [PATCH] [v3-2-test] Load hook metadata from YAML without importing Hook class (#63826) * Load hook metadata from YAML without importing Hook class * Add hook-name to all provider.yaml connection-types * Add hook-name to connection types and regenerate get_provider_info.py * Fix ruff import order in connections.py * fix: import ProvidersManager at top level per review * Fix provider connection hook display names * Add iter_connection_type_hook_ui_metadata for connection UI hook metadata (cherry picked from commit c4a209ba0ec1749ce0d0ac561fb22feba5bad567) Co-authored-by: Yuseok Jo --- .../core_api/services/ui/connections.py | 32 +++++------ .../src/airflow/provider.yaml.schema.json | 4 ++ .../src/airflow/provider_info.schema.json | 4 ++ airflow-core/src/airflow/providers_manager.py | 55 ++++++++++++++++++- .../unit/always/test_providers_manager.py | 8 +++ providers/airbyte/provider.yaml | 1 + .../providers/airbyte/get_provider_info.py | 1 + providers/alibaba/provider.yaml | 4 ++ .../providers/alibaba/get_provider_info.py | 4 ++ providers/amazon/provider.yaml | 5 ++ .../providers/amazon/get_provider_info.py | 5 ++ providers/apache/cassandra/provider.yaml | 1 + .../apache/cassandra/get_provider_info.py | 1 + providers/apache/drill/provider.yaml | 1 + .../apache/drill/get_provider_info.py | 1 + providers/apache/druid/provider.yaml | 1 + .../apache/druid/get_provider_info.py | 1 + providers/apache/hdfs/provider.yaml | 1 + .../apache/hdfs/get_provider_info.py | 1 + providers/apache/hive/provider.yaml | 3 + .../apache/hive/get_provider_info.py | 3 + providers/apache/iceberg/provider.yaml | 1 + .../apache/iceberg/get_provider_info.py | 1 + providers/apache/impala/provider.yaml | 1 + .../apache/impala/get_provider_info.py | 1 + providers/apache/kafka/provider.yaml | 1 + .../apache/kafka/get_provider_info.py | 1 + providers/apache/kylin/provider.yaml | 1 + .../apache/kylin/get_provider_info.py | 1 + providers/apache/livy/provider.yaml | 1 + .../apache/livy/get_provider_info.py | 1 + providers/apache/pig/provider.yaml | 1 + .../providers/apache/pig/get_provider_info.py | 1 + providers/apache/pinot/provider.yaml | 2 + .../apache/pinot/get_provider_info.py | 2 + providers/apache/spark/provider.yaml | 4 ++ .../apache/spark/get_provider_info.py | 4 ++ providers/apache/tinkerpop/provider.yaml | 1 + .../apache/tinkerpop/get_provider_info.py | 1 + providers/apprise/provider.yaml | 1 + .../providers/apprise/get_provider_info.py | 1 + providers/arangodb/provider.yaml | 1 + .../providers/arangodb/get_provider_info.py | 1 + providers/asana/provider.yaml | 1 + .../providers/asana/get_provider_info.py | 1 + providers/atlassian/jira/provider.yaml | 1 + .../atlassian/jira/get_provider_info.py | 1 + providers/cloudant/provider.yaml | 1 + .../providers/cloudant/get_provider_info.py | 1 + providers/cncf/kubernetes/provider.yaml | 1 + .../cncf/kubernetes/get_provider_info.py | 1 + providers/cohere/provider.yaml | 1 + .../providers/cohere/get_provider_info.py | 1 + providers/common/ai/provider.yaml | 5 ++ .../providers/common/ai/get_provider_info.py | 5 ++ providers/databricks/provider.yaml | 1 + .../providers/databricks/get_provider_info.py | 1 + providers/datadog/provider.yaml | 1 + .../providers/datadog/get_provider_info.py | 1 + providers/dbt/cloud/provider.yaml | 1 + .../providers/dbt/cloud/get_provider_info.py | 1 + providers/dingding/provider.yaml | 1 + .../providers/dingding/get_provider_info.py | 1 + providers/discord/provider.yaml | 1 + .../providers/discord/get_provider_info.py | 1 + providers/docker/provider.yaml | 1 + .../providers/docker/get_provider_info.py | 1 + providers/elasticsearch/provider.yaml | 1 + .../elasticsearch/get_provider_info.py | 1 + providers/exasol/provider.yaml | 1 + .../providers/exasol/get_provider_info.py | 1 + providers/facebook/provider.yaml | 1 + .../providers/facebook/get_provider_info.py | 1 + providers/ftp/provider.yaml | 1 + .../providers/ftp/get_provider_info.py | 6 +- providers/git/provider.yaml | 1 + .../providers/git/get_provider_info.py | 1 + providers/github/provider.yaml | 1 + .../providers/github/get_provider_info.py | 1 + providers/google/provider.yaml | 9 +++ .../providers/google/get_provider_info.py | 9 +++ providers/grpc/provider.yaml | 1 + .../providers/grpc/get_provider_info.py | 1 + providers/hashicorp/provider.yaml | 1 + .../providers/hashicorp/get_provider_info.py | 1 + providers/http/provider.yaml | 1 + .../providers/http/get_provider_info.py | 1 + providers/imap/provider.yaml | 1 + .../providers/imap/get_provider_info.py | 6 +- providers/influxdb/provider.yaml | 1 + .../providers/influxdb/get_provider_info.py | 1 + providers/informatica/provider.yaml | 1 + .../informatica/get_provider_info.py | 1 + providers/jdbc/provider.yaml | 1 + .../providers/jdbc/get_provider_info.py | 1 + providers/jenkins/provider.yaml | 1 + .../providers/jenkins/get_provider_info.py | 1 + providers/microsoft/azure/provider.yaml | 17 ++++++ .../microsoft/azure/get_provider_info.py | 17 ++++++ .../microsoft/azure/hooks/data_lake.py | 2 +- providers/microsoft/mssql/provider.yaml | 1 + .../microsoft/mssql/get_provider_info.py | 1 + providers/microsoft/psrp/provider.yaml | 1 + .../microsoft/psrp/get_provider_info.py | 1 + providers/microsoft/winrm/provider.yaml | 1 + .../microsoft/winrm/get_provider_info.py | 1 + providers/mongo/provider.yaml | 1 + .../providers/mongo/get_provider_info.py | 1 + providers/mysql/provider.yaml | 1 + .../providers/mysql/get_provider_info.py | 6 +- providers/neo4j/provider.yaml | 1 + .../providers/neo4j/get_provider_info.py | 6 +- providers/odbc/provider.yaml | 1 + .../providers/odbc/get_provider_info.py | 6 +- providers/openai/provider.yaml | 1 + .../providers/openai/get_provider_info.py | 1 + providers/openfaas/provider.yaml | 1 + .../providers/openfaas/get_provider_info.py | 1 + providers/opensearch/provider.yaml | 1 + .../providers/opensearch/get_provider_info.py | 1 + providers/opsgenie/provider.yaml | 1 + .../providers/opsgenie/get_provider_info.py | 1 + providers/oracle/provider.yaml | 1 + .../providers/oracle/get_provider_info.py | 1 + providers/pagerduty/provider.yaml | 2 + .../providers/pagerduty/get_provider_info.py | 2 + providers/papermill/provider.yaml | 1 + .../providers/papermill/get_provider_info.py | 1 + providers/pinecone/provider.yaml | 1 + .../providers/pinecone/get_provider_info.py | 1 + providers/postgres/provider.yaml | 1 + .../providers/postgres/get_provider_info.py | 1 + providers/presto/provider.yaml | 1 + .../providers/presto/get_provider_info.py | 1 + providers/qdrant/provider.yaml | 1 + .../providers/qdrant/get_provider_info.py | 1 + providers/redis/provider.yaml | 1 + .../providers/redis/get_provider_info.py | 1 + providers/salesforce/provider.yaml | 1 + .../providers/salesforce/get_provider_info.py | 1 + providers/samba/provider.yaml | 1 + .../providers/samba/get_provider_info.py | 1 + providers/segment/provider.yaml | 1 + .../providers/segment/get_provider_info.py | 1 + providers/sftp/provider.yaml | 1 + .../providers/sftp/get_provider_info.py | 1 + providers/slack/provider.yaml | 2 + .../providers/slack/get_provider_info.py | 2 + providers/smtp/provider.yaml | 1 + .../providers/smtp/get_provider_info.py | 1 + providers/snowflake/provider.yaml | 1 + .../providers/snowflake/get_provider_info.py | 1 + providers/sqlite/provider.yaml | 1 + .../providers/sqlite/get_provider_info.py | 1 + providers/ssh/provider.yaml | 1 + .../providers/ssh/get_provider_info.py | 1 + providers/standard/provider.yaml | 2 + .../providers/standard/get_provider_info.py | 2 + providers/tableau/provider.yaml | 1 + .../providers/tableau/get_provider_info.py | 1 + providers/telegram/provider.yaml | 1 + .../providers/telegram/get_provider_info.py | 1 + providers/teradata/provider.yaml | 1 + .../providers/teradata/get_provider_info.py | 1 + providers/trino/provider.yaml | 1 + .../providers/trino/get_provider_info.py | 1 + providers/vertica/provider.yaml | 1 + .../providers/vertica/get_provider_info.py | 1 + providers/weaviate/provider.yaml | 1 + .../providers/weaviate/get_provider_info.py | 1 + providers/yandex/provider.yaml | 1 + .../providers/yandex/get_provider_info.py | 1 + .../airflow/providers/yandex/hooks/yandex.py | 4 +- providers/ydb/provider.yaml | 1 + .../providers/ydb/get_provider_info.py | 1 + providers/zendesk/provider.yaml | 1 + .../providers/zendesk/get_provider_info.py | 1 + 177 files changed, 365 insertions(+), 27 deletions(-) diff --git a/airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py b/airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py index 96480555c4000..1cf45b7f7e1d0 100644 --- a/airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py +++ b/airflow-core/src/airflow/api_fastapi/core_api/services/ui/connections.py @@ -27,10 +27,11 @@ ConnectionHookMetaData, StandardHookFields, ) +from airflow.providers_manager import HookInfo, ProvidersManager from airflow.serialization.definitions.param import SerializedParam if TYPE_CHECKING: - from airflow.providers_manager import ConnectionFormWidgetInfo, HookInfo + from airflow.providers_manager import ConnectionFormWidgetInfo log = logging.getLogger(__name__) @@ -125,8 +126,6 @@ def _get_hooks_with_mocked_fab() -> tuple[ """Get hooks with all details w/o FAB needing to be installed.""" from unittest import mock - from airflow.providers_manager import ProvidersManager - def mock_lazy_gettext(txt: str) -> str: """Mock for flask_babel.lazy_gettext.""" return txt @@ -225,19 +224,16 @@ def _convert_extra_fields(form_widgets: dict[str, ConnectionFormWidgetInfo]) -> @staticmethod @cache def hook_meta_data() -> list[ConnectionHookMetaData]: - hooks, connection_form_widgets, field_behaviours = HookMetaService._get_hooks_with_mocked_fab() - result: list[ConnectionHookMetaData] = [] - widgets = HookMetaService._convert_extra_fields(connection_form_widgets) - for hook_key, hook_info in hooks.items(): - if not hook_info: - continue - hook_meta = ConnectionHookMetaData( - connection_type=hook_key, - hook_class_name=hook_info.hook_class_name, - default_conn_name=None, # TODO: later - hook_name=hook_info.hook_name, - standard_fields=HookMetaService._make_standard_fields(field_behaviours.get(hook_key)), - extra_fields=widgets.get(hook_key), + pm = ProvidersManager() + widgets = HookMetaService._convert_extra_fields(pm._connection_form_widgets_from_metadata) + return [ + ConnectionHookMetaData( + connection_type=meta.connection_type, + hook_class_name=meta.hook_class_name, + default_conn_name=None, + hook_name=meta.hook_name, + standard_fields=HookMetaService._make_standard_fields(meta.field_behaviour), + extra_fields=widgets.get(meta.connection_type), ) - result.append(hook_meta) - return result + for meta in pm.iter_connection_type_hook_ui_metadata() + ] diff --git a/airflow-core/src/airflow/provider.yaml.schema.json b/airflow-core/src/airflow/provider.yaml.schema.json index ac6b05f30c87b..5714b8db658c5 100644 --- a/airflow-core/src/airflow/provider.yaml.schema.json +++ b/airflow-core/src/airflow/provider.yaml.schema.json @@ -378,6 +378,10 @@ "description": "Hook class name that implements the connection type", "type": "string" }, + "hook-name": { + "description": "Display name for the connection type in the UI (e.g. 'File (path)', 'Slack')", + "type": "string" + }, "ui-field-behaviour": { "description": "Customizations for standard connection form fields", "type": "object", diff --git a/airflow-core/src/airflow/provider_info.schema.json b/airflow-core/src/airflow/provider_info.schema.json index 7c3eea12591dd..86fc726a05168 100644 --- a/airflow-core/src/airflow/provider_info.schema.json +++ b/airflow-core/src/airflow/provider_info.schema.json @@ -298,6 +298,10 @@ "hook-class-name": { "description": "Hook class name that implements the connection type", "type": "string" + }, + "hook-name": { + "description": "Display name for the connection type in the UI", + "type": "string" } }, "required": [ diff --git a/airflow-core/src/airflow/providers_manager.py b/airflow-core/src/airflow/providers_manager.py index b8d48a31b9c34..6fefcbc39b06d 100644 --- a/airflow-core/src/airflow/providers_manager.py +++ b/airflow-core/src/airflow/providers_manager.py @@ -26,7 +26,7 @@ import logging import traceback import warnings -from collections.abc import Callable, MutableMapping +from collections.abc import Callable, Iterator, MutableMapping from dataclasses import dataclass from functools import wraps from importlib.resources import files as resource_files @@ -243,6 +243,15 @@ class HookInfo(NamedTuple): dialects: list[str] = [] +class ConnectionTypeHookUIMetadata(NamedTuple): + """Hook metadata for one connection type (connection UI); ``field_behaviour`` is standard fields.""" + + connection_type: str + hook_name: str + hook_class_name: str | None + field_behaviour: dict | None + + class ConnectionFormWidgetInfo(NamedTuple): """Connection Form Widget information.""" @@ -413,6 +422,8 @@ def __init__(self): self._dialect_provider_dict: dict[str, DialectInfo] = {} # Keeps dict of hooks keyed by connection type. They are lazy evaluated at access time self._hooks_lazy_dict: LazyDictWithCache[str, HookInfo | Callable] = LazyDictWithCache() + # Keeps hook display names read from provider.yaml (hook-name field) + self._hook_name_dict: dict[str, str] = {} # Keeps methods that should be used to add custom widgets tuple of keyed by name of the extra field self._connection_form_widgets: dict[str, ConnectionFormWidgetInfo] = {} # Customizations for javascript fields are kept here @@ -979,6 +990,9 @@ def _load_ui_metadata(self) -> None: if not connection_type or not hook_class_name: continue + if hook_name := conn_config.get("hook-name"): + self._hook_name_dict[connection_type] = hook_name + if conn_fields := conn_config.get("conn-fields"): self._add_widgets(package_name, hook_class_name, connection_type, conn_fields) @@ -1349,6 +1363,45 @@ def hooks(self) -> MutableMapping[str, HookInfo | None]: # When we return hooks here it will only be used to retrieve hook information return self._hooks_lazy_dict + def iter_connection_type_hook_ui_metadata(self) -> Iterator[ConnectionTypeHookUIMetadata]: + """ + Yield hook metadata per connection type for the connection UI. + + Does not import hook classes. + """ + self.initialize_providers_hooks() + all_types = frozenset(self._hooks_lazy_dict) | frozenset(self._hook_provider_dict) + for conn_type in sorted(all_types): + raw_entry = self._hooks_lazy_dict._raw_dict.get(conn_type) + provider_entry = self._hook_provider_dict.get(conn_type) + if isinstance(raw_entry, HookInfo): + hook_name = raw_entry.hook_name + hook_class_name = raw_entry.hook_class_name + elif provider_entry: + hook_name = self._hook_name_dict.get(conn_type, conn_type) + hook_class_name = provider_entry.hook_class_name + else: + hook_name = self._hook_name_dict.get(conn_type, conn_type) + hook_class_name = None + yield ConnectionTypeHookUIMetadata( + connection_type=conn_type, + hook_name=hook_name, + hook_class_name=hook_class_name, + field_behaviour=self._field_behaviours.get(conn_type), + ) + + @property + def _connection_form_widgets_from_metadata(self) -> dict[str, ConnectionFormWidgetInfo]: + """Return connection form widgets from metadata without importing every hook.""" + self.initialize_providers_hooks() + return self._connection_form_widgets + + @property + def _field_behaviours_from_metadata(self) -> dict[str, dict]: + """Return field behaviour dicts from metadata without importing every hook.""" + self.initialize_providers_hooks() + return self._field_behaviours + @property def dialects(self) -> MutableMapping[str, DialectInfo]: """Return dictionary of connection_type-to-dialect mapping.""" diff --git a/airflow-core/tests/unit/always/test_providers_manager.py b/airflow-core/tests/unit/always/test_providers_manager.py index 580676d18b3bf..afa473e80a4f0 100644 --- a/airflow-core/tests/unit/always/test_providers_manager.py +++ b/airflow-core/tests/unit/always/test_providers_manager.py @@ -428,6 +428,14 @@ def test_load_ui_for_http_provider(self): assert "relabeling" in behaviour assert "placeholders" in behaviour + def test_iter_connection_type_hook_ui_metadata_matches_field_behaviours(self): + """iter_connection_type_hook_ui_metadata should expose the same standard-field behaviour dict.""" + pm = ProvidersManager() + pm.initialize_providers_hooks() + by_type = {m.connection_type: m for m in pm.iter_connection_type_hook_ui_metadata()} + assert "http" in by_type + assert by_type["http"].field_behaviour == pm._field_behaviours["http"] + def test_ui_metadata_loading_without_hook_import(self): """Test that UI metadata loads from provider info without importing hook classes.""" with patch("airflow.providers_manager.import_string") as mock_import: diff --git a/providers/airbyte/provider.yaml b/providers/airbyte/provider.yaml index b60aa43473fb0..fcef42aaeedde 100644 --- a/providers/airbyte/provider.yaml +++ b/providers/airbyte/provider.yaml @@ -97,6 +97,7 @@ triggers: connection-types: - hook-class-name: airflow.providers.airbyte.hooks.airbyte.AirbyteHook + hook-name: "Airbyte" connection-type: airbyte ui-field-behaviour: hidden-fields: diff --git a/providers/airbyte/src/airflow/providers/airbyte/get_provider_info.py b/providers/airbyte/src/airflow/providers/airbyte/get_provider_info.py index 33be5eaa8bf24..6ca1af004d5a9 100644 --- a/providers/airbyte/src/airflow/providers/airbyte/get_provider_info.py +++ b/providers/airbyte/src/airflow/providers/airbyte/get_provider_info.py @@ -50,6 +50,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.airbyte.hooks.airbyte.AirbyteHook", + "hook-name": "Airbyte", "connection-type": "airbyte", "ui-field-behaviour": { "hidden-fields": ["extra", "port"], diff --git a/providers/alibaba/provider.yaml b/providers/alibaba/provider.yaml index e02be8f9a676f..6d5dd6aad4304 100644 --- a/providers/alibaba/provider.yaml +++ b/providers/alibaba/provider.yaml @@ -123,10 +123,13 @@ hooks: connection-types: - hook-class-name: airflow.providers.alibaba.cloud.hooks.oss.OSSHook + hook-name: "OSS" connection-type: oss - hook-class-name: airflow.providers.alibaba.cloud.hooks.analyticdb_spark.AnalyticDBSparkHook + hook-name: "AnalyticDB Spark" connection-type: adb_spark - hook-class-name: airflow.providers.alibaba.cloud.hooks.base_alibaba.AlibabaBaseHook + hook-name: "Alibaba Cloud" connection-type: alibaba_cloud conn-fields: access_key_id: @@ -144,6 +147,7 @@ connection-types: - 'null' format: password - hook-class-name: airflow.providers.alibaba.cloud.hooks.maxcompute.MaxComputeHook + hook-name: "MaxCompute" connection-type: maxcompute ui-field-behaviour: hidden-fields: diff --git a/providers/alibaba/src/airflow/providers/alibaba/get_provider_info.py b/providers/alibaba/src/airflow/providers/alibaba/get_provider_info.py index 0b8a5ab971ec0..27e01cd0e74a2 100644 --- a/providers/alibaba/src/airflow/providers/alibaba/get_provider_info.py +++ b/providers/alibaba/src/airflow/providers/alibaba/get_provider_info.py @@ -91,14 +91,17 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.alibaba.cloud.hooks.oss.OSSHook", + "hook-name": "OSS", "connection-type": "oss", }, { "hook-class-name": "airflow.providers.alibaba.cloud.hooks.analyticdb_spark.AnalyticDBSparkHook", + "hook-name": "AnalyticDB Spark", "connection-type": "adb_spark", }, { "hook-class-name": "airflow.providers.alibaba.cloud.hooks.base_alibaba.AlibabaBaseHook", + "hook-name": "Alibaba Cloud", "connection-type": "alibaba_cloud", "conn-fields": { "access_key_id": { @@ -113,6 +116,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.alibaba.cloud.hooks.maxcompute.MaxComputeHook", + "hook-name": "MaxCompute", "connection-type": "maxcompute", "ui-field-behaviour": { "hidden-fields": ["host", "schema", "login", "password", "port", "extra"], diff --git a/providers/amazon/provider.yaml b/providers/amazon/provider.yaml index a7e2a9f7b0b47..0390a3fca6dec 100644 --- a/providers/amazon/provider.yaml +++ b/providers/amazon/provider.yaml @@ -931,6 +931,7 @@ extra-links: connection-types: - hook-class-name: airflow.providers.amazon.aws.hooks.base_aws.AwsGenericHook + hook-name: "Amazon Web Services" connection-type: aws ui-field-behaviour: hidden-fields: @@ -955,6 +956,7 @@ connection-types: "endpoint_url": "http://localhost:4566" } - hook-class-name: airflow.providers.amazon.aws.hooks.chime.ChimeWebhookHook + hook-name: "Amazon Chime Webhook" connection-type: chime ui-field-behaviour: hidden-fields: @@ -969,6 +971,7 @@ connection-types: host: hooks.chime.aws/incomingwebhook/ password: T00000000?token=XXXXXXXXXXXXXXXXXXXXXXXX - hook-class-name: airflow.providers.amazon.aws.hooks.emr.EmrHook + hook-name: "Amazon Elastic MapReduce" connection-type: emr ui-field-behaviour: hidden-fields: @@ -999,12 +1002,14 @@ connection-types: "StepConcurrencyLevel": 2 } - hook-class-name: airflow.providers.amazon.aws.hooks.redshift_sql.RedshiftSQLHook + hook-name: "Amazon Redshift" connection-type: redshift ui-field-behaviour: relabeling: login: User schema: Database - hook-class-name: airflow.providers.amazon.aws.hooks.athena_sql.AthenaSQLHook + hook-name: "Amazon Athena" connection-type: athena ui-field-behaviour: hidden-fields: diff --git a/providers/amazon/src/airflow/providers/amazon/get_provider_info.py b/providers/amazon/src/airflow/providers/amazon/get_provider_info.py index d29d1099506e9..f2eac44a3bde2 100644 --- a/providers/amazon/src/airflow/providers/amazon/get_provider_info.py +++ b/providers/amazon/src/airflow/providers/amazon/get_provider_info.py @@ -1084,6 +1084,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.amazon.aws.hooks.base_aws.AwsGenericHook", + "hook-name": "Amazon Web Services", "connection-type": "aws", "ui-field-behaviour": { "hidden-fields": ["host", "schema", "port"], @@ -1097,6 +1098,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.amazon.aws.hooks.chime.ChimeWebhookHook", + "hook-name": "Amazon Chime Webhook", "connection-type": "chime", "ui-field-behaviour": { "hidden-fields": ["login", "port", "extra"], @@ -1110,6 +1112,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.amazon.aws.hooks.emr.EmrHook", + "hook-name": "Amazon Elastic MapReduce", "connection-type": "emr", "ui-field-behaviour": { "hidden-fields": ["host", "schema", "port", "login", "password"], @@ -1121,11 +1124,13 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.amazon.aws.hooks.redshift_sql.RedshiftSQLHook", + "hook-name": "Amazon Redshift", "connection-type": "redshift", "ui-field-behaviour": {"relabeling": {"login": "User", "schema": "Database"}}, }, { "hook-class-name": "airflow.providers.amazon.aws.hooks.athena_sql.AthenaSQLHook", + "hook-name": "Amazon Athena", "connection-type": "athena", "ui-field-behaviour": { "hidden-fields": ["host", "port"], diff --git a/providers/apache/cassandra/provider.yaml b/providers/apache/cassandra/provider.yaml index 6e7362bc721d3..3c66d42965c4f 100644 --- a/providers/apache/cassandra/provider.yaml +++ b/providers/apache/cassandra/provider.yaml @@ -85,4 +85,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.cassandra.hooks.cassandra.CassandraHook + hook-name: "Cassandra" connection-type: cassandra diff --git a/providers/apache/cassandra/src/airflow/providers/apache/cassandra/get_provider_info.py b/providers/apache/cassandra/src/airflow/providers/apache/cassandra/get_provider_info.py index 263641e35877c..6418967562902 100644 --- a/providers/apache/cassandra/src/airflow/providers/apache/cassandra/get_provider_info.py +++ b/providers/apache/cassandra/src/airflow/providers/apache/cassandra/get_provider_info.py @@ -53,6 +53,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.cassandra.hooks.cassandra.CassandraHook", + "hook-name": "Cassandra", "connection-type": "cassandra", } ], diff --git a/providers/apache/drill/provider.yaml b/providers/apache/drill/provider.yaml index 3290c5e2cfa4c..f8f32d4e552c2 100644 --- a/providers/apache/drill/provider.yaml +++ b/providers/apache/drill/provider.yaml @@ -81,4 +81,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.drill.hooks.drill.DrillHook + hook-name: "Drill" connection-type: drill diff --git a/providers/apache/drill/src/airflow/providers/apache/drill/get_provider_info.py b/providers/apache/drill/src/airflow/providers/apache/drill/get_provider_info.py index c767a12b370a5..6a5241392edce 100644 --- a/providers/apache/drill/src/airflow/providers/apache/drill/get_provider_info.py +++ b/providers/apache/drill/src/airflow/providers/apache/drill/get_provider_info.py @@ -44,6 +44,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.drill.hooks.drill.DrillHook", + "hook-name": "Drill", "connection-type": "drill", } ], diff --git a/providers/apache/druid/provider.yaml b/providers/apache/druid/provider.yaml index ca302b5981045..bb890f8ed000d 100644 --- a/providers/apache/druid/provider.yaml +++ b/providers/apache/druid/provider.yaml @@ -95,6 +95,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.druid.hooks.druid.DruidDbApiHook + hook-name: "Druid" connection-type: druid transfers: diff --git a/providers/apache/druid/src/airflow/providers/apache/druid/get_provider_info.py b/providers/apache/druid/src/airflow/providers/apache/druid/get_provider_info.py index c9c501e8f3898..0093743726464 100644 --- a/providers/apache/druid/src/airflow/providers/apache/druid/get_provider_info.py +++ b/providers/apache/druid/src/airflow/providers/apache/druid/get_provider_info.py @@ -50,6 +50,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.druid.hooks.druid.DruidDbApiHook", + "hook-name": "Druid", "connection-type": "druid", } ], diff --git a/providers/apache/hdfs/provider.yaml b/providers/apache/hdfs/provider.yaml index 25536b7e4ac6f..9da1a398cc380 100644 --- a/providers/apache/hdfs/provider.yaml +++ b/providers/apache/hdfs/provider.yaml @@ -97,4 +97,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.hdfs.hooks.webhdfs.WebHDFSHook + hook-name: "Apache WebHDFS" connection-type: webhdfs diff --git a/providers/apache/hdfs/src/airflow/providers/apache/hdfs/get_provider_info.py b/providers/apache/hdfs/src/airflow/providers/apache/hdfs/get_provider_info.py index 9a9a7973caec0..ebe28966df6a9 100644 --- a/providers/apache/hdfs/src/airflow/providers/apache/hdfs/get_provider_info.py +++ b/providers/apache/hdfs/src/airflow/providers/apache/hdfs/get_provider_info.py @@ -52,6 +52,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.hdfs.hooks.webhdfs.WebHDFSHook", + "hook-name": "Apache WebHDFS", "connection-type": "webhdfs", } ], diff --git a/providers/apache/hive/provider.yaml b/providers/apache/hive/provider.yaml index cae016e6718e6..e0eda25c985ce 100644 --- a/providers/apache/hive/provider.yaml +++ b/providers/apache/hive/provider.yaml @@ -143,6 +143,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.apache.hive.hooks.hive.HiveCliHook + hook-name: "Hive Client Wrapper" connection-type: hive_cli ui-field-behaviour: hidden-fields: @@ -178,8 +179,10 @@ connection-types: - 'null' default: false - hook-class-name: airflow.providers.apache.hive.hooks.hive.HiveServer2Hook + hook-name: "Hive Server 2 Thrift" connection-type: hiveserver2 - hook-class-name: airflow.providers.apache.hive.hooks.hive.HiveMetastoreHook + hook-name: "Hive Metastore Thrift" connection-type: hive_metastore plugins: diff --git a/providers/apache/hive/src/airflow/providers/apache/hive/get_provider_info.py b/providers/apache/hive/src/airflow/providers/apache/hive/get_provider_info.py index 9929536d96f8b..7fe5d92770496 100644 --- a/providers/apache/hive/src/airflow/providers/apache/hive/get_provider_info.py +++ b/providers/apache/hive/src/airflow/providers/apache/hive/get_provider_info.py @@ -95,6 +95,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.hive.hooks.hive.HiveCliHook", + "hook-name": "Hive Client Wrapper", "connection-type": "hive_cli", "ui-field-behaviour": {"hidden-fields": ["extra"], "relabeling": {}}, "conn-fields": { @@ -118,10 +119,12 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.apache.hive.hooks.hive.HiveServer2Hook", + "hook-name": "Hive Server 2 Thrift", "connection-type": "hiveserver2", }, { "hook-class-name": "airflow.providers.apache.hive.hooks.hive.HiveMetastoreHook", + "hook-name": "Hive Metastore Thrift", "connection-type": "hive_metastore", }, ], diff --git a/providers/apache/iceberg/provider.yaml b/providers/apache/iceberg/provider.yaml index 53bb94abf6bd3..84dbffeb560c7 100644 --- a/providers/apache/iceberg/provider.yaml +++ b/providers/apache/iceberg/provider.yaml @@ -55,6 +55,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.iceberg.hooks.iceberg.IcebergHook + hook-name: "Iceberg" connection-type: iceberg ui-field-behaviour: hidden-fields: diff --git a/providers/apache/iceberg/src/airflow/providers/apache/iceberg/get_provider_info.py b/providers/apache/iceberg/src/airflow/providers/apache/iceberg/get_provider_info.py index 56bd75339fbaf..df1285577b9cc 100644 --- a/providers/apache/iceberg/src/airflow/providers/apache/iceberg/get_provider_info.py +++ b/providers/apache/iceberg/src/airflow/providers/apache/iceberg/get_provider_info.py @@ -43,6 +43,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.iceberg.hooks.iceberg.IcebergHook", + "hook-name": "Iceberg", "connection-type": "iceberg", "ui-field-behaviour": { "hidden-fields": ["schema", "port"], diff --git a/providers/apache/impala/provider.yaml b/providers/apache/impala/provider.yaml index 2bbfe9515d6ec..d3c56b5cc404e 100644 --- a/providers/apache/impala/provider.yaml +++ b/providers/apache/impala/provider.yaml @@ -69,4 +69,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.impala.hooks.impala.ImpalaHook + hook-name: "Impala" connection-type: impala diff --git a/providers/apache/impala/src/airflow/providers/apache/impala/get_provider_info.py b/providers/apache/impala/src/airflow/providers/apache/impala/get_provider_info.py index f3d98c255f563..c8976240b9e69 100644 --- a/providers/apache/impala/src/airflow/providers/apache/impala/get_provider_info.py +++ b/providers/apache/impala/src/airflow/providers/apache/impala/get_provider_info.py @@ -44,6 +44,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.impala.hooks.impala.ImpalaHook", + "hook-name": "Impala", "connection-type": "impala", } ], diff --git a/providers/apache/kafka/provider.yaml b/providers/apache/kafka/provider.yaml index 3b5bacc3cf6da..e2bc8d4eb136d 100644 --- a/providers/apache/kafka/provider.yaml +++ b/providers/apache/kafka/provider.yaml @@ -95,6 +95,7 @@ triggers: connection-types: - hook-class-name: airflow.providers.apache.kafka.hooks.base.KafkaBaseHook + hook-name: "Apache Kafka" connection-type: kafka ui-field-behaviour: hidden-fields: diff --git a/providers/apache/kafka/src/airflow/providers/apache/kafka/get_provider_info.py b/providers/apache/kafka/src/airflow/providers/apache/kafka/get_provider_info.py index 41076d2b4c29b..11d8b678304e4 100644 --- a/providers/apache/kafka/src/airflow/providers/apache/kafka/get_provider_info.py +++ b/providers/apache/kafka/src/airflow/providers/apache/kafka/get_provider_info.py @@ -73,6 +73,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.kafka.hooks.base.KafkaBaseHook", + "hook-name": "Apache Kafka", "connection-type": "kafka", "ui-field-behaviour": { "hidden-fields": ["schema", "login", "password", "port", "host"], diff --git a/providers/apache/kylin/provider.yaml b/providers/apache/kylin/provider.yaml index 2003e3be2a859..67d7e20bd5b49 100644 --- a/providers/apache/kylin/provider.yaml +++ b/providers/apache/kylin/provider.yaml @@ -79,4 +79,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.kylin.hooks.kylin.KylinHook + hook-name: "Apache Kylin" connection-type: kylin diff --git a/providers/apache/kylin/src/airflow/providers/apache/kylin/get_provider_info.py b/providers/apache/kylin/src/airflow/providers/apache/kylin/get_provider_info.py index c989259d8576d..cb09228b7755f 100644 --- a/providers/apache/kylin/src/airflow/providers/apache/kylin/get_provider_info.py +++ b/providers/apache/kylin/src/airflow/providers/apache/kylin/get_provider_info.py @@ -50,6 +50,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.kylin.hooks.kylin.KylinHook", + "hook-name": "Apache Kylin", "connection-type": "kylin", } ], diff --git a/providers/apache/livy/provider.yaml b/providers/apache/livy/provider.yaml index ef6a79d0a6916..43ecfc460378d 100644 --- a/providers/apache/livy/provider.yaml +++ b/providers/apache/livy/provider.yaml @@ -106,4 +106,5 @@ triggers: connection-types: - hook-class-name: airflow.providers.apache.livy.hooks.livy.LivyHook + hook-name: "Apache Livy" connection-type: livy diff --git a/providers/apache/livy/src/airflow/providers/apache/livy/get_provider_info.py b/providers/apache/livy/src/airflow/providers/apache/livy/get_provider_info.py index d5c3f982efd26..0597c61659ad8 100644 --- a/providers/apache/livy/src/airflow/providers/apache/livy/get_provider_info.py +++ b/providers/apache/livy/src/airflow/providers/apache/livy/get_provider_info.py @@ -62,6 +62,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.livy.hooks.livy.LivyHook", + "hook-name": "Apache Livy", "connection-type": "livy", } ], diff --git a/providers/apache/pig/provider.yaml b/providers/apache/pig/provider.yaml index de7ad5ac07a7a..f16b1b6ebe8b7 100644 --- a/providers/apache/pig/provider.yaml +++ b/providers/apache/pig/provider.yaml @@ -78,3 +78,4 @@ hooks: connection-types: - connection-type: pig_cli hook-class-name: airflow.providers.apache.pig.hooks.pig.PigCliHook + hook-name: "Pig Client Wrapper" diff --git a/providers/apache/pig/src/airflow/providers/apache/pig/get_provider_info.py b/providers/apache/pig/src/airflow/providers/apache/pig/get_provider_info.py index 5104f7af41cbb..c05c3f3e10001 100644 --- a/providers/apache/pig/src/airflow/providers/apache/pig/get_provider_info.py +++ b/providers/apache/pig/src/airflow/providers/apache/pig/get_provider_info.py @@ -48,6 +48,7 @@ def get_provider_info(): { "connection-type": "pig_cli", "hook-class-name": "airflow.providers.apache.pig.hooks.pig.PigCliHook", + "hook-name": "Pig Client Wrapper", } ], } diff --git a/providers/apache/pinot/provider.yaml b/providers/apache/pinot/provider.yaml index 55794ffdf528d..8eb762343040e 100644 --- a/providers/apache/pinot/provider.yaml +++ b/providers/apache/pinot/provider.yaml @@ -82,6 +82,8 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.pinot.hooks.pinot.PinotDbApiHook + hook-name: "Pinot Broker" connection-type: pinot - hook-class-name: airflow.providers.apache.pinot.hooks.pinot.PinotAdminHook + hook-name: "Pinot Admin" connection-type: pinot_admin diff --git a/providers/apache/pinot/src/airflow/providers/apache/pinot/get_provider_info.py b/providers/apache/pinot/src/airflow/providers/apache/pinot/get_provider_info.py index 798860656c7d1..738a30142221d 100644 --- a/providers/apache/pinot/src/airflow/providers/apache/pinot/get_provider_info.py +++ b/providers/apache/pinot/src/airflow/providers/apache/pinot/get_provider_info.py @@ -44,10 +44,12 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.pinot.hooks.pinot.PinotDbApiHook", + "hook-name": "Pinot Broker", "connection-type": "pinot", }, { "hook-class-name": "airflow.providers.apache.pinot.hooks.pinot.PinotAdminHook", + "hook-name": "Pinot Admin", "connection-type": "pinot_admin", }, ], diff --git a/providers/apache/spark/provider.yaml b/providers/apache/spark/provider.yaml index 33b212f73be33..1f5882454d1d7 100644 --- a/providers/apache/spark/provider.yaml +++ b/providers/apache/spark/provider.yaml @@ -114,6 +114,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.apache.spark.hooks.spark_connect.SparkConnectHook + hook-name: "Spark Connect" connection-type: spark_connect ui-field-behaviour: hidden-fields: @@ -130,8 +131,10 @@ connection-types: - 'null' default: false - hook-class-name: airflow.providers.apache.spark.hooks.spark_jdbc.SparkJDBCHook + hook-name: "Spark JDBC" connection-type: spark_jdbc - hook-class-name: airflow.providers.apache.spark.hooks.spark_sql.SparkSqlHook + hook-name: "Spark SQL" connection-type: spark_sql ui-field-behaviour: hidden-fields: @@ -149,6 +152,7 @@ connection-types: - string - 'null' - hook-class-name: airflow.providers.apache.spark.hooks.spark_submit.SparkSubmitHook + hook-name: "Spark" connection-type: spark ui-field-behaviour: hidden-fields: diff --git a/providers/apache/spark/src/airflow/providers/apache/spark/get_provider_info.py b/providers/apache/spark/src/airflow/providers/apache/spark/get_provider_info.py index bf9f4b2f8a7b3..b987115625719 100644 --- a/providers/apache/spark/src/airflow/providers/apache/spark/get_provider_info.py +++ b/providers/apache/spark/src/airflow/providers/apache/spark/get_provider_info.py @@ -63,6 +63,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.spark.hooks.spark_connect.SparkConnectHook", + "hook-name": "Spark Connect", "connection-type": "spark_connect", "ui-field-behaviour": { "hidden-fields": ["schema"], @@ -74,10 +75,12 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.apache.spark.hooks.spark_jdbc.SparkJDBCHook", + "hook-name": "Spark JDBC", "connection-type": "spark_jdbc", }, { "hook-class-name": "airflow.providers.apache.spark.hooks.spark_sql.SparkSqlHook", + "hook-name": "Spark SQL", "connection-type": "spark_sql", "ui-field-behaviour": { "hidden-fields": ["schema", "login", "password", "extra"], @@ -93,6 +96,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.apache.spark.hooks.spark_submit.SparkSubmitHook", + "hook-name": "Spark", "connection-type": "spark", "ui-field-behaviour": { "hidden-fields": ["schema", "login", "password", "extra"], diff --git a/providers/apache/tinkerpop/provider.yaml b/providers/apache/tinkerpop/provider.yaml index aacd8289f0507..ea641284f83e4 100644 --- a/providers/apache/tinkerpop/provider.yaml +++ b/providers/apache/tinkerpop/provider.yaml @@ -51,4 +51,5 @@ hooks: - airflow.providers.apache.tinkerpop.hooks.gremlin connection-types: - hook-class-name: airflow.providers.apache.tinkerpop.hooks.gremlin.GremlinHook + hook-name: "Gremlin" connection-type: gremlin diff --git a/providers/apache/tinkerpop/src/airflow/providers/apache/tinkerpop/get_provider_info.py b/providers/apache/tinkerpop/src/airflow/providers/apache/tinkerpop/get_provider_info.py index d7358d1578353..0466362719261 100644 --- a/providers/apache/tinkerpop/src/airflow/providers/apache/tinkerpop/get_provider_info.py +++ b/providers/apache/tinkerpop/src/airflow/providers/apache/tinkerpop/get_provider_info.py @@ -50,6 +50,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apache.tinkerpop.hooks.gremlin.GremlinHook", + "hook-name": "Gremlin", "connection-type": "gremlin", } ], diff --git a/providers/apprise/provider.yaml b/providers/apprise/provider.yaml index 41ce053e23277..2143551686976 100644 --- a/providers/apprise/provider.yaml +++ b/providers/apprise/provider.yaml @@ -67,6 +67,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.apprise.hooks.apprise.AppriseHook + hook-name: "Apprise" connection-type: apprise conn-fields: config: diff --git a/providers/apprise/src/airflow/providers/apprise/get_provider_info.py b/providers/apprise/src/airflow/providers/apprise/get_provider_info.py index ce0346c29b877..4677d56d42bb4 100644 --- a/providers/apprise/src/airflow/providers/apprise/get_provider_info.py +++ b/providers/apprise/src/airflow/providers/apprise/get_provider_info.py @@ -39,6 +39,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.apprise.hooks.apprise.AppriseHook", + "hook-name": "Apprise", "connection-type": "apprise", "conn-fields": { "config": { diff --git a/providers/arangodb/provider.yaml b/providers/arangodb/provider.yaml index 273896bbcf82d..dd9355093369c 100644 --- a/providers/arangodb/provider.yaml +++ b/providers/arangodb/provider.yaml @@ -78,6 +78,7 @@ sensors: connection-types: - hook-class-name: airflow.providers.arangodb.hooks.arangodb.ArangoDBHook + hook-name: "ArangoDB" connection-type: arangodb ui-field-behaviour: hidden-fields: diff --git a/providers/arangodb/src/airflow/providers/arangodb/get_provider_info.py b/providers/arangodb/src/airflow/providers/arangodb/get_provider_info.py index 5d90c27124327..b93b01b7bea19 100644 --- a/providers/arangodb/src/airflow/providers/arangodb/get_provider_info.py +++ b/providers/arangodb/src/airflow/providers/arangodb/get_provider_info.py @@ -52,6 +52,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.arangodb.hooks.arangodb.ArangoDBHook", + "hook-name": "ArangoDB", "connection-type": "arangodb", "ui-field-behaviour": { "hidden-fields": ["port", "extra"], diff --git a/providers/asana/provider.yaml b/providers/asana/provider.yaml index 5b43857ec19cd..e7e09ff1fd32f 100644 --- a/providers/asana/provider.yaml +++ b/providers/asana/provider.yaml @@ -78,6 +78,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.asana.hooks.asana.AsanaHook + hook-name: "Asana" connection-type: asana ui-field-behaviour: hidden-fields: diff --git a/providers/asana/src/airflow/providers/asana/get_provider_info.py b/providers/asana/src/airflow/providers/asana/get_provider_info.py index 6e0f10b1c90e8..57a81694e338b 100644 --- a/providers/asana/src/airflow/providers/asana/get_provider_info.py +++ b/providers/asana/src/airflow/providers/asana/get_provider_info.py @@ -42,6 +42,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.asana.hooks.asana.AsanaHook", + "hook-name": "Asana", "connection-type": "asana", "ui-field-behaviour": { "hidden-fields": ["port", "host", "login", "schema"], diff --git a/providers/atlassian/jira/provider.yaml b/providers/atlassian/jira/provider.yaml index 40f19f4120366..b61ce78aca252 100644 --- a/providers/atlassian/jira/provider.yaml +++ b/providers/atlassian/jira/provider.yaml @@ -78,6 +78,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.atlassian.jira.hooks.jira.JiraHook + hook-name: "JIRA" connection-type: jira notifications: diff --git a/providers/atlassian/jira/src/airflow/providers/atlassian/jira/get_provider_info.py b/providers/atlassian/jira/src/airflow/providers/atlassian/jira/get_provider_info.py index 70ccfcd06eac3..4b36780e8fb9d 100644 --- a/providers/atlassian/jira/src/airflow/providers/atlassian/jira/get_provider_info.py +++ b/providers/atlassian/jira/src/airflow/providers/atlassian/jira/get_provider_info.py @@ -55,6 +55,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.atlassian.jira.hooks.jira.JiraHook", + "hook-name": "JIRA", "connection-type": "jira", } ], diff --git a/providers/cloudant/provider.yaml b/providers/cloudant/provider.yaml index f62bf66e2213b..f3ac4dd883d8d 100644 --- a/providers/cloudant/provider.yaml +++ b/providers/cloudant/provider.yaml @@ -74,6 +74,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.cloudant.hooks.cloudant.CloudantHook + hook-name: "Cloudant" connection-type: cloudant ui-field-behaviour: hidden-fields: diff --git a/providers/cloudant/src/airflow/providers/cloudant/get_provider_info.py b/providers/cloudant/src/airflow/providers/cloudant/get_provider_info.py index e806ab26ce3bd..3db1ab77642f8 100644 --- a/providers/cloudant/src/airflow/providers/cloudant/get_provider_info.py +++ b/providers/cloudant/src/airflow/providers/cloudant/get_provider_info.py @@ -43,6 +43,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.cloudant.hooks.cloudant.CloudantHook", + "hook-name": "Cloudant", "connection-type": "cloudant", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "extra"], diff --git a/providers/cncf/kubernetes/provider.yaml b/providers/cncf/kubernetes/provider.yaml index 4e5c48ea830d4..0c05d7d65c6fe 100644 --- a/providers/cncf/kubernetes/provider.yaml +++ b/providers/cncf/kubernetes/provider.yaml @@ -168,6 +168,7 @@ secrets-backends: connection-types: - hook-class-name: airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook + hook-name: "Kubernetes Cluster Connection" connection-type: kubernetes conn-fields: in_cluster: diff --git a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/get_provider_info.py b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/get_provider_info.py index 9e4d433827e88..f0cb9ccf9a2e0 100644 --- a/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/get_provider_info.py +++ b/providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/get_provider_info.py @@ -81,6 +81,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.cncf.kubernetes.hooks.kubernetes.KubernetesHook", + "hook-name": "Kubernetes Cluster Connection", "connection-type": "kubernetes", "conn-fields": { "in_cluster": { diff --git a/providers/cohere/provider.yaml b/providers/cohere/provider.yaml index 31a6a7827b94e..370845dfebcd3 100644 --- a/providers/cohere/provider.yaml +++ b/providers/cohere/provider.yaml @@ -72,6 +72,7 @@ operators: connection-types: - hook-class-name: airflow.providers.cohere.hooks.cohere.CohereHook + hook-name: "Cohere" connection-type: cohere ui-field-behaviour: hidden-fields: ["schema", "login", "port", "extra"] diff --git a/providers/cohere/src/airflow/providers/cohere/get_provider_info.py b/providers/cohere/src/airflow/providers/cohere/get_provider_info.py index a91c98224cb8a..ad445d1afbdcc 100644 --- a/providers/cohere/src/airflow/providers/cohere/get_provider_info.py +++ b/providers/cohere/src/airflow/providers/cohere/get_provider_info.py @@ -43,6 +43,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.cohere.hooks.cohere.CohereHook", + "hook-name": "Cohere", "connection-type": "cohere", "ui-field-behaviour": { "hidden-fields": ["schema", "login", "port", "extra"], diff --git a/providers/common/ai/provider.yaml b/providers/common/ai/provider.yaml index 43a98af32a3a2..f8a0761ffea89 100644 --- a/providers/common/ai/provider.yaml +++ b/providers/common/ai/provider.yaml @@ -61,6 +61,7 @@ plugins: connection-types: - hook-class-name: airflow.providers.common.ai.hooks.pydantic_ai.PydanticAIHook + hook-name: "Pydantic AI" connection-type: pydanticai ui-field-behaviour: hidden-fields: @@ -80,6 +81,7 @@ connection-types: - string - 'null' - hook-class-name: airflow.providers.common.ai.hooks.pydantic_ai.PydanticAIAzureHook + hook-name: "Pydantic AI (Azure OpenAI)" connection-type: pydanticai-azure ui-field-behaviour: hidden-fields: @@ -107,6 +109,7 @@ connection-types: - string - 'null' - hook-class-name: airflow.providers.common.ai.hooks.pydantic_ai.PydanticAIBedrockHook + hook-name: "Pydantic AI (AWS Bedrock)" connection-type: pydanticai-bedrock ui-field-behaviour: hidden-fields: @@ -189,6 +192,7 @@ connection-types: - number - 'null' - hook-class-name: airflow.providers.common.ai.hooks.pydantic_ai.PydanticAIVertexHook + hook-name: "Pydantic AI (Google Vertex AI)" connection-type: pydanticai-vertex ui-field-behaviour: hidden-fields: @@ -250,6 +254,7 @@ connection-types: - string - 'null' - hook-class-name: airflow.providers.common.ai.hooks.mcp.MCPHook + hook-name: "MCP Server" connection-type: mcp ui-field-behaviour: hidden-fields: diff --git a/providers/common/ai/src/airflow/providers/common/ai/get_provider_info.py b/providers/common/ai/src/airflow/providers/common/ai/get_provider_info.py index 90ae393d64d90..574bdde6a81c8 100644 --- a/providers/common/ai/src/airflow/providers/common/ai/get_provider_info.py +++ b/providers/common/ai/src/airflow/providers/common/ai/get_provider_info.py @@ -66,6 +66,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.common.ai.hooks.pydantic_ai.PydanticAIHook", + "hook-name": "Pydantic AI", "connection-type": "pydanticai", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "login"], @@ -82,6 +83,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.common.ai.hooks.pydantic_ai.PydanticAIAzureHook", + "hook-name": "Pydantic AI (Azure OpenAI)", "connection-type": "pydanticai-azure", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "login"], @@ -103,6 +105,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.common.ai.hooks.pydantic_ai.PydanticAIBedrockHook", + "hook-name": "Pydantic AI (AWS Bedrock)", "connection-type": "pydanticai-bedrock", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "login", "host", "password"], @@ -164,6 +167,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.common.ai.hooks.pydantic_ai.PydanticAIVertexHook", + "hook-name": "Pydantic AI (Google Vertex AI)", "connection-type": "pydanticai-vertex", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "login", "host", "password"], @@ -210,6 +214,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.common.ai.hooks.mcp.MCPHook", + "hook-name": "MCP Server", "connection-type": "mcp", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "login"], diff --git a/providers/databricks/provider.yaml b/providers/databricks/provider.yaml index 41ab271bcbcd1..9daebf79a4cea 100644 --- a/providers/databricks/provider.yaml +++ b/providers/databricks/provider.yaml @@ -167,6 +167,7 @@ sensors: connection-types: - hook-class-name: airflow.providers.databricks.hooks.databricks.DatabricksHook + hook-name: "Databricks" connection-type: databricks plugins: diff --git a/providers/databricks/src/airflow/providers/databricks/get_provider_info.py b/providers/databricks/src/airflow/providers/databricks/get_provider_info.py index 6ba5f8ed20945..5f12cb02ddbe8 100644 --- a/providers/databricks/src/airflow/providers/databricks/get_provider_info.py +++ b/providers/databricks/src/airflow/providers/databricks/get_provider_info.py @@ -117,6 +117,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.databricks.hooks.databricks.DatabricksHook", + "hook-name": "Databricks", "connection-type": "databricks", } ], diff --git a/providers/datadog/provider.yaml b/providers/datadog/provider.yaml index 02215069a3945..e15ad55a48337 100644 --- a/providers/datadog/provider.yaml +++ b/providers/datadog/provider.yaml @@ -78,6 +78,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.datadog.hooks.datadog.DatadogHook + hook-name: "Datadog" connection-type: datadog conn-fields: api_host: diff --git a/providers/datadog/src/airflow/providers/datadog/get_provider_info.py b/providers/datadog/src/airflow/providers/datadog/get_provider_info.py index a87ee7fb0e6d0..5d6d598c57f01 100644 --- a/providers/datadog/src/airflow/providers/datadog/get_provider_info.py +++ b/providers/datadog/src/airflow/providers/datadog/get_provider_info.py @@ -43,6 +43,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.datadog.hooks.datadog.DatadogHook", + "hook-name": "Datadog", "connection-type": "datadog", "conn-fields": { "api_host": {"label": "API endpoint", "schema": {"type": ["string", "null"]}}, diff --git a/providers/dbt/cloud/provider.yaml b/providers/dbt/cloud/provider.yaml index c0da84706dd17..2ad844dcbcb73 100644 --- a/providers/dbt/cloud/provider.yaml +++ b/providers/dbt/cloud/provider.yaml @@ -112,6 +112,7 @@ triggers: connection-types: - hook-class-name: airflow.providers.dbt.cloud.hooks.dbt.DbtCloudHook + hook-name: "dbt Cloud" connection-type: dbt_cloud ui-field-behaviour: hidden-fields: diff --git a/providers/dbt/cloud/src/airflow/providers/dbt/cloud/get_provider_info.py b/providers/dbt/cloud/src/airflow/providers/dbt/cloud/get_provider_info.py index f0119e2ea98bb..16ed9a37e722f 100644 --- a/providers/dbt/cloud/src/airflow/providers/dbt/cloud/get_provider_info.py +++ b/providers/dbt/cloud/src/airflow/providers/dbt/cloud/get_provider_info.py @@ -50,6 +50,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.dbt.cloud.hooks.dbt.DbtCloudHook", + "hook-name": "dbt Cloud", "connection-type": "dbt_cloud", "ui-field-behaviour": { "hidden-fields": ["schema", "port"], diff --git a/providers/dingding/provider.yaml b/providers/dingding/provider.yaml index 10e79df0d0841..c5d075099ec82 100644 --- a/providers/dingding/provider.yaml +++ b/providers/dingding/provider.yaml @@ -78,4 +78,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.dingding.hooks.dingding.DingdingHook + hook-name: "DingTalk Custom Robot (Dingding)" connection-type: dingding diff --git a/providers/dingding/src/airflow/providers/dingding/get_provider_info.py b/providers/dingding/src/airflow/providers/dingding/get_provider_info.py index 181903d94e106..8eb35c62525f3 100644 --- a/providers/dingding/src/airflow/providers/dingding/get_provider_info.py +++ b/providers/dingding/src/airflow/providers/dingding/get_provider_info.py @@ -47,6 +47,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.dingding.hooks.dingding.DingdingHook", + "hook-name": "DingTalk Custom Robot (Dingding)", "connection-type": "dingding", } ], diff --git a/providers/discord/provider.yaml b/providers/discord/provider.yaml index ff726615a1263..160c005f7f622 100644 --- a/providers/discord/provider.yaml +++ b/providers/discord/provider.yaml @@ -80,6 +80,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.discord.hooks.discord_webhook.DiscordWebhookHook + hook-name: "Discord" connection-type: discord conn-fields: webhook_endpoint: diff --git a/providers/discord/src/airflow/providers/discord/get_provider_info.py b/providers/discord/src/airflow/providers/discord/get_provider_info.py index 04521b10150b4..ee4c9503f82a8 100644 --- a/providers/discord/src/airflow/providers/discord/get_provider_info.py +++ b/providers/discord/src/airflow/providers/discord/get_provider_info.py @@ -49,6 +49,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.discord.hooks.discord_webhook.DiscordWebhookHook", + "hook-name": "Discord", "connection-type": "discord", "conn-fields": { "webhook_endpoint": {"label": "Webhook Endpoint", "schema": {"type": ["string", "null"]}} diff --git a/providers/docker/provider.yaml b/providers/docker/provider.yaml index 7018ce1cdf7d9..19e91dd09f493 100644 --- a/providers/docker/provider.yaml +++ b/providers/docker/provider.yaml @@ -116,6 +116,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.docker.hooks.docker.DockerHook + hook-name: "Docker" connection-type: docker conn-fields: reauth: diff --git a/providers/docker/src/airflow/providers/docker/get_provider_info.py b/providers/docker/src/airflow/providers/docker/get_provider_info.py index 3b1556f1c7bcd..fd466e185a1cc 100644 --- a/providers/docker/src/airflow/providers/docker/get_provider_info.py +++ b/providers/docker/src/airflow/providers/docker/get_provider_info.py @@ -53,6 +53,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.docker.hooks.docker.DockerHook", + "hook-name": "Docker", "connection-type": "docker", "conn-fields": { "reauth": { diff --git a/providers/elasticsearch/provider.yaml b/providers/elasticsearch/provider.yaml index 91a0b7ab23bf9..1d0e4b51dd4d8 100644 --- a/providers/elasticsearch/provider.yaml +++ b/providers/elasticsearch/provider.yaml @@ -102,6 +102,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchSQLHook + hook-name: "Elasticsearch" connection-type: elasticsearch logging: diff --git a/providers/elasticsearch/src/airflow/providers/elasticsearch/get_provider_info.py b/providers/elasticsearch/src/airflow/providers/elasticsearch/get_provider_info.py index a527aa7cc5035..2d357cecb1944 100644 --- a/providers/elasticsearch/src/airflow/providers/elasticsearch/get_provider_info.py +++ b/providers/elasticsearch/src/airflow/providers/elasticsearch/get_provider_info.py @@ -43,6 +43,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.elasticsearch.hooks.elasticsearch.ElasticsearchSQLHook", + "hook-name": "Elasticsearch", "connection-type": "elasticsearch", } ], diff --git a/providers/exasol/provider.yaml b/providers/exasol/provider.yaml index 1ead105818ae2..d99fe1828141b 100644 --- a/providers/exasol/provider.yaml +++ b/providers/exasol/provider.yaml @@ -99,4 +99,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.exasol.hooks.exasol.ExasolHook + hook-name: "Exasol" connection-type: exasol diff --git a/providers/exasol/src/airflow/providers/exasol/get_provider_info.py b/providers/exasol/src/airflow/providers/exasol/get_provider_info.py index 61aa7124a92fc..8dec9e2ba2049 100644 --- a/providers/exasol/src/airflow/providers/exasol/get_provider_info.py +++ b/providers/exasol/src/airflow/providers/exasol/get_provider_info.py @@ -44,6 +44,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.exasol.hooks.exasol.ExasolHook", + "hook-name": "Exasol", "connection-type": "exasol", } ], diff --git a/providers/facebook/provider.yaml b/providers/facebook/provider.yaml index 5e7227afac6bd..3c7b2dfceeb7f 100644 --- a/providers/facebook/provider.yaml +++ b/providers/facebook/provider.yaml @@ -75,4 +75,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.facebook.ads.hooks.ads.FacebookAdsReportingHook + hook-name: "Facebook Ads" connection-type: facebook_social diff --git a/providers/facebook/src/airflow/providers/facebook/get_provider_info.py b/providers/facebook/src/airflow/providers/facebook/get_provider_info.py index a378b1066a817..c5e0842036ef7 100644 --- a/providers/facebook/src/airflow/providers/facebook/get_provider_info.py +++ b/providers/facebook/src/airflow/providers/facebook/get_provider_info.py @@ -43,6 +43,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.facebook.ads.hooks.ads.FacebookAdsReportingHook", + "hook-name": "Facebook Ads", "connection-type": "facebook_social", } ], diff --git a/providers/ftp/provider.yaml b/providers/ftp/provider.yaml index 8c3b518a8a194..4599e61158fc3 100644 --- a/providers/ftp/provider.yaml +++ b/providers/ftp/provider.yaml @@ -87,4 +87,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.ftp.hooks.ftp.FTPHook + hook-name: "FTP" connection-type: ftp diff --git a/providers/ftp/src/airflow/providers/ftp/get_provider_info.py b/providers/ftp/src/airflow/providers/ftp/get_provider_info.py index 5c2039744e7a0..8658c11981f08 100644 --- a/providers/ftp/src/airflow/providers/ftp/get_provider_info.py +++ b/providers/ftp/src/airflow/providers/ftp/get_provider_info.py @@ -53,6 +53,10 @@ def get_provider_info(): } ], "connection-types": [ - {"hook-class-name": "airflow.providers.ftp.hooks.ftp.FTPHook", "connection-type": "ftp"} + { + "hook-class-name": "airflow.providers.ftp.hooks.ftp.FTPHook", + "hook-name": "FTP", + "connection-type": "ftp", + } ], } diff --git a/providers/git/provider.yaml b/providers/git/provider.yaml index 69d1951c2f2a8..65e0a311d132b 100644 --- a/providers/git/provider.yaml +++ b/providers/git/provider.yaml @@ -64,6 +64,7 @@ bundles: connection-types: - hook-class-name: airflow.providers.git.hooks.git.GitHook + hook-name: "GIT" connection-type: git ui-field-behaviour: hidden-fields: diff --git a/providers/git/src/airflow/providers/git/get_provider_info.py b/providers/git/src/airflow/providers/git/get_provider_info.py index 21dcec07984e6..82a3bb35096b9 100644 --- a/providers/git/src/airflow/providers/git/get_provider_info.py +++ b/providers/git/src/airflow/providers/git/get_provider_info.py @@ -41,6 +41,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.git.hooks.git.GitHook", + "hook-name": "GIT", "connection-type": "git", "ui-field-behaviour": { "hidden-fields": ["schema"], diff --git a/providers/github/provider.yaml b/providers/github/provider.yaml index 1c6a20692cb55..c4c5c0b8bb940 100644 --- a/providers/github/provider.yaml +++ b/providers/github/provider.yaml @@ -83,6 +83,7 @@ sensors: connection-types: - hook-class-name: airflow.providers.github.hooks.github.GithubHook + hook-name: "GitHub" connection-type: github ui-field-behaviour: hidden-fields: diff --git a/providers/github/src/airflow/providers/github/get_provider_info.py b/providers/github/src/airflow/providers/github/get_provider_info.py index 1bc6637ad71e0..c46aca1feb3fb 100644 --- a/providers/github/src/airflow/providers/github/get_provider_info.py +++ b/providers/github/src/airflow/providers/github/get_provider_info.py @@ -46,6 +46,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.github.hooks.github.GithubHook", + "hook-name": "GitHub", "connection-type": "github", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "login", "extra"], diff --git a/providers/google/provider.yaml b/providers/google/provider.yaml index 04541d5569d92..63a09c1487c2e 100644 --- a/providers/google/provider.yaml +++ b/providers/google/provider.yaml @@ -1133,6 +1133,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.google.common.hooks.base_google.GoogleBaseHook + hook-name: "Google Cloud" connection-type: google_cloud_platform ui-field-behaviour: hidden-fields: ["host", "schema", "login", "password", "port", "extra"] @@ -1200,12 +1201,16 @@ connection-types: type: ["boolean", "null"] default: false - hook-class-name: airflow.providers.google.cloud.hooks.dataprep.GoogleDataprepHook + hook-name: "Google Dataprep" connection-type: dataprep - hook-class-name: airflow.providers.google.cloud.hooks.cloud_sql.CloudSQLHook + hook-name: "Google Cloud SQL" connection-type: gcpcloudsql - hook-class-name: airflow.providers.google.cloud.hooks.cloud_sql.CloudSQLDatabaseHook + hook-name: "Google Cloud SQL Database" connection-type: gcpcloudsqldb - hook-class-name: airflow.providers.google.cloud.hooks.bigquery.BigQueryHook + hook-name: "Google Bigquery" connection-type: gcpbigquery ui-field-behaviour: hidden-fields: ["host", "schema", "login", "password", "port", "extra"] @@ -1294,14 +1299,17 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineSSHHook + hook-name: "Google Cloud SSH" connection-type: gcpssh ui-field-behaviour: hidden-fields: ["host", "schema", "login", "password", "port", "extra"] relabeling: {} placeholders: {} - hook-class-name: airflow.providers.google.leveldb.hooks.leveldb.LevelDBHook + hook-name: "LevelDB" connection-type: leveldb - hook-class-name: airflow.providers.google.ads.hooks.ads.GoogleAdsHook + hook-name: "Google Ads" connection-type: google_ads ui-field-behaviour: hidden-fields: ["host", "login", "schema", "port"] @@ -1328,6 +1336,7 @@ connection-types: type: ["string", "null"] format: password - hook-class-name: airflow.providers.google.cloud.hooks.looker.LookerHook + hook-name: "Google Looker" connection-type: gcp_looker extra-links: diff --git a/providers/google/src/airflow/providers/google/get_provider_info.py b/providers/google/src/airflow/providers/google/get_provider_info.py index fec76eb9d5f3b..3b1aa5fac9a5f 100644 --- a/providers/google/src/airflow/providers/google/get_provider_info.py +++ b/providers/google/src/airflow/providers/google/get_provider_info.py @@ -1380,6 +1380,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.google.common.hooks.base_google.GoogleBaseHook", + "hook-name": "Google Cloud", "connection-type": "google_cloud_platform", "ui-field-behaviour": { "hidden-fields": ["host", "schema", "login", "password", "port", "extra"], @@ -1438,18 +1439,22 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.google.cloud.hooks.dataprep.GoogleDataprepHook", + "hook-name": "Google Dataprep", "connection-type": "dataprep", }, { "hook-class-name": "airflow.providers.google.cloud.hooks.cloud_sql.CloudSQLHook", + "hook-name": "Google Cloud SQL", "connection-type": "gcpcloudsql", }, { "hook-class-name": "airflow.providers.google.cloud.hooks.cloud_sql.CloudSQLDatabaseHook", + "hook-name": "Google Cloud SQL Database", "connection-type": "gcpcloudsqldb", }, { "hook-class-name": "airflow.providers.google.cloud.hooks.bigquery.BigQueryHook", + "hook-name": "Google Bigquery", "connection-type": "gcpbigquery", "ui-field-behaviour": { "hidden-fields": ["host", "schema", "login", "password", "port", "extra"], @@ -1519,6 +1524,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.google.cloud.hooks.compute_ssh.ComputeEngineSSHHook", + "hook-name": "Google Cloud SSH", "connection-type": "gcpssh", "ui-field-behaviour": { "hidden-fields": ["host", "schema", "login", "password", "port", "extra"], @@ -1528,10 +1534,12 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.google.leveldb.hooks.leveldb.LevelDBHook", + "hook-name": "LevelDB", "connection-type": "leveldb", }, { "hook-class-name": "airflow.providers.google.ads.hooks.ads.GoogleAdsHook", + "hook-name": "Google Ads", "connection-type": "google_ads", "ui-field-behaviour": { "hidden-fields": ["host", "login", "schema", "port"], @@ -1553,6 +1561,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.google.cloud.hooks.looker.LookerHook", + "hook-name": "Google Looker", "connection-type": "gcp_looker", }, ], diff --git a/providers/grpc/provider.yaml b/providers/grpc/provider.yaml index 3842b5c7fb3cb..f86892d0a0a7b 100644 --- a/providers/grpc/provider.yaml +++ b/providers/grpc/provider.yaml @@ -77,6 +77,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.grpc.hooks.grpc.GrpcHook + hook-name: "GRPC Connection" connection-type: grpc ui-field-behaviour: hidden-fields: diff --git a/providers/grpc/src/airflow/providers/grpc/get_provider_info.py b/providers/grpc/src/airflow/providers/grpc/get_provider_info.py index 267bdfcf6793e..4323b63fc35b3 100644 --- a/providers/grpc/src/airflow/providers/grpc/get_provider_info.py +++ b/providers/grpc/src/airflow/providers/grpc/get_provider_info.py @@ -41,6 +41,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.grpc.hooks.grpc.GrpcHook", + "hook-name": "GRPC Connection", "connection-type": "grpc", "ui-field-behaviour": { "hidden-fields": ["login", "password", "schema", "extra"], diff --git a/providers/hashicorp/provider.yaml b/providers/hashicorp/provider.yaml index 69330eb9c9fb4..1b47b264b5cdc 100644 --- a/providers/hashicorp/provider.yaml +++ b/providers/hashicorp/provider.yaml @@ -86,6 +86,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.hashicorp.hooks.vault.VaultHook + hook-name: "Hashicorp Vault" connection-type: vault ui-field-behaviour: hidden-fields: ["extra"] diff --git a/providers/hashicorp/src/airflow/providers/hashicorp/get_provider_info.py b/providers/hashicorp/src/airflow/providers/hashicorp/get_provider_info.py index 1fd65f01b98fd..28020342f9710 100644 --- a/providers/hashicorp/src/airflow/providers/hashicorp/get_provider_info.py +++ b/providers/hashicorp/src/airflow/providers/hashicorp/get_provider_info.py @@ -43,6 +43,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.hashicorp.hooks.vault.VaultHook", + "hook-name": "Hashicorp Vault", "connection-type": "vault", "ui-field-behaviour": {"hidden-fields": ["extra"]}, "conn-fields": { diff --git a/providers/http/provider.yaml b/providers/http/provider.yaml index b3f0610e0123b..9373fbcec3498 100644 --- a/providers/http/provider.yaml +++ b/providers/http/provider.yaml @@ -115,6 +115,7 @@ triggers: connection-types: - hook-class-name: airflow.providers.http.hooks.http.HttpHook + hook-name: "HTTP" connection-type: http ui-field-behaviour: hidden-fields: [] diff --git a/providers/http/src/airflow/providers/http/get_provider_info.py b/providers/http/src/airflow/providers/http/get_provider_info.py index 1c95246e12dd6..93d137842dea8 100644 --- a/providers/http/src/airflow/providers/http/get_provider_info.py +++ b/providers/http/src/airflow/providers/http/get_provider_info.py @@ -63,6 +63,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.http.hooks.http.HttpHook", + "hook-name": "HTTP", "connection-type": "http", "ui-field-behaviour": {"hidden-fields": [], "relabeling": {}, "placeholders": {}}, "conn-fields": {}, diff --git a/providers/imap/provider.yaml b/providers/imap/provider.yaml index 18754a51ed177..7ba1b323ac979 100644 --- a/providers/imap/provider.yaml +++ b/providers/imap/provider.yaml @@ -85,6 +85,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.imap.hooks.imap.ImapHook + hook-name: "IMAP" connection-type: imap config: diff --git a/providers/imap/src/airflow/providers/imap/get_provider_info.py b/providers/imap/src/airflow/providers/imap/get_provider_info.py index ac0c1a2220948..3623dabfa9db2 100644 --- a/providers/imap/src/airflow/providers/imap/get_provider_info.py +++ b/providers/imap/src/airflow/providers/imap/get_provider_info.py @@ -47,7 +47,11 @@ def get_provider_info(): } ], "connection-types": [ - {"hook-class-name": "airflow.providers.imap.hooks.imap.ImapHook", "connection-type": "imap"} + { + "hook-class-name": "airflow.providers.imap.hooks.imap.ImapHook", + "hook-name": "IMAP", + "connection-type": "imap", + } ], "config": { "imap": { diff --git a/providers/influxdb/provider.yaml b/providers/influxdb/provider.yaml index 65e9c30f26e97..3da9e9b249c25 100644 --- a/providers/influxdb/provider.yaml +++ b/providers/influxdb/provider.yaml @@ -80,6 +80,7 @@ operators: connection-types: - hook-class-name: airflow.providers.influxdb.hooks.influxdb.InfluxDBHook + hook-name: "Influxdb" connection-type: influxdb ui-field-behaviour: hidden-fields: diff --git a/providers/influxdb/src/airflow/providers/influxdb/get_provider_info.py b/providers/influxdb/src/airflow/providers/influxdb/get_provider_info.py index fca723981e99d..f9f0a30e5a8ec 100644 --- a/providers/influxdb/src/airflow/providers/influxdb/get_provider_info.py +++ b/providers/influxdb/src/airflow/providers/influxdb/get_provider_info.py @@ -46,6 +46,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.influxdb.hooks.influxdb.InfluxDBHook", + "hook-name": "Influxdb", "connection-type": "influxdb", "ui-field-behaviour": { "hidden-fields": ["login", "password"], diff --git a/providers/informatica/provider.yaml b/providers/informatica/provider.yaml index 83786c7ade4a5..caedf21072412 100644 --- a/providers/informatica/provider.yaml +++ b/providers/informatica/provider.yaml @@ -44,6 +44,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.informatica.hooks.edc.InformaticaEDCHook + hook-name: "Informatica EDC" connection-type: informatica_edc plugins: diff --git a/providers/informatica/src/airflow/providers/informatica/get_provider_info.py b/providers/informatica/src/airflow/providers/informatica/get_provider_info.py index 98840280755f9..175bab466f4aa 100644 --- a/providers/informatica/src/airflow/providers/informatica/get_provider_info.py +++ b/providers/informatica/src/airflow/providers/informatica/get_provider_info.py @@ -40,6 +40,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.informatica.hooks.edc.InformaticaEDCHook", + "hook-name": "Informatica EDC", "connection-type": "informatica_edc", } ], diff --git a/providers/jdbc/provider.yaml b/providers/jdbc/provider.yaml index c89933f3bd860..ef25b75549770 100644 --- a/providers/jdbc/provider.yaml +++ b/providers/jdbc/provider.yaml @@ -87,6 +87,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.jdbc.hooks.jdbc.JdbcHook + hook-name: "JDBC Connection" connection-type: jdbc ui-field-behaviour: hidden-fields: diff --git a/providers/jdbc/src/airflow/providers/jdbc/get_provider_info.py b/providers/jdbc/src/airflow/providers/jdbc/get_provider_info.py index 2cac3a4e2f902..9d64b469f0b0c 100644 --- a/providers/jdbc/src/airflow/providers/jdbc/get_provider_info.py +++ b/providers/jdbc/src/airflow/providers/jdbc/get_provider_info.py @@ -44,6 +44,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.jdbc.hooks.jdbc.JdbcHook", + "hook-name": "JDBC Connection", "connection-type": "jdbc", "ui-field-behaviour": { "hidden-fields": ["port", "schema"], diff --git a/providers/jenkins/provider.yaml b/providers/jenkins/provider.yaml index 402e5b93c5152..14509df23b75c 100644 --- a/providers/jenkins/provider.yaml +++ b/providers/jenkins/provider.yaml @@ -93,6 +93,7 @@ sensors: connection-types: - hook-class-name: airflow.providers.jenkins.hooks.jenkins.JenkinsHook + hook-name: "Jenkins" connection-type: jenkins ui-field-behaviour: hidden-fields: diff --git a/providers/jenkins/src/airflow/providers/jenkins/get_provider_info.py b/providers/jenkins/src/airflow/providers/jenkins/get_provider_info.py index a5ea5c9b70db5..b62a2a10fd98c 100644 --- a/providers/jenkins/src/airflow/providers/jenkins/get_provider_info.py +++ b/providers/jenkins/src/airflow/providers/jenkins/get_provider_info.py @@ -49,6 +49,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.jenkins.hooks.jenkins.JenkinsHook", + "hook-name": "Jenkins", "connection-type": "jenkins", "ui-field-behaviour": { "hidden-fields": ["extra"], diff --git a/providers/microsoft/azure/provider.yaml b/providers/microsoft/azure/provider.yaml index fdf39ed0d2c96..12454120af9e4 100644 --- a/providers/microsoft/azure/provider.yaml +++ b/providers/microsoft/azure/provider.yaml @@ -351,6 +351,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.microsoft.azure.hooks.base_azure.AzureBaseHook + hook-name: "Azure" connection-type: azure ui-field-behaviour: hidden-fields: ["schema", "port", "host"] @@ -381,6 +382,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.compute.AzureComputeHook + hook-name: "Azure Compute" connection-type: azure_compute ui-field-behaviour: hidden-fields: ["schema", "port", "host"] @@ -411,6 +413,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.adx.AzureDataExplorerHook + hook-name: "Azure Data Explorer" connection-type: azure_data_explorer ui-field-behaviour: hidden-fields: ["schema", "port", "extra"] @@ -452,6 +455,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.batch.AzureBatchHook + hook-name: "Azure Batch Service" connection-type: azure_batch ui-field-behaviour: hidden-fields: ["schema", "port", "host", "extra"] @@ -473,6 +477,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.cosmos.AzureCosmosDBHook + hook-name: "Azure CosmosDB" connection-type: azure_cosmos ui-field-behaviour: hidden-fields: ["schema", "port", "host", "extra"] @@ -512,6 +517,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.data_lake.AzureDataLakeHook + hook-name: "Azure Data Lake" connection-type: azure_data_lake ui-field-behaviour: hidden-fields: ["schema", "port", "host", "extra"] @@ -541,6 +547,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.fileshare.AzureFileShareHook + hook-name: "Azure FileShare" connection-type: azure_fileshare ui-field-behaviour: hidden-fields: ["schema", "port", "host", "extra"] @@ -571,6 +578,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.container_volume.AzureContainerVolumeHook + hook-name: "Azure Container Volume" connection-type: azure_container_volume ui-field-behaviour: hidden-fields: ["schema", "port", "host", "extra"] @@ -606,8 +614,10 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.container_instance.AzureContainerInstanceHook + hook-name: "Azure Container Instance" connection-type: azure_container_instance - hook-class-name: airflow.providers.microsoft.azure.hooks.wasb.WasbHook + hook-name: "Azure Blob Storage" connection-type: wasb ui-field-behaviour: hidden-fields: ["schema", "port"] @@ -655,6 +665,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.data_factory.AzureDataFactoryHook + hook-name: "Azure Data Factory" connection-type: azure_data_factory ui-field-behaviour: hidden-fields: ["schema", "port", "host", "extra"] @@ -688,6 +699,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.container_registry.AzureContainerRegistryHook + hook-name: "Azure Container Registry" connection-type: azure_container_registry ui-field-behaviour: hidden-fields: ["schema", "port", "extra"] @@ -719,6 +731,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.asb.BaseAzureServiceBusHook + hook-name: "Azure Service Bus" connection-type: azure_service_bus ui-field-behaviour: hidden-fields: ["port", "host", "extra", "login", "password"] @@ -750,6 +763,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.synapse.BaseAzureSynapseHook + hook-name: "Azure Synapse" connection-type: azure_synapse ui-field-behaviour: hidden-fields: ["schema", "port", "extra"] @@ -776,6 +790,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.data_lake.AzureDataLakeStorageV2Hook + hook-name: "Azure Data Lake Storage V2" connection-type: adls ui-field-behaviour: hidden-fields: ["schema", "port"] @@ -809,6 +824,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.msgraph.KiotaRequestAdapterHook + hook-name: "Microsoft Graph API" connection-type: msgraph ui-field-behaviour: hidden-fields: ["extra"] @@ -875,6 +891,7 @@ connection-types: schema: type: ["string", "null"] - hook-class-name: airflow.providers.microsoft.azure.hooks.powerbi.PowerBIHook + hook-name: "Power BI" connection-type: powerbi ui-field-behaviour: hidden-fields: ["schema", "port", "host", "extra"] diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/get_provider_info.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/get_provider_info.py index a13e4e6229b1c..4ca9bc5c620d1 100644 --- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/get_provider_info.py +++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/get_provider_info.py @@ -344,6 +344,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.microsoft.azure.hooks.base_azure.AzureBaseHook", + "hook-name": "Azure", "connection-type": "azure", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host"], @@ -374,6 +375,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.compute.AzureComputeHook", + "hook-name": "Azure Compute", "connection-type": "azure_compute", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host"], @@ -404,6 +406,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.adx.AzureDataExplorerHook", + "hook-name": "Azure Data Explorer", "connection-type": "azure_data_explorer", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "extra"], @@ -440,6 +443,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.batch.AzureBatchHook", + "hook-name": "Azure Batch Service", "connection-type": "azure_batch", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host", "extra"], @@ -460,6 +464,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.cosmos.AzureCosmosDBHook", + "hook-name": "Azure CosmosDB", "connection-type": "azure_cosmos", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host", "extra"], @@ -502,6 +507,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.data_lake.AzureDataLakeHook", + "hook-name": "Azure Data Lake", "connection-type": "azure_data_lake", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host", "extra"], @@ -531,6 +537,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.fileshare.AzureFileShareHook", + "hook-name": "Azure FileShare", "connection-type": "azure_fileshare", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host", "extra"], @@ -566,6 +573,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.container_volume.AzureContainerVolumeHook", + "hook-name": "Azure Container Volume", "connection-type": "azure_container_volume", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host", "extra"], @@ -603,10 +611,12 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.container_instance.AzureContainerInstanceHook", + "hook-name": "Azure Container Instance", "connection-type": "azure_container_instance", }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.wasb.WasbHook", + "hook-name": "Azure Blob Storage", "connection-type": "wasb", "ui-field-behaviour": { "hidden-fields": ["schema", "port"], @@ -655,6 +665,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.data_factory.AzureDataFactoryHook", + "hook-name": "Azure Data Factory", "connection-type": "azure_data_factory", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host", "extra"], @@ -681,6 +692,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.container_registry.AzureContainerRegistryHook", + "hook-name": "Azure Container Registry", "connection-type": "azure_container_registry", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "extra"], @@ -718,6 +730,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.asb.BaseAzureServiceBusHook", + "hook-name": "Azure Service Bus", "connection-type": "azure_service_bus", "ui-field-behaviour": { "hidden-fields": ["port", "host", "extra", "login", "password"], @@ -749,6 +762,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.synapse.BaseAzureSynapseHook", + "hook-name": "Azure Synapse", "connection-type": "azure_synapse", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "extra"], @@ -774,6 +788,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.data_lake.AzureDataLakeStorageV2Hook", + "hook-name": "Azure Data Lake Storage V2", "connection-type": "adls", "ui-field-behaviour": { "hidden-fields": ["schema", "port"], @@ -812,6 +827,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.msgraph.KiotaRequestAdapterHook", + "hook-name": "Microsoft Graph API", "connection-type": "msgraph", "ui-field-behaviour": { "hidden-fields": ["extra"], @@ -851,6 +867,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.microsoft.azure.hooks.powerbi.PowerBIHook", + "hook-name": "Power BI", "connection-type": "powerbi", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "host", "extra"], diff --git a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py index 7535eaaaa3a46..8860c53fa2eda 100644 --- a/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py +++ b/providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/data_lake.py @@ -278,7 +278,7 @@ class AzureDataLakeStorageV2Hook(BaseHook): conn_name_attr = "adls_conn_id" default_conn_name = "adls_default" conn_type = "adls" - hook_name = "Azure Date Lake Storage V2" + hook_name = "Azure Data Lake Storage V2" @classmethod @add_managed_identity_connection_widgets diff --git a/providers/microsoft/mssql/provider.yaml b/providers/microsoft/mssql/provider.yaml index 6416610194d83..5421345c09a40 100644 --- a/providers/microsoft/mssql/provider.yaml +++ b/providers/microsoft/mssql/provider.yaml @@ -89,4 +89,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.microsoft.mssql.hooks.mssql.MsSqlHook + hook-name: "Microsoft SQL Server" connection-type: mssql diff --git a/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/get_provider_info.py b/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/get_provider_info.py index 29c4ddb865a12..02c50438b3f26 100644 --- a/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/get_provider_info.py +++ b/providers/microsoft/mssql/src/airflow/providers/microsoft/mssql/get_provider_info.py @@ -50,6 +50,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.microsoft.mssql.hooks.mssql.MsSqlHook", + "hook-name": "Microsoft SQL Server", "connection-type": "mssql", } ], diff --git a/providers/microsoft/psrp/provider.yaml b/providers/microsoft/psrp/provider.yaml index 0ade5dc418931..f197e1e2acd4d 100644 --- a/providers/microsoft/psrp/provider.yaml +++ b/providers/microsoft/psrp/provider.yaml @@ -82,4 +82,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.microsoft.psrp.hooks.psrp.PsrpHook + hook-name: "PowerShell Remoting Protocol" connection-type: psrp diff --git a/providers/microsoft/psrp/src/airflow/providers/microsoft/psrp/get_provider_info.py b/providers/microsoft/psrp/src/airflow/providers/microsoft/psrp/get_provider_info.py index 1c6a7a448e503..bccab1b61fa11 100644 --- a/providers/microsoft/psrp/src/airflow/providers/microsoft/psrp/get_provider_info.py +++ b/providers/microsoft/psrp/src/airflow/providers/microsoft/psrp/get_provider_info.py @@ -48,6 +48,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.microsoft.psrp.hooks.psrp.PsrpHook", + "hook-name": "PowerShell Remoting Protocol", "connection-type": "psrp", } ], diff --git a/providers/microsoft/winrm/provider.yaml b/providers/microsoft/winrm/provider.yaml index d5dad062dd9c2..319a2d78419bd 100644 --- a/providers/microsoft/winrm/provider.yaml +++ b/providers/microsoft/winrm/provider.yaml @@ -92,4 +92,5 @@ triggers: connection-types: - hook-class-name: airflow.providers.microsoft.winrm.hooks.winrm.WinRMHook + hook-name: "WinRM" connection-type: winrm diff --git a/providers/microsoft/winrm/src/airflow/providers/microsoft/winrm/get_provider_info.py b/providers/microsoft/winrm/src/airflow/providers/microsoft/winrm/get_provider_info.py index 8c9d6c56f2f7e..6e8430e7a730a 100644 --- a/providers/microsoft/winrm/src/airflow/providers/microsoft/winrm/get_provider_info.py +++ b/providers/microsoft/winrm/src/airflow/providers/microsoft/winrm/get_provider_info.py @@ -56,6 +56,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.microsoft.winrm.hooks.winrm.WinRMHook", + "hook-name": "WinRM", "connection-type": "winrm", } ], diff --git a/providers/mongo/provider.yaml b/providers/mongo/provider.yaml index 6082719a7c4ca..9a28ecd4cd016 100644 --- a/providers/mongo/provider.yaml +++ b/providers/mongo/provider.yaml @@ -86,6 +86,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.mongo.hooks.mongo.MongoHook + hook-name: "MongoDB" connection-type: mongo conn-fields: srv: diff --git a/providers/mongo/src/airflow/providers/mongo/get_provider_info.py b/providers/mongo/src/airflow/providers/mongo/get_provider_info.py index 2a6eb2befe295..7e6cf3c0f60e1 100644 --- a/providers/mongo/src/airflow/providers/mongo/get_provider_info.py +++ b/providers/mongo/src/airflow/providers/mongo/get_provider_info.py @@ -41,6 +41,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.mongo.hooks.mongo.MongoHook", + "hook-name": "MongoDB", "connection-type": "mongo", "conn-fields": { "srv": {"label": "Srv", "schema": {"type": ["boolean", "null"]}}, diff --git a/providers/mysql/provider.yaml b/providers/mysql/provider.yaml index 85befd4333027..ee26d0856ba8d 100644 --- a/providers/mysql/provider.yaml +++ b/providers/mysql/provider.yaml @@ -117,6 +117,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.mysql.hooks.mysql.MySqlHook + hook-name: "MySQL" connection-type: mysql asset-uris: diff --git a/providers/mysql/src/airflow/providers/mysql/get_provider_info.py b/providers/mysql/src/airflow/providers/mysql/get_provider_info.py index e4945605bf48f..f0503d851df1f 100644 --- a/providers/mysql/src/airflow/providers/mysql/get_provider_info.py +++ b/providers/mysql/src/airflow/providers/mysql/get_provider_info.py @@ -59,7 +59,11 @@ def get_provider_info(): }, ], "connection-types": [ - {"hook-class-name": "airflow.providers.mysql.hooks.mysql.MySqlHook", "connection-type": "mysql"} + { + "hook-class-name": "airflow.providers.mysql.hooks.mysql.MySqlHook", + "hook-name": "MySQL", + "connection-type": "mysql", + } ], "asset-uris": [ {"schemes": ["mysql", "mariadb"], "handler": "airflow.providers.mysql.assets.mysql.sanitize_uri"} diff --git a/providers/neo4j/provider.yaml b/providers/neo4j/provider.yaml index 9ddd0d1f96695..9f05b08897632 100644 --- a/providers/neo4j/provider.yaml +++ b/providers/neo4j/provider.yaml @@ -92,4 +92,5 @@ sensors: connection-types: - hook-class-name: airflow.providers.neo4j.hooks.neo4j.Neo4jHook + hook-name: "Neo4j" connection-type: neo4j diff --git a/providers/neo4j/src/airflow/providers/neo4j/get_provider_info.py b/providers/neo4j/src/airflow/providers/neo4j/get_provider_info.py index e3748c17e768b..6f9d603fd5be5 100644 --- a/providers/neo4j/src/airflow/providers/neo4j/get_provider_info.py +++ b/providers/neo4j/src/airflow/providers/neo4j/get_provider_info.py @@ -46,6 +46,10 @@ def get_provider_info(): {"integration-name": "Neo4j", "python-modules": ["airflow.providers.neo4j.sensors.neo4j"]} ], "connection-types": [ - {"hook-class-name": "airflow.providers.neo4j.hooks.neo4j.Neo4jHook", "connection-type": "neo4j"} + { + "hook-class-name": "airflow.providers.neo4j.hooks.neo4j.Neo4jHook", + "hook-name": "Neo4j", + "connection-type": "neo4j", + } ], } diff --git a/providers/odbc/provider.yaml b/providers/odbc/provider.yaml index 0c8505e980488..c0a012c20d1a3 100644 --- a/providers/odbc/provider.yaml +++ b/providers/odbc/provider.yaml @@ -85,4 +85,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.odbc.hooks.odbc.OdbcHook + hook-name: "ODBC" connection-type: odbc diff --git a/providers/odbc/src/airflow/providers/odbc/get_provider_info.py b/providers/odbc/src/airflow/providers/odbc/get_provider_info.py index afdec5ae09ea7..31f6fb9451b0f 100644 --- a/providers/odbc/src/airflow/providers/odbc/get_provider_info.py +++ b/providers/odbc/src/airflow/providers/odbc/get_provider_info.py @@ -37,6 +37,10 @@ def get_provider_info(): ], "hooks": [{"integration-name": "ODBC", "python-modules": ["airflow.providers.odbc.hooks.odbc"]}], "connection-types": [ - {"hook-class-name": "airflow.providers.odbc.hooks.odbc.OdbcHook", "connection-type": "odbc"} + { + "hook-class-name": "airflow.providers.odbc.hooks.odbc.OdbcHook", + "hook-name": "ODBC", + "connection-type": "odbc", + } ], } diff --git a/providers/openai/provider.yaml b/providers/openai/provider.yaml index e05e67c9d3e28..6bbf868a54e26 100644 --- a/providers/openai/provider.yaml +++ b/providers/openai/provider.yaml @@ -89,6 +89,7 @@ triggers: connection-types: - hook-class-name: airflow.providers.openai.hooks.openai.OpenAIHook + hook-name: "OpenAI" connection-type: openai ui-field-behaviour: hidden-fields: diff --git a/providers/openai/src/airflow/providers/openai/get_provider_info.py b/providers/openai/src/airflow/providers/openai/get_provider_info.py index 6b8eda581e2c6..47b5bba24f79f 100644 --- a/providers/openai/src/airflow/providers/openai/get_provider_info.py +++ b/providers/openai/src/airflow/providers/openai/get_provider_info.py @@ -56,6 +56,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.openai.hooks.openai.OpenAIHook", + "hook-name": "OpenAI", "connection-type": "openai", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "login"], diff --git a/providers/openfaas/provider.yaml b/providers/openfaas/provider.yaml index 97668473e843b..043414e0674c5 100644 --- a/providers/openfaas/provider.yaml +++ b/providers/openfaas/provider.yaml @@ -69,6 +69,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.openfaas.hooks.openfaas.OpenFaasHook + hook-name: "OpenFaaS" connection-type: openfaas ui-field-behaviour: hidden-fields: diff --git a/providers/openfaas/src/airflow/providers/openfaas/get_provider_info.py b/providers/openfaas/src/airflow/providers/openfaas/get_provider_info.py index c13d8ffb545dd..319cacb648a48 100644 --- a/providers/openfaas/src/airflow/providers/openfaas/get_provider_info.py +++ b/providers/openfaas/src/airflow/providers/openfaas/get_provider_info.py @@ -40,6 +40,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.openfaas.hooks.openfaas.OpenFaasHook", + "hook-name": "OpenFaaS", "connection-type": "openfaas", "ui-field-behaviour": {"hidden-fields": ["schema", "port", "login", "password", "extra"]}, } diff --git a/providers/opensearch/provider.yaml b/providers/opensearch/provider.yaml index 5041936d8a4dc..1bf5afef339b1 100644 --- a/providers/opensearch/provider.yaml +++ b/providers/opensearch/provider.yaml @@ -74,6 +74,7 @@ operators: connection-types: - hook-class-name: airflow.providers.opensearch.hooks.opensearch.OpenSearchHook + hook-name: "OpenSearch Hook" connection-type: opensearch ui-field-behaviour: hidden-fields: diff --git a/providers/opensearch/src/airflow/providers/opensearch/get_provider_info.py b/providers/opensearch/src/airflow/providers/opensearch/get_provider_info.py index cd117200796d2..99e439416d3d2 100644 --- a/providers/opensearch/src/airflow/providers/opensearch/get_provider_info.py +++ b/providers/opensearch/src/airflow/providers/opensearch/get_provider_info.py @@ -50,6 +50,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.opensearch.hooks.opensearch.OpenSearchHook", + "hook-name": "OpenSearch Hook", "connection-type": "opensearch", "ui-field-behaviour": { "hidden-fields": ["schema"], diff --git a/providers/opsgenie/provider.yaml b/providers/opsgenie/provider.yaml index 3a14a6257eb16..845f446760a67 100644 --- a/providers/opsgenie/provider.yaml +++ b/providers/opsgenie/provider.yaml @@ -81,6 +81,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.opsgenie.hooks.opsgenie.OpsgenieAlertHook + hook-name: "Opsgenie" connection-type: opsgenie ui-field-behaviour: hidden-fields: diff --git a/providers/opsgenie/src/airflow/providers/opsgenie/get_provider_info.py b/providers/opsgenie/src/airflow/providers/opsgenie/get_provider_info.py index a74e1065c30d8..4e6a65f90f395 100644 --- a/providers/opsgenie/src/airflow/providers/opsgenie/get_provider_info.py +++ b/providers/opsgenie/src/airflow/providers/opsgenie/get_provider_info.py @@ -47,6 +47,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.opsgenie.hooks.opsgenie.OpsgenieAlertHook", + "hook-name": "Opsgenie", "connection-type": "opsgenie", "ui-field-behaviour": { "hidden-fields": ["port", "schema", "login", "extra"], diff --git a/providers/oracle/provider.yaml b/providers/oracle/provider.yaml index 49d3553037487..15adfad1ea69e 100644 --- a/providers/oracle/provider.yaml +++ b/providers/oracle/provider.yaml @@ -105,4 +105,5 @@ transfers: connection-types: - hook-class-name: airflow.providers.oracle.hooks.oracle.OracleHook + hook-name: "Oracle" connection-type: oracle diff --git a/providers/oracle/src/airflow/providers/oracle/get_provider_info.py b/providers/oracle/src/airflow/providers/oracle/get_provider_info.py index 30417195e31ff..91b3f870147c6 100644 --- a/providers/oracle/src/airflow/providers/oracle/get_provider_info.py +++ b/providers/oracle/src/airflow/providers/oracle/get_provider_info.py @@ -57,6 +57,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.oracle.hooks.oracle.OracleHook", + "hook-name": "Oracle", "connection-type": "oracle", } ], diff --git a/providers/pagerduty/provider.yaml b/providers/pagerduty/provider.yaml index 72b296dbc7fd5..3d546480b8f91 100644 --- a/providers/pagerduty/provider.yaml +++ b/providers/pagerduty/provider.yaml @@ -75,6 +75,7 @@ integrations: connection-types: - hook-class-name: airflow.providers.pagerduty.hooks.pagerduty.PagerdutyHook + hook-name: "Pagerduty" connection-type: pagerduty conn-fields: routing_key: @@ -94,6 +95,7 @@ connection-types: relabeling: password: Pagerduty API token - hook-class-name: airflow.providers.pagerduty.hooks.pagerduty_events.PagerdutyEventsHook + hook-name: "Pagerduty Events" connection-type: pagerduty_events ui-field-behaviour: hidden-fields: diff --git a/providers/pagerduty/src/airflow/providers/pagerduty/get_provider_info.py b/providers/pagerduty/src/airflow/providers/pagerduty/get_provider_info.py index 89cd71ea35561..f43651f64e37b 100644 --- a/providers/pagerduty/src/airflow/providers/pagerduty/get_provider_info.py +++ b/providers/pagerduty/src/airflow/providers/pagerduty/get_provider_info.py @@ -37,6 +37,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.pagerduty.hooks.pagerduty.PagerdutyHook", + "hook-name": "Pagerduty", "connection-type": "pagerduty", "conn-fields": { "routing_key": { @@ -51,6 +52,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.pagerduty.hooks.pagerduty_events.PagerdutyEventsHook", + "hook-name": "Pagerduty Events", "connection-type": "pagerduty_events", "ui-field-behaviour": { "hidden-fields": ["port", "login", "schema", "host", "extra"], diff --git a/providers/papermill/provider.yaml b/providers/papermill/provider.yaml index 0a9b7817c2c45..4dcc94277f804 100644 --- a/providers/papermill/provider.yaml +++ b/providers/papermill/provider.yaml @@ -88,4 +88,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.papermill.hooks.kernel.KernelHook + hook-name: "Jupyter Kernel" connection-type: jupyter_kernel diff --git a/providers/papermill/src/airflow/providers/papermill/get_provider_info.py b/providers/papermill/src/airflow/providers/papermill/get_provider_info.py index f9e1c3186e42c..1982205a98267 100644 --- a/providers/papermill/src/airflow/providers/papermill/get_provider_info.py +++ b/providers/papermill/src/airflow/providers/papermill/get_provider_info.py @@ -47,6 +47,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.papermill.hooks.kernel.KernelHook", + "hook-name": "Jupyter Kernel", "connection-type": "jupyter_kernel", } ], diff --git a/providers/pinecone/provider.yaml b/providers/pinecone/provider.yaml index fb25dcdc94315..a8761ef39bf24 100644 --- a/providers/pinecone/provider.yaml +++ b/providers/pinecone/provider.yaml @@ -68,6 +68,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.pinecone.hooks.pinecone.PineconeHook + hook-name: "Pinecone" connection-type: pinecone ui-field-behaviour: hidden-fields: diff --git a/providers/pinecone/src/airflow/providers/pinecone/get_provider_info.py b/providers/pinecone/src/airflow/providers/pinecone/get_provider_info.py index 507e41956afe7..9307960cf86e6 100644 --- a/providers/pinecone/src/airflow/providers/pinecone/get_provider_info.py +++ b/providers/pinecone/src/airflow/providers/pinecone/get_provider_info.py @@ -41,6 +41,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.pinecone.hooks.pinecone.PineconeHook", + "hook-name": "Pinecone", "connection-type": "pinecone", "ui-field-behaviour": { "hidden-fields": ["port", "schema"], diff --git a/providers/postgres/provider.yaml b/providers/postgres/provider.yaml index 23d5801ac4bd7..50e8988039f0c 100644 --- a/providers/postgres/provider.yaml +++ b/providers/postgres/provider.yaml @@ -108,6 +108,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.postgres.hooks.postgres.PostgresHook + hook-name: "Postgres" connection-type: postgres ui-field-behaviour: relabeling: diff --git a/providers/postgres/src/airflow/providers/postgres/get_provider_info.py b/providers/postgres/src/airflow/providers/postgres/get_provider_info.py index 50f4cfdb3b465..7919f57d4b977 100644 --- a/providers/postgres/src/airflow/providers/postgres/get_provider_info.py +++ b/providers/postgres/src/airflow/providers/postgres/get_provider_info.py @@ -50,6 +50,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.postgres.hooks.postgres.PostgresHook", + "hook-name": "Postgres", "connection-type": "postgres", "ui-field-behaviour": {"relabeling": {"schema": "Database"}}, } diff --git a/providers/presto/provider.yaml b/providers/presto/provider.yaml index 689b05f38800b..7375b569e9df9 100644 --- a/providers/presto/provider.yaml +++ b/providers/presto/provider.yaml @@ -102,4 +102,5 @@ transfers: connection-types: - hook-class-name: airflow.providers.presto.hooks.presto.PrestoHook + hook-name: "Presto" connection-type: presto diff --git a/providers/presto/src/airflow/providers/presto/get_provider_info.py b/providers/presto/src/airflow/providers/presto/get_provider_info.py index 75ef5c1bfb2b5..bc9975b7cba71 100644 --- a/providers/presto/src/airflow/providers/presto/get_provider_info.py +++ b/providers/presto/src/airflow/providers/presto/get_provider_info.py @@ -49,6 +49,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.presto.hooks.presto.PrestoHook", + "hook-name": "Presto", "connection-type": "presto", } ], diff --git a/providers/qdrant/provider.yaml b/providers/qdrant/provider.yaml index 7cd9461db8613..6c7fb1f369f78 100644 --- a/providers/qdrant/provider.yaml +++ b/providers/qdrant/provider.yaml @@ -65,6 +65,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.qdrant.hooks.qdrant.QdrantHook + hook-name: "Qdrant" connection-type: qdrant conn-fields: url: diff --git a/providers/qdrant/src/airflow/providers/qdrant/get_provider_info.py b/providers/qdrant/src/airflow/providers/qdrant/get_provider_info.py index f20c57b9daf91..6f892b167c6ad 100644 --- a/providers/qdrant/src/airflow/providers/qdrant/get_provider_info.py +++ b/providers/qdrant/src/airflow/providers/qdrant/get_provider_info.py @@ -41,6 +41,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.qdrant.hooks.qdrant.QdrantHook", + "hook-name": "Qdrant", "connection-type": "qdrant", "conn-fields": { "url": { diff --git a/providers/redis/provider.yaml b/providers/redis/provider.yaml index 5cd172b266233..67c03c45ecced 100644 --- a/providers/redis/provider.yaml +++ b/providers/redis/provider.yaml @@ -97,6 +97,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.redis.hooks.redis.RedisHook + hook-name: "Redis" connection-type: redis ui-field-behaviour: hidden-fields: diff --git a/providers/redis/src/airflow/providers/redis/get_provider_info.py b/providers/redis/src/airflow/providers/redis/get_provider_info.py index d93d7d7bea362..b685bfbea5811 100644 --- a/providers/redis/src/airflow/providers/redis/get_provider_info.py +++ b/providers/redis/src/airflow/providers/redis/get_provider_info.py @@ -60,6 +60,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.redis.hooks.redis.RedisHook", + "hook-name": "Redis", "connection-type": "redis", "ui-field-behaviour": {"hidden-fields": ["schema", "extra"], "relabeling": {}}, "conn-fields": { diff --git a/providers/salesforce/provider.yaml b/providers/salesforce/provider.yaml index e1b1035bf9a9a..1ee98526c3146 100644 --- a/providers/salesforce/provider.yaml +++ b/providers/salesforce/provider.yaml @@ -95,6 +95,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.salesforce.hooks.salesforce.SalesforceHook + hook-name: "Salesforce" connection-type: salesforce conn-fields: security_token: diff --git a/providers/salesforce/src/airflow/providers/salesforce/get_provider_info.py b/providers/salesforce/src/airflow/providers/salesforce/get_provider_info.py index 23ea607b0410a..9e59473f89b6c 100644 --- a/providers/salesforce/src/airflow/providers/salesforce/get_provider_info.py +++ b/providers/salesforce/src/airflow/providers/salesforce/get_provider_info.py @@ -56,6 +56,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.salesforce.hooks.salesforce.SalesforceHook", + "hook-name": "Salesforce", "connection-type": "salesforce", "conn-fields": { "security_token": { diff --git a/providers/samba/provider.yaml b/providers/samba/provider.yaml index 0e11b63ad6f38..d11e1f3b1d4eb 100644 --- a/providers/samba/provider.yaml +++ b/providers/samba/provider.yaml @@ -82,6 +82,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.samba.hooks.samba.SambaHook + hook-name: "Samba" connection-type: samba conn-fields: share_type: diff --git a/providers/samba/src/airflow/providers/samba/get_provider_info.py b/providers/samba/src/airflow/providers/samba/get_provider_info.py index d46471380df81..fa6f98566f7b8 100644 --- a/providers/samba/src/airflow/providers/samba/get_provider_info.py +++ b/providers/samba/src/airflow/providers/samba/get_provider_info.py @@ -46,6 +46,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.samba.hooks.samba.SambaHook", + "hook-name": "Samba", "connection-type": "samba", "conn-fields": { "share_type": { diff --git a/providers/segment/provider.yaml b/providers/segment/provider.yaml index 59b794571a7fe..df2b724e9063a 100644 --- a/providers/segment/provider.yaml +++ b/providers/segment/provider.yaml @@ -74,4 +74,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.segment.hooks.segment.SegmentHook + hook-name: "Segment" connection-type: segment diff --git a/providers/segment/src/airflow/providers/segment/get_provider_info.py b/providers/segment/src/airflow/providers/segment/get_provider_info.py index f10f23ee7f761..a1813925b1671 100644 --- a/providers/segment/src/airflow/providers/segment/get_provider_info.py +++ b/providers/segment/src/airflow/providers/segment/get_provider_info.py @@ -46,6 +46,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.segment.hooks.segment.SegmentHook", + "hook-name": "Segment", "connection-type": "segment", } ], diff --git a/providers/sftp/provider.yaml b/providers/sftp/provider.yaml index f9082754991cf..0bcf5c89c033a 100644 --- a/providers/sftp/provider.yaml +++ b/providers/sftp/provider.yaml @@ -116,6 +116,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.sftp.hooks.sftp.SFTPHook + hook-name: "SFTP" connection-type: sftp ui-field-behaviour: hidden-fields: diff --git a/providers/sftp/src/airflow/providers/sftp/get_provider_info.py b/providers/sftp/src/airflow/providers/sftp/get_provider_info.py index 4e2048f42618a..f55230a5a499c 100644 --- a/providers/sftp/src/airflow/providers/sftp/get_provider_info.py +++ b/providers/sftp/src/airflow/providers/sftp/get_provider_info.py @@ -59,6 +59,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.sftp.hooks.sftp.SFTPHook", + "hook-name": "SFTP", "connection-type": "sftp", "ui-field-behaviour": { "hidden-fields": ["schema"], diff --git a/providers/slack/provider.yaml b/providers/slack/provider.yaml index 0f477e12658ec..cde93f7e1d165 100644 --- a/providers/slack/provider.yaml +++ b/providers/slack/provider.yaml @@ -136,6 +136,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.slack.hooks.slack.SlackHook + hook-name: "Slack API" connection-type: slack ui-field-behaviour: hidden-fields: @@ -174,6 +175,7 @@ connection-types: - 'null' description: Optional. Proxy to make the Slack API call. - hook-class-name: airflow.providers.slack.hooks.slack_webhook.SlackWebhookHook + hook-name: "Slack Incoming Webhook" connection-type: slackwebhook ui-field-behaviour: hidden-fields: diff --git a/providers/slack/src/airflow/providers/slack/get_provider_info.py b/providers/slack/src/airflow/providers/slack/get_provider_info.py index e7306f1f07501..f7c686c97274c 100644 --- a/providers/slack/src/airflow/providers/slack/get_provider_info.py +++ b/providers/slack/src/airflow/providers/slack/get_provider_info.py @@ -82,6 +82,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.slack.hooks.slack.SlackHook", + "hook-name": "Slack API", "connection-type": "slack", "ui-field-behaviour": { "hidden-fields": ["login", "port", "host", "schema", "extra"], @@ -113,6 +114,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.slack.hooks.slack_webhook.SlackWebhookHook", + "hook-name": "Slack Incoming Webhook", "connection-type": "slackwebhook", "ui-field-behaviour": { "hidden-fields": ["login", "port", "extra"], diff --git a/providers/smtp/provider.yaml b/providers/smtp/provider.yaml index 6ace7528fc96e..7e3f675ff4da9 100644 --- a/providers/smtp/provider.yaml +++ b/providers/smtp/provider.yaml @@ -82,6 +82,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.smtp.hooks.smtp.SmtpHook + hook-name: "SMTP" connection-type: smtp conn-fields: from_email: diff --git a/providers/smtp/src/airflow/providers/smtp/get_provider_info.py b/providers/smtp/src/airflow/providers/smtp/get_provider_info.py index f8665d3df256d..46e46efb97056 100644 --- a/providers/smtp/src/airflow/providers/smtp/get_provider_info.py +++ b/providers/smtp/src/airflow/providers/smtp/get_provider_info.py @@ -49,6 +49,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.smtp.hooks.smtp.SmtpHook", + "hook-name": "SMTP", "connection-type": "smtp", "conn-fields": { "from_email": {"label": "From email", "schema": {"type": ["string", "null"]}}, diff --git a/providers/snowflake/provider.yaml b/providers/snowflake/provider.yaml index 3b466b0e3388e..c1b194a8c0c02 100644 --- a/providers/snowflake/provider.yaml +++ b/providers/snowflake/provider.yaml @@ -148,6 +148,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.snowflake.hooks.snowflake.SnowflakeHook + hook-name: "Snowflake" connection-type: snowflake ui-field-behaviour: hidden-fields: ["port", "host"] diff --git a/providers/snowflake/src/airflow/providers/snowflake/get_provider_info.py b/providers/snowflake/src/airflow/providers/snowflake/get_provider_info.py index 9974117f789c9..44778761d8f53 100644 --- a/providers/snowflake/src/airflow/providers/snowflake/get_provider_info.py +++ b/providers/snowflake/src/airflow/providers/snowflake/get_provider_info.py @@ -85,6 +85,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.snowflake.hooks.snowflake.SnowflakeHook", + "hook-name": "Snowflake", "connection-type": "snowflake", "ui-field-behaviour": { "hidden-fields": ["port", "host"], diff --git a/providers/sqlite/provider.yaml b/providers/sqlite/provider.yaml index 4079a665bcae4..690e5ced54ced 100644 --- a/providers/sqlite/provider.yaml +++ b/providers/sqlite/provider.yaml @@ -84,4 +84,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.sqlite.hooks.sqlite.SqliteHook + hook-name: "Sqlite" connection-type: sqlite diff --git a/providers/sqlite/src/airflow/providers/sqlite/get_provider_info.py b/providers/sqlite/src/airflow/providers/sqlite/get_provider_info.py index ebe7ce1d3df31..2819ab3a6b767 100644 --- a/providers/sqlite/src/airflow/providers/sqlite/get_provider_info.py +++ b/providers/sqlite/src/airflow/providers/sqlite/get_provider_info.py @@ -41,6 +41,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.sqlite.hooks.sqlite.SqliteHook", + "hook-name": "Sqlite", "connection-type": "sqlite", } ], diff --git a/providers/ssh/provider.yaml b/providers/ssh/provider.yaml index 6424cd6a267a1..a85294233bda2 100644 --- a/providers/ssh/provider.yaml +++ b/providers/ssh/provider.yaml @@ -107,6 +107,7 @@ triggers: connection-types: - hook-class-name: airflow.providers.ssh.hooks.ssh.SSHHook + hook-name: "SSH" connection-type: ssh ui-field-behaviour: hidden-fields: diff --git a/providers/ssh/src/airflow/providers/ssh/get_provider_info.py b/providers/ssh/src/airflow/providers/ssh/get_provider_info.py index 1be00ce4d3417..fff6b35592938 100644 --- a/providers/ssh/src/airflow/providers/ssh/get_provider_info.py +++ b/providers/ssh/src/airflow/providers/ssh/get_provider_info.py @@ -56,6 +56,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.ssh.hooks.ssh.SSHHook", + "hook-name": "SSH", "connection-type": "ssh", "ui-field-behaviour": { "hidden-fields": ["schema"], diff --git a/providers/standard/provider.yaml b/providers/standard/provider.yaml index 91e2498118a46..2e8ea21e85e84 100644 --- a/providers/standard/provider.yaml +++ b/providers/standard/provider.yaml @@ -137,6 +137,7 @@ config: connection-types: - hook-class-name: airflow.providers.standard.hooks.filesystem.FSHook + hook-name: "File (path)" connection-type: fs ui-field-behaviour: hidden-fields: @@ -154,6 +155,7 @@ connection-types: - string - 'null' - hook-class-name: airflow.providers.standard.hooks.package_index.PackageIndexHook + hook-name: "Package Index (Python)" connection-type: package_index ui-field-behaviour: hidden-fields: diff --git a/providers/standard/src/airflow/providers/standard/get_provider_info.py b/providers/standard/src/airflow/providers/standard/get_provider_info.py index 5b80e66cf51dd..1f7b2049454d1 100644 --- a/providers/standard/src/airflow/providers/standard/get_provider_info.py +++ b/providers/standard/src/airflow/providers/standard/get_provider_info.py @@ -120,6 +120,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.standard.hooks.filesystem.FSHook", + "hook-name": "File (path)", "connection-type": "fs", "ui-field-behaviour": { "hidden-fields": ["host", "schema", "port", "login", "password", "extra"] @@ -128,6 +129,7 @@ def get_provider_info(): }, { "hook-class-name": "airflow.providers.standard.hooks.package_index.PackageIndexHook", + "hook-name": "Package Index (Python)", "connection-type": "package_index", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "extra"], diff --git a/providers/tableau/provider.yaml b/providers/tableau/provider.yaml index 68783d8d705e7..5c17ea3964028 100644 --- a/providers/tableau/provider.yaml +++ b/providers/tableau/provider.yaml @@ -94,4 +94,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.tableau.hooks.tableau.TableauHook + hook-name: "Tableau" connection-type: tableau diff --git a/providers/tableau/src/airflow/providers/tableau/get_provider_info.py b/providers/tableau/src/airflow/providers/tableau/get_provider_info.py index ec70a9b69212f..e72c0a913f2f7 100644 --- a/providers/tableau/src/airflow/providers/tableau/get_provider_info.py +++ b/providers/tableau/src/airflow/providers/tableau/get_provider_info.py @@ -47,6 +47,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.tableau.hooks.tableau.TableauHook", + "hook-name": "Tableau", "connection-type": "tableau", } ], diff --git a/providers/telegram/provider.yaml b/providers/telegram/provider.yaml index c17a768f05669..88db032a5f815 100644 --- a/providers/telegram/provider.yaml +++ b/providers/telegram/provider.yaml @@ -78,6 +78,7 @@ operators: connection-types: - hook-class-name: airflow.providers.telegram.hooks.telegram.TelegramHook + hook-name: "Telegram" connection-type: telegram ui-field-behaviour: hidden-fields: diff --git a/providers/telegram/src/airflow/providers/telegram/get_provider_info.py b/providers/telegram/src/airflow/providers/telegram/get_provider_info.py index 18ba5b1c1b4bf..960ec1ef90ec3 100644 --- a/providers/telegram/src/airflow/providers/telegram/get_provider_info.py +++ b/providers/telegram/src/airflow/providers/telegram/get_provider_info.py @@ -44,6 +44,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.telegram.hooks.telegram.TelegramHook", + "hook-name": "Telegram", "connection-type": "telegram", "ui-field-behaviour": {"hidden-fields": ["schema", "extra", "login", "port"]}, } diff --git a/providers/teradata/provider.yaml b/providers/teradata/provider.yaml index f8ab1b070cda0..573a8a3cfb0d6 100644 --- a/providers/teradata/provider.yaml +++ b/providers/teradata/provider.yaml @@ -125,6 +125,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.teradata.hooks.teradata.TeradataHook + hook-name: "Teradata" connection-type: teradata ui-field-behaviour: hidden-fields: diff --git a/providers/teradata/src/airflow/providers/teradata/get_provider_info.py b/providers/teradata/src/airflow/providers/teradata/get_provider_info.py index df5c4ea4b3d64..5d90b0546f1ba 100644 --- a/providers/teradata/src/airflow/providers/teradata/get_provider_info.py +++ b/providers/teradata/src/airflow/providers/teradata/get_provider_info.py @@ -98,6 +98,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.teradata.hooks.teradata.TeradataHook", + "hook-name": "Teradata", "connection-type": "teradata", "ui-field-behaviour": { "hidden-fields": ["port"], diff --git a/providers/trino/provider.yaml b/providers/trino/provider.yaml index 77717ecf6cd27..640cea642360f 100644 --- a/providers/trino/provider.yaml +++ b/providers/trino/provider.yaml @@ -115,6 +115,7 @@ transfers: connection-types: - hook-class-name: airflow.providers.trino.hooks.trino.TrinoHook + hook-name: "Trino" connection-type: trino ui-field-behaviour: placeholders: diff --git a/providers/trino/src/airflow/providers/trino/get_provider_info.py b/providers/trino/src/airflow/providers/trino/get_provider_info.py index c2213e2c98ced..64e4d11a231c2 100644 --- a/providers/trino/src/airflow/providers/trino/get_provider_info.py +++ b/providers/trino/src/airflow/providers/trino/get_provider_info.py @@ -53,6 +53,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.trino.hooks.trino.TrinoHook", + "hook-name": "Trino", "connection-type": "trino", "ui-field-behaviour": { "placeholders": { diff --git a/providers/vertica/provider.yaml b/providers/vertica/provider.yaml index 4d5c30e10be2d..b3e1ad601d468 100644 --- a/providers/vertica/provider.yaml +++ b/providers/vertica/provider.yaml @@ -82,4 +82,5 @@ hooks: connection-types: - hook-class-name: airflow.providers.vertica.hooks.vertica.VerticaHook + hook-name: "Vertica" connection-type: vertica diff --git a/providers/vertica/src/airflow/providers/vertica/get_provider_info.py b/providers/vertica/src/airflow/providers/vertica/get_provider_info.py index eefd15120f263..986485f5f061c 100644 --- a/providers/vertica/src/airflow/providers/vertica/get_provider_info.py +++ b/providers/vertica/src/airflow/providers/vertica/get_provider_info.py @@ -41,6 +41,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.vertica.hooks.vertica.VerticaHook", + "hook-name": "Vertica", "connection-type": "vertica", } ], diff --git a/providers/weaviate/provider.yaml b/providers/weaviate/provider.yaml index 92b2ef9676b87..1d2f2954f33f5 100644 --- a/providers/weaviate/provider.yaml +++ b/providers/weaviate/provider.yaml @@ -73,6 +73,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.weaviate.hooks.weaviate.WeaviateHook + hook-name: "Weaviate" connection-type: weaviate ui-field-behaviour: hidden-fields: diff --git a/providers/weaviate/src/airflow/providers/weaviate/get_provider_info.py b/providers/weaviate/src/airflow/providers/weaviate/get_provider_info.py index 1098ddcc86e6f..9dcce2cf4d373 100644 --- a/providers/weaviate/src/airflow/providers/weaviate/get_provider_info.py +++ b/providers/weaviate/src/airflow/providers/weaviate/get_provider_info.py @@ -41,6 +41,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.weaviate.hooks.weaviate.WeaviateHook", + "hook-name": "Weaviate", "connection-type": "weaviate", "ui-field-behaviour": { "hidden-fields": ["schema"], diff --git a/providers/yandex/provider.yaml b/providers/yandex/provider.yaml index fc22e70ca983f..fbc92a1be406f 100644 --- a/providers/yandex/provider.yaml +++ b/providers/yandex/provider.yaml @@ -110,6 +110,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.yandex.hooks.yandex.YandexCloudBaseHook + hook-name: "Yandex Cloud" connection-type: yandexcloud ui-field-behaviour: hidden-fields: diff --git a/providers/yandex/src/airflow/providers/yandex/get_provider_info.py b/providers/yandex/src/airflow/providers/yandex/get_provider_info.py index 94dea772e1573..83a8e762cea79 100644 --- a/providers/yandex/src/airflow/providers/yandex/get_provider_info.py +++ b/providers/yandex/src/airflow/providers/yandex/get_provider_info.py @@ -69,6 +69,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.yandex.hooks.yandex.YandexCloudBaseHook", + "hook-name": "Yandex Cloud", "connection-type": "yandexcloud", "ui-field-behaviour": { "hidden-fields": ["host", "schema", "login", "password", "port", "extra"] diff --git a/providers/yandex/src/airflow/providers/yandex/hooks/yandex.py b/providers/yandex/src/airflow/providers/yandex/hooks/yandex.py index 86f20c8d5ea8c..db52fda501510 100644 --- a/providers/yandex/src/airflow/providers/yandex/hooks/yandex.py +++ b/providers/yandex/src/airflow/providers/yandex/hooks/yandex.py @@ -26,7 +26,7 @@ get_credentials, get_service_account_id, ) -from airflow.providers.yandex.utils.defaults import conn_name_attr, conn_type, default_conn_name, hook_name +from airflow.providers.yandex.utils.defaults import conn_name_attr, conn_type, default_conn_name from airflow.providers.yandex.utils.fields import get_field_from_extras from airflow.providers.yandex.utils.user_agent import provider_user_agent @@ -44,7 +44,7 @@ class YandexCloudBaseHook(BaseHook): conn_name_attr = conn_name_attr default_conn_name = default_conn_name conn_type = conn_type - hook_name = hook_name + hook_name = "Yandex Cloud" @classmethod def get_connection_form_widgets(cls) -> dict[str, Any]: diff --git a/providers/ydb/provider.yaml b/providers/ydb/provider.yaml index 72a3bd4b510f3..5f4f4058b7371 100644 --- a/providers/ydb/provider.yaml +++ b/providers/ydb/provider.yaml @@ -67,6 +67,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.ydb.hooks.ydb.YDBHook + hook-name: "YDB" connection-type: ydb ui-field-behaviour: hidden-fields: diff --git a/providers/ydb/src/airflow/providers/ydb/get_provider_info.py b/providers/ydb/src/airflow/providers/ydb/get_provider_info.py index 056b0cc58ebd8..5c7d2371caf3f 100644 --- a/providers/ydb/src/airflow/providers/ydb/get_provider_info.py +++ b/providers/ydb/src/airflow/providers/ydb/get_provider_info.py @@ -40,6 +40,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.ydb.hooks.ydb.YDBHook", + "hook-name": "YDB", "connection-type": "ydb", "ui-field-behaviour": { "hidden-fields": ["schema", "extra"], diff --git a/providers/zendesk/provider.yaml b/providers/zendesk/provider.yaml index 996c34f636121..2f76895a3dc60 100644 --- a/providers/zendesk/provider.yaml +++ b/providers/zendesk/provider.yaml @@ -72,6 +72,7 @@ hooks: connection-types: - hook-class-name: airflow.providers.zendesk.hooks.zendesk.ZendeskHook + hook-name: "Zendesk" connection-type: zendesk ui-field-behaviour: hidden-fields: diff --git a/providers/zendesk/src/airflow/providers/zendesk/get_provider_info.py b/providers/zendesk/src/airflow/providers/zendesk/get_provider_info.py index c5fae7782311a..3a6cdd295ce76 100644 --- a/providers/zendesk/src/airflow/providers/zendesk/get_provider_info.py +++ b/providers/zendesk/src/airflow/providers/zendesk/get_provider_info.py @@ -40,6 +40,7 @@ def get_provider_info(): "connection-types": [ { "hook-class-name": "airflow.providers.zendesk.hooks.zendesk.ZendeskHook", + "hook-name": "Zendesk", "connection-type": "zendesk", "ui-field-behaviour": { "hidden-fields": ["schema", "port", "extra"],