# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
#
# IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
# `get_provider_info_TEMPLATE.py.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
[docs]
def get_provider_info():
return {
"package-name": "apache-airflow-providers-clickhousedb",
"name": "ClickHouse",
"description": "`ClickHouse <https://clickhouse.com/>`__\n",
"integrations": [
{
"integration-name": "ClickHouse",
"external-doc-url": "https://clickhouse.com/docs",
"how-to-guide": ["/docs/apache-airflow-providers-clickhousedb/operators/clickhouse.rst"],
"logo": "/docs/integration-logos/ClickHouse.png",
"tags": ["software"],
}
],
"hooks": [
{
"integration-name": "ClickHouse",
"python-modules": ["airflow.providers.clickhousedb.hooks.clickhouse"],
}
],
"connection-types": [
{
"hook-class-name": "airflow.providers.clickhousedb.hooks.clickhouse.ClickHouseHook",
"connection-type": "clickhouse",
"hook-name": "ClickHouse",
"ui-field-behaviour": {
"hidden-fields": [],
"relabeling": {"schema": "Database"},
"placeholders": {
"host": "localhost",
"port": "8123",
"login": "default",
"schema": "default",
"extra": '{\n "secure": false,\n "verify": true,\n "connect_timeout": 10,\n "send_receive_timeout": 300,\n "compress": true,\n "client_name": "airflow"\n}\n',
},
},
"conn-fields": {
"secure": {
"label": "Use TLS (HTTPS)",
"schema": {"type": ["boolean", "null"]},
"description": "Enable TLS encryption for the connection",
},
"verify": {
"label": "Verify SSL Certificate",
"schema": {"type": ["boolean", "null"]},
"description": "Verify the server SSL certificate when TLS is enabled",
},
"connect_timeout": {
"label": "Connection Timeout (seconds)",
"schema": {"type": ["integer", "null"]},
},
"send_receive_timeout": {
"label": "Query Timeout (seconds)",
"schema": {"type": ["integer", "null"]},
},
"compress": {"label": "Enable LZ4 Compression", "schema": {"type": ["boolean", "null"]}},
"client_name": {"label": "Client Name", "schema": {"type": ["string", "null"]}},
"session_settings": {
"label": "Session Settings (JSON)",
"schema": {"type": ["object", "string", "null"]},
"description": 'ClickHouse session-level settings as a JSON object, e.g. {"max_execution_time": 60, "max_threads": 4}. These are merged with any session_settings passed to the hook constructor, with the constructor argument taking precedence on conflicting keys.\n',
},
"client_kwargs": {
"label": "Client kwargs (JSON)",
"schema": {"type": ["object", "string", "null"]},
"description": 'Additional keyword arguments forwarded to clickhouse_connect.get_client() as a JSON object, e.g. {"http_proxy": "http://proxy:8080"}. Hook-managed keys (host, port, username, password, database, secure, verify, client_name, settings) are ignored.\n',
},
},
}
],
}