2017-06-07 74 views
0

通過使用此代碼,我可以順序連接磁盤。
設備2,設備3,設備4將外部磁盤連接到特定位置

但我想附加一個特定位置的磁盤。 我想直接連接第3張磁盤或第4張磁盤。 沒有升級之前的磁盤

代碼

  for disk in external_disks: 
        obj = {} 
        obj['id'] = getDiskPriceId(client, disk) 
        #obj['id'] = 2277 
        #logger.info("disk %s size: %s --\n" ,(str(disk_num)), (str(disk))) 
        if obj['id'] == "": 
          print("Invalid external disk size") 
          exit(1) 
        categories = {} 
        categories['categoryCode'] = "guest_disk"+str(disk_num) 
        categories['complexType'] = "SoftLayer_Product_Item_Category" 
        obj['categories'] =[categories] 
        obj["complexType"] = "SoftLayer_Product_Item_Price" 
        prices.append(obj) 
        disk_num = disk_num + 1 


      response = client.call('SoftLayer_Product_Order','placeOrder', { 
             "virtualGuests": [{ 
                "id": id 
              }], 
             "prices": prices, 
             "properties": [{ 
                 "name": "NOTE_GENERAL", 
                 "value": "adding disks" 
               },{ 
                 "name": "MAINTENANCE_WINDOW", 
                 "value": "now" 
              }], 
             "complexType": "SoftLayer_Container_Product_Order_Virtual_Guest_Upgrade" 
         }) 

回答

0

您可以通過屬性categoryCode直接連接到一個特定的位置,下面的順序:

guest_disk1爲第二塊硬盤

guest_disk2的第三個磁盤

guest_disk3四盤

guest_disk4第五盤

確保項目的價格有你需要的categoryCode,您可以使用該方法驗證SoftLayer_Virtual_Guest::getUpgradeItemPrices如下:

https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/[deviceId]/getUpgradeItemPrices 

關於價格的以下結構允許將盤直接附加到第三和第四位置。

prices = [ 
    { 
     'id': 2299, 
     'categories': [ 
      { 
       'categoryCode': 'guest_disk2', 
       'complexType': 'SoftLayer_Product_Item_Category' 
      } 
     ], 
     'complexType': 'SoftLayer_Product_Item_Price' 
    }, 

    { 
     'id': 2288, 
     'categories': [ 
      { 
       'categoryCode': 'guest_disk3', 
       'complexType': 'SoftLayer_Product_Item_Category' 
      } 
     ], 
     'complexType': 'SoftLayer_Product_Item_Price' 
    } 
] 

在代碼中disk_num值必須2和3之間,以直接附到磁盤的第三和第四位置。

注意: 如果您想更換/更換磁盤更多/更少的空間,您只需要應用相同的想法。使用當前磁盤的categoryCode值設置新磁盤的categoryCode。

我希望這對你有所幫助。

+0

謝謝@Albert :) –