可以使用透過擴充性動作套用的 IaaS API 呼叫設定網路介面控制器 (NIC) 的介面名稱。

若要設定 NIC 的介面名稱,必須對 vRealize Automation Cloud IaaS API 進行 GETPATCH 呼叫。透過對 https://your_vRA_fqdn/iaas/api/machines/{id} 進行 GET 呼叫,可以擷取要修改的計算資源的 NIC 連結。然後,可以對 https://your_vRA_fqdn/iaas/api/machines/{id}/network-interfaces/{nicld} (將 NIC 介面名稱作為裝載包括在內) 進行 PATCH 呼叫,以便為 NIC 新增名稱。

以下案例使用可用於 NIC 介面名稱組態的範例 Python 指令碼。對於您自己的使用案例,您可以使用其他指令碼和指令碼語言,例如 Node.js。

必要條件

  • 只能在佈建計算資源之前設定 NIC 介面名稱。因此,只能為相關的擴充性訂閱選取計算資源佈建事件主題。
  • 只能為使用 Microsoft Azure 作為提供者的 NIC 設定 NIC 介面名稱。

程序

  1. 建立擴充性動作。
    1. 導覽至擴充性 > 動作
    2. 按一下新增動作
    3. 輸入擴充性動作的名稱和專案,然後按下一步
    4. 新增 NIC 組態指令碼。
      以下是一個範例 Python 指令碼:
      import json
      
      def handler(context, inputs):
          
          # Get the machine info, which contains machine nic link
          response = context.request('/iaas/api/machines/'+inputs["resourceIds"][0], "GET", {})
          
          # Build PATCH machine nic payload here
          name = "customized-nic-02";
          data = {'name':name};
          
          # Convert machine data string to json object
          response_json = json.loads(response["content"])
          
          # Patch machine nic
          response_patch = context.request(response_json["_links"]["network-interfaces"]["hrefs"][0] + "?apiVersion=2021-07-15", 'PATCH', data)
      
          # return value is empty since we are not changing any compute provisioning parameters
          outputs = {}
          return outputs
      上述範例指令碼透過 IaaS API 執行兩項主要作業。首先,該指令碼使用 GET 呼叫擷取 NIC 連結,然後使用 PATCH 呼叫套用介面名稱。在此範例中,NIC 介面名稱已硬式編碼為 "customized-nic-02"
    5. 若要完成擴充性動作編輯,請按一下儲存
  2. 建立擴充性訂閱。
    1. 導覽至擴充性 > 訂閱
    2. 按一下新增訂閱
    3. 輸入擴充性訂閱的名稱。
    4. 事件主題下,選取計算資源佈建作為擴充性訂閱的事件主題。
    5. 動作/工作流程下,選取為 NIC 組態建立的擴充性動作。
    6. 啟用事件封鎖。
      透過啟用封鎖,可確保在擴充性動作完成執行之前封鎖佈建程序。
    7. 若要完成擴充性訂閱編輯,請按一下儲存

結果

新的擴充性訂閱在觸發計算資源佈建事件時執行,並為要佈建的計算資源設定 NIC 介面名稱。