diff --git a/docs/Ansible/2024-07-19-ansible-pense-bete.md b/docs/Ansible/2024-07-19-ansible-pense-bete.md index 4d392b7..bf0c270 100644 --- a/docs/Ansible/2024-07-19-ansible-pense-bete.md +++ b/docs/Ansible/2024-07-19-ansible-pense-bete.md @@ -7,3 +7,56 @@ date: 2024-07-19 --- # Pense-bête Ansible + +### Ternary pour choisir la valeur d'une variable selon un état vrai ou faux +```yaml +- name: "{{ boolean_var is not defined|ternary('is true', 'is false') }}" +``` +*Source : [ansible.builtin.ternary filter – Ternary operation filter](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ternary_filter.html)* +*** +### Renvoi le chemin du fichier à trouver entre deux. +```yaml +- name: Test paths + tags: always + ansible.builtin.stat: + path: "{{ item }}" + loop: + - /first/path/to/test + - /second/path/to/test + register: paths_stat + +- name: Set found path + ansible.builtin.set_fact: + postmaster_path: "{{ item.stat.path }}" + loop: "{{ paths_stat.results }}" + when: item.stat.exists +``` +*Source : [ansible.builtin.stat module – Retrieve file or file system status](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/stat_module.html#ansible-builtin-stat-module-retrieve-file-or-file-system-status)* +*** +### Installation de tous les rpms présents dans un répertoire. +#### Exemple de paquets pour RabbitMQ. +```yaml +#rpm_install "../packages/$DISTRIBUTION/rpms_erlang2/*.rpm" +- name: Find rpms to install + ansible.builtin.find: + paths: "{{ sc_src_tmp }}/" + patterns: "*.rpm" + use_regex: false + recurse: true + register: found_rpm_files +- name: found rpm files + debug: + var: found_rpm_files.files.path +- name: Setting rpms loop to install + ansible.builtin.set_fact: + rpm_list: "{{ found_rpm_files.files | map(attribute='path') | list }}" + +- name: Install RabbitMQ rpms + ansible.builtin.dnf: + disable_gpg_check: true + name: '{{ rpm_list }}' + state: installed + register: rpms_installed +- debug: + msg: "Installed rpms: {{ rpms_installed.results }}" +``` \ No newline at end of file