Ansible for Puppet users

206 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.