SoftLayer API: - 如何在创建时获取裸机服务器的ID

时间:2016-03-02 23:15:35

标签: api ibm-cloud-infrastructure

我正在使用' SoftLayer_Hardware',' createObject'部署新服务器,但此调用不返回id,如http://sldn.softlayer.com/reference/services/SoftLayer_Hardware/createObject

上的示例所示

所以,如果我没有id,我该如何查询该服务器的信息?我注意到有一个globalIdentifier变量,但根本没有提及它是什么以及如何使用它

3 个答案:

答案 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

您也可以查看:

Softlayer API to get virtual guest owner

答案 2 :(得分:-1)

谢谢你的回答。不幸的是,这是一个鸡/蛋问题。发送API调用后,我得到一个GloblalIdentifier但不是id。

如果我要求这个GloblalIdentifier,我得到一个id为null的回复

如果我获得了硬件服务器的列表,我看到新机器在那里,有一个id,但GloblalIdentifier是None。

毫无意义。