可以使用透過擴充性動作套用的 IaaS API 呼叫設定網路介面控制器 (NIC) 的介面名稱。
若要設定 NIC 的介面名稱,必須對 VMware Aria Automation IaaS API 進行 GET
和 PATCH
呼叫。透過對 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 介面名稱。
程序
- 建立擴充性動作。
- 導覽至 。
- 按一下新增動作。
- 輸入擴充性動作的名稱和專案,然後按下一步。
- 新增 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"
。 - 若要完成擴充性動作編輯,請按一下儲存。
- 建立擴充性訂閱。
- 導覽至 。
- 按一下新增訂閱。
- 輸入擴充性訂閱的名稱。
- 在事件主題下,選取計算資源佈建作為擴充性訂閱的事件主題。
- 在動作/工作流程下,選取為 NIC 組態建立的擴充性動作。
- 啟用事件封鎖。
透過啟用封鎖,可確保在擴充性動作完成執行之前封鎖佈建程序。
- 若要完成擴充性訂閱編輯,請按一下儲存。
結果
新的擴充性訂閱在觸發計算資源佈建事件時執行,並為要佈建的計算資源設定 NIC 介面名稱。