我一直在创建和删除VM,并在整个订单处理过程中尝试获取其状态。 不管订单在哪里,输出始终为'{“ id”:[ID],“ statusId”:1001}'。
在用户界面中,可能会显示“附加主磁盘”,但始终会使用API输出“活动”和“ 1001”。
使用的命令:
curl https://[username]:[apiKey]@api.softlayer.com/rest/v3/Softlayer_Hardware_Server/[serverID].json
这为什么不起作用?是否有使用API获取状态的解决方案?
答案 0 :(得分:1)
关于您在UI “附加主磁盘” 中看到的状态,我认为您是在谈论交易状态,要检索该信息,可以使用以下方法
对于虚拟访客: https://softlayer.github.io/reference/services/SoftLayer_Virtual_Guest/getActiveTransaction https://softlayer.github.io/reference/services/SoftLayer_Virtual_Guest/getActiveTransactions https://softlayer.github.io/reference/services/SoftLayer_Virtual_Guest/getLastTransaction
对于硬件服务器: https://softlayer.github.io/reference/services/SoftLayer_Hardware_Server/getActiveTransaction https://softlayer.github.io/reference/services/SoftLayer_Hardware_Server/getActiveTransactions https://softlayer.github.io/reference/services/SoftLayer_Hardware_Server/getLastTransaction
答案 1 :(得分:0)
创建新VM时,其状态将为“ Active”,并且statusId = 1001表示正在使用;取消VM时,其状态将为“ Disconnected”,并且statusId = 1006,然后将其完全取消。
在删除VM之前,状态为“ RESOURCE RESERVE”,在此状态下,不再通过API UI为用户列出VM。
有关更多参考,请参见以下链接: SoftLayer Virtual Guest host Status list
尝试使用以下curl命令检索虚拟机状态:
curl -k "https://[username]:[apiKey]@api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/[vmId]/getObject.json" | python -mjson.tool
或者您可以使用以下rest api:
方法:GET
https://[username]:[apiKey]@api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/[vmId]/getObject?objectMask=mask[status]