Puede configurar el nombre de la interfaz de una controladora de interfaz de red (network interface controller, NIC) mediante llamadas API de IaaS aplicadas a través de acciones de extensibilidad.

Para configurar el nombre de la interfaz de una NIC, debe realizar llamadas GET y PATCH a las API de IaaS de vRealize Automation Cloud. Al realizar una llamada GET a https://su_FQDN_vRA/iaas/api/machines/{id}, puede recuperar el vínculo de NIC del recurso informático que desea modificar. A continuación, puede realizar una llamada PATCH para https://su_FQDN_vRA/iaas/api/machines/{id}/network-interfaces/{nicld}, que incluye el nombre de la interfaz de NIC como carga útil, para agregar el nuevo nombre de la NIC.

En el siguiente escenario, se utiliza un script de Python de ejemplo que se puede utilizar para la configuración del nombre de la interfaz de NIC. Para sus propios casos prácticos, puede utilizar un script y un lenguaje de script diferentes, como Node.js.

Requisitos previos

  • Solo puede configurar el nombre de la interfaz de NIC antes de aprovisionar un recurso informático. Por lo tanto, solo se puede seleccionar el tema de eventos Aprovisionamiento de recurso informático para las suscripciones de extensibilidad relevantes.
  • Solo puede configurar nombres de interfaz de NIC para las NIC que usan Microsoft Azure como proveedor.

Procedimiento

  1. Cree la acción de extensibilidad.
    1. Desplácese hasta Extensibilidad > Acciones.
    2. Haga clic en Nueva acción.
    3. Introduzca un nombre y un proyecto para la acción de extensibilidad y haga clic en Siguiente.
    4. Agregue el script de configuración de NIC.
      El siguiente es un script de 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
      El script de ejemplo anterior realiza dos operaciones principales a través de la API de IaaS. En primer lugar, el script utiliza una llamada GET para recuperar el vínculo de NIC y, a continuación, utiliza una llamada PATCH para aplicar el nombre de la interfaz. En este ejemplo, el nombre de la interfaz de NIC está codificado de forma rígida en el script como "customized-nic-02".
    5. Para finalizar la edición de la acción de extensibilidad, haga clic en Guardar.
  2. Cree una suscripción de extensibilidad.
    1. Desplácese hasta Extensibilidad > Suscripciones.
    2. Haga clic en Nueva suscripción.
    3. Introduzca un nombre para la suscripción de extensibilidad.
    4. En Tema de evento, seleccione Aprovisionamiento de recurso informático como el tema de evento de la suscripción de extensibilidad.
    5. En Acción/flujo de trabajo, seleccione la acción de extensibilidad que creó para la configuración de NIC.
    6. Habilite el bloqueo de eventos.
      Al hacerlo, asegúrese de que el proceso de aprovisionamiento esté bloqueado hasta que la acción de extensibilidad se termine de ejecutar.
    7. Para finalizar la edición de la suscripción de extensibilidad, haga clic en Guardar.

Resultados

La nueva suscripción de extensibilidad se ejecuta cuando se activa un evento de aprovisionamiento de recurso informático. Además, se configura el nombre de la interfaz de NIC para los recursos informáticos que se aprovisionarán.