## Variables

Ansible can work with metadata from various sources and manage their context in the form of variables.

- Command line parameters
- Plays and tasks
- Files
- Inventory
- Discovered facts
- Roles

While automation exists to make it easier to make things repeatable, all of your systems are not exactly alike.

Variables are used to store metadata for each host drawing from numerous sources. For example variable may be for things like facts or file paths or package versions.