如何使用单个订单/ API调用订购具有不同包ID的多个SoftLayer裸机服务器?
更新:在下面添加了详细信息,希望它会增加我想要做的事情的清晰度。
下面的2个数据结构是 SoftLayer_Container_Product_Order_Hardware_Server 数据类型。每个都是针对具有不同package_id
的硬件服务器(每月结算),并且每个都可以单独传递到placeOrder() API方法。
我的问题是,是否有办法将它们合并为一个订单,因此我可以对placeOrder()进行单个API调用?
第一个数据结构,订购2个服务器,包含package_id 553
{'complexType': 'SoftLayer_Container_Product_Order_Hardware_Server',
'hardware': [{'domain': 'example.com',
'hostname': u'host1',
'primaryBackendNetworkComponent': {'networkVlan': {'id': 1234}},
'primaryNetworkComponent': {'networkVlan': {'id': 5678}}},
{'domain': 'example.com',
'hostname': u'host2',
'primaryBackendNetworkComponent': {'networkVlan': {'id': 1234}},
'primaryNetworkComponent': {'networkVlan': {'id': 5678}}}],
'location': 1441195,
'packageId': 553,
'prices': [{'id': 177613},
{'id': 49811},
{'id': 49811},
{'id': 50113},
{'id': 50113},
{'id': 50113},
{'id': 50113},
{'id': 50113},
{'id': 50113},
{'id': 49081},
{'id': 49427},
{'id': 141945},
{'id': 50359},
{'id': 35686},
{'id': 50223},
{'id': 34807},
{'id': 29403},
{'id': 34241},
{'id': 32627},
{'id': 25014},
{'id': 33483},
{'id': 35310},
{'id': 32500}],
'quantity': 2,
'quoteName': u'DAL10-qty2-rand9939',
'sshKeyIds': [{'sshKeyIds': [9876]}, {'sshKeyIds': [9876]}],
'storageGroups': [{'arrayTypeId': 2, 'hardDrives': [0, 1]},
{'arrayTypeId': 5, 'hardDrives': [2, 3, 4, 5, 6, 7]}],
'useHourlyPricing': False}
第二个数据结构,订购2个服务器,包含package_id 251
{'complexType': 'SoftLayer_Container_Product_Order_Hardware_Server',
'hardware': [{'domain': 'example.com',
'hostname': u'host3',
'primaryBackendNetworkComponent': {'networkVlan': {'id': 1234}},
'primaryNetworkComponent': {'networkVlan': {'id': 5678}}},
{'domain': 'example.com',
'hostname': u'host4',
'primaryBackendNetworkComponent': {'networkVlan': {'id': 1234}},
'primaryNetworkComponent': {'networkVlan': {'id': 5678}}}],
'location': 1441195,
'packageId': 251,
'prices': [{'id': 50659},
{'id': 49811},
{'id': 49811},
{'id': 50113},
{'id': 50113},
{'id': 50113},
{'id': 50113},
{'id': 49081},
{'id': 49437},
{'id': 141945},
{'id': 50359},
{'id': 26109},
{'id': 50223},
{'id': 34807},
{'id': 29403},
{'id': 34241},
{'id': 32627},
{'id': 25014},
{'id': 33483},
{'id': 35310},
{'id': 32500}],
'quantity': 2,
'quoteName': u'DAL10-qty2-rand3106',
'sshKeyIds': [{'sshKeyIds': [9876]}, {'sshKeyIds': [9876]}],
'storageGroups': [{'arrayTypeId': 2, 'hardDrives': [0, 1]},
{'arrayTypeId': 5, 'hardDrives': [2, 3, 4, 5]}],
'useHourlyPricing': False}
答案 0 :(得分:0)
是的,如果您查看SoftLayer_Container_Product_Order_Hardware_Server容器的文档,您将会看到此属性,这是可行的:
<强> orderContainers 强>
订单可能包含一系列配置。填充这个 属性允许您在a内购买多个配置 单笔订单。每个订单容器都有自己的个人 设置独立于其他订单容器。例如,它是 可以在一个配置中订购裸机服务器和 另一个虚拟服务器。如果orderContainers填充在基础上 订单容器,大多数配置特定的属性 在基本容器上被忽略。例如,价格,位置和 packageId将在基本容器上被忽略,但是自从 billingInformation是一个并非特定于单个订单的属性 容器(但整个订单)必须填充在基础上 容器
所以你只需要为你的订单设置那个属性,例如
"orderContainers": [
order1,
order2
]
Note: replace order1 and order2 with the orders that you posted in your question
此致