code: def _boto_conn_kwargs(self):
          
          kwargs = {'region_name': self.region}
          if self.account_id is not None:
              logger.debug("Connecting for account %s role '%s' with STS "
                           "(region: %s)", self.account_id, self.account_role,
                           self.region)
              credentials = self._get_sts_token()
              kwargs['aws_access_key_id'] = credentials.access_key
              kwargs['aws_secret_access_key'] = credentials.secret_key
              kwargs['aws_session_token'] = credentials.session_token
          elif self.profile_name is not None:
              # use boto3.Session to get credentials from the named profile
              logger.debug("Using credentials profile: %s", self.profile_name)
              session = boto3.Session(profile_name=self.profile_name)
              credentials = session._session.get_credentials()
              kwargs['aws_access_key_id'] = credentials.access_key
              kwargs['aws_secret_access_key'] = credentials.secret_key
              kwargs['aws_session_token'] = credentials.token
          else:
              logger.debug("Connecting to region %s", self.region)
          return kwargs
docs: Generate keyword arguments for boto3 connection functions.
  
          If ``self.account_id`` is defined, this will call
          :py:meth:`~._get_sts_token` to get STS token credentials using
          `boto3.STS.Client.assume_role <https://boto3.readthedocs.org/en/
          latest/reference/services/sts.html#STS.Client.assume_role>`_ and include
          those credentials in the return value.
  
          If ``self.profile_name`` is defined, this will call `boto3.Session()
          <http://boto3.readthedocs.io/en/latest/reference/core/session.html>`
          with that profile and include those credentials in the return value.
  
          :return: keyword arguments for boto3 connection functions
          :rtype: dict