2017-10-10 57 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來獲取您訂單的最終價格 –