我想根据虚拟客人检索虚拟磁盘映像列表。
通过API DOC,有一种方法可以检索每个客户的虚拟磁盘映像列表。但它并没有告诉我哪些虚拟客户实际拥有虚拟磁盘。
我想我应该使用对象过滤器,但我仍然不理解如何使用它来检索我想要的东西,有人可以给我一个cURL的例子吗?
答案 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