Report abuse

modules/apt/manifests/init.pp

class apt {
        exec { "apt-get-update":
                command => "/usr/bin/apt-get update",
                require => Exec["apt-key"],
        }

        exec { "apt-key":
                command => "/usr/bin/wget -q http://apt.example.com/apt/keys/default.pub.gpg -O -|/usr/bin/apt-key add -",
                unless => "/usr/bin/apt-key list|/bin/grep -c 458F2AD9",
        }
}

manifests/site.pp

Package {
      provider => "apt",
      require  => Exec["apt-get-update"],
}
import "nodes/*"

nodes/a.pp

node basenode {
        include apt
        include vim
}
node "www.example.com" inherits basenode {
}