Sie können den Schnittstellennamen einer Netzwerkkarte (NIC) mithilfe von IaaS-API-Aufrufen konfigurieren, die über Erweiterbarkeitsaktionen angewendet werden.
Zum Konfigurieren des Schnittstellennamens einer Netzwerkkarte müssen Sie GET
- und PATCH
-Aufrufe an die vRealize Automation-IaaS-API senden. Durch Tätigen eines GET
-Aufrufs an https://your_vRA_fqdn/iaas/api/machines/{id} können Sie die Netzwerkkartenverbindung für die zu ändernde Computing-Ressource abrufen. Anschließend können Sie einen PATCH
-Aufruf an https://your_vRA_fqdn/iaas/api/machines/{id}/network-interfaces/{nicld} tätigen, der den Namen der Netzwerkkarte als Nutzlast zum Hinzufügen des neuen Namens für Ihre Netzwerkkarte enthält.
Das folgende Szenario nutzt ein Python-Beispielskript, das für die Konfiguration des Netzwerkkartennamens verwendet werden kann. Für Ihre eigenen Anwendungsfälle können Sie ein anderes Skript und eine andere Skriptsprache verwenden, wie z. B. Node.js.
Voraussetzungen
- Der Name der Netzwerkkarte kann ausschließlich vor der Bereitstellung einer Computing-Ressource konfiguriert werden. Deshalb kann nur das Ereignisthema Compute-Bereitstellung für relevante Erweiterbarkeitsabonnements ausgewählt werden.
- Netzwerkkartennamen können nur für Netzwerkkarten konfiguriert werden, die Microsoft Azure als Anbieter verwenden.
Prozedur
- Erstellen Sie die Erweiterbarkeitsaktion.
- Navigieren Sie zu .
- Klicken Sie auf Neue Aktion.
- Geben Sie einen Namen und ein Projekt für die Erweiterbarkeitsaktion ein und klicken Sie auf Weiter.
- Fügen Sie das Konfigurationsskript der Netzwerkkarte hinzu.
Nachfolgend finden Sie ein Python-Beispielskript:
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
Im vorangehenden Beispielskript werden zwei primäre Vorgänge über die IaaS-API durchgeführt. Im Skript wird zunächst einGET
-Aufruf zum Abrufen der Netzwerkkartenverbindung und anschließend einPATCH
-Aufruf zum Anwenden des Schnittstellennamens verwendet. In diesem Beispiel ist der Name der Netzwerkkarte im Skript als"customized-nic-02"
hartcodiert. - Um die Bearbeitung der Erweiterbarkeitsaktion abzuschließen, klicken Sie auf Speichern.
- Erstellen Sie ein Erweiterbarkeitsabonnement.
- Navigieren Sie zu .
- Klicken Sie auf Neues Abonnement.
- Geben Sie einen Namen für das Erweiterbarkeitsabonnement ein.
- Wählen Sie unter Ereignisthema die Option Compute-Bereitstellung als Ereignisthema für das Erweiterbarkeitsabonnement aus.
- Wählen Sie unter Aktion/Workflow die Erweiterbarkeitsaktion aus, die Sie für die Netzwerkkartenkonfiguration erstellt haben.
- Aktivieren Sie die Ereignisblockierung.
Indem Sie die Blockierung aktivieren, stellen Sie sicher, dass der Bereitstellungsvorgang bis zum Abschluss der Erweiterbarkeitsaktion blockiert wird.
- Um die Bearbeitung des Erweiterbarkeitsabonnements abzuschließen, klicken Sie auf Speichern.
Ergebnisse
Das neue Erweiterbarkeitsabonnement wird nach dem Auslösen eines Compute-Bereitstellungsereignisses ausgeführt und konfiguriert den Namen der Netzwerkkarte für die bereitzustellenden Computing-Ressourcen.