Class: RightScale::ApiClient15

Inherits:
Object
  • Object
show all
Defined in:
lib/api_client_15.rb

Overview

Create an instance facing or user base API client

Instance Method Summary collapse

Constructor Details

#initializeApiClient15

Returns a new instance of ApiClient15.



25
26
27
28
# File 'lib/api_client_15.rb', line 25

def initialize
  @log ||= Logger.new(STDOUT)
  parse_user_data
end

Instance Method Details

#configure_full_api_client(user, password) ⇒ Object

make connection to RightScale API v1.5 with a specific user’s roles



58
59
60
61
62
63
# File 'lib/api_client_15.rb', line 58

def configure_full_api_client(user, password)
  options = {:email => user, :password => password, :account_id => @account_id }
  api_client = create_client(options)
  api_client.log(@log)
  api_client
end

#configure_instance_api_clientObject

make connection to API v1.5 with ‘instance’ role



46
47
48
49
50
51
52
53
54
55
# File 'lib/api_client_15.rb', line 46

def configure_instance_api_client
  options = {
    :account_id => @account_id,
    :instance_token => @instance_token,
    :api_url => @api_url
  }
  instance_client = create_client(options)
  instance_client.log(@log)
  instance_client
end

#get_client(type, user = nil, password = nil) ⇒ Object



34
35
36
37
38
39
40
41
42
43
# File 'lib/api_client_15.rb', line 34

def get_client(type, user=nil, password=nil)
  case type
  when :instance
    configure_instance_api_client()
  when :user
    configure_full_api_client(user, password)
  else
    raise "FATAL: ApiClient of #{type} not supported. You must specify either :user or :instance."
  end
end

#log(logger) ⇒ Object



30
31
32
# File 'lib/api_client_15.rb', line 30

def log(logger)
  @log = logger
end