2017-11-08 2 views
0

Wenn ich SoftLayer API verwendet, um CCI mit Geschmack, die spezifische CPU, RAM und erste Festplatte zu erstellen, konnte ich nicht die zweite Festplatte wie zuvor anhängen.Softlayer-API Auftrag zurückgeben Paket (835) erfordert einen voreingestellten Konfigurationsfehler

Und ich einfügen Prozessdetails:

  1. CCI schaffen durch create und Parameter unter:

    POST https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest.json 
    { 
        "parameters": [ 
         { 
          "blockDeviceTemplateGroup": { 
           "globalIdentifier": "2aae2a36-76f3-4d2f-9881-e86fa15b040b" 
          }, 
          "datacenter": { 
           "name": "dc02" 
          }, 
          "dedicatedAccountHostOnlyFlag": false, 
          "domain": "softlayer.com", 
          "hostname": "server-ed-20171108-032526-888", 
          "hourlyBillingFlag": true, 
          "localDiskFlag": false, 
          "networkComponents": [ 
           { 
            "maxSpeed": 100 
           } 
          ], 
          "primaryBackendNetworkComponent": { 
           "networkVlan": { 
            "id": 12345678, 
            "networkSpace": "PRIVATE" 
           } 
          }, 
          "primaryNetworkComponent": { 
           "networkVlan": { 
            "id": 12345676, 
            "networkSpace": "PUBLIC" 
           } 
          }, 
          "privateNetworkOnlyFlag": false, 
          "supplementalCreateObjectOptions": { 
           "flavorKeyName": "B1_4X8X25" 
          } 
         } 
        ] 
    } 
    
  2. Warten auf Rückstellung für Auftrag vergeben

  3. Anfrage SoftLayer_Product_Package Objekte beenden

    GET https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/{vmid}.json?objectMask=mask%5BprimaryBackendNetworkComponent%5BprimaryIpAddress%2C+networkVlan%5Bid%2Cname%2CvlanNumber%2CprimaryRouter%5D%2C+subnets%5Bnetmask%2CnetworkIdentifier%5D%5D%2C+primaryNetworkComponent%5BprimaryIpAddress%2C+networkVlan%5Bid%2Cname%2CvlanNumber%2CprimaryRouter%5D%2C+subnets%5Bnetmask%2CnetworkIdentifier%5D%5D%5D 
    

    Softlayer gibt zwei Pakete (I verwendet erstens)

    [ 
        { 
         "description": "Virtual Server Instance", 
         "id": 46, 
         "isActive": 1, 
         "name": "Cloud Server", 
         "type": { 
          "keyName": "VIRTUAL_SERVER_INSTANCE" 
         } 
        }, 
        { 
         "description": "Public Virtual Server", 
         "id": 835, 
         "isActive": 1, 
         "name": "Public Virtual Server", 
         "type": { 
          "keyName": "VIRTUAL_SERVER_INSTANCE" 
         } 
        } 
    ] 
    
  4. anfordern SoftLayer_Virtual_Guest getUpgradeItemPrices für das Upgrade Artikelpreis für die zweite Platte zu finden

    POST https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/{vmid}/getUpgradeItemPrices.json 
    

    Und bekommen 167 Artikelpreise und Auswahl ersten Artikel Spiel KategorieCode und Kapazität.

  5. Bestellung absenden

    POST https://api.softlayer.com/rest/v3.1/SoftLayer_Product_Order/placeOrder.json 
    Parameters: 
    { 
        "parameters": [ 
         { 
          "complexType": "SoftLayer_Container_Product_Order_Virtual_Guest_Upgrade", 
          "packageId": 46, 
          "prices": [ 
           { 
            "categories": [ 
             { 
              "categoryCode": "guest_disk1", 
              "id": 82, 
              "name": "Second Disk", 
              "quantityLimit": 0 
             } 
            ], 
            "currentPriceFlag": false, 
            "hourlyRecurringFee": 0.013, 
            "id": 112953, 
            "item": { 
             "attributes": [ 
              { 
               "attributeType": { 
                "keyName": "SAN_DISK", 
                "name": "SAN Disk" 
               }, 
               "id": 196, 
               "itemAttributeTypeId": 50, 
               "itemId": 922, 
               "value": "1" 
              } 
             ], 
             "capacity": 100, 
             "description": "100 GB (SAN)", 
             "id": 922, 
             "itemTaxCategoryId": 166, 
             "keyName": "GUEST_DISK_100_GB_SAN_3", 
             "localDiskFlag": false, 
             "units": "GB" 
            }, 
            "itemId": 922, 
            "laborFee": 0, 
            "locationGroupId": 505, 
            "oneTimeFee": 0, 
            "pricingLocationGroup": { 
             "description": "Location Group 3", 
             "id": 505, 
             "locationGroupType": { 
              "name": "PRICING" 
             }, 
             "locationGroupTypeId": 82, 
             "locations": [ 
              { 
               "id": 449600, 
               "longName": "Mexico 1", 
               "name": "mex01", 
               "statusId": 2 
              }, 
              { 
               "id": 2124095, 
               "longName": "London 6", 
               "name": "lon06", 
               "statusId": 2 
              }, 
              { 
               "id": 167094, 
               "longName": "London 1", 
               "name": "lon01", 
               "statusId": 2 
              }, 
              { 
               "id": 358694, 
               "longName": "London 2", 
               "name": "lon02", 
               "statusId": 2 
              }, 
              { 
               "id": 2017395, 
               "longName": "London 4", 
               "name": "lon04", 
               "statusId": 2 
              }, 
              { 
               "id": 1541257, 
               "longName": "Oslo 1", 
               "name": "osl01", 
               "statusId": 2 
              } 
             ], 
             "name": "Location Group 3" 
            }, 
            "recurringFee": 7.98, 
            "setupFee": 0, 
            "sort": 0 
           } 
          ], 
          "properties": [ 
           { 
            "name": "MAINTENANCE_WINDOW", 
            "value": "2017-11-08T03:34:12Z" 
           }, 
           { 
            "name": "NOTE_GENERAL", 
            "value": "Upgrade instance configuration." 
           } 
          ], 
          "virtualGuests": [ 
           { 
            "id": {vmid} 
           } 
          ] 
         }, 
         false 
        ] 
    } 
    

    Diese Anfrage erhalten Fehler mit Response: {"error":"Invalid data on the order for property: packageId. Package (835) requires a preset configuration.","code":"SoftLayer_Exception_Order_InvalidData"}

Die Anforderung ist, dass ich Paket verwendet '46' zu aktualisieren, aber Softlayer Rückkehr Fehler über Paket '835'. Was bedeutet das?

+0

Und ich habe Paket '835' verwendet, um placementOrder den gleichen Fehler zurückzugeben. – Edward

Antwort

1

Versuchen Sie, die Eigenschaft "presetId" in Ihrer Anfrage mit einem Wert = 0 hinzuzufügen, und setzen Sie die Paket-ID auf 0, z.

POST https://api.softlayer.com/rest/v3.1/SoftLayer_Product_Order/placeOrder.json 
Parameters: 
{ 
    "parameters": [ 
     { 
      "complexType": "SoftLayer_Container_Product_Order_Virtual_Guest_Upgrade", 
      "packageId": 0, 
      "presetId": 0, 
      "prices": [ 
       { 
        "categories": [ 
         { 
          "categoryCode": "guest_disk1", 
          "id": 82, 
          "name": "Second Disk", 
          "quantityLimit": 0 
         } 
        ], 
        "currentPriceFlag": false, 
        "hourlyRecurringFee": 0.013, 
        "id": 112953, 
        "item": { 
         "attributes": [ 
          { 
           "attributeType": { 
            "keyName": "SAN_DISK", 
            "name": "SAN Disk" 
           }, 
           "id": 196, 
           "itemAttributeTypeId": 50, 
           "itemId": 922, 
           "value": "1" 
          } 
         ], 
         "capacity": 100, 
         "description": "100 GB (SAN)", 
         "id": 922, 
         "itemTaxCategoryId": 166, 
         "keyName": "GUEST_DISK_100_GB_SAN_3", 
         "localDiskFlag": false, 
         "units": "GB" 
        }, 
        "itemId": 922, 
        "laborFee": 0, 
        "locationGroupId": 505, 
        "oneTimeFee": 0, 
        "pricingLocationGroup": { 
         "description": "Location Group 3", 
         "id": 505, 
         "locationGroupType": { 
          "name": "PRICING" 
         }, 
         "locationGroupTypeId": 82, 
         "locations": [ 
          { 
           "id": 449600, 
           "longName": "Mexico 1", 
           "name": "mex01", 
           "statusId": 2 
          }, 
          { 
           "id": 2124095, 
           "longName": "London 6", 
           "name": "lon06", 
           "statusId": 2 
          }, 
          { 
           "id": 167094, 
           "longName": "London 1", 
           "name": "lon01", 
           "statusId": 2 
          }, 
          { 
           "id": 358694, 
           "longName": "London 2", 
           "name": "lon02", 
           "statusId": 2 
          }, 
          { 
           "id": 2017395, 
           "longName": "London 4", 
           "name": "lon04", 
           "statusId": 2 
          }, 
          { 
           "id": 1541257, 
           "longName": "Oslo 1", 
           "name": "osl01", 
           "statusId": 2 
          } 
         ], 
         "name": "Location Group 3" 
        }, 
        "recurringFee": 7.98, 
        "setupFee": 0, 
        "sort": 0 
       } 
      ], 
      "properties": [ 
       { 
        "name": "MAINTENANCE_WINDOW", 
        "value": "2017-11-08T03:34:12Z" 
       }, 
       { 
        "name": "NOTE_GENERAL", 
        "value": "Upgrade instance configuration." 
       } 
      ], 
      "virtualGuests": [ 
       { 
        "id": {vmid} 
       } 
      ] 
     }, 
     false 
    ] 
} 

lassen Sie mich wissen, wenn das Ihr Problem beheben.

+0

Ich habe festgelegt, dass sowohl 'packageId' als auch 'presetId' 0 sind, es gibt denselben Fehler zurück. Was bedeutet die Nullwertbedeutung? – Edward

+0

Bitte versuchen Sie, diese Werte zu entfernen (packageId und Presete) und lassen Sie mich wissen, wenn das Problem noch voreingestellt istId –

+0

auch bitte versuchen Einstellung der presetId Wert auf 223, die PresetID bedeutet den Geschmack, den Sie ausgewählt, um Ihre VSI zu bestellen, hatte ich verstanden das war nicht nötig, aber es scheint so zu sein. Sie können die Voreinstellung, die Sie für die VSI verwendet haben, wie folgt erhalten: GET https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/ {VSIID}/getObject? ObjectMask = mask [id, billingItem [id, orderItem [ presetId]]] –