Pular para o conteúdo

Variáveis e dados num cenário

Um cenário dispõe de três mecanismos para fazer circular dados. Complementam-se, e saber qual escolher evita muitas ligações inúteis.

O mecanismo principal: uma caixa produz um valor, ele viaja pela ligação, eventualmente remodelado por um seletor, e chega à entrada da caixa seguinte.

É explícito e legível: o fluxo de dados é o desenho.

Use-o para tudo o que é local — o resultado de uma chamada consumido pela chamada seguinte.

Um espaço com nomes, próprio da execução:

  • Definir variável escreve um valor;
  • Obter variável volta a lê-lo;
  • um valor de tipo variable lê-o ao passar, em qualquer campo;
  • {{name}} lê-o num modelo (Transform template, Map);
  • o objeto vars lê-o numa ação de código;
  • Adicionar à lista e Remover da lista podem escrever diretamente na variável de origem.

Uma variável de execução cobre o ambiente durante o tempo da execução: um pedido que use {{token}} vai receber o token posto pelo cenário em vez do do ambiente.

Use-a para o que é global à execução: um token, um identificador de correlação, um contador — em vez de puxar uma ligação através de todo o grafo.

  • A caixa Input / Param declara um ou vários parâmetros com nome, cada um com o seu tipo. Emite um único objeto { name: value, … }.

    Os valores vêm, por ordem: do lançamento (interface ou MCP), da linha de comandos (--param name=value) ou de um pedido interativo se o cenário chegar à caixa sem valor disponível.

  • A caixa Output / Return expõe um resultado com nome a quem chama. Um cenário chamado por uma ação Executar cenário torna as suas saídas visíveis na porta output:<name> de quem o chama.

É o que permite compor: um cenário “iniciar sessão” que devolve um token, reutilizado pelos outros.

Uma ação de pedido tem uma porta env: ligar-lhe um ambiente (valor de tipo environment, ou nome de ambiente) executa a chamada nesse ambiente.

É a maneira de fazer correr o mesmo cenário contra staging e depois production sem duplicar o que seja — passe o ambiente como parâmetro do cenário.

Todos os valores tipados se resolvem da mesma maneira na interface e sem janela: listas personalizadas, enumerações, pré-visualizações de ambiente. Um cenário que funciona na interface funciona na CI.

Um nome de ambiente ambíguo (dois ambientes homónimos) provoca um erro explícito: passe então o identificador.

Conversão dos parâmetros na linha de comandos

Section titled “Conversão dos parâmetros na linha de comandos”

--param recebe texto; o Restorm converte-o segundo o tipo declarado do parâmetro:

Tipo declaradoO que passa
Numérico--param Seuil=42
Boolean--param Actif=true (1, yes, on aceites)
Cálculo de dataUma data, ou uma marca temporal epoch
ListaJSON: --param Ids='[1,2,3]'
EnumeraçãoO valor, validado contra o conjunto autorizado
Lista personalizadaO rótulo, convertido em valor (RougeFF0000)
AmbienteUm nome ou um identificador de ambiente
O restoA cadeia bruta

Uma conversão impossível faz falhar o lançamento com uma mensagem clara, em vez de executar com um valor errado.