Ansible for Puppet users

204 words, 1 minutes.

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:

Puppet Ansible Comments
Module Role
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
Type Module
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 gather_facts: False in a play, it will happen
Hiera Variables Yes, you have full data structures just like Hiera. It’s worth looking at group_vars
Puppetforge Galaxy
Console Tower

The online documentation at 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.