2017-10-10 124 views
0

我试图获取有关价格从SoftLayer的API虚拟服务器与此Python代码信息:SoftLayer的API获取公共虚拟服务器提供

client['Product_Package'].getItems(id=835) 

收到了成效,我试图用重新口味的报价 网页上https://www.softlayer.com/cloud-computing/bluemix/Store/orderComputingInstance?language=en&cm_mc_uid=06493590598515064371141&cm_mc_sid_50200000=1506586953&cm_mc_sid_52640000=1506586953

基地我注意到,有味道(平衡,平衡的本地存储,平衡本地存储SSD,计算,内存)的几组,他们每个人都有:这些都是在本网页上找到一些用RAM和硬盘驱动cpu的特殊规则。

不幸的是我从Softlayer API的报价中找不到这个逻辑(用于匹配RAM和硬盘的CPU)。是的,ram产品中有keyName属性,其中包含“平衡”,“内存”,“硬盘”和CPU名称等字样,但仅从网页重新创建报价是不够的。例如,我错过了在平衡本地存储风格中使用哪个CPU的信息,哪些风格允许使用哪些硬盘,有时在keyName属性中没有任何特殊名称的RAM提供(我虽然只应用于计算风格)为不同的口味。

哪个结果是正确的?在网页上或从API?

如何获得匹配配料成分的逻辑?

回答

0

最简单的方式订购的口味只是使用方法:

http://sldn.softlayer.com/reference/services/softlayer_virtual_guest/createObject

你只需要设置你想要的味道,你可以看到使用该方法中的所有可用的口味:

http://sldn.softlayer.com/reference/services/SoftLayer_Virtual_Guest/getCreateObjectOptions

在这里你可以看到这样的例子:

Softlayer API send SSD disk information?

现在,如果你想使用的方法placeOrder在,为了得到口味,你需要调用方法:

http://sldn.softlayer.com/reference/services/softlayer_product_package/getactivepresets

方法将返回口味的包,你想,然后在你的订单,你需要设置一个presetId看到http://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Product_Order_Virtual_Guest了解更多信息,基本上你应该只在您的订单中添加此属性:

presetId

包的预设配置ID。如果不是 则需要提交任何价格。类型:整数

由于风味(或预设)已经具有某些项目(如CPU,RAM或磁盘)的配置,因此不需要在订单中添加这些价格。

+0

这个endpont返回我需要的口味: http://sldn.softlayer.com/reference/services/softlayer_product_package/getactivepresets 当调用它与掩码='价格,位置'我也可以得到价格和位置味道是可用的。 但价格只适用于locationGroupId ='',有没有办法获得所有可用价格? 或者我是否需要迭代客户端['Product_Package']。getItems(id = 835)的结果以从getActivePresets中为每个预设的每种成分收集每个位置的价格? –

+0

我不知道控制门户如何获得价格,我猜他们在物品上进行迭代,也许这个面具可以帮助你掩盖[价格[物品]],使用它你可以获得风味的项目,然后调用getItems,你可以寻找那些物品和你想要的位置的价格。 locationGroupId之所以为空,是因为它们是标准价格,一旦您调用placeOrder或verifyOrder方法,价格将随您的订单位置而变化,它们适用于任何位置,因此您可以使用verifyOrder来获取您订单的最终价格 –

相关问题