class_docstr: Connection metadata data-class.
  
  This class implements main :ref:`~airflow.models.connection.Connection` attributes
  and use in AwsConnectionWrapper for avoid circular imports.
  
  Only for internal usage, this class might change or removed in the future.
code: def extra_dejson(self):
      if not self.extra:
          return {}
      extra = deepcopy(self.extra)
      if isinstance(extra, str):
          try:
              extra = json.loads(extra)
          except json.JSONDecodeError as err:
              raise AirflowException(
                  f"'extra' expected valid JSON-Object string. Original error:\n * {err}"
              ) from None
      if not isinstance(extra, dict):
          raise TypeError(
              f"Expected JSON-Object or dict, got {type(extra).__name__}."
          )
      return extra
  
imports: from __future__ import annotations
  import json
  import warnings
  from copy import deepcopy
  from dataclasses import MISSING, InitVar, dataclass, field, fields
  from functools import cached_property
  from typing import TYPE_CHECKING, Any
  from botocore import UNSIGNED
  from botocore.config import Config
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
  from airflow.providers.amazon.aws.utils import trim_none_values
  from airflow.utils.log.logging_mixin import LoggingMixin
  from airflow.utils.log.secrets_masker import mask_secret
  from airflow.utils.types import NOTSET, ArgNotSet
label_desc: Use image node_id 1 for calling the _ConnectionMetadata obj's underlying member method code with example usage: obj.extra_dejson() and returns: extra, dict