Você pode criar um pacote ZIP que contenha seu script do PowerShell e módulos de dependências para uso em ações de extensibilidade.

Há dois métodos de criar o script para suas ações de extensibilidade:

  • Escrever o script diretamente no editor de ações de extensibilidade no Cloud Assembly.
  • Criar o script no seu ambiente local e adicioná-lo, com quaisquer dependências relevantes, a um pacote ZIP.
Ao usar um pacote ZIP, você pode criar um modelo pré-configurado personalizado de scripts de ação e dependências que é possível importar para o Cloud Assembly para uso em ações de extensibilidade.
Observação: Você não precisa definir cmdlets do PowerCLI como dependências ou agrupá-los em um pacote ZIP. Os cmdlets do PowerCLI vêm pré-configurados com o tempo de execução do PowerShell do seu serviço do Cloud Assembly.

Além disso, você pode usar um pacote ZIP em cenários em que os módulos associados a dependências no seu script de ação não podem ser resolvidos pelo serviço do Cloud Assembly, como quando o seu ambiente não tem acesso à Internet.

Você também pode usar um pacote ZIP para criar ações de extensibilidade que contenham vários arquivos de script do PowerShell. O uso de vários arquivos de script pode ser útil para organizar a estrutura do seu código de ação de extensibilidade.

Pré-requisitos

Verifique se você está familiarizado com o PowerShell e o PowerCLI. Você pode encontrar uma imagem do Docker com o PowerShell Core, o PowerCLI 10, o PowerNSX e vários exemplos de script e módulos da comunidade no Docker Hub .

Procedimento

  1. Na máquina local, crie uma pasta para o script de ação e as dependências.
    Por exemplo, /home/user1/zip-action.
  2. Adicione o script do PowerShell principal com uma extensão . psm1 à pasta.
    O script a seguir apresenta uma função simples do PowerShell chamada main.psm1:
    function handler($context, $payload) {
    
      Write-Host "Hello " $payload.target
    
     
    
      return $payload
    Observação: A saída de uma ação de extensibilidade do PowerShell é baseada na última variável exibida no corpo da função. Todas as outras variáveis na função incluída são descartadas.
  3. (Opcional) Adicione uma configuração de proxy ao script principal do PowerShell usando os parâmetros do context. Consulte Usar parâmetros de contexto para adicionar uma configuração de proxy no script do PowerShell.
  4. (Opcional) Adicione quaisquer dependências para o seu script do PowerShell.
    Observação: Seu script de dependências do PowerShell deve usar a extensão .psm1. Use o mesmo nome para o script e a subpasta em que ele foi salvo.
    1. Faça login em um shell do PowerShell no Linux.
      Observação: O tempo de execução da extensibilidade com base em ações no Cloud Assembly é baseado no Linux. Quaisquer dependências do PowerShell compiladas em um ambiente do Windows poderão inutilizar o pacote ZIP gerado. Todas as dependências de terceiros instaladas devem ser compatíveis com o VMware Photon OS, pois os scripts do PowerShell são executados no Photon OS.
    2. Navegue até a pasta /home/user1/zip-action.
    3. Baixe e salve o módulo do PowerShell que contém as dependências, executando o cmdlet Save-Module.
      Save-Module -Name <module name> -Path ./
    4. Repita a subetapa anterior para quaisquer módulos de dependências adicionais.
      Importante: Verifique se cada módulo de dependências está localizado em uma subpasta separada. Para obter mais informações sobre como gravar e gerenciar módulos do PowerShell, consulte Como escrever um módulo de script do PowerShell.
  5. Na pasta atribuída, selecione seus elementos de script e, se aplicável, suas subpastas de módulo de dependências e compacte-os em um pacote ZIP.
    Observação: As subpastas de script e de módulo de dependência devem ser armazenadas no nível raiz do pacote ZIP. Ao criar o pacote ZIP em um ambiente Linux, você pode se deparar com um problema em que o conteúdo do pacote não está armazenado no nível raiz. Se você se deparar com esse problema, crie o pacote executando o comando zip -r no seu Shell de linha de comando.
    cd seu_script_e__pasta_dependências
    zip -r ../seu_ZIP_ação.zip *

O que Fazer Depois

Use o pacote ZIP para criar um script de ação de extensibilidade. Consulte Como criar ações de extensibilidade.