diff options
author | Hunter Haugen <hunter@puppetlabs.com> | 2016-03-17 09:25:38 -0700 |
---|---|---|
committer | Hunter Haugen <hunter@puppetlabs.com> | 2016-03-17 09:25:38 -0700 |
commit | b6383d259cf4917edd832ba31cf4dae2b4201235 (patch) | |
tree | 7ac0df39a11d5335c4373c48603341c4035327c0 /lib/puppet/parser/functions/ensure_packages.rb | |
parent | 52f6af3accb4657d89aa26b623710b4e698cdde2 (diff) | |
parent | 0da9ca7e4a78df49c08873f55caf7c88cdd9bc32 (diff) | |
download | puppet-stdlib-b6383d259cf4917edd832ba31cf4dae2b4201235.tar.gz puppet-stdlib-b6383d259cf4917edd832ba31cf4dae2b4201235.tar.bz2 |
ensure_packages.rb: Modifed to pass hiera parameters (as hash,array) as first argument
Diffstat (limited to 'lib/puppet/parser/functions/ensure_packages.rb')
-rw-r--r-- | lib/puppet/parser/functions/ensure_packages.rb | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/lib/puppet/parser/functions/ensure_packages.rb b/lib/puppet/parser/functions/ensure_packages.rb index f1da4aa..532b702 100644 --- a/lib/puppet/parser/functions/ensure_packages.rb +++ b/lib/puppet/parser/functions/ensure_packages.rb @@ -17,18 +17,29 @@ third argument to the ensure_resource() function. raise(Puppet::ParseError, 'ensure_packages(): Requires second argument to be a Hash') end - packages = Array(arguments[0]) + if arguments[0].is_a?(Hash) + if arguments[1] + defaults = { 'ensure' => 'present' }.merge(arguments[1]) + else + defaults = { 'ensure' => 'present' } + end - if arguments[1] - defaults = { 'ensure' => 'present' }.merge(arguments[1]) + Puppet::Parser::Functions.function(:ensure_resources) + function_ensure_resources(['package', Hash(arguments[0]), defaults ]) else - defaults = { 'ensure' => 'present' } - end + packages = Array(arguments[0]) + + if arguments[1] + defaults = { 'ensure' => 'present' }.merge(arguments[1]) + else + defaults = { 'ensure' => 'present' } + end - Puppet::Parser::Functions.function(:ensure_resource) - packages.each { |package_name| - function_ensure_resource(['package', package_name, defaults ]) + Puppet::Parser::Functions.function(:ensure_resource) + packages.each { |package_name| + function_ensure_resource(['package', package_name, defaults ]) } + end end end |