# File lib/aws/core/service_interface.rb, line 19 def self.included base base.send(:attr_reader, :config) base.send(:attr_reader, :client) base.module_eval('module Errors; end') unless base::Errors.include?(Errors) base::Errors.module_eval { include Errors } end AWS::Core::MetaUtils.extend(base) do # @api private def endpoint_prefix prefix = nil, options = {} if prefix @endpoint_prefix = prefix @global_endpoint = !!options[:global] end @endpoint_prefix end # @api private def global_endpoint? @global_endpoint end def regions RegionCollection.new(:service => self) end end end
Returns a new interface object for this service. You can override any of the global configuration parameters by passing them in as hash options. They are merged with AWS.config or merged with the provided `:config` object.
@ec2 = AWS::EC2.new(:max_retries => 2)
@see AWS::Cofiguration
@param [Hash] options
@option options [Configuration] :config An AWS::Configuration
object to initialize this service interface object with. Defaults to AWS.config when not provided.
# File lib/aws/core/service_interface.rb, line 69 def initialize options = {} options = options.dup @config = (options.delete(:config) || AWS.config) @config = @config.with(options) @client = @config.send(Inflection.ruby_name(self.class.name.split('::').last) + '_client') end
@api private
# File lib/aws/core/service_interface.rb, line 33 def endpoint_prefix prefix = nil, options = {} if prefix @endpoint_prefix = prefix @global_endpoint = !!options[:global] end @endpoint_prefix end
@api private
# File lib/aws/core/service_interface.rb, line 42 def global_endpoint? @global_endpoint end
@return [String]
# File lib/aws/core/service_interface.rb, line 77 def inspect "<#{self.class}>" end
# File lib/aws/core/service_interface.rb, line 46 def regions RegionCollection.new(:service => self) end