class RightScaleCLI::Clouds
Represents Clouds
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/rightscale_cli/clouds.rb, line 26 def initialize(*args) super @client = RightScaleCLI::Client.new(options) @logger = RightScaleCLI::Logger.new end
Public Instance Methods
list()
click to toggle source
# File lib/rightscale_cli/clouds.rb, line 37 def list clouds = @client.get('clouds') if options[:basic] basic_fields = %w('display_name', 'cloud_type', 'name') basic_clouds = [] @client.get('clouds').each do |cloud| cloud_id = cloud['links'].select { |link| link['rel'] == 'instances' } .first['href'].split('/')[3] c = cloud.select { |x| basic_fields.include?(x) } c['cloud_id'] = cloud_id.to_i basic_clouds.push(c) end clouds = basic_clouds end @client.render(clouds, 'clouds') end
search()
click to toggle source
# File lib/rightscale_cli/clouds.rb, line 65 def search filter = [] filter.push("name==#{options[:name]}") if options[:name] filter.push("cloud_type==#{options[:cloud_type]}") if options[:cloud_type] filter.push("description==#{options[:cloud]}") if options[:description] @logger.info 'Searching for clouds!' puts "filter: #{filter}" if options[:debug] clouds = [] @client.client.clouds.index(filter: filter) .each { |cloud| clouds.push(cloud.raw) } @client.render(clouds, 'clouds') end
show(cloud_id)
click to toggle source
# File lib/rightscale_cli/clouds.rb, line 57 def show(cloud_id) @client.render(@client.show('clouds', cloud_id), 'cloud') end