Forum: CFEngine Help Subject: Re: CFEngine Help: Service promises and reload Author: toddnni Link to topic: https://cfengine.com/forum/read.php?3,26901,26903#msg-26903
Let's take this as a starting point bundle agent configure_ssh(yesno) { vars: any:: "sshd_vars" string => "yes"; "sshd_vars" string => "no"; "sshd_vars" string => "no"; classes: any:: "yes" expression => regcmp("", "$(yesno)"); "no" expression => regcmp("", "$(yesno)"); files: yes:: "/etc/ssh/sshd_config" create => "true", edit_line => set_variables("configure_ssh.sshd_vars", " ", "#", "sshd config"), classes => if_repaired("sshd_conf_changed"); processes: yes:: "sshd" restart_class => "restart_sshd"; no:: "sshd" process_count => any_count("stop_sshd"); commands: freebsd.restart_sshd:: "/usr/sbin/service sshd restart"; freebsd.stop_sshd:: "/usr/sbin/service sshd onestop"; freebsd.sshd_conf_changed:: "/usr/sbin/service sshd reload"; # Plus all permutations for different operating systems # # By using services this can be simplified to bundle agent configure_ssh(yesno) { vars: any:: "sshd_vars" string => "yes"; "sshd_vars" string => "no"; "sshd_vars" string => "no"; classes: any:: "yes" expression => regcmp("", "$(yesno)"); "no" expression => regcmp("", "$(yesno)"); files: yes:: "/etc/ssh/sshd_config" create => "true", edit_line => set_variables("configure_ssh.sshd_vars", " ", "#", "sshd config"), classes => if_repaired("sshd_conf_changed"); services: yes:: "sshd" service_policy => "start"; no:: "sshd" service_policy => "disable"; commands: freebsd.sshd_conf_changed:: "/usr/sbin/service sshd reload"; # Plus all permutation for different operating systems # And with possible reload we get bundle agent configure_ssh(yesno) { vars: any:: "sshd_vars" string => "yes"; "sshd_vars" string => "no"; "sshd_vars" string => "no"; classes: any:: "yes" expression => regcmp("", "$(yesno)"); "no" expression => regcmp("", "$(yesno)"); files: yes:: "/etc/ssh/sshd_config" create => "true", edit_line => set_variables("configure_ssh.sshd_vars", " ", "#", "sshd config"), classes => if_repaired("sshd_conf_changed"); services: yes:: "sshd" service_policy => "start"; no:: "sshd" service_policy => "disable"; sshd_conf_changed:: "sshd" service_policy => "reload"; Thanks for the interest. _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine