class RightScaleCLI::Client
Represents a RightScale CLI Client
Attributes
client[RW]
render[RW]
Public Class Methods
new(options)
click to toggle source
# File lib/rightscale_cli/client.rb, line 28 def initialize(options) config = RightScaleCLI::Config.new.directives config[:account_id] = options['account'] if options[:account] config[:email] = options['user'] if options[:user] config[:api_version] = options['api'] if options[:api] config[:timeout] = nil if options['password'] || \ (!config[:password] && \ !config[:password_base64] && !config[:access_token]) # fallback to asking for user password config[:password] = ask_pass # set this to nil so it is not used by precedence config[:password_base64] = nil end @options = options @client = RightApi::Client.new(config) @logger = RightScaleCLI::Logger.new end
Public Instance Methods
create(resource, params)
click to toggle source
# File lib/rightscale_cli/client.rb, line 69 def create(resource, params) if params[:cloud] resource = @client.clouds(id: params[:cloud]).show.send("#{resource}s") .create(params) else resource = @client.send("#{resource}s").create(params) end @logger.info("Created #{resource.href}.") resource.href end
destroy(resource, resource_id)
click to toggle source
# File lib/rightscale_cli/client.rb, line 80 def destroy(resource, resource_id) resource = @client.send("#{resource}s").index(id: resource_id) resource.destroy @logger.info("Deleted #{resource.href}.") end
get(resource)
click to toggle source
# File lib/rightscale_cli/client.rb, line 50 def get(resource) result = [] @client.send(resource).index.each { |record| result.push(record.raw) } result end
show(resource, resource_id, *args)
click to toggle source
# File lib/rightscale_cli/client.rb, line 56 def show(resource, resource_id, *args) if args.count > 0 result = [] records = @client.send(resource).index(id: resource_id) .show.send(args[0]).index records.each { |record| result.push(record.raw) } @logger.info("Resource count: #{result.count}.") else result = @client.send(resource).index(id: resource_id).show.raw end result end