bundle agent common { files: any:: "/etc/hosts" edit_defaults => std_defs, perms => system_owned("444"), copy_from => local_dcp("$(sys.inputdir)/templates/common/hosts"), classes => if_repaired("common_hosts_files_repaired"); reports: any:: "$(this.bundle): /etc/hosts repaired" ifvarclass => "common_hosts_files_repaired"; } bundle agent home_skel(caller, user) { files: any:: "/home/$(user)/." create => "true", copy_from => seed_cp("/etc/skel"), depth_search => recurse("inf"), classes => if_repaired("$(caller)_home_skel_$(user)_repaired"); reports: any:: "$(caller): /home/$(user) initialized" ifvarclass => "$(caller)_home_skel_$(user)_repaired"; } bundle agent install_package(caller, package) { vars: "normalised_name" string => canonify("$(package)"); packages: debian|ubuntu:: "$(package)" policy => "present", package_module => apt_get, classes => if_repaired("$(caller)_common_package_$(normalised_name)_add_repaired"); freebsd:: "$(package)" policy => "present", package_module => pkg, classes => if_repaired("$(caller)_common_package_$(normalised_name)_add_repaired"); reports: any:: "$(caller): $(package) installed" ifvarclass => "$(caller)_common_package_$(normalised_name)_add_repaired"; }