总网络设备我使用的是Ruby应用程序与“SOFTLAYER”宝石一起检索所有硬件(getHardware),并关联到我们的帐户虚拟机(getVirtualGuests)。关于区分网络设备和机器的问题已经出现。我知道有不同的电话获取特定的网络信息和设备。但是,我想知道网络设备信息是否属于getHardware/getVirtualGuests结果。 “getHardware”调用正在返回几个带有“Vyatta”操作系统的设备,因此我可以假设“getHardware”也检索我们所有的网络设备?如果这是真的,有没有办法可以可靠地确定设备是否是除操作系统值以外的网络设备?示例程序:的SoftLayer API检索硬件
require 'rubygems'
require 'softlayer_api'
require 'pp'
client = SoftLayer::Client.new(:username => user, :api_key => api_key, :endpoint_url => endpoint_url, :timeout => 99999999)
account = client['Account'].object_mask("mask[virtualGuestCount,hardwareCount]").getObject()
bare_metal_machines_count = account["hardwareCount"]
for i in 0..(bare_metal_machines_count/30.0).ceil - 1
list_of_baremetal_machines = client['Account'].result_limit(i*30,30).object_mask("mask[id, hostname, backendNetworkComponents[primarySubnet[podName]], hourlyBillingFlag, fullyQualifiedDomainName, provisionDate, datacenter[name], billingItem[recurringFee, associatedChildren[recurringFee], orderItem[description, order[userRecord[username], id]]], operatingSystem[id, softwareLicense[id, softwareDescription[longDescription]]], tagReferences[tagId, tag[name]], primaryIpAddress, primaryBackendIpAddress]").getHardware
for x in 0..list_of_baremetal_machines.length - 1
pp list_of_baremetal_machines[x]
end
end
谢谢。
感谢尼尔森。从我所做的getHardware()调用中,我可以看到一个字段,它可以可靠地告诉我设备是否是网络设备?而不是看OS?或者我应该包含以下过滤器?: filter_data =“networkGatewayMemberFlag:0 _objectType:SoftLayer_Hardware” – haunm
脚本列出我送你没有工作的硬件?您可以使用属性networkGatewayMemberFlag来查看设备是否是网关,只有gatway服务器才会拥有1或为true的标志。 –
http://sldn.softlayer.com/reference/datatypes/SoftLayer_Hardware_Server那里你可以看到国旗 –