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

  1. Erstellen Sie die Erweiterbarkeitsaktion.
    1. Navigieren Sie zu Erweiterbarkeit > Aktionen.
    2. Klicken Sie auf Neue Aktion.
    3. Geben Sie einen Namen und ein Projekt für die Erweiterbarkeitsaktion ein und klicken Sie auf Weiter.
    4. 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 ein GET-Aufruf zum Abrufen der Netzwerkkartenverbindung und anschließend ein PATCH-Aufruf zum Anwenden des Schnittstellennamens verwendet. In diesem Beispiel ist der Name der Netzwerkkarte im Skript als "customized-nic-02" hartcodiert.
    5. Um die Bearbeitung der Erweiterbarkeitsaktion abzuschließen, klicken Sie auf Speichern.
  2. Erstellen Sie ein Erweiterbarkeitsabonnement.
    1. Navigieren Sie zu Erweiterbarkeit > Abonnements.
    2. Klicken Sie auf Neues Abonnement.
    3. Geben Sie einen Namen für das Erweiterbarkeitsabonnement ein.
    4. Wählen Sie unter Ereignisthema die Option Compute-Bereitstellung als Ereignisthema für das Erweiterbarkeitsabonnement aus.
    5. Wählen Sie unter Aktion/Workflow die Erweiterbarkeitsaktion aus, die Sie für die Netzwerkkartenkonfiguration erstellt haben.
    6. Aktivieren Sie die Ereignisblockierung.
      Indem Sie die Blockierung aktivieren, stellen Sie sicher, dass der Bereitstellungsvorgang bis zum Abschluss der Erweiterbarkeitsaktion blockiert wird.
    7. 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.