Модули

Модуль - директория с определенной структурой

{имя_модуля}/
    files/     - различные файлы
    lib/       - плагины, особые перменные или типы ресурсов
    manifests/ - манифесты
        init.pp - обязательный файл, должен содержать класс с именем модуля
        {класс}.pp
        {определяемый_тип}.pp
        {класс}/
            {под_класс1}.pp
            {под_класс2}.pp
    templates/ - .erb шаблоны
    tests/

Обращение в коде puppet к классам будет выглядеть как

имя_модуля { ... }
имя_модуля::класс1 { ... }
имя_модуля::класс1::под_класс1 { ... }