È 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
- Creare l'azione di estendibilità.
- Passare a .
- Fare clic su Nuova Azione.
- Immettere un nome e un progetto per l'azione di estendibilità e fare clic su Avanti.
- 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 chiamataGET
per recuperare il collegamento alla scheda NIC e quindi utilizza una chiamataPATCH
per applicare il nome dell'interfaccia. In questo esempio, il nome dell'interfaccia NIC è hardcoded nello script come"customized-nic-02"
. - Per completare la modifica dell'azione di estendibilità, fare clic su Salva.
- Creare una sottoscrizione di estendibilità.
- Passare a .
- Fare clic su Nuova sottoscrizione.
- Immettere un nome per la sottoscrizione di estendibilità.
- In Argomento dell'evento, selezionare Provisioning risorsa di elaborazione come argomento dell'evento per la sottoscrizione di estendibilità.
- In Azione/Workflow, selezionare l'azione di estendibilità creata per la configurazione della scheda NIC.
- 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.
- 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.