Criar um fluxo de trabalho SSH

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 3 min. de leitura
  • Crie o fluxo de trabalho SSH necessário para desligar a VM. Use a atividade personalizada SSH que você já criou.

    Antes de Iniciar

    • Ter uma atividade personalizada de SSH já criada
    • Função necessária: designer de fluxo de trabalho ou administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Ao criar um fluxo de trabalho, você o associa a uma tabela e a uma atividade.
    • Você pode criar o fluxo de trabalho em uma tabela no nível global ou em uma tabela no nível da aplicação. Use a tabela global para disponibilizar o fluxo de trabalho para uso com todas as aplicações da ServiceNow. Aqui, usamos uma tabela para o Cloud Provisioning and Governance, portanto, este fluxo de trabalho só estará disponível para uso com essa aplicação.
    • Você pode criar o fluxo de trabalho no Editor de fluxo de trabalho ou no Designer de atividades. Aqui, o Designer de atividades é usado.

    Procedimento

    1. No Designer de atividades, selecione a guia Fluxos de trabalho à direita e clique no + (sinal de mais) para adicionar um novo fluxo de trabalho.
    2. Na janela Novo fluxo de trabalho, execute estas etapas:
      1. Insira um nome exclusivo para o fluxo de trabalho.
      2. No menu suspenso Tabela, selecione a tabela a ser usada.
        Pesquise e use a instância de máquina virtual cmdb_ci_vm_instance porque pretendemos usar o fluxo de trabalho para desligar uma VM.
      3. Clique em Enviar.
    3. Quando o fluxo de trabalho for exibido na tela, execute estas etapas:
      1. Exclua a linha de conexão entre o ponto de início e o ponto de extremidade do fluxo de trabalho.
      2. Clique com o botão direito do mouse na tela de mais informações e selecione Editar entradas.
      3. Crie as seguintes entradas:
        Nota:
        Obtenha os nomes de entrada do campo Coluna, não do campo Rótulo. Se o fluxo de trabalho estiver associado a uma tabela de nível global, o nome da entrada no campo Coluna será prefixado com u_, por exemplo, u_ipaddress. Aqui, a tabela está no nível da aplicação, portanto, não precisa de prefixo.
        Tabela 1. Entradas de fluxo de trabalho
        Tipo Rótulo Coluna (adicionada automaticamente) Comprimento máximo
        Cadeia de caracteres IPAddress ipaddress 100
        Cadeia de caracteres Marcador de credencial marcador de credencial 100
      4. Clique em Enviar.
    4. Clique com o botão direito do mouse na tela e selecione Adicionar atividade personalizada.
    5. Na janela Versões, pesquise e selecione a atividade que você criou anteriormente em Criar a atividade personalizada de SSH.
    6. Na janela Nova Atividade dessa atividade (registro de Nova Atividade de Fluxo de Trabalho [exibição do Diagramador]), execute estas etapas:
      1. Insira um nome para a atividade.
      2. No campo Host, digite o mapeamento de entrada que a atividade espera.

        Ou seja, o endereço IP do host: ${workflow.inputs.u_ipaddress}.

        Use esta expressão para o endereço IP:

        $(Script:CMPVMUtils.getReachableIp[arg=$(Stack.items[Virtual Server].attributes[sys_id])])

      3. No campo Comando, digite shutdown -h now
      4. No campo Marcador de credencial, digite ${workflow.inputs.u_credentialtag}

        Use esta expressão para obter o marcador de credencial:

        $(Script:CMPVMUtils.getCredentialAlias[arg=${Stack.items[Virtual Server].attributes[sys_id]}])

      5. Clique em Enviar.
        A atividade é exibida na tela do fluxo de trabalho.
    7. Clique com o botão direito do mouse na tela e selecione Adicionar atividade principal para adicionar uma atividade de script de execução.
    8. Na janela Definições de atividade de fluxo de trabalho, pesquise e selecione Executar script.
    9. Na janela Nova atividade: executar script, execute estas etapas:
      1. Digite um nome para a atividade.
      2. Recorte e cole um script (apropriado para seu ambiente) no campo Script.

        Este script atualiza o estado da VM depois que ela é desligada.

        Script de exemplo:
        if ( gs.nil(data.get(3).error)) {
                            current.state = 'off';
                            current.setWorkflow(false);
                            current.update();
        }
        
      3. Clique em Enviar.
    10. Na tela, conecte os conectores entre o ponto de início, a atividade, o script Executar e o ponto de extremidade.
    11. Clique em Publicar para disponibilizar o fluxo de trabalho.
    12. Valide o fluxo de trabalho usando a validação de fluxo de trabalho.
      Nota:
      O sistema não recomenda o uso de current.update(). Isso pode ser ignorado.