2016-05-12 23 views
0
hw = { 
     'datacenter': {'name': 'che01'}, 
     'hostname': 'baremetal', 
     'domain': 'cds.net', 
     'hourlyBillingFlag': True, 
     'fixedConfigurationPreset': {'keyName': 'S1270_32GB_1X1TBSATA_NORAID'}, 
     'networkComponents': [{ 
      'maxSpeed': 1000 
      # 'redundancyEnabledFlag': True, 
     }], 
     'operatingSystemReferenceCode': 'UBUNTU_14_64' 
    } 
    productOrder = slClient['Hardware'].generateOrderTemplate(hw) 

order = slClient['Hardware'].createObject(productOrder) 

运行上面的代码,它给这个错误:供应baremetal是给“主机名”必须设置错误

SoftLayer.exceptions.SoftLayerAPIError: SoftLayerAPIError(SoftLayer_Exception_MissingCreationProperty): The property 'hostname' must be set to create an instance of 'SoftLayer_Hardware' I hostname is specified, still it is giving hostname property is not set.

能否请您让我知道我在做正确?

回答

0

问题是,一旦您调用generateOrderTemplate方法,它将创建一个订单容器,该订单容器适用于verifyOrderplaceOrder方法。

所以你不必使用createObject方法,而是使用placeOrder方法

例如

import SoftLayer 

slClient = SoftLayer.Client() 

hw = { 'datacenter': 
      {'name': 'che01'}, 
     'hostname': 'baremetal', 
     'domain': 'cds.net', 
     'hourlyBillingFlag': True, 
     'fixedConfigurationPreset': 
      {'keyName': 'S1270_32GB_1X1TBSATA_NORAID'}, 
     'networkComponents': 
      [{ 'maxSpeed': 1000 #'redundancyEnabledFlag': True 
      , }], 
     'operatingSystemReferenceCode': 'UBUNTU_14_64' } 
productOrder = slClient['Hardware'].generateOrderTemplate(hw) 

order = slClient['Product_Order'].placeOrder(productOrder) 
相关问题