Maak een voorbeeldscript dat gebruikmaakt van Node.js om de vRealize Automation Project-API aan te roepen.

Voorwaarden

Download en installeer Node.js 12. Zie Downloads voor Node.js.

Procedure

  1. Open een opdrachtregelshell op uw lokale machine.
  2. Maak een map vro-node-vra.
    mkdir vro-node-vra
  3. Ga naar de map vro-node-vra.
    cd vro-node-vra
  4. Maak een Node.js-script met de naam handler.js.
    touch handler.js
    Het handler.js-script moet één functie definiëren die twee argumenten accepteert: de context van de vRealize Orchestrator-werkstroomuitvoering en de afhankelijke vRealize Orchestrator-invoer.
    exports.handler = (context, inputs) => {
        console.log('Hello, your inputs were ' + inputs);
        return null;
    }
    Opmerking: Met behulp van standaardbibliotheken voor logboekregistratie wordt alles wat u vastlegt in de actie die uw script gebruikt, ook weergegeven in het werkstroomlogboek. De invoer en de retour van uw script moeten overeenkomende invoerparameters en retourtypen hebben die zijn geconfigureerd in de vRealize Orchestrator-client. De vRAUrl-invoer in uw script moet bijvoorbeeld een bijbehorende invoerparameter met de naam vRAUrl in de vRealize Orchestrator-client hebben. Op dezelfde wijze moet, als uw script een tekenreekswaarde retourneert, het retourtype dat is geconfigureerd in de vRealize Orchestrator-client ook een tekenreekstype zijn. Als uw actie een complex object retourneert, kunt u retourtype Properties of Composite Type gebruiken.
  5. Installeer de module voor Node.js-aanvragen.
    npm install request
    Belangrijk: De modules voor afhankelijkheden van derden moeten worden geïnstalleerd in de map node_modules op het hoofdniveau in uw primaire vro-node-vra-scriptmap. Verplaats deze map niet en wijzig de naam ervan niet.
  6. Voeg de aanvragenmodule toe aan het handler.js-script.
    const request = require('request');
     
    exports.handler = (context, inputs) => {
        console.log('Hello, your inputs were ' + inputs);
        return null;
    }
  7. Maak een GET-aanvraag voor de vRealize Automation Project-API.
    const token = '';
    const vRAUrl = '';
    request.get(vRAUrl + '/iaas/api/projects', { 'auth': { 'bearer': token } }, function (error, response, body) {
        console.log('Got response ' + body);
    });
  8. Definieer de waarden token en vRAUrl .
    1. Haal het toegangstoken op met behulp van de API van de vRealize Automation-identiteitsservice. Zie Uw toegangstoken voor de vRealize Automation API ophalen.
    2. Voor de waarde vRAUrl definieert u het script zodat het een vRealize Orchestrator-invoerparameter met dezelfde naam gebruikt.
      const vRAUrl = inputs.vRAUrl;
    3. Voeg de nieuwe waarden toe aan het handler.js-bestand.
      const request = require('request');
      exports.handler = (context, inputs, callback) => {
          const vRAUrl = inputs.vRAUrl;
          const token = 'ACCESS_TOKEN';
          request.get(vRAUrl + '/iaas/api/projects', { 'auth': { 'bearer': token } }, function (error, response, body) {
              console.log('Got response ' + body);
              callback(null, JSON.parse(body));
          });
      }
      Opmerking: Omdat het antwoord van de vRealize Automation Project-API wordt geretourneerd in een JSON-indeling, gebruikt u een retourtype Properties of Composite Type voor uw vRealize Orchestrator-actie.
  9. Maak een ZIP-pakket dat het handler.js-bestand en de map node_modules van uw aanvragenmodule bevat.
    zip -r --exclude=*.zip -X vro-node-vra.zip .

Volgende stappen

Importeer het Node.js-script in een vRealize Orchestrator-actie. Zie Acties in de vRealize Orchestrator-client maken.