Merge remote branch 'lavamind/master'
This commit is contained in:
commit
a81984c77e
2 changed files with 30 additions and 1 deletions
29
lib/puppet/parser/functions/multi_source_template.rb
Normal file
29
lib/puppet/parser/functions/multi_source_template.rb
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
module Puppet::Parser::Functions
|
||||||
|
require 'erb'
|
||||||
|
|
||||||
|
newfunction(:multi_source_template, :type => :rvalue) do |args|
|
||||||
|
contents = nil
|
||||||
|
environment = compiler.environment
|
||||||
|
sources = args
|
||||||
|
|
||||||
|
sources.each do |file|
|
||||||
|
Puppet.debug("Looking for #{file} in #{environment}")
|
||||||
|
if filename = Puppet::Parser::Files.find_template(file, environment.to_s)
|
||||||
|
wrapper = Puppet::Parser::TemplateWrapper.new(self)
|
||||||
|
wrapper.file = file
|
||||||
|
|
||||||
|
begin
|
||||||
|
contents = wrapper.result
|
||||||
|
rescue => detail
|
||||||
|
raise Puppet::ParseError, "Failed to parse template %s: %s" % [file, detail]
|
||||||
|
end
|
||||||
|
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
raise Puppet::ParseError, "multi_source_template: No match found for files: #{sources.join(', ')}" if contents == nil
|
||||||
|
|
||||||
|
contents
|
||||||
|
end
|
||||||
|
end
|
|
@ -31,7 +31,7 @@ define config_file ($content = '', $source = '', $ensure = 'present') {
|
||||||
file { $name:
|
file { $name:
|
||||||
ensure => $ensure,
|
ensure => $ensure,
|
||||||
# keep old versions on the server
|
# keep old versions on the server
|
||||||
backup => server,
|
backup => puppet,
|
||||||
# default permissions for config files
|
# default permissions for config files
|
||||||
mode => 0644, owner => root, group => 0,
|
mode => 0644, owner => root, group => 0,
|
||||||
# really detect changes to this file
|
# really detect changes to this file
|
||||||
|
|
Loading…
Reference in a new issue