service.pp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. $service_manage = true,
  23. ) {
  24. $service_enable = $service_ensure ? {
  25. running => true,
  26. absent => false,
  27. stopped => false,
  28. 'undef' => undef,
  29. default => true,
  30. }
  31. if $service_ensure == 'undef' {
  32. $service_ensure_real = undef
  33. } else {
  34. $service_ensure_real = $service_ensure
  35. }
  36. if $service_manage {
  37. case $::osfamily {
  38. 'OpenBSD': {
  39. service { 'nginx':
  40. ensure => $service_ensure_real,
  41. name => $service_name,
  42. enable => $service_enable,
  43. flags => $service_flags,
  44. hasstatus => true,
  45. hasrestart => true,
  46. }
  47. }
  48. default: {
  49. service { 'nginx':
  50. ensure => $service_ensure_real,
  51. name => $service_name,
  52. enable => $service_enable,
  53. hasstatus => true,
  54. hasrestart => true,
  55. }
  56. }
  57. }
  58. }
  59. if $configtest_enable == true {
  60. Service['nginx'] {
  61. restart => $service_restart,
  62. }
  63. }
  64. }