class_docstr: AWS Connection Wrapper class helper.
  
  Use for validate and resolve AWS Connection parameters.
  
  ``conn`` references an Airflow Connection object or AwsConnectionWrapper
      if it set to ``None`` than default values would use.
  
  The precedence rules for ``region_name``
      1. Explicit set (in Hook) ``region_name``.
      2. Airflow Connection Extra 'region_name'.
  
  The precedence rules for ``botocore_config``
      1. Explicit set (in Hook) ``botocore_config``.
      2. Construct from Airflow Connection Extra 'botocore_kwargs'.
      3. The wrapper's default value
docstr: Get AWS credentials from connection login/password and extra.
  
  ``aws_access_key_id`` and ``aws_secret_access_key`` order:
  
  1. From Connection login and password
  2. From Connection ``extra['aws_access_key_id']`` and
     ``extra['aws_access_key_id']``
  3. (deprecated) Form Connection ``extra['session_kwargs']``
  4. (deprecated) From a local credentials file
  
  Get ``aws_session_token`` from ``extra['aws_access_key_id']``.
docstr_tok: ["Get","AWS","credentials","from","connection","login\/password","and","extra",".","``","aws_access_key_id","``","and","``","aws_secret_access_key","``","order",":","1",".","From","Connection","login","and","password","2",".","From","Connection","``","extra","[","'aws_access_key_id","'","]","``","and","``","extra","[","'aws_access_key_id","'","]","``","3",".","(","deprecated",")","Form","Connection","``","extra","[","'session_kwargs","'","]","``","4",".","(","deprecated",")","From","a","local","credentials","file","Get","``","aws_session_token","``","from","``","extra","[","'aws_access_key_id","'","]","``","."]
code: def _get_credentials(
      self,
      *,
      aws_access_key_id: str | None = None,
      aws_secret_access_key: str | None = None,
      aws_session_token: str | None = None,
      # Deprecated Values
      s3_config_file: str | None = None,
      s3_config_format: str | None = None,
      profile: str | None = None,
      session_kwargs: dict[str, Any] | None = None,
      **kwargs,
  ) -> tuple[str | None, str | None, str | None]:
      """Get AWS credentials from connection login/password and extra.
  
      ``aws_access_key_id`` and ``aws_secret_access_key`` order:
  
      1. From Connection login and password
      2. From Connection ``extra['aws_access_key_id']`` and
         ``extra['aws_access_key_id']``
      3. (deprecated) Form Connection ``extra['session_kwargs']``
      4. (deprecated) From a local credentials file
  
      Get ``aws_session_token`` from ``extra['aws_access_key_id']``.
      """
      session_kwargs = session_kwargs or {}
      session_aws_access_key_id = session_kwargs.get(
          "aws_access_key_id"
      )
      session_aws_secret_access_key = session_kwargs.get(
          "aws_secret_access_key"
      )
      session_aws_session_token = session_kwargs.get(
          "aws_session_token"
      )
  
      if self.login and self.password:
          self.log.info(
              "%s credentials retrieved from login and password.",
              self.conn_repr,
          )
          aws_access_key_id, aws_secret_access_key = (
              self.login,
              self.password,
          )
      elif aws_access_key_id and aws_secret_access_key:
          self.log.info(
              "%s credentials retrieved from extra.", self.conn_repr
          )
      elif session_aws_access_key_id and session_aws_secret_access_key:
          aws_access_key_id = session_aws_access_key_id
          aws_secret_access_key = session_aws_secret_access_key
          self.log.info(
              "%s credentials retrieved from extra['session_kwargs'].",
              self.conn_repr,
          )
      elif s3_config_file:
          aws_access_key_id, aws_secret_access_key = _parse_s3_config(
              s3_config_file,
              s3_config_format,
              profile,
          )
          self.log.info(
              "%s credentials retrieved from extra['s3_config_file']",
              self.conn_repr,
          )
  
      if aws_session_token:
          self.log.info(
              "%s session token retrieved from extra, please note you are responsible for renewing these.",
              self.conn_repr,
          )
      elif session_aws_session_token:
          aws_session_token = session_aws_session_token
          self.log.info(
              "%s session token retrieved from extra['session_kwargs'], "
              "please note you are responsible for renewing these.",
              self.conn_repr,
          )
  
      return aws_access_key_id, aws_secret_access_key, aws_session_token
  
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 9 for calling the AwsConnectionWrapper obj's underlying member method code with example usage: obj._get_credentials() and returns: aws_access_key_id,  aws_secret_access_key,  aws_session_token