2016-05-18 2 views
0

Ich bekomme diesen Fehler unten bei dem Versuch, SAN Disk für vorhandene VM zu bestellen. Dies hat in den letzten Tagen gut funktioniert und scheiterte plötzlich. mit Fehlern:SoftLayer_Exception_Public): Für den Upgrade-Auftrag wurde ein aktueller Preis angegeben. Bitte senden Sie einen anderen Preis, um den Artikel zu aktualisieren

File "C:\Python27\lib\site-packages\softlayer-2.2.0-py2.7.egg\SoftLayer\API.py", line 446, in 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", line 344, in call verbose=self.verbose) File "C:\Python27\lib\site-packages\softlayer-2.2.0-py2.7.egg\SoftLayer\transport.py", line 65, in make_xml_rpc_api_call e.faultCode, e.faultString) SoftLayer.exceptions.SoftLayerAPIError: SoftLayerAPIError(SoftLayer_Exception_Public): A current price was provided for the upgrade order. Please send a different price to upgrade the item.

Was bedeutet das auch? Hier ist der Auftragsbehälter >>

{'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) 

Wie habe ich Preis ID erhalten:

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

Eigentlich nur habe ich versucht, wieder mit einer anderen Größe Scheibe (250 SAN statt 200) und es funktionierte. Könnte es ein Fehler sein? –

+0

Wäre nett, wenn es eine sinnvolle Fehlermeldung gäbe. –

Antwort

1

Die Ausnahme, die Sie bekam:

"A current price was provided for the upgrade order. Please send a different price to upgrade the item"

Bedeutet, dass der Preis, den Sie zur Verfügung gestellt ist Wie Sie bereits auf dem Server haben, können Sie die Preise, die bereits auf Ihrem Server sind, mit der folgenden Anfrage überprüfen:

https://$user:[email protected]/rest/v3/SoftLayer_Virtual_Guest/$vsiId/getBillingItem?objectMask=mask[orderItem[order[items]]] 

Method: Get 

ersetzen: $ user, $ apikey und $ vsiId mit Ihren eigenen Informationen

Updated

Prüfgegenstand Preise Kategorien

https://$user:[email protected]/rest/v3/SoftLayer_Virtual_Guest/$vsiId/getUpgradeItemPrices?objectMask=mask[categories] 

Method: Get 

Updated 2

Es ist notwendig, Kategorien zu definieren innerhalb von jeder Preis, werfen Sie einen Blick auf das Beispiel:

{'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'} 

Referenzen:

+0

Vielen Dank für Ihre Antwort. Das ist wahr. Ich habe ein 200G SAN bereits auf dem Server. Kann ich also keine weitere 200G Diskette hinzufügen, wenn ich schon eine habe? –

+0

Ja, Sie können aber nicht als erste Festplatte, weil ich denke, der Preis: 112927 hat die erste Festplatte als Kategorie, müssen Sie die Kategorien für die Artikel Preise, die Sie zur Verfügung gestellt überprüfen, finden Sie im aktualisierten Abschnitt in meiner Antwort Kategorien zu überprüfen. –

+0

112927 ist für die dritte Festplatte scheint es .. '{'itemId': 1223, 'SetupFee': '0', 'recommendingFee': '10 .93', 'Kategorien': [{'id': 92, 'Name' : 'Third Disk'}], 'laborFee': '0', 'locationGroupId': 545, 'quantity': ''} 'und das ist, was ich hinzufügen möchte ' –

Verwandte Themen