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