我们正在使用Softlayer API来检查我们创建的VM的状态。以下是我们现在使用的API,我们必须一次检查一个VM的状态。是否有可以检索VM列表状态的Softlayer API?
以下是我们每次调用以获取一个VM状态的API: 1.获取VM ID api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/findByIpAddress/ X.X.X.X 2.获取VM状态 api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/ VMID /getPowerState.json
答案 0 :(得分:1)
嗯,没有api方法来获取这些值,但它们是:
电源状态:
状态强>
答案 1 :(得分:0)
要从所有虚拟服务器获取VM状态:
https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectMask=mask[powerState]
Method: Get
注意:将 $ user 和 $ apiKey 替换为您自己的信息
从列表中获取VM状态:
https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectMask=mask[powerState]&objectFilter={"virtualGuests":{"id":{"operation":"in","options":[{"name":"data","value":[$vsiId1, $vsiId2, $vsiId3]}]}}}
Method: Get
注意:替换 $ user , $ apiKey , $ vsiId1 , $ vsiId2 , $ vsiId3 使用您自己的信息,您可以添加更多ID,按"分隔,"
<强>更新强>
如果您使用curl,则应发送编码命令,因为我们在请求中使用过滤器,因此它应如下所示:
curl "https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectMask=mask%5BpowerState%5D&objectFilter=%7B%22virtualGuests%22%3A%7B%22id%22%3A%7B%22operation%22%3A%22in%22%2C%22options%22%3A%5B%7B%22name%22%3A%22data%22%2C%22value%22%3A%5B25129322%2C15535999%5D%7D%5D%7D%7D%7D"
用您自己的信息替换:$ user,$ apiKey,25129322和15535999
我正在寻找的VSI标识符是:25129322和15535999,如您所见,它们在命令中编码