U kunt de interfacenaam van een netwerkinterfacecontroller (NIC) configureren met behulp van IaaS API-aanroepen die worden toegepast via uitbreidbaarheidsacties.

Als u de interfacenaam van een NIC wilt configureren, moet u GET- en PATCH-aanroepen naar de vRealize Automation IaaS API maken. Door een GET-aanroep naar https://your_vRA_fqdn/iaas/api/machines/{id} te maken, kunt u de NIC-link ophalen voor de computerbron die u wilt wijzigen. Vervolgens kunt u een PATCH-aanroep naar https://your_vRA_fqdn/iaas/api/machines/{id}/network-interfaces/{nicld} maken, die de NIC-interfacenaam als lading bevat, om de nieuwe naam voor uw NIC toe te voegen.

Het volgende scenario gebruikt een Python-voorbeeldscript dat kan worden gebruikt voor de configuratie van de NIC-interfacenaam. Voor uw eigen gebruiksscenario's kunt u een ander script en andere scripttaal gebruiken, zoals Node.js.

Voorwaarden

  • U kunt de naam van de NIC-interface alleen configureren voordat u een computerbron inricht. Daarom kan alleen het gebeurtenisonderwerp Berekeningsinrichting worden geselecteerd voor relevante uitbreidbaarheidsabonnementen.
  • U kunt alleen NIC-interfacenamen configureren voor NIC's die Microsoft Azure als provider gebruiken.

Procedure

  1. Maak de uitbreidbaarheidsactie.
    1. Navigeer naar Uitbreidbaarheid > Acties.
    2. Klik op Nieuwe Actie.
    3. Voer een naam en een project in voor de uitbreidbaarheidsactie en klik op Volgende.
    4. Voeg het NIC-configuratiescript toe.
      Het volgende is een voorbeeld van een Python-script:
      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
      Het voorgaande voorbeeldscript voert twee primaire bewerkingen uit via de IaaS API. Eerst gebruikt het script een GET-aanroep om de NIC-link op te halen en vervolgens wordt een PATCH-aanroep gebruikt om de interfacenaam toe te passen. In dit voorbeeld is de naam van de NIC-interface als "customized-nic-02" in het script vastgelegd.
    5. Als u het bewerken van de nieuwe uitbreidbaarheidsactie wilt voltooien, klikt u op Opslaan.
  2. Maak een uitbreidbaarheidsabonnement.
    1. Navigeer naar Uitbreidbaarheid > Abonnementen.
    2. Klik op Nieuw abonnement.
    3. Voer een naam in voor het uitbreidbaarheidsabonnement.
    4. Selecteer onder Gebeurtenisonderwerp Berekeningsinrichting als gebeurtenisonderwerp voor het uitbreidbaarheidsabonnement.
    5. Selecteer onder Actie/werkstroom de uitbreidbaarheidsactie die u heeft gemaakt voor de NIC-configuratie.
    6. Schakel gebeurtenisblokkering in.
      Door blokkering in te schakelen, zorgt u ervoor dat het inrichtingsproces is geblokkeerd totdat de uitvoering van de uitbreidbaarheidsactie is voltooid.
    7. Klik op Opslaan om het bewerken van het uitbreidbaarheidsabonnement te voltooien.

resultaten

Het nieuwe uitbreidbaarheidsabonnement wordt uitgevoerd wanneer een computerinrichtingsgebeurtenis wordt geactiveerd en configureert de NIC-interfacenaam voor de in te richten computerbronnen.