Class: RightScale::CloudApi::AWS::S3::ApiManager

Inherits:
CloudApi::ApiManager
  • Object
show all
Includes:
Mixin::QueryApiPatterns
Defined in:
lib/cloud/aws/s3/manager.rb

Overview

Amazon Simple Storage Service (S3) compatible manager (thread unsafe).

See Also:

Direct Known Subclasses

Link::ApiManager

Defined Under Namespace

Classes: Error

Instance Method Summary collapse

Constructor Details

#initialize(aws_access_key_id, aws_secret_access_key, endpoint, options = {}) ⇒ ApiManager

Constructor

Examples:

# see Manager class

Parameters:

  • aws_access_key_id (String)
  • aws_secret_access_key (String)
  • endpoint (String)
  • options (Hash) (defaults to: {})

See Also:



379
380
381
382
383
# File 'lib/cloud/aws/s3/manager.rb', line 379

def initialize(aws_access_key_id, aws_secret_access_key, endpoint, options={})
  credentials = { :aws_access_key_id     => aws_access_key_id,
                  :aws_secret_access_key => aws_secret_access_key }
  super(credentials, endpoint, options)
end

Instance Method Details

#api(verb, *args, &block) ⇒ Object

Makes an API call to AWS::S3 compatible cloud

Examples:

api(verb,                  opts={})
api(verb, 'bucket',        opts={})
# Where opts may have next keys: :options, :headers, :params, :body
api(verb, 'bucket/object', opts={})

Parameters:

  • verb (String, Symbol)

    ‘get’ | ‘put’ | etc

  • args (Objects)

Returns:

  • (Object)

Raises:



399
400
401
402
403
404
# File 'lib/cloud/aws/s3/manager.rb', line 399

def api(verb, *args, &block)
  relative_path = args.first.is_a?(String) ? args.shift : ''
  opts          = args.shift || {}
  raise Error::new("Opts must be Hash not #{opts.class.name}") unless opts.is_a?(Hash)
  process_api_request(verb, relative_path, opts, &block)
end