module AWS::Core::ServiceInterface

Public Class Methods

included(base) click to toggle source
# 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
new(options = {}) click to toggle source

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

Public Instance Methods

endpoint_prefix(prefix = nil, options = {}) click to toggle source

@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
global_endpoint?() click to toggle source

@api private

# File lib/aws/core/service_interface.rb, line 42
def global_endpoint?
  @global_endpoint
end
inspect() click to toggle source

@return [String]

# File lib/aws/core/service_interface.rb, line 77
def inspect
  "<#{self.class}>"
end
regions() click to toggle source
# File lib/aws/core/service_interface.rb, line 46
def regions
  RegionCollection.new(:service => self)
end