Você pode configurar o nome da interface de um controlador de interface de rede (network interface controller, NIC) usando chamadas de API IaaS aplicadas por meio de ações de extensibilidade.

Para configurar o nome da interface de um NIC, você deve fazer chamadas GET e PATCH para a API IaaS do VMware Aria Automation. Ao fazer uma chamada GET para https://fqdn_do_seu_vRA/iaas/api/machines/{id}, você pode recuperar o link do NIC referente ao recurso de processamento que deseja modificar. Depois disso, você pode fazer uma chamada PATCH para https://fqdn_do_seu_vRA/iaas/api/machines/{id}/network-interfaces/{nicld}, que inclui o nome da interface do NIC como payload, para adicionar um novo nome ao NIC.

O cenário a seguir usa um script Python de amostra que pode ser usado para a configuração do nome da interface do NIC. Para seus próprios casos de uso, você pode usar um script e uma linguagem de script diferente, como Node.js.

Pré-requisitos

  • Você somente pode configurar o nome da interface do NIC antes de provisionar um recurso de processamento. Portanto, apenas o tópico do evento Provisionamento de Processamento pode ser selecionado para assinaturas de extensibilidade relevantes.
  • Você somente pode configurar os nomes de interface para NICs que usam o Microsoft Azure como provedor.

Procedimento

  1. Crie a ação de extensibilidade.
    1. Navegue até Extensibilidade > Ações.
    2. Clique em Nova Ação.
    3. Insira um nome e um projeto para a ação de extensibilidade e clique em Seguinte.
    4. Adicione o script de configuração da NIC.
      Veja abaixo um script de exemplo do 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
      O script de exemplo anterior executa duas operações principais por meio da API IaaS. Primeiro, o script usa uma chamada GET para recuperar o link do NIC e, depois, usa uma chamada PATCH para aplicar o nome da interface. Nesse exemplo, o nome da interface do NIC está codificado no script como "customized-nic-02".
    5. Para concluir a edição da ação de extensibilidade, clique em Salvar.
  2. Crie uma assinatura de extensibilidade.
    1. Navegue até Extensibilidade > Assinaturas.
    2. Clique em Nova Assinatura.
    3. Insira um nome para a assinatura de extensibilidade.
    4. Em Tópico de Evento, selecione Provisionamento de Processamento como o tópico do evento para a assinatura de extensibilidade.
    5. Em Ação/fluxo de trabalho, selecione a ação de extensibilidade que você criou para a configuração do NIC.
    6. Ative o bloqueio de eventos.
      Ao habilitar o bloqueio, você garante que o processo de provisionamento esteja bloqueado até que a ação de extensibilidade termine sua execução.
    7. Para concluir a edição da assinatura de extensibilidade, clique em Salvar.

Resultados

A nova assinatura de extensibilidade é executada quando um evento de provisionamento de processamento é disparado e configura o nome da interface do NIC para que os recursos de processamento sejam provisionados.