service.pp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # Class: nginx::service
  2. #
  3. # This module manages NGINX service management and vhost rebuild
  4. #
  5. # Parameters:
  6. #
  7. # There are no default parameters for this class.
  8. #
  9. # Actions:
  10. #
  11. # Requires:
  12. #
  13. # Sample Usage:
  14. #
  15. # This class file is not called directly
  16. class nginx::service(
  17. $configtest_enable = $::nginx::configtest_enable,
  18. $service_restart = $::nginx::service_restart,
  19. $service_ensure = $::nginx::service_ensure,
  20. $service_name = 'nginx',
  21. $service_flags = undef,
  22. ) {
  23. $service_enable = $service_ensure ? {
  24. running => true,
  25. absent => false,
  26. stopped => false,
  27. 'undef' => undef,
  28. default => true,
  29. }
  30. if $service_ensure == 'undef' {
  31. $service_ensure_real = undef
  32. } else {
  33. $service_ensure_real = $service_ensure
  34. }
  35. case $::osfamily {
  36. 'OpenBSD': {
  37. service { 'nginx':
  38. ensure => $service_ensure_real,
  39. name => $service_name,
  40. enable => $service_enable,
  41. flags => $service_flags,
  42. hasstatus => true,
  43. hasrestart => true,
  44. }
  45. }
  46. default: {
  47. service { 'nginx':
  48. ensure => $service_ensure_real,
  49. name => $service_name,
  50. enable => $service_enable,
  51. hasstatus => true,
  52. hasrestart => true,
  53. }
  54. }
  55. }
  56. if $configtest_enable == true {
  57. Service['nginx'] {
  58. restart => $service_restart,
  59. }
  60. }
  61. }