当使用placeOrder()
API调用订购SoftLayer硬件服务器时,主机名将作为Product_Order
值的一部分提供,并返回orderId。有没有办法使用orderId从订单中检索主机名?
我能够通过查看client['Account'].getOrders()
返回的列表来查找订单。但是,这并没有给我任何订单细节(见下文)。我查看了SoftLayer服务和方法列表,但似乎找不到答案。
从SoftLayer检索的订单(请注意,没有主机名或其他详细信息)
{'accountId': 999999,
'createDate': '2017-03-20T12:00:00-07:00',
'id': 21212121,
'impersonatingUserRecordId': '',
'modifyDate': '2017-03-20T12:00:00-07:00',
'orderQuoteId': '',
'orderTypeId': 4,
'presaleEventId': '',
'privateCloudOrderFlag': False,
'status': 'APPROVED',
'userRecordId': 757575}
答案 0 :(得分:0)
继续深入了解SoftLayer文档后,我找到了解决方案。它涉及从Billing_Order检索项目以获取订单上的主机名。
有效的示例代码
for item in client['Billing_Order'].getItems(id=orderid):
if 'hostName' in item:
print item['hostName']