As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usar constructos condicionais no AWSTOE
Os constructos condicionais realizam diferentes ações no documento do componente dependendo de a expressão condicional especificada ser avaliada como true
ou false
. Você pode usar o constructo if
para controlar o fluxo de execução no documento do componente.
Constructo “if”
Você pode usar o constructo if
para avaliar se uma etapa deve ser executada ou não. Por padrão, quando a expressão condicional if
é avaliada como true
, o AWSTOE executa a etapa e, quando a condição é avaliada como false
, o AWSTOE pula a etapa. Se uma etapa for ignorada, ela poderá ser tratada como bem-sucedida quando o AWSTOE avaliar se a fase e o documento foram executados com êxito.
nota
Uma instrução if
só é avaliada uma vez, mesmo que a etapa acione uma reinicialização. Se uma etapa for reiniciada, ela reconhecerá que a instrução if
já foi avaliada e continuará de onde parou.
Sintaxe
if: - <conditional expression>: [then: <step action>] [else: <step action>]
Nome da chave | Obrigatório | Descrição |
---|---|---|
Expressão condicional | Sim |
A expressão condicional pode conter exatamente um dos seguintes tipos de operador no nível superior.
Se sua expressão precisar satisfazer várias condições, use um operador lógico para especificar suas condições. |
then | Não |
Define a ação a ser executada se a expressão condicional for avaliada como |
else | Não |
Define a ação a ser executada se a expressão condicional for avaliada como |
ações de etapa | Condicional |
Ao usar
|
Exemplo 1: instalar um pacote
As etapas de exemplo a seguir de um documento de AWSTOE componente usam operadores lógicos para testar um valor de parâmetro e executar os comandos apropriados do gerenciador de pacotes para instalar um aplicativo se o pacote for descompactado.
- name: InstallUnzipAptGet action: ExecuteBash if: and: - binaryExists: 'apt-get' - not: binaryExists: 'unzip' inputs: commands: - sudo apt-get update - sudo apt-get install -y unzip - name: InstallUnzipYum action: ExecuteBash if: and: - binaryExists: 'yum' - not: binaryExists: 'unzip' inputs: commands: - sudo yum install -y unzip - name: InstallUnzipZypper action: ExecuteBash if: and: - binaryExists: 'zypper' - not: binaryExists: 'unzip' inputs: commands: - sudo zypper refresh - sudo zypper install -y unzip
Exemplo 2: ignorar uma etapa
O exemplo a seguir mostra duas maneiras de pular uma etapa. Uma usa um operador lógico e a outra usa um operador de comparação com a ação de etapa Skip
.
# Creates a file if it does not exist using not - name: CreateMyConfigFile-1 action: ExecuteBash if: not: fileExists: '/etc/my_config' inputs: commands: - echo "Hello world" > '/etc/my_config' # Creates a file if it does not exist using then and else - name: CreateMyConfigFile-2 action: ExecuteBash if: fileExists: '/etc/my_config' then: Skip else: Execute inputs: commands: - echo "Hello world" > '/etc/my_config'