在尝试为现有虚拟机订购SAN磁盘时,我收到此错误。这种情况在过去几天一直很好,并且突然失败了。 有错误:
文件 " C:\ Python27 \ lib中\站点包\ SOFTLAYER-2.2.0-py2.7.egg \的SoftLayer \ API.py&#34 ;, 第446行,在call_handler中 return self.call(self._service_name,name,* args,** kwargs)File" C:\ Python27 \ lib \ site-packages \ softlayer-2.2.0-py2.7.egg \ SoftLayer \ API。 PY&#34 ;, 第344行,正在通话中 verbose = self.verbose)File" C:\ Python27 \ lib \ site-packages \ softlayer-2.2.0-py2.7.egg \ SoftLayer \ transport.py", 第65行,在make_xml_rpc_api_call中 e.faultCode,e.faultString)SoftLayer.exceptions.SoftLayerAPIError: SoftLayerAPIError(SoftLayer_Exception_Public):当前价格是 提供升级订单。请发送不同的价格 升级项目。
这甚至意味着什么? 这是订单容器>>
{'prices': [{'id': 112927}], 'virtualGuests': [{'id': 15825861}], 'properties': [{'name': 'MAINTENANCE_WINDOW', 'value': '2016-05-17 16:41:45.029000'}], 'categories': [{'categoryCode': 'disk4'}], 'complexType': 'SoftLayer_Container_Product_Order_Virtual_Guest_Upgrade'}
orderClient = SoftLayer.API.Client('SoftLayer_Product_Order', None, username=getUser(detailsFilePath), api_key=getKey(detailsFilePath))
orderClient.placeOrder(orderContainer)
packageClient = SoftLayer.API.Client('SoftLayer_Virtual_Guest', virtualGuestid, username=getUser(detailsFilePath), api_key=getKey(detailsFilePath))
items = packageClient.getUpgradeItemPrices()
for item in items:
if item.get('item')['keyName'] == keyname:
return item['id']
答案 0 :(得分:1)
你得到的例外:
"为升级订单提供了当前价格。请寄一个 不同的价格升级项目"
表示您提供的价格与您在服务器上已有的价格相同,您可以使用以下请求验证服务器上已有的价格:
https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/$vsiId/getBillingItem?objectMask=mask[orderItem[order[items]]]
Method: Get
使用您自己的信息替换:$ user,$ apiKey和$ vsiId
更新
检查商品价格类别
https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/$vsiId/getUpgradeItemPrices?objectMask=mask[categories]
Method: Get
更新了2
有必要在每个价格中定义类别,看看示例:
{'prices': [{'id': 112927, 'categories': [{'categoryCode': "guest_disk4"}]}], 'virtualGuests': [{'id': 15825861}], 'properties': [{'name': 'MAINTENANCE_WINDOW', 'value': '2016-05-17 16:41:45.029000'}], 'complexType': 'SoftLayer_Container_Product_Order_Virtual_Guest_Upgrade'}
参考文献: