class Chimp::ExecReport

Attributes

fields[RW]
server[RW]

Public Instance Methods

info() click to toggle source
# File lib/right_chimp/exec/exec_report.rb, line 13
def info
  return "report on server #{fields.inspect}"
end
run() click to toggle source
# File lib/right_chimp/exec/exec_report.rb, line 17
def run
  run_with_retry do
    output = []

    begin
      s=@server
      Log.debug "Making API 1.5 call: client.tags"
      response=Connection.client.tags.by_resource(:resource_hrefs => [@server.href]).first.tags
    rescue Exception => ex
      raise e
      s = @server
      response = nil
    end

    s.params["tags"] = [] unless s.params["tags"]
    response.each do |t|
      s.params["tags"] += [ t['name'] ]
    end

    @fields.split(",").each do |f|
      if f =~ /^tag=([^,]+)/
        tag_search_string = $1
        s.params["tags"].each do |tag|
          output << tag if tag =~ /^#{tag_search_string}/
        end
      else
        output << s.params[f]
      end
    end

    puts output.join(",")
  end
end