📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 11

Retour
Tâche - Utiliser un template
Intermédiaire
- name: Déployer le fichier de configuration depuis un template
  ansible.builtin.template:
    src: config.j2
    dest: /etc/myapp/config.conf
Templates - Boucle Jinja2
Intermédiaire
Utilisateurs autorisés:
{% for user in users %}
- {{ user.name }}
{% endfor %}
Templates - Condition Jinja2
Intermédiaire
{% if enable_ssl %}
SSLEngine On
{% else %}
SSLEngine Off
{% endif %}
Templates - Fichier Jinja2 simple
Intermédiaire
# Fichier de configuration pour le port {{ http_port }}
Listen {{ http_port }}
<VirtualHost *:{{ http_port }}>
    ServerName {{ ansible_hostname }}
</VirtualHost>
Templates - Utiliser un filtre (default)
Intermédiaire
Paramètre: {{ my_param | default('valeur_par_defaut') }}
Variables - Accéder aux variables d'un autre hôte
Avancé
- name: Afficher l'IP du premier serveur de base de données
  ansible.builtin.debug:
    msg: "L'IP du serveur DB est {{ hostvars[groups['dbservers'][0]]['ansible_default_ipv4']['address'] }}"
Variables - Définir dans un playbook
Facile
- hosts: webservers
  vars:
    http_port: 80
    app_user: webadmin
  tasks:
    - name: Afficher les variables
      ansible.builtin.debug:
        msg: "Le port est {{ http_port }}"
Variables - Définir un fact custom
Avancé
- name: Définir un fact personnalisé
  ansible.builtin.set_fact:
    mon_fact_perso: "valeur importante"
Variables - Fichiers group_vars et host_vars
Intermédiaire
# Fichier : group_vars/webservers.yml
--- 
ntp_server: ntp.web.example.com
Variables - Passer depuis la ligne de commande
Intermédiaire
# Lancement : ansible-playbook playbook.yml -e "user=john"
- name: Utiliser une variable externe
  ansible.builtin.debug:
    msg: "L'utilisateur est {{ user }}"
Variables - Utiliser les facts
Facile
- name: Afficher l'adresse IP de l'hôte
  ansible.builtin.debug:
    msg: "L'adresse IPv4 est {{ ansible_default_ipv4.address }}"