可以使用通过可扩展性操作应用的 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 接口名称。