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