Magic Variables Usage
What are Magic Variables?
hostvars - Accessing Other Host Variables
Example: Using hostvars in a Template
---
# playbook: configure_loadbalancer.yml
- name: Configure load balancer settings
hosts: loadbalancers
tasks:
- name: Create nginx configuration from template
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
when: ansible_facts['os_family'] == "Debian" or ansible_facts['os_family'] == "RedHat"
- name: Create IIS configuration from template
template:
src: web.config.j2
dest: C:\inetpub\wwwroot\web.config
when: ansible_facts['os_family'] == "Windows"groups - Accessing Groups and Their Hosts
Example: Configuring a Monitoring System
group_names - Checking Host Group Membership
Example: Conditional Configuration Based on Group Membership
inventory_hostname - Reference Current Host
Example: Using inventory_hostname in Templates and Tasks
Other Useful Magic Variables
ansible_play_hosts and ansible_play_batch
ansible_version
A Practical Sequence: Configuring Cross-Server Communication
Complete Example: Multi-Tier Application Deployment
Best Practices for Using Magic Variables
Conclusion
Last updated