[[oktatas:linux:konfiguraciokezeles:ansible:playbook|< Playbook]]
====== Ansible változók ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2019
* [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: http://szit.hu
===== Változók a playbookban =====
vars:
user: janos
pass: titok
Tömb vagy lista:
---
- hosts: all
...
vars:
file_names:
- adat1.txt
- adat2.txt
- adat3.txt
...
tasks:
- name: másolás
copy:
src: "{{ item }}"
dest: "/valahol/{{ item }}"
loop: "{{ file_names }}"
Változók külön fájlban:
vars_files:
- nginx.yml
===== Regisztrált változók =====
- name: a whoami parancs kimenetének tárolása
command: whoami
register: login
===== Lista =====
- hosts: all
vars:
gyumolcs:
- alma
- körte
- barack
- szilva
tasks:
- name: egyik elem kiíratása
debug:
msg: "{{ gyumolcs[2] }}"
Indítás:
ansible-playbook -i 192.168.5.102, var.yml
A lehetséges kimenet:
PLAY [all] *********************************************************************
TASK [Gathering Facts] *********************************************************
ok: [192.168.5.102]
TASK [egyik elem kiíratása] ****************************************************
ok: [192.168.5.102] => {
"msg": "barack"
}
PLAY RECAP *********************************************************************
192.168.5.102 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
===== Változók külső fájlokban =====
---
- name: változók
hosts: all
become: true
remote_user: adminc
vars_files:
- valt.yml
tasks:
- name: Hozzáfűzés
command: "ls {{ filename }}"
register: list
- debug:
msg="{{ list.stdout }}"
---
filename: /srv/valami/adat.txt
Másik példa a shell modullal:
---
- name: változók
hosts: all
become: true
remote_user: adminc
vars_files:
- valt.yml
tasks:
- name: Hozzáfűzés
shell: "echo alma >> {{ filename }}"
==== Felhasználók ====
- hosts: all
become: true
remote_user: janos
vars_files:
- vars.yml
tasks:
- name: több felhasználó felvétele
user:
name: "{{ item.name }}"
uid: "{{ item.uid }}"
groups: "{{ item.groups }}"
state: present
with_items: "{{ user_details }}"
user_details:
- { name: 'nagyb', group: 'dolgozok', groups: ['human', 'info']}
- { name: 'nagyj', group: 'dolgozok', groups: ['human']}
===== Forrás =====
* https://docs.ansible.com/ansible/2.3/playbooks_variables.html (2019)