Glad you managed to figure it out, and thanks for posting your solution for posterity!
On Tuesday, October 13, 2020 at 12:26:35 PM UTC-4 jochen....@gmail.com wrote: > Hi all, > > I solved this with the use of puppet iteration functions: > > class profile::software::apache ( > $php_version = '7.4', > $php_remove = ['7.0‘, ‘7.3'], > #... > ) { > # build a hash of PHP Versions with a value of either present or absent > # and iterate over it with each > $phpInstallHash = { $php_version => 'present' } > #notify { "Value of phpRemove: ${php_remove}": } > if $php_remove { > # We have the array, use the map function to build remove hash > $phpRemoveHash = $php_remove.map |$version| { > { $version => 'absent' } > } > $phpFullHash = $phpInstallHash + $phpRemoveHash > } else { > $phpFullHash = $phpInstallHash > } > #notify { "phpHash to iterate over to install/uninstall: ${phpFullHash}": } > > #iterate over the result installing/uninstalling > $phpFullHash.each | $php_version, $ensure_value | { > ensure_packages([ > "php$php_version-xml", > "php$php_version-zip", > "php$php_version-curl", > "php$php_version-mbstring", > "libapache2-mod-php$php_version", > ], > { > 'ensure' => $ensure_value, > require => [Class['apt::update'], > Apt::Source['source_php_sury'], > ], > notify => Class['apache::service'], > } > ) > > } > } > > > It works for me. I answered my StackOverflow question as well. Any > thoughts? > > As Garret pointed out, this for sure is not a recommended or usual way to > do things. The need for this stems from my use of the Sury PHP repository, > which offers several versions of PHP. I chose to use with 7.3 or 7.4 and > get all important and security related from that tree, so it’s not like > pinning a package to a fixed version. > > regards, > Jochen > > -- 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/8824a2b2-fa3e-4a16-a99b-ad9026477204n%40googlegroups.com.