0

我正在尝试使用 Softlayer Python 客户端在 Softlayer 中订购虚拟服务器。我的订单 json 如下所示:

order = {
'complexType': 'SoftLayer_Container_Product_Order_Virtual_Guest', 
'quantity': 1, 
'virtualGuests': [
      {
        'hostname': 'test', 
        'domain': 'example.com', 
        'primaryBackendNetworkComponent': {
            'networkVlan': {
              'id': 752950
            }
           }
      }
],
'location': 142775, 
'packageId': 46, 
'useHourlyPricing': True,
'prices': [
           {'id': 112863},  # 2 x 2.0 GHz Core
           {'id': 153861},  # 1 GB RAM
           {'id': 23070},  # Reboot / Remote Console
           {'id':  155153},  # 1 Gbps Public & Private Networks
           {'id': 164857},  # 1000 GB Bandwidth
           {'id': 34807},  # 1 IP Address
           {'id': 24013},  # 25 GB (SAN)
           {'id': 23820},  # OS_WINDOWS_2012_FULL_STD_64_BIT
           {'id': 27023},  # Host Ping Monitoring
           {'id': 32500},  # Email and Ticket Notifications
           {'id': 32627},  # Automated Notification Response
           {'id': 33483},  # Unlimited SSL VPN Users & 1 PPTP VPN User per account
           {'id': 36536} # VMWARE VCenter addon
]
}

我在实际下订单之前验证了订单:

client['Product_Order'].verifyOrder(order)

但我不断收到此错误消息:2 x 2.0 GHz Cores (#112863) 的价格对于位置 hou02 无效。我已经尝试了所有其他位置,但我不断收到相同的错误消息。你知道我能解决这个问题吗?

4

1 回答 1

1

您需要选择位于您正在使用的位置/数据中心中的其他项目价格 ID。

要根据位置获取有效的商品价格 ID,您可以执行:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Product_Package/46/getItemPrices?objectMask=mask[id,locationGroupId,item[keyName,description],pricingLocationGroup[locations[id, name, longName]]]

方法:获取

注意: locationGroupId = null 的价格 ID 被视为“标准价格”,API 将在内部为客户切换价格。但我们建议先执行 verifyOrder 以查看想要的订单是否正常(费用可能会有所不同)。

此外,以下请求可以帮助您根据特定位置/数据中心获取有效的商品价格(只需在上一个请求中添加一些过滤器):

其中: “814994”是“阿姆斯特丹 3”

方法:获取

于 2015-10-08T22:52:40.353 回答