Имя интерфейса контроллера сетевого интерфейса (сетевого адаптера) можно настроить с помощью вызовов API-интерфейса инфраструктуры как услуги, применяемых с помощью действий расширяемости.

Чтобы настроить имя интерфейса сетевого адаптера, необходимо выполнить вызовы GET и PATCH к API-интерфейсу инфраструктуры как услуги VMware Aria Automation. При выполнении вызова GET к https://your_vRA_fqdn/iaas/api/machines/{id} можно извлечь ссылку сетевого адаптера для вычислительного ресурса, который требуется изменить. Затем можно выполнить вызов PATCH к https://your_vRA_fqdn/iaas/api/machines/{id}/network-interfaces/{nicld}, который содержит имя сетевого адаптера в качестве полезных данных, что позволяет добавить новое имя сетевого адаптера.

В следующем примере используется сценарий Python, который можно применить для настройки имени интерфейса сетевого адаптера. Вы можете использовать другой сценарий и язык сценария, например Node.js.

Необходимые условия

  • Имя интерфейса сетевого адаптера можно настроить только до подготовки вычислительного ресурса. Поэтому для соответствующих подписок с поддержкой расширяемости можно выбрать только тему события Compute Provision.
  • Имена интерфейса можно настроить только для сетевых адаптеров, которые используют Microsoft Azure в качестве поставщика.

Процедура

  1. Создайте действие расширяемости.
    1. а. Выберите Расширяемость > Действия.
    2. б. Щелкните Создать действие.
    3. в. Введите имя и проект для действия расширяемости и щелкните Далее.
    4. г. Добавьте сценарий настройки сетевого адаптера.
      Ниже приведен пример сценария 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
      В предыдущем примере сценарий выполняет две основные операции через API-интерфейс инфраструктуры как услуги. Сначала сценарий использует вызов GET для извлечения ссылки сетевого адаптера, а затем использует вызов PATCH, чтобы применить имя интерфейса. В этом примере имя интерфейса сетевого адаптера жестко запрограммировано в сценарии как "customized-nic-02".
    5. д. Чтобы завершить редактирование нового действия расширяемости, щелкните Сохранить.
  2. Создание подписки с поддержкой расширяемости.
    1. а. Выберите Расширяемость > Подписки.
    2. б. Щелкните Создать подписку.
    3. в. Введите имя подписки с поддержкой расширяемости.
    4. г. В поле Тема события в качестве темы события для подписки с поддержкой расширяемости выберите Compute Provision.
    5. д. В поле Действие/рабочий процесс выберите действие расширяемости, созданное для настройки сетевого адаптера.
    6. е. Включите блокировку событий.
      Включение блокировки позволяет убедиться в том, что процесс подготовки заблокирован до тех пор, пока не будет завершено выполнение действия расширяемости.
    7. ё. Чтобы завершить редактирование подписки с поддержкой расширяемости, щелкните Сохранить.

Результаты

Новая подписка с поддержкой расширяемости выполняется при инициировании события подготовки вычислительного ресурса и обеспечивает настройку имени интерфейса сетевого адаптера для подготавливаемых вычислительных ресурсов.