我正在使用' SoftLayer_Hardware',' createObject'部署新服务器,但此调用不返回id,如http://sldn.softlayer.com/reference/services/SoftLayer_Hardware/createObject
上的示例所示所以,如果我没有id,我该如何查询该服务器的信息?我注意到有一个globalIdentifier变量,但根本没有提及它是什么以及如何使用它
答案 0 :(得分:0)
您可以在请求中使用goblal标识符代替ID
e.g。
Get https://api.softlayer.com/rest/v3.1/SoftLayer_Hardware/$GloblalIdentifier/getObject
Note: replace the $GloblalIdentifier
未显示ID的原因是因为尚未创建服务器,您的订单必须获得批准,并且配置结束时将显示ID,同时您可以在配置结束时使用全局标识符你将能够看到id
问候
答案 1 :(得分:0)
这里SoftLayer_Hardware::createObject说:
要确定服务器何时可用,您可以通过服务器轮询服务器 SoftLayer_Hardware::getObject, 检查provisionDate属性。当provisionDate不为null时, 服务器准备好了。
Be sure to use the globalIdentifier as your initialization parameter
。
请看这个例子:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Hardware/[globalIdentifier_value]/getObject
Method: GET
此外,您可以使用SoftLayer_Account::getHardware使用某些过滤器获取Bare Metal
信息:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getHardware?objectFilter={"hardware":{"hostname":{"operation": "myhostname"}, "domain":{"operation": "mydomain"}}}&objectMask=mask[id,fullyQualifiedDomainName,provisionDate]
Method: GET
注意:您可以添加一些掩码以获取比默认情况更多的信息,即在上一个请求中您可以看到provisionDate
(当provisionDate不为null时,服务器将准备就绪)。
列出由Bare metal
过滤的username
服务器:
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getHardware?objectFilter={ "hardware": { "billingItem": { "orderItem": { "order": { "userRecord": { "username": { "operation": "myusername" } } } } } } }&objectMask=mask[id,fullyQualifiedDomainName,billingItem.orderItem.order.userRecord.username,provisionDate]
Method: GET
您也可以查看:
答案 2 :(得分:-1)
谢谢你的回答。不幸的是,这是一个鸡/蛋问题。发送API调用后,我得到一个GloblalIdentifier但不是id。
如果我要求这个GloblalIdentifier,我得到一个id为null的回复
如果我获得了硬件服务器的列表,我看到新机器在那里,有一个id,但GloblalIdentifier是None。
毫无意义。