// Aula 16 - Usando variáveis mágicas https://docs.ansible.com/ansible/latest/user_guide/playbooks_vars_facts.html#information-about-ansible-magic-variables https://docs.ansible.com/ansible/latest/reference_appendices/special_variables.html # users.yml --- # As senhas estão em passwords.yml webusers: - username: webuser comment: Usuário comum - username: webadmin comment: Web administrator - username: webdev comment: Web developer dbusers: - username: dbuser comment: Usuário comum - username: dbadmin comment: Database administrator - username: dbdev comment: Database developer # passwords.yml --- # Web user passwords. webuser: password: mudar123 webadmin: password: mudar123 webdev: password: mudar123 # Database user passwords. dbuser: password: mudar123 dbadmin: password: mudar123 dbdev: password: mudar123 # criar_usuarios.yml --- - name: Criar usuários hosts: all become: yes tasks: - name: Carregar usuários include_vars: file: users.yml name: users - name: Carregar as senhas include_vars: file: passwords.yml name: passwords - name: Criar as contas Webuser user: name: "{{ item.username }}" comment: "{{ item.comment }}" password: "{{ passwords[item.username]['password'] | password_hash('sha512') }}" update_password: always state: present loop: "{{ users.webusers }}" when: "'webservers' in group_names" - name: Criar as contas no databases user: name: "{{ item.username }}" comment: "{{ item.comment }}" password: "{{ passwords[item.username]['password'] | password_hash('sha512') }}" update_password: always state: present loop: "{{ users.dbusers }}" when: "'databases' in group_names" # ansible-playbook criar_usuarios.yml