code: def from_config(cls, s3_configuration):
      config_list = S3BucketConfig.from_list(
          s3_configuration.get("credentials", [])
      )
  
      default_key = s3_configuration.get("key", "") or getenv(
          "AWS_ACCESS_KEY_ID", ""
      )
      default_secret = s3_configuration.get("secret", "") or getenv(
          "AWS_SECRET_ACCESS_KEY", ""
      )
      default_token = s3_configuration.get("token", "") or getenv(
          "AWS_SESSION_TOKEN", ""
      )
      default_region = s3_configuration.get("region", "") or getenv(
          "AWS_DEFAULT_REGION", ""
      )
      default_use_credentials_chain = (
          s3_configuration.get("use_credentials_chain") or False
      )
      default_extra_args = s3_configuration.get("extra_args")
      default_verify = s3_configuration.get("verify", None)
  
      default_key = _none_to_empty_string(default_key)
      default_secret = _none_to_empty_string(default_secret)
      default_token = _none_to_empty_string(default_token)
      default_region = _none_to_empty_string(default_region)
  
      return cls(
          config_list,
          default_key,
          default_secret,
          default_region,
          default_use_credentials_chain,
          default_token,
          default_extra_args,
          default_verify,
      )
  
imports: import abc
  import warnings
  from copy import copy
  from operator import itemgetter
  from os import getenv
  import furl
  import six
  from attr import attrib, attrs
label_desc: Use image node_id 2 for calling the S3BucketConfigurations obj's underlying member method code with example usage: obj.from_config(cls, s3_configuration) and returns: cls