// Aula 14 - Trabalhando com Loops https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html # criar-usuario1.yml --- - name: Criar usuários em webservers hosts: webservers become: yes tasks: - name: Criação do usuário 'webuser' user: name: webuser state: present - name: Criação do usuário 'webadmin' user: name: webadmin state: present - name: Criação do usuário 'webdev' user: name: webdev state: present # criar-usuario2.yml --- - name: Criar usuários em webservers hosts: webservers become: yes vars: users: - webuser - webadmin - webdev tasks: - name: Criação da conta '{{item}}' user: name: "{{ item }}" state: present loop: "{{ users }}" # apagar-users2.yml --- - name: Apagar usuários em webservers hosts: webservers become: yes vars: users: - webuser - webadmin - webdev tasks: - name: Apagar usuários user: name: "{{ item }}" state: absent remove: yes force: yes loop: "{{ users }}" # ansible-playbook criar-usuario1.yml --limit web1 # ansible-playbook apagar-users2.yml --limit web1 # ansible-playbook criar-usuario2.yml --limit web1 # passwords.yml --- # Arquivos como senhas e nomes de usuários que estão em users.yml. # A sua ordem não importa. webuser: password: mudar123 webadmin: password: mudar456 webdev: password: mudar789 # users.yml --- # As senhas estão no arquivo 'passwords.yml' webusers: - username: webuser comment: Usuário comum - username: webadmin comment: Usuário Web administrador - username: webdev comment: Usuário Web dev # ansible-vault encrypt passwords.yml # criar-users.yml --- - name: Criação de usuários em webservers hosts: webservers become: yes tasks: - name: Carregar usuários include_vars: file: users.yml name: users - name: Carregar senhas include_vars: file: passwords.yml name: passwords - name: Criar usuários user: name: "{{ item.username }}" comment: "{{ item.comment }}" password: "{{ passwords[item.username]['password'] | password_hash('sha512') }}" update_password: always state: present loop: "{{ users.webusers }}" # ansible-playbook --ask-vault-pass criar-users.yml