class Aws::Plugins::GlobalConfiguration
This plugin provides the ability to provide global configuration for all AWS classes or specific ones.
## Global AWS configuration
You can specify global configuration defaults via `Aws.config`
Aws.config[:region] = 'us-west-2'
Options applied to `Aws.config` are merged with constructed service interfaces.
# uses the global configuration Aws::EC2.new.config.region #=> 'us-west-2' # constructor args have priority over global configuration Aws::EC2.new(region: 'us-east-1').config.region #=> 'us-east-1'
## Service Specific Global Configuration
Some services have very specific configuration options that are not shared by other services.
# oops, this option is only recognized by Aws::S3 Aws.config[:force_path_style] = true Aws::EC2.new #=> raises ArgumentError: invalid configuration option `:force_path_style'
To avoid this issue, you can nest service specific options
Aws.config[:s3] = { force_path_style: true } Aws::EC2.new # no error this time Aws::S3.new.config.force_path_style #=> true
Constants
- IDENTIFIERS
@api private
Public Instance Methods
before_initialize(client_class, options)
click to toggle source
@api private
# File lib/aws-sdk-core/plugins/global_configuration.rb, line 47 def before_initialize(client_class, options) # apply service specific defaults before the global aws defaults apply_service_defaults(client_class, options) apply_aws_defaults(client_class, options) end
Private Instance Methods
apply_aws_defaults(client_class, options)
click to toggle source
# File lib/aws-sdk-core/plugins/global_configuration.rb, line 63 def apply_aws_defaults(client_class, options) Aws.config.each do |option_name, default| next if IDENTIFIERS.include?(option_name) next if options.key?(option_name) options[option_name] = default end end
apply_service_defaults(client_class, options)
click to toggle source
# File lib/aws-sdk-core/plugins/global_configuration.rb, line 55 def apply_service_defaults(client_class, options) if defaults = Aws.config[client_class.identifier] defaults.each do |option_name, default| options[option_name] = default unless options.key?(option_name) end end end