Hi all,

I posted a question on Stackoverflow before the weekend, but no responses 
and not many views yet, unfortunately. So please forgive me asking this 
again here. refactor ensure_packages to switch version of installed 
packages https://stackoverflow.com/q/64284862/13088564?sem=2


I am successfully installing several PHP modules by version with puppet on 
Debian linux like this:
$php_version = '7.3' 
ensure_packages([ 
    "php$php_version-xml", 
     "php$php_version-zip", 
     "php$php_version-curl", 
     "php$php_version-mbstring", 
     "libapache2-mod-php$php_version",
 ], 
 { 'ensure' => 'present', } ) 

now I want to prepare for an update from PHP 7.3 to 7.4. This basically 
works, but the 7.3 packages stay installed. I would like to adapt the code 
to remove the old packages. I am looking for a way to reuse the list of 
packages of modules for uninstalling.

I am thinking of a signature like this
class profile::software::apache (
     $php_version = '7.4',
     $php_remove = ['7.0‘, ‘7.3']
    , #... 
) {

$myPackages = [
     "php$php_version-xml",
     "php$php_version-zip",
     "php$php_version-curl",
     "php$php_version-mbstring",
     "libapache2-mod-php$php_version",
 ] 
 
ensure_packages($myPackages, {
     'ensure' => 'present', 
 } ) 

 $php_remove.each | String $php_version | { 
     ensure_packages($myPackages,
     { 
          'ensure' => 'absent', 
     }  )
 }
 }

Is there a way to solve this?

thx

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/64abfa9c-5b7a-4aac-8a78-8e5152e8d66cn%40googlegroups.com.

Reply via email to