From 7a2c9293e91695dc24bba53702ee98cfc8695a21 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Sun, 26 Apr 2015 13:52:49 +0200 Subject: [PATCH 01/19] Mix and match various proposals. --- manifests/extension.pp | 15 ++++++++++++- manifests/extension/disenable.pp | 38 ++++++++++++++++++++++++++++++++ manifests/sapi.pp | 13 +++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 manifests/extension/disenable.pp create mode 100644 manifests/sapi.pp diff --git a/manifests/extension.pp b/manifests/extension.pp index 53ca6603..33c9c1ea 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -62,7 +62,9 @@ $package, $provider = undef, $pipe = undef, - $source = undef + $source = undef, + $sapis = ['cli', 'fpm', 'apache2'], + $priority = 20, ) { if $provider == 'pecl' { @@ -72,6 +74,17 @@ source => $source, pipe => $pipe; } + $sapi_defaults = { + reqire => Pakage[$package], + } + create_resources('php::sapi', $sapis, $sapi_defaults) + $defaults = { + extension => $package, + ensure => $ensure, + priority => $priority, + reqire => Resource[$sapis], + } + create_resources('php::extension::disenable', $php::sapi::sapis, $defaults) } elsif $provider == 'dpkg' { package { $package: ensure => $ensure, diff --git a/manifests/extension/disenable.pp b/manifests/extension/disenable.pp new file mode 100644 index 00000000..b791c6a5 --- /dev/null +++ b/manifests/extension/disenable.pp @@ -0,0 +1,38 @@ +define php::extension::disenable ( + $exension, + $ensure = 'present', + $priority = 20, +) { +# readability. otherwis not needed + $sapi = $name + + Exec { + # fact that php5-common does not guarantee that extension is installed + require => Package[$exension], + # default path minus games + path => '/bin:/usr/bin:/usr/local/bin: /sbin:/usr/sbin:/usr/local/sbin', + } + + validate_re($ensure, '^(present|installed|absent)$') +# no need for qualified since path is defined + $command = $ensure ? { + 'absent' => 'php5dismod', + default => 'php5enmod' + } +# same as above + $unless = $ensure ? { + 'absent' => 'test ! -e', + default => 'test -e', + } +# regex is idempotent. no changes will be made if there is a space after semicolon already + exec { "priority_${sapi}_${exension}": + command => "sed -ie 's/^;priority/; priority/g' /etc/php5/mods-available/${exension}.ini", + onlyif => "test -e /etc/php5/mods-available/${exension}.ini", + } +# extension class should be responsible for service notification + exec { "${command} -s ${sapi} ${exension}": + unless => "${unless} /etc/php5/${sapi}/conf.d/${priority}-${exension}.ini", + require => Exec["priority_${sapi}_${exension}"] + } + +} diff --git a/manifests/sapi.pp b/manifests/sapi.pp new file mode 100644 index 00000000..49a9ba86 --- /dev/null +++ b/manifests/sapi.pp @@ -0,0 +1,13 @@ +define php::sapi { +# readability. otherwis not needed + $sapis = $name + + unless defined(Service[$php::fpm::params::service_name]) { + delete($sapis, 'fpm') + } + + unless defined(Package[$php::apache::params::package]) { + delete($sapis, 'apache2') + } + +} \ No newline at end of file From 1358bf3e21b7d75a5b560022dfeac64f45428e36 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Sun, 26 Apr 2015 15:26:30 +0200 Subject: [PATCH 02/19] It's a hash not an array. --- manifests/extension.pp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manifests/extension.pp b/manifests/extension.pp index 33c9c1ea..187790f9 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -63,7 +63,11 @@ $provider = undef, $pipe = undef, $source = undef, - $sapis = ['cli', 'fpm', 'apache2'], + $sapis = { + 'cli' => {title => 'cli'}, + 'fpm' => {title => 'fpm'}, + 'apache2' => {title => 'apache2'} + }, $priority = 20, ) { From 603b79fe6bbc4bd5e7befdb1b49d49d34f7f43de Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Sun, 26 Apr 2015 23:51:30 +0200 Subject: [PATCH 03/19] Giving up on sapi type. --- manifests/extension.pp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/manifests/extension.pp b/manifests/extension.pp index 187790f9..95208775 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -78,17 +78,19 @@ source => $source, pipe => $pipe; } - $sapi_defaults = { - reqire => Pakage[$package], + unless defined(Service[$php::fpm::params::service_name]) { + delete($sapis, 'fpm') + } + unless defined(Package[$php::apache::params::package]) { + delete($sapis, 'apache2') } - create_resources('php::sapi', $sapis, $sapi_defaults) $defaults = { extension => $package, ensure => $ensure, priority => $priority, - reqire => Resource[$sapis], + reqire => Package[$package], } - create_resources('php::extension::disenable', $php::sapi::sapis, $defaults) + create_resources('php::extension::disenable', $sapis, $defaults) } elsif $provider == 'dpkg' { package { $package: ensure => $ensure, From e7dfaec4aa8991fb6cdedae176d913d5ce2aeb54 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Sun, 26 Apr 2015 23:51:45 +0200 Subject: [PATCH 04/19] Giving up on sapi type. --- manifests/sapi.pp | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 manifests/sapi.pp diff --git a/manifests/sapi.pp b/manifests/sapi.pp deleted file mode 100644 index 49a9ba86..00000000 --- a/manifests/sapi.pp +++ /dev/null @@ -1,13 +0,0 @@ -define php::sapi { -# readability. otherwis not needed - $sapis = $name - - unless defined(Service[$php::fpm::params::service_name]) { - delete($sapis, 'fpm') - } - - unless defined(Package[$php::apache::params::package]) { - delete($sapis, 'apache2') - } - -} \ No newline at end of file From 9a5f1f2bd82cf4ce75e3e1cf0e8592d0b70967c9 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Sun, 26 Apr 2015 23:56:04 +0200 Subject: [PATCH 05/19] Delete has return value. --- manifests/extension.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/extension.pp b/manifests/extension.pp index 95208775..4db23455 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -79,10 +79,10 @@ pipe => $pipe; } unless defined(Service[$php::fpm::params::service_name]) { - delete($sapis, 'fpm') + $sapis = delete($sapis, 'fpm') } unless defined(Package[$php::apache::params::package]) { - delete($sapis, 'apache2') + $sapis = delete($sapis, 'apache2') } $defaults = { extension => $package, From f341591527618f5984c4dcd791fa6af67311d0ce Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 00:06:57 +0200 Subject: [PATCH 06/19] ufff... --- manifests/extension.pp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/manifests/extension.pp b/manifests/extension.pp index 4db23455..fde26a85 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -63,11 +63,6 @@ $provider = undef, $pipe = undef, $source = undef, - $sapis = { - 'cli' => {title => 'cli'}, - 'fpm' => {title => 'fpm'}, - 'apache2' => {title => 'apache2'} - }, $priority = 20, ) { @@ -78,6 +73,11 @@ source => $source, pipe => $pipe; } + $sapis = { + 'cli' => {title => 'cli'}, + 'fpm' => {title => 'fpm'}, + 'apache2' => {title => 'apache2'} + } unless defined(Service[$php::fpm::params::service_name]) { $sapis = delete($sapis, 'fpm') } From 1ece554cd6af1ed2959b50a55ddcdc745c11f8ec Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 01:56:08 +0200 Subject: [PATCH 07/19] this might work. --- manifests/extension.pp | 14 ++------------ manifests/extension/disenable.pp | 3 +-- manifests/sapi.pp | 22 ++++++++++++++++++++++ 3 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 manifests/sapi.pp diff --git a/manifests/extension.pp b/manifests/extension.pp index fde26a85..3d81fa23 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -63,6 +63,7 @@ $provider = undef, $pipe = undef, $source = undef, + $sapis = ['cli', 'fpm', 'apache2'], $priority = 20, ) { @@ -73,24 +74,13 @@ source => $source, pipe => $pipe; } - $sapis = { - 'cli' => {title => 'cli'}, - 'fpm' => {title => 'fpm'}, - 'apache2' => {title => 'apache2'} - } - unless defined(Service[$php::fpm::params::service_name]) { - $sapis = delete($sapis, 'fpm') - } - unless defined(Package[$php::apache::params::package]) { - $sapis = delete($sapis, 'apache2') - } $defaults = { extension => $package, ensure => $ensure, priority => $priority, reqire => Package[$package], } - create_resources('php::extension::disenable', $sapis, $defaults) + create_resources('php::sapi', $sapis, $defaults) } elsif $provider == 'dpkg' { package { $package: ensure => $ensure, diff --git a/manifests/extension/disenable.pp b/manifests/extension/disenable.pp index b791c6a5..e14dd029 100644 --- a/manifests/extension/disenable.pp +++ b/manifests/extension/disenable.pp @@ -1,10 +1,9 @@ define php::extension::disenable ( + $sapi = $title, $exension, $ensure = 'present', $priority = 20, ) { -# readability. otherwis not needed - $sapi = $name Exec { # fact that php5-common does not guarantee that extension is installed diff --git a/manifests/sapi.pp b/manifests/sapi.pp new file mode 100644 index 00000000..79869643 --- /dev/null +++ b/manifests/sapi.pp @@ -0,0 +1,22 @@ +define php::sapi ( + $sapi = $title, + $extension, + $ensure, + $priority, + $require +) { + if defined(Service[$php::fpm::params::service_name]) { + $disenable = $sapi + } elsif defined(Package[$php::apache::params::package]) { + $disenable = $sapi + } else { + $disenable = $sapi + } + php::extension::disenable { $disenable: + extension => $extension, + ensure => $ensure, + pripriority => $priority, + require => $require, + unless => empty($disenable) + } +} \ No newline at end of file From 01878fe4448f37244e554b39edcd015a31e87233 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 02:08:33 +0200 Subject: [PATCH 08/19] bettter --- manifests/extension.pp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/manifests/extension.pp b/manifests/extension.pp index 3d81fa23..6c065fef 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -80,7 +80,12 @@ priority => $priority, reqire => Package[$package], } - create_resources('php::sapi', $sapis, $defaults) + php::sapi { $sapis: + extension => $package, + ensure => $ensure, + priority => $priority, + reqire => Package[$package], + } } elsif $provider == 'dpkg' { package { $package: ensure => $ensure, From 9591acaf909d8a38aaedb77b9ec22b9d22438743 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 02:11:12 +0200 Subject: [PATCH 09/19] even better --- manifests/extension.pp | 8 +------- manifests/sapi.pp | 2 -- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/manifests/extension.pp b/manifests/extension.pp index 6c065fef..b2fb33cb 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -74,17 +74,11 @@ source => $source, pipe => $pipe; } - $defaults = { - extension => $package, - ensure => $ensure, - priority => $priority, - reqire => Package[$package], - } php::sapi { $sapis: extension => $package, ensure => $ensure, priority => $priority, - reqire => Package[$package], + require => Package[$package], } } elsif $provider == 'dpkg' { package { $package: diff --git a/manifests/sapi.pp b/manifests/sapi.pp index 79869643..35e93c0d 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -3,7 +3,6 @@ $extension, $ensure, $priority, - $require ) { if defined(Service[$php::fpm::params::service_name]) { $disenable = $sapi @@ -16,7 +15,6 @@ extension => $extension, ensure => $ensure, pripriority => $priority, - require => $require, unless => empty($disenable) } } \ No newline at end of file From ccfddddf383e69938b29ce08022cb28f2ba94953 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 02:27:37 +0200 Subject: [PATCH 10/19] unique names --- manifests/extension.pp | 3 ++- manifests/sapi.pp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/manifests/extension.pp b/manifests/extension.pp index b2fb33cb..6d7b5dc8 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -74,7 +74,8 @@ source => $source, pipe => $pipe; } - php::sapi { $sapis: + $uniqe_sapis = suffix($sapis, $extension) + php::sapi { $uniqe_sapis: extension => $package, ensure => $ensure, priority => $priority, diff --git a/manifests/sapi.pp b/manifests/sapi.pp index 35e93c0d..3d6ac86d 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -1,9 +1,9 @@ define php::sapi ( - $sapi = $title, $extension, $ensure, $priority, ) { + $sapis = delete($title, $extension) if defined(Service[$php::fpm::params::service_name]) { $disenable = $sapi } elsif defined(Package[$php::apache::params::package]) { From e5539afb216fd74e178f5f09436e1367b6a2e6fc Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 02:39:12 +0200 Subject: [PATCH 11/19] unique names for both types --- manifests/extension.pp | 2 +- manifests/extension/disenable.pp | 3 ++- manifests/sapi.pp | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/extension.pp b/manifests/extension.pp index 6d7b5dc8..f048abb5 100644 --- a/manifests/extension.pp +++ b/manifests/extension.pp @@ -74,7 +74,7 @@ source => $source, pipe => $pipe; } - $uniqe_sapis = suffix($sapis, $extension) + $uniqe_sapis = suffix($sapis, $package) php::sapi { $uniqe_sapis: extension => $package, ensure => $ensure, diff --git a/manifests/extension/disenable.pp b/manifests/extension/disenable.pp index e14dd029..10aaa22f 100644 --- a/manifests/extension/disenable.pp +++ b/manifests/extension/disenable.pp @@ -1,10 +1,11 @@ define php::extension::disenable ( - $sapi = $title, $exension, $ensure = 'present', $priority = 20, ) { + $sapi = delete($title, $extension) + Exec { # fact that php5-common does not guarantee that extension is installed require => Package[$exension], diff --git a/manifests/sapi.pp b/manifests/sapi.pp index 3d6ac86d..581a8668 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -3,7 +3,6 @@ $ensure, $priority, ) { - $sapis = delete($title, $extension) if defined(Service[$php::fpm::params::service_name]) { $disenable = $sapi } elsif defined(Package[$php::apache::params::package]) { From 6c8b7638dad584697831636c5ea055c9231cf888 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 02:54:13 +0200 Subject: [PATCH 12/19] more conditions --- manifests/sapi.pp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/manifests/sapi.pp b/manifests/sapi.pp index 581a8668..9ab7ffbc 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -3,17 +3,19 @@ $ensure, $priority, ) { - if defined(Service[$php::fpm::params::service_name]) { - $disenable = $sapi - } elsif defined(Package[$php::apache::params::package]) { - $disenable = $sapi + if defined(Service[$php::fpm::params::service_name]) and ("fpm${extension}" == $title) { + $disenable = $title + } elsif defined(Package[$php::apache::params::package]) and ("apache2${extension}" == $title) { + $disenable = $title + } elsif ("cli${extension}" == $title) { + $disenable = $title } else { - $disenable = $sapi + $sapi = delete($title, $extension) + fail("Unsuported sapi: ${sapi}") } php::extension::disenable { $disenable: extension => $extension, ensure => $ensure, pripriority => $priority, - unless => empty($disenable) } } \ No newline at end of file From 9f54bc2b685f4719b269328d9567512b7395d1d5 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 02:57:58 +0200 Subject: [PATCH 13/19] even more conditions --- manifests/sapi.pp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/manifests/sapi.pp b/manifests/sapi.pp index 9ab7ffbc..6742fa7b 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -9,13 +9,11 @@ $disenable = $title } elsif ("cli${extension}" == $title) { $disenable = $title - } else { - $sapi = delete($title, $extension) - fail("Unsuported sapi: ${sapi}") } php::extension::disenable { $disenable: extension => $extension, ensure => $ensure, pripriority => $priority, + unless => empty($disenable) } } \ No newline at end of file From e78d562ac974a6ceef8b18f622f8a0d0441a8eb1 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 03:08:40 +0200 Subject: [PATCH 14/19] undefined??? --- manifests/sapi.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/sapi.pp b/manifests/sapi.pp index 6742fa7b..cc69dcfd 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -10,7 +10,7 @@ } elsif ("cli${extension}" == $title) { $disenable = $title } - php::extension::disenable { $disenable: + php::extension::disenable { $title: extension => $extension, ensure => $ensure, pripriority => $priority, From 8f6e557de4ed67525cee17c3890def691dc709ae Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 03:10:41 +0200 Subject: [PATCH 15/19] spelling --- manifests/extension/disenable.pp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/manifests/extension/disenable.pp b/manifests/extension/disenable.pp index 10aaa22f..e2e94af8 100644 --- a/manifests/extension/disenable.pp +++ b/manifests/extension/disenable.pp @@ -1,5 +1,5 @@ define php::extension::disenable ( - $exension, + $extension, $ensure = 'present', $priority = 20, ) { @@ -8,7 +8,7 @@ Exec { # fact that php5-common does not guarantee that extension is installed - require => Package[$exension], + require => Package[$extension], # default path minus games path => '/bin:/usr/bin:/usr/local/bin: /sbin:/usr/sbin:/usr/local/sbin', } @@ -25,14 +25,14 @@ default => 'test -e', } # regex is idempotent. no changes will be made if there is a space after semicolon already - exec { "priority_${sapi}_${exension}": - command => "sed -ie 's/^;priority/; priority/g' /etc/php5/mods-available/${exension}.ini", - onlyif => "test -e /etc/php5/mods-available/${exension}.ini", + exec { "priority_${sapi}_${extension}": + command => "sed -ie 's/^;priority/; priority/g' /etc/php5/mods-available/${extension}.ini", + onlyif => "test -e /etc/php5/mods-available/${extension}.ini", } # extension class should be responsible for service notification - exec { "${command} -s ${sapi} ${exension}": - unless => "${unless} /etc/php5/${sapi}/conf.d/${priority}-${exension}.ini", - require => Exec["priority_${sapi}_${exension}"] + exec { "${command} -s ${sapi} ${extension}": + unless => "${unless} /etc/php5/${sapi}/conf.d/${priority}-${extension}.ini", + require => Exec["priority_${sapi}_${extension}"] } } From 6062f34acded8f48b812a816c27f32d34a3979f4 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 03:13:32 +0200 Subject: [PATCH 16/19] spelling again! --- manifests/sapi.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/sapi.pp b/manifests/sapi.pp index cc69dcfd..3613a8b7 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -13,7 +13,7 @@ php::extension::disenable { $title: extension => $extension, ensure => $ensure, - pripriority => $priority, + priority => $priority, unless => empty($disenable) } -} \ No newline at end of file +} From 50fb1b864ac2b4a064fa78f86507c87a64b38283 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 03:16:40 +0200 Subject: [PATCH 17/19] unless :( --- manifests/sapi.pp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/manifests/sapi.pp b/manifests/sapi.pp index 3613a8b7..274da5c1 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -10,10 +10,12 @@ } elsif ("cli${extension}" == $title) { $disenable = $title } - php::extension::disenable { $title: - extension => $extension, - ensure => $ensure, - priority => $priority, - unless => empty($disenable) + + unless empty($disenable) { + php::extension::disenable { $disenable: + extension => $extension, + ensure => $ensure, + priority => $priority, + } } } From df61e25387bf89a85b99ac018598722810900f62 Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 03:21:45 +0200 Subject: [PATCH 18/19] latest --- manifests/extension/disenable.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/extension/disenable.pp b/manifests/extension/disenable.pp index e2e94af8..22557d90 100644 --- a/manifests/extension/disenable.pp +++ b/manifests/extension/disenable.pp @@ -13,7 +13,7 @@ path => '/bin:/usr/bin:/usr/local/bin: /sbin:/usr/sbin:/usr/local/sbin', } - validate_re($ensure, '^(present|installed|absent)$') + validate_re($ensure, '^(latest|present|installed|absent)$') # no need for qualified since path is defined $command = $ensure ? { 'absent' => 'php5dismod', From c52795137b3f5cc8b23e6289c4e68d402a2b855e Mon Sep 17 00:00:00 2001 From: Goran Miskovic Date: Mon, 27 Apr 2015 10:10:15 +0200 Subject: [PATCH 19/19] Case statements are a bit more clear. --- manifests/sapi.pp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/manifests/sapi.pp b/manifests/sapi.pp index 274da5c1..fac411d0 100644 --- a/manifests/sapi.pp +++ b/manifests/sapi.pp @@ -3,12 +3,21 @@ $ensure, $priority, ) { - if defined(Service[$php::fpm::params::service_name]) and ("fpm${extension}" == $title) { - $disenable = $title - } elsif defined(Package[$php::apache::params::package]) and ("apache2${extension}" == $title) { - $disenable = $title - } elsif ("cli${extension}" == $title) { - $disenable = $title + case $title { + "fpm${extension}": { + if defined(Service[$php::fpm::params::service_name]) { + $disenable = $title + } + } + "apache2${extension}": { + if defined(Package[$php::apache::params::package]) { + $disenable = $title + } + } + "cli${extension}": { + $disenable = $title + } + default: {} } unless empty($disenable) {