我想用VM授权存储。为此我需要拥有存储的所有VM ID以及使用以下调用获得的VM ID:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Network_Storage_Iscsi/9653497/getAllowableVirtualGuests?objectMask=mask[id,fullyQualifiedDomainName]
这为我提供了与9653497(存储/订单ID)对应的所有VM ID。但是,我需要拥有所有那些未分配给任何VM ID的存储ID(如9653497)。我正在使用以下调用来获取所有存储ID:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkStorage?objectMask=mask[id,username,nasType,storageType, billingItem[description,location[id,longName]]]&objectFilter={"networkStorage":{"nasType":{"operation":"ISCSI"},"billingItem":{"description":{"operation":"Endurance Storage"}}}}
答案 0 :(得分:0)
请求中的过滤器获取Block Storage
(“nasType”:{“operation”:“ISCSI”}),也许您需要File Storage
。我们可以将其删除以获得更多"Endurance"
项(块和文件)。
请尝试以下删除一些过滤器:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkStorage?objectMask=mask[id,username,nasType,storageType, billingItem[description,location[id,longName]]]&objectFilter={ "networkStorage": { "billingItem": { "description": { "operation": "Endurance Storage" } } } }
Method: GET
如果我们不想只获取Endurance
,我们也可以删除该过滤器。
但是当尝试使用objectMasks
向allowableVirtualGuests
SoftLayer_Network_Storage
添加某些属性时,t
中不存在该属性。
因此,获取“getAllowableVirtualGuests”的独特方式是使用SoftLayer_Account::getNetworkStorage
答案 1 :(得分:0)
您用于过滤器的数据可能是错误的,尝试调用get对象方法GET /SoftLayer_Network_Storage/9653497/getObject?objectMask=mask[nasType,billingItem[description]]
并查看请求的值是否与objectFilter相同