class_docstr: Placeholder to store information about different database instances connection information.
  
  The idea here is that scripts use references to database instances (conn_id)
  instead of hard coding hostname, logins and passwords when using operators or hooks.
  
  .. seealso::
      For more information on how to use this class, see: :doc:`/howto/connection`
  
  :param conn_id: The connection ID.
  :param conn_type: The connection type.
  :param description: The connection description.
  :param host: The host.
  :param login: The login.
  :param password: The password.
  :param schema: The schema.
  :param port: The port number.
  :param extra: Extra metadata. Non-standard data such as private/SSH keys can be saved here. JSON
      encoded object.
  :param uri: URI address describing connection parameters.
class_docstr_tok: ["Placeholder","to","store","information","about","different","database","instances","connection","information",".","The","idea","here","is","that","scripts","use","references","to","database","instances","(","conn_id",")","instead","of","hard","coding","hostname",",","logins","and","passwords","when","using","operators","or","hooks",".","..","seealso",":",":","For","more","information","on","how","to","use","this","class",",","see",":",":","doc",":","`","\/howto\/connection","`",":","param","conn_id",":","The","connection","ID",".",":","param","conn_type",":","The","connection","type",".",":","param","description",":","The","connection","description",".",":","param","host",":","The","host",".",":","param","login",":","The","login",".",":","param","password",":","The","password",".",":","param","schema",":","The","schema",".",":","param","port",":","The","port","number",".",":","param","extra",":","Extra","metadata",".","Non-standard","data","such","as","private\/SSH","keys","can","be","saved","here",".","JSON","encoded","object",".",":","param","uri",":","URI","address","describing","connection","parameters","."]
docstr: Extra data. The value is decrypted/encrypted when reading/setting the value.
docstr_tok: ["Extra","data",".","The","value","is","decrypted\/encrypted","when","reading\/setting","the","value","."]
code: def extra(cls):
      """Extra data. The value is decrypted/encrypted when reading/setting the value."""
      return synonym(
          "_extra", descriptor=property(cls.get_extra, cls.set_extra)
      )
  
imports: from __future__ import annotations
  import json
  import logging
  import warnings
  from json import JSONDecodeError
  from typing import Any
  from urllib.parse import parse_qsl, quote, unquote, urlencode, urlsplit
  import re2
  from sqlalchemy import Boolean, Column, Integer, String, Text
  from sqlalchemy.orm import declared_attr, reconstructor, synonym
  from airflow.configuration import ensure_secrets_loaded
  from airflow.exceptions import AirflowException, AirflowNotFoundException, RemovedInAirflow3Warning
  from airflow.models.base import ID_LEN, Base
  from airflow.models.crypto import get_fernet
  from airflow.secrets.cache import SecretCache
  from airflow.utils.helpers import prune_dict
  from airflow.utils.log.logging_mixin import LoggingMixin
  from airflow.utils.log.secrets_masker import mask_secret
  from airflow.utils.module_loading import import_string
label_desc: Use image node_id 14 for calling the Connection obj's underlying member method code with example usage: obj.extra(cls) and returns: synonym