【发布时间】:2014-01-14 10:39:13
【问题描述】:
我正在尝试编写一个脚本,该脚本将从使用 XMLRPC 的 Red Hat Satellite/Spacewalk 获取系统 ID。我正在尝试使用系统名称来获取作为第一个值的 ID。
我引用 Red Hat 的 the documentation 来获取以下使用的方法:
#!/usr/bin/env ruby
require "xmlrpc/client"
@SATELLITE_URL = "satellite.rdu.salab.redhat.com"
@SATELLITE_API = "/rpc/api"
@SATELLITE_LOGIN = "********"
@SATELLITE_PASSWORD = "*******"
@client = XMLRPC::Client.new(@SATELLITE_URL, @SATELLITE_API)
@key = @client.call("auth.login", @SATELLITE_LOGIN, @SATELLITE_PASSWORD)
@getsystemid = @client.call("system.getId", @key, 'cfme038')
print "#{@getsystemid}"
@systemid = @getsystemid ['id']
getsystemid 的输出如下所示:
[{"id"=>1000010466, "name"=>"cfme038", "last_checkin"=>#<XMLRPC::DateTime:0x007f9581042428 @year=2013, @month=12, @day=26, @hour=14, @min=31, @sec=28>}]
但是当我尝试只获取 id 时,我得到了这个错误:
no implicit conversion of String into Integer (TypeError)
感谢任何帮助
【问题讨论】: