Softlayer API 下订单 return 包 (835) 需要预设配置错误
Softlayer API place order return Package (835) requires a preset configuration error
当我使用 SoftLayer API 使用特定 CPU、ram 和第一个磁盘的风格创建 CCI 时,我无法像以前那样附加第二个磁盘。
然后我粘贴过程细节:
通过createObject创建CCI,参数如下:
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"
}
}
]
}
等待配置完成
请求SoftLayer_Product_Package个物品下单
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 return两个包(我先用的)
[
{
"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"
}
}
]
请求SoftLayer_Virtual_Guest getUpgradeItemPrices 以查找第二个磁盘的升级项目价格
POST https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/{vmid}/getUpgradeItemPrices.json
并获得 167 件商品价格和选择第一个匹配类别代码和容量的商品。
下订单
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
]
}
此请求出错 Response: {"error":"Invalid data on the order for property: packageId. Package (835) requires a preset configuration.","code":"SoftLayer_Exception_Order_InvalidData"}
请求是我使用包“46”进行升级,但是 Softlayer return 关于包“835”的错误。这是什么意思?
尝试在您的请求中添加值 = 0 的 属性 "presetId",并将 packageId 设置为 0。例如
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
]
}
如果这能解决您的问题,请告诉我。
当我使用 SoftLayer API 使用特定 CPU、ram 和第一个磁盘的风格创建 CCI 时,我无法像以前那样附加第二个磁盘。
然后我粘贴过程细节:
通过createObject创建CCI,参数如下:
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" } } ] }
等待配置完成
请求SoftLayer_Product_Package个物品下单
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 return两个包(我先用的)
[ { "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" } } ]
请求SoftLayer_Virtual_Guest getUpgradeItemPrices 以查找第二个磁盘的升级项目价格
POST https://api.softlayer.com/rest/v3.1/SoftLayer_Virtual_Guest/{vmid}/getUpgradeItemPrices.json
并获得 167 件商品价格和选择第一个匹配类别代码和容量的商品。
下订单
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 ] }
此请求出错
Response: {"error":"Invalid data on the order for property: packageId. Package (835) requires a preset configuration.","code":"SoftLayer_Exception_Order_InvalidData"}
请求是我使用包“46”进行升级,但是 Softlayer return 关于包“835”的错误。这是什么意思?
尝试在您的请求中添加值 = 0 的 属性 "presetId",并将 packageId 设置为 0。例如
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
]
}
如果这能解决您的问题,请告诉我。