thanks, you answer was very useful!

--joão

Em 05-02-2014 11:38, Javier Fontan escreveu:
"img" does not have a method called vms. You can get the IDs of the
VMs using the retrieve_elements method [1]:

vm_ids=img.retrieve_elements("VMS/ID")

As an example you can check the code for oneimage show [2].

[1] 
http://docs.opennebula.org/doc/4.4/oca/ruby/OpenNebula/XMLElement.html#retrieve_elements-instance_method
[2] 
https://github.com/OpenNebula/one/blob/one-4.4/src/cli/one_helper/oneimage_helper.rb#L301


On Wed, Feb 5, 2014 at 9:44 AM, João Pagaime <joao.paga...@gmail.com> wrote:
Hello all

I'm trying to put together a very simple ruby script that outputs
opennebula's images and its vms

as far as listing opennebula's images, everything is fine, but I get an
error when trying, for each image, to lists its vms

acording to the 4.2 API documentation the  image class should have a "vms"
list/array member, but I get an error when I try to instantiate that

where's the script. The offending statement in red. Any help would be
appreciated

thanks
joão

-------------------------- (snatched from openneb examples and then
adapted...)

#!/usr/bin/env ruby

##############################################################################
# Environment Configuration
##############################################################################
ONE_LOCATION=ENV["ONE_LOCATION"]

if !ONE_LOCATION
     RUBY_LIB_LOCATION="/usr/lib/one/ruby"
else
     RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
end

$: << RUBY_LIB_LOCATION

##############################################################################
# Required libraries
##############################################################################
require 'opennebula'

include OpenNebula

# OpenNebula credentials
CREDENTIALS = "oneadmin:(REMOVED)"
# XML_RPC endpoint where OpenNebula is listening
ENDPOINT    = "http://localhost:2633/RPC2";

client = Client.new(CREDENTIALS, ENDPOINT)

img_pool = ImagePool.new(client, -1)

rc2 = img_pool.info
if OpenNebula.is_error?(rc2)
      puts rc2.message
      exit -1
end

img_pool.each do |img|
        puts "img id=#{img.id},#{img.name}"
        img.vms.each do |vm|
        end
end


---------------------------

_______________________________________________
Users mailing list
Users@lists.opennebula.org
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org




_______________________________________________
Users mailing list
Users@lists.opennebula.org
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org

Reply via email to