Answers New update
How to syntax check a playbook - Answer-ansible-playbook --syntax-check
playbook.yml
How to dry run a playbook - Answer-ansible-playbook -C playbook.yml
Keywords for controlling ansible user, as well as escalating privilege - Answer-
remote_user: user
become: yes/no
become: true/false
become_method: sudo
Sample output for a module - Answer-ansible-doc -s module_name
Defining variables - Answer-vars:
name1: value1
name2: value2
vars_files:
- vars/users.yml
Using (referencing) a variable in a playbook - Answer-{{ var_name }} (use quotes if
starting a value)
Defining group variables and host variables - Answer-group_vars/group_name,
host_vars/host_name
name:value
(group_name and host_name can be a file or a directory)
Overriding variables - Answer-ansible-playbook main.yml -e "name=value"
Referencing arrays - Answer-users.bjones.first_name
users['bjones']['first_name']
How to save the output from a module to a variable - Answer-register: var_name
How to output/display variable - Answer-- debug: var=var_name
Creating encrypted ansible file - Answer-ansible-vault create secret.yml
ansible-vault create --vault-password-file=vault-pass secret.yml
, (use vault ID's if creating multiple vault passwords in a playbook)
Viewing encrypted ansible file - Answer-ansible-vault view secret1.yml
Encrypt existing file - Answer-ansible-vault encrypt secret.yml
Run playbook with encrypted files - Answer-ansible-playbook --vault-id @prompt
playbook.yml
ansible-playbook --vault-password-file=vault-pw-file playbook.yml
Important Ansible facts - Answer-ansible_facts['hostname']
ansible_facts['fqdn']
ansible_facts['default_ipv4']['address']
ansible_facts['distribution']
ansible_facts['os_family']
Default location for custom facts - Answer-/etc/ansible/facts.d/*.fact
Most useful/notable magic variables - Answer-hostvars
group_names
groups
inventory_hostname
How to get/display ansible facts - Answer-ansible host -m setup
Multi-line values (conditionals, strings, etc) - Answer-whatever: >
content on the next line here
and here
etc etc
Keyword for looping - Answer-loop: list (can be variable)
Keyword for conditionals - Answer-when: condition
OR
when:
- condition
- condition
Ansible configuration groups - Answer-[defaults], [privilege_escalation]
Various configurations for privilege escalation in ansible.cfg - Answer-become,
become_method, become_user, become_ask_pass
Syntax for running an ansible ad hoc command - Answer-ansible host-pattern -m
module -a ansible-arguments