È possibile creare un pacchetto ZIP contenente i moduli di dipendenze e lo script di PowerShell da utilizzare nelle azioni di estendibilità.

Sono disponibili due metodi per creare lo script per le azioni di estendibilità:

  • Compilazione dello script direttamente nell'editor delle azioni di estendibilità in Automation Assembler.
  • Creazione dello script nell'ambiente locale e aggiunta di tale script, con eventuali dipendenze pertinenti, a un pacchetto ZIP.
Utilizzando un pacchetto ZIP, è possibile creare un modello personalizzato preconfigurato di script di azione e dipendenze che è possibile importare in Automation Assembler per l'utilizzo nelle azioni di estendibilità.
Nota: Non è necessario definire i cmdlet di PowerCLI come dipendenze o aggregarli in un pacchetto ZIP. I cmdlet di PowerCLI vengono preconfigurati con il runtime PowerShell del servizio Automation Assembler.

È inoltre possibile utilizzare un pacchetto ZIP in scenari in cui i moduli associati alle dipendenze nello script di azione non possono essere risolti dal servizio Automation Assembler, ad esempio quando l'ambiente non dispone di accesso a Internet.

È inoltre possibile utilizzare un pacchetto ZIP per creare azioni di estendibilità che contengano più file di script di PowerShell. L'utilizzo di più file di script può essere utile per organizzare la struttura del codice dell'azione di estendibilità.

Prerequisiti

Assicurarsi di conoscere PowerShell e PowerCLI. È possibile trovare un'immagine Docker con PowerShell Core, PowerCLI 10, PowerNSX e diversi esempi di script e moduli della community in Docker Hub.

Procedura

  1. Nella macchina locale, creare una cartella per lo script di azione e le dipendenze.
    Ad esempio, /home/user1/zip-action.
  2. Aggiungere lo script PowerShell principale con estensione .psm1 alla cartella.
    Lo script seguente include una semplice funzione PowerShell denominata main.psm1:
    function handler($context, $payload) {
    
      Write-Host "Hello " $payload.target
    
     
    
      return $payload
    Nota: L'output di un'azione di estendibilità di PowerShell si basa sull'ultima variabile visualizzata nel corpo della funzione. Tutte le altre variabili nella funzione inclusa vengono eliminate.
  3. (Facoltativo) Aggiungere una configurazione proxy allo script PowerShell principale utilizzando parametri context. Vedere Utilizzo dei parametri context per aggiungere una configurazione proxy nello script di PowerShell.
  4. (Facoltativo) Aggiungere le eventuali dipendenze dello script di PowerShell.
    Nota: Lo script delle dipendenze di PowerShell deve utilizzare l'estensione .psm1. Utilizzare lo stesso nome per lo script e la sottocartella in cui lo script viene salvato.
    1. Accedere a una shell PowerShell di Linux.
      Nota: Il runtime dell'estendibilità basata su azioni in Automation Assembler è basato su Linux. Tutte le dipendenze di PowerShell compilate in un ambiente Windows potrebbero rendere inutilizzabile il pacchetto ZIP generato. Qualsiasi dipendenza di terze parti installata deve essere compatibile con VMware Photon OS come script di PowerShell eseguiti in Photon OS.
    2. Passare alla cartella /home/user1/zip-action.
    3. Scaricare e salvare il modulo di PowerShell contenente le dipendenze eseguendo il cmdlet Save-Module.
      Save-Module -Name <module name> -Path ./
    4. Ripetere il passaggio secondario precedente per tutti i moduli di dipendenze aggiuntivi.
      Importante: Verificare che ogni modulo di dipendenze si trovi in una sottocartella separata. Per ulteriori informazioni sulla compilazione e la gestione dei moduli di PowerShell, vedere Come compilare un modulo di script di PowerShell.
  5. Nella cartella assegnata, selezionare gli elementi dello script e, se applicabile, le sottocartelle del modulo di dipendenze e comprimerle in un pacchetto ZIP.
    Nota: Le sottocartelle dello script e del modulo di dipendenze devono essere archiviate al livello root del pacchetto ZIP. Quando si crea il pacchetto ZIP in un ambiente Linux, è possibile che si verifichi un problema perché il contenuto del pacchetto non viene archiviato al livello root. Se si verifica questo problema, creare il pacchetto eseguendo il comando zip -r nella shell della riga di comando.
    cd your_script_and_dependencies_folder
    zip -r ../your_action_ZIP.zip *

Operazioni successive

Utilizzare il pacchetto ZIP per creare uno script di azione di estendibilità. Vedere Come creare le azioni di estendibilità.