# 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-ibm-db2",
"name": "IBM Db2",
"description": "`IBM Db2 <https://www.ibm.com/products/db2>`__\n",
"integrations": [
{
"integration-name": "IBM Db2",
"external-doc-url": "https://www.ibm.com/products/db2",
"logo": "/docs/integration-logos/Db2.png",
"tags": ["software"],
}
],
"dialects": [
{"dialect-type": "db2", "dialect-class-name": "airflow.providers.ibm.db2.dialects.db2.Db2Dialect"}
],
"hooks": [{"integration-name": "IBM Db2", "python-modules": ["airflow.providers.ibm.db2.hooks.db2"]}],
"connection-types": [
{
"hook-class-name": "airflow.providers.ibm.db2.hooks.db2.Db2Hook",
"connection-type": "ibmdb2",
"hook-name": "IBM Db2",
"ui-field-behaviour": {
"hidden-fields": [],
"relabeling": {"schema": "Database", "login": "Username", "password": "Password"},
"placeholders": {
"host": "localhost",
"port": "50000",
"schema": "database_name",
"login": "db2_user",
"password": "db2_password",
"extra": '{"SECURITY": "SSL", "SSLServerCertificate": "/path/to/cert.crt", "CurrentSchema": "MY_SCHEMA"}',
},
},
"conn-fields": {
"SECURITY": {
"label": "Security Protocol",
"schema": {"type": ["string", "null"], "enum": ["", "SSL"]},
"description": "Security protocol for the connection (leave empty for no SSL, or set to SSL for encrypted connections)",
},
"SSLServerCertificate": {
"label": "SSL Server Certificate Path",
"schema": {"type": ["string", "null"]},
"description": "Path to the SSL server certificate file (required when SECURITY is SSL)",
},
"CurrentSchema": {
"label": "Current Schema",
"schema": {"type": ["string", "null"]},
"description": "Default schema to use for unqualified table names",
},
"ConnectTimeout": {
"label": "Connection Timeout",
"schema": {"type": ["integer", "null"]},
"description": "Connection timeout in seconds (0 means no timeout)",
},
"Authentication": {
"label": "Authentication Type",
"schema": {
"type": ["string", "null"],
"enum": ["", "SERVER", "KERBEROS", "GSSPLUGIN"],
},
"description": "Authentication method (leave empty for default SERVER authentication)",
},
},
}
],
}