如何检索VirtualGuest的虚拟磁盘映像?

时间:2017-07-13 05:47:49

标签: ibm-cloud ibm-cloud-infrastructure

我想根据虚拟客人检索虚拟磁盘映像列表。

通过API DOC,有一种方法可以检索每个客户的虚拟磁盘映像列表。但它并没有告诉我哪些虚拟客户实际拥有虚拟磁盘。

我想我应该使用对象过滤器,但我仍然不理解如何使用它来检索我想要的东西,有人可以给我一个cURL的例子吗?

1 个答案:

答案 0 :(得分:0)

为了检索您需要的内容,有必要使用对象过滤器旁边的对象蒙版,请使用 SoftLayer_Account :: getVirtualDiskImages 方法尝试以下curl请求:

使用对象蒙版将显示连接的服务器或VSI的ID以及我们定义的其他指定属性:

curl -g "https://[username]:[apiKey]@api.softlayer.com/rest/v3.1/SoftLayer_Account/getVirtualDiskImages?objectMask=mask[capacity,createDate,description,id,name,units,blockDevices[guestId]]"

现在,通过使用objectFilter和Mask,您可以使用设备的ID(本例中为Virtual Guest)来缩小返回的磁盘映像列表。

curl -g "https://[username]:[apiKey]@api.softlayer.com/rest/v3.1/SoftLayer_Account/getVirtualDiskImages?objectMask=mask[capacity,createDate,description,id,name,units,blockDevices[guestId]]&objectFilter=%7B%22virtualDiskImages%22%3A%7B%22blockDevices%22%3A%7B%22guestId%22%3A%7B%22operation%22%3A[deviceId]%7D%7D%7D%7D"

不要忘记更改" [用户名] "和" [apiKey] "有效凭证,以及" [deviceId] "为您的(虚拟) guestId

通过 guestId (VSI ID)直接检索类似信息并且不使用对象掩码和过滤器的另一种方法是SoftLayer_Virtual_Guest::getBlockDevices

有关详细信息,我建议您参阅以下内容:

https://sldn.softlayer.com/blog/bpotter/going-further-softlayer-api-python-client-part-1

https://sldn.softlayer.com/article/object-filters

https://sldn.softlayer.com/article/object-masks