È possibile configurare il nome dell'interfaccia di un controller dell'interfaccia di rete (NIC) utilizzando le chiamate API IaaS applicate tramite le azioni di estendibilità.

Per configurare il nome dell'interfaccia di una scheda NIC, è necessario effettuare chiamate GET e PATCH all'API IaaS di vRealize Automation. Eseguendo una chiamata GET a https://your_vRA_fqdn/iaas/api/machines/{id}, è possibile recuperare il collegamento della scheda NIC per la risorsa di elaborazione che si desidera modificare. È quindi possibile effettuare una chiamata PATCH a https://your_vRA_fqdn/iaas/api/machines/{id}/network-interfaces/{nicld}, che include il nome dell'interfaccia NIC come payload, per aggiungere il nuovo nome per la scheda NIC.

Lo scenario seguente utilizza uno script Python di esempio che può essere utilizzato per la configurazione del nome dell'interfaccia NIC. Per i propri casi d'uso, è possibile utilizzare uno script e un linguaggio di script diversi, ad esempio Node.js.

Prerequisiti

  • È possibile configurare solo il nome dell'interfaccia NIC prima di eseguire il provisioning di una risorsa di elaborazione. Pertanto, è possibile selezionare solo l'argomento dell'evento Provisioning risorsa di elaborazione per le sottoscrizioni di estendibilità pertinenti.
  • È possibile configurare solo i nomi dell'interfaccia NIC per le schede NIC che utilizzano Microsoft Azure come provider.

Procedura

  1. Creare l'azione di estendibilità.
    1. Passare a Estendibilità > Azioni.
    2. Fare clic su Nuova Azione.
    3. Immettere un nome e un progetto per l'azione di estendibilità e fare clic su Avanti.
    4. Aggiungere lo script di configurazione NIC.
      Di seguito è disponibile uno script Python di esempio:
      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
      Lo script di esempio precedente esegue due operazioni primarie tramite l'API IaaS. Innanzitutto, lo script utilizza una chiamata GET per recuperare il collegamento alla scheda NIC e quindi utilizza una chiamata PATCH per applicare il nome dell'interfaccia. In questo esempio, il nome dell'interfaccia NIC è hardcoded nello script come "customized-nic-02".
    5. Per completare la modifica dell'azione di estendibilità, fare clic su Salva.
  2. Creare una sottoscrizione di estendibilità.
    1. Passare a Estendibilità > Sottoscrizioni.
    2. Fare clic su Nuova sottoscrizione.
    3. Immettere un nome per la sottoscrizione di estendibilità.
    4. In Argomento dell'evento, selezionare Provisioning risorsa di elaborazione come argomento dell'evento per la sottoscrizione di estendibilità.
    5. In Azione/Workflow, selezionare l'azione di estendibilità creata per la configurazione della scheda NIC.
    6. Abilitare il blocco degli eventi.
      Abilitando il blocco, si verifica che il processo di provisioning sia bloccato finché l'azione di estendibilità non termina la sua esecuzione.
    7. Per completare la modifica della sottoscrizione di estendibilità, fare clic su Salva.

risultati

La nuova sottoscrizione di estendibilità viene eseguita quando viene attivato un evento di provisioning della risorsa di elaborazione e configura il nome dell'interfaccia NIC per le risorse di elaborazione da sottoporre a provisioning.