2017-04-03 92 views
0

检索硬件机器的硬盘空间很简单。我可以调用getHardware并遍历“hardDrives [capacity]”值的数组。我想从getVirtualGuests调用中获得相同的信息,但我无法解决如何执行此操作。我使用以下页面作为可用信息的参考: https://sldn.softlayer.com/reference/datatypes/SoftLayer_Virtual_GuestSoftLayer API(Ruby):无法获取虚拟目录的存储空间

有人可以帮助指出在哪里获得virtual_guest的存储容量吗?

回答

1

SoftLayer管理block devices而不是虚拟访客服务器的硬盘驱动器,您可以通过在SoftLayer_Account::getVirtualGuests方法上使用以下掩码来了解其空间容量。

blockDevices[diskImage[capacity]] 

以下代码示例显示如何获取块设备的容量。

# List all VSIs in your account. 
# 
# Important manual pages: 
# https://sldn.softlayer.com/reference/services/SoftLayer_Account 
# https://sldn.softlayer.com/reference/datatypes/SoftLayer_Virtual_Guest 
# 
# @license <http://sldn.softlayer.com/article/License> 
# @author SoftLayer Technologies, Inc. <[email protected]> 
require 'softlayer_api' 
require 'pp' 

# Your SoftLayer API username and key. 
USERNAME = 'set me' 
API_KEY = 'set me' 

# Create a SoftLayer API client object 
client = SoftLayer::Client.new(username: USERNAME, api_key: API_KEY) 
account_service = client['SoftLayer_Account'] 

# We will retrieve the additional information for each VSI: 
mask = 'mask[id,blockDevices[id,mountType,diskImage[capacity]]]' 
begin 
    # getVirtualGuests() will get all the VSIs that an account has. 
    result = account_service.object_mask(mask).getVirtualGuests 
    pp result 
rescue StandardError => exception 
    puts "Unable to get the VSIs: #{exception}" 
end 

问候,