A colleague was asking me questions today about Ansible playbooks, roles, tasks etc and how they translated from Puppet nomenclature (he is coming to Ansible with Puppet experience - much the same as I did actually). He thought it would be handy to have a ‘translation guide’.
So here we go, if you know Puppet but you’re moving to Ansible, here’s your quick guide to the differing phrases:
|Class||Playbook||A ‘class’ can infer a host ‘type’, like a webserver. Which you can model with a playbook in Ansible|
|Manifest||Playbook||A manifest file in Puppet is just like a playbook file in Ansible|
|Resource||Task||Where resources use a type, a task uses a module|
|Facter||Setup module||Setup is used to gather facts; unless you specifically say
|Hiera||Variables||Yes, you have full data structures just like Hiera. It’s worth looking at group_vars|
The online documentation at docs.ansible.com is superb too. See my previous post on ‘Five tips for Ansible newbies‘
Are there others I’ve forgotten? (It’s been way over a year now since I used Puppet!). Let me know in the comments.