Como fazer uma estatura IF em Jinja2

Como fazer uma estatura IF em Jinja2
Vários condicionais pré-construídos em Jinja2 fornecem acesso rápido a métodos avançados em documentos Jinja. O objetivo de implementar os condicionais de Jinja2 em Ansible é explicado neste artigo, juntamente com o que são em geral. Este artigo também possui uma estatura IF detalhada para um dos condicionais de Jinja2 e qual é o documento Jinja2 se a sintaxe e a funcionalidade da estatição da estatição. Também analisaremos um operador diferente que os programadores Ansible podem usar para executar as Estaturas IF.

Entre os documentos mais eficazes e conhecidos baseados em Python está o Jinja2. Como isso usa os mesmos idiomas de codificação que Ansible, é mais amplamente utilizado por usuários Ansible. Este é um dos benefícios para os profissionais de TI de inúmeras maneiras. O documento Jinja2 pode empregar as estruturas condicionais ansiosas. Sempre que uma condição booleana fornecida pelo desenvolvedor se traduz em operações ou atividades verdadeiras ou falsas, são realizadas por declarações condicionais. Dentro de um manual Ansible, com base nas informações sobre o servidor de destino, uma estatura IF ou o resultado de uma ação anterior, você pode querer executar algumas ações alternativas ou ter objetivos diferentes. O elemento de estrutura fundamental usado para avaliar as condições é a expressão "se". Ao avaliar várias condições, a expressão "se" é frequentemente usada durante a combinação com os comandos "elif" e "else". Se um parâmetro ocorrer e não for nulo ou se o parâmetro tiver a expressão booleana como "verdadeira", uma estatização condicional de IF com um parâmetro de entrada se traduz em verdadeiro. Em uma explicação mais simples, a expressão "se" é usada para restringir a execução de uma coleção de declarações duas vezes quando uma condição específica é atendida.

Sintaxe da condição "se" em Jinja2

Jinja2, apesar de não ser uma linguagem de programação, tem uma lista de frases que você deve empregar para colocar o "script" no manual Ansible. Eles são simplesmente referidos coletivamente como sintaxe e são estruturados por uma série de princípios básicos que permitem que os usuários comuniquem seus objetivos à máquina nos termos que ela pode entender.

Começamos usando uma cinta aberta com um indicador percentual. A palavra -chave "se", uma palavra reservada em Jinja2, é usada. Depois de escrever quaisquer condições ou expressões, fechamos a linha de estatura IF mais uma vez com o símbolo percentual e fechamos a cinta encaracolada. Então, na próxima linha, o corpo da condição "se" é escrito. Finalmente, a condição é fechada escrevendo "Endif" dentro das tags de abertura e fechamento da IF-Statement. Se a condição especificada retornar verdadeira, as declarações incluídas no bloco "se" do código serão executadas. Se a condição for falsa, retorna falsa.

% se (condição) %
Corpo
% fim se %

Pré-requisitos de utilizar a estatura IF em Jinja2

Para configurar rapidamente o Jinja2 IF-Statement em Ansible, consideramos, por causa desta sessão, que cumpremos os seguintes critérios:

  • Para executar as tarefas em Ansible, devemos primeiro configurar a ferramenta Ansible no sistema.
  • A operação inteira Jinja2 IF Statement é tratada pelo controlador Ansible nesta sessão, que atua como o controlador de domínio primário que configura e mantém os condicionais Jinja2 na máquina alvo.
  • Além disso, é necessário um servidor de segmentação onde a Estação Jinja2 se estiver configurada. O servidor remoto nesta instância está determinado a ser o host local.

Vamos começar com uma rápida execução do Jinja2 IF-Statement do Ansible Manguar.

Exemplo: Implementação da Estação IF

Agora, usando a estatura IF de Jinja, que é baseada na programação Python, criamos o exemplo básico em Ansible. Precisamos de um manual para incluir todos os comandos, tarefas e condicionais de Jinja2 que precisamos implementar em Ansible. O comando Ansible Terminal que usamos para construir o manual é mostrado no seguinte:

[root@master Ansible]# Nano Ansible_if.yml

Depois de entrar no comando mencionado, um manual com o “.extensão yml ”e a“ se.Identificador YML ”Ansible são produzidos e lançados instantaneamente em uma nova guia da interface da ferramenta Ansible. Agora que a estatização condicional se é implementada, vamos começar a criar os comandos necessários. Para implementar a estatura IF no dispositivo host remoto, primeiro especificamos o host remoto de destino no manual. Nós fornecemos o host local ao longo desta situação. A coleta de informações na opção Ansible é empregada para receber os dados sobre o host local. Assim, se o verdadeiro valor booleano for passado para a opção, obtemos todas as informações relevantes para o host local. No entanto, fornecemos um valor booleano falso se tudo o que aparecer no terminal de saída for o nome do host remoto e não qualquer outra informação sobre o host local quando o manual é executado. Depois de fornecer as informações relevantes ao host local, definimos as operações que gostamos de realizar no manual de Estaturas IF.

Primeiro, definimos a tarefa em que queremos verificar a disponibilidade do documento em Ansible. Em seguida, passamos o caminho do documento e o registramos. Em seguida, executamos e imprimimos os resultados usando a opção de depuração. Em seguida, utilizamos a estatura IF para verificar se o arquivo está disponível ou não. Na próxima tarefa, verificamos se o “host.YML ”é acessível pelo controlador Ansible atual ou não. Então, usamos a opção Shell para declarar o caminho do “host.YML ”documenta ANS através da variável Register, onde passamos o acesso ao“ host.Documento YML ”. Então, usamos a estatura IF para verificar a condição "se".

- anfitriões:
- LocalHost
Gather_Facts: False
tarefas:
- Nome: Verifique o arquivo existente
Stat: Path =./hospedar.yml
Registro: fileExists
- depurar:
msg: "'arquivo existe' se fileExists.Estado.existe"
- Nome: Verifique se host.YML é acessível pelo usuário atual
shell: stat -c "%a" ./hospedar.yml
Registro: AccessPath
- depurar:
msg: "'arquivo acessível' if (accessPath.stdout | int) < 660"

Então, executamos o manual em Ansible. Escrevemos o seguinte comando para obter os resultados desejados:

[root@master Ansible]# Ansible-playbook Ansible_if.yml -i host.yml

Como você pode ver, a estatura condicional se é executada com sucesso. Na primeira tarefa, o “anfitrião.O documento YML ”existe em Ansible, e acessamos com sucesso o“ Host.arquivo yml ”.

Conclusão

Usamos um dos condicionais de Jinja2 em Ansible, que é a estatura IF. Discutimos o estilo de escrita da estatura IF em Jinja2 e aprendemos os requisitos que devem ser configurados no host de controle e nos dispositivos host remotos. Implementamos um exemplo do Jinja2 IF Statement em Ansible para que possamos configurar facilmente a declaração.