summaryrefslogtreecommitdiff
path: root/lib/puppet/parser/functions/ensure_packages.rb
diff options
context:
space:
mode:
authorHunter Haugen <hunter@puppetlabs.com>2016-03-17 09:25:38 -0700
committerHunter Haugen <hunter@puppetlabs.com>2016-03-17 09:25:38 -0700
commitb6383d259cf4917edd832ba31cf4dae2b4201235 (patch)
tree7ac0df39a11d5335c4373c48603341c4035327c0 /lib/puppet/parser/functions/ensure_packages.rb
parent52f6af3accb4657d89aa26b623710b4e698cdde2 (diff)
parent0da9ca7e4a78df49c08873f55caf7c88cdd9bc32 (diff)
downloadpuppet-stdlib-master.tar.gz
puppet-stdlib-master.tar.bz2
Merge pull request #576 from yadavnikhil/masterHEADmaster
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.rb27
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