< Playbook

Ansible változók

Szerző: Sallai András

Copyright © Sallai András, 2019

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:

... 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)