可以使用通过可扩展性操作应用的 IaaS API 调用配置网络接口控制器 (NIC) 的接口名称。
要配置 NIC 的接口名称,必须对 vRealize 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 接口名称。