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

SoftLayer API: - How to get the ID of a bare metal server on create

我正在使用 'SoftLayer_Hardware'、'createObject' 来部署新服务器,但是这个调用 returns 没有 ID,如 http://sldn.softlayer.com/reference/services/SoftLayer_Hardware/createObject[=12= 上的示例]

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

您可以在请求中使用全球标识符代替 ID

例如

Get https://api.softlayer.com/rest/v3.1/SoftLayer_Hardware/$GloblalIdentifier/getObject

Note: replace the $GloblalIdentifier

不显示id的原因是服务器还没有创建,你的订单需要审核,配置结束时会显示id,同时配置时可以使用全局标识符结束你将能够看到id

问候

这里 SoftLayer_Hardware::createObject 说:

To determine when the server is available you can poll the server via SoftLayer_Hardware::getObject, checking the provisionDate property. When provisionDate is not null, the server will be ready. 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 不为空时,服务器将准备就绪)。

列出 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

您还可以评论:

感谢您的回答。不幸的是,这是一个 chicken/egg 问题。发送 API 调用后,我得到一个 GloblalIdentifier 但不是 id。

如果我请求这个 GlobalIdentifier,我会得到一个 id 为 null 的响应

如果我获得硬件服务器列表,我会看到新机器在那里,有一个 ID,但 GlobalIdentifier 是 None。

没有意义。