class Report::Yaml

Public Instance Methods

path(name,ext='.yaml') click to toggle source

Force report to be saved there

   # File lib/puppet/indirector/report/yaml.rb
10 def path(name,ext='.yaml')
11   Puppet[:lastrunreport]
12 end
save(request) click to toggle source
   # File lib/puppet/indirector/report/yaml.rb
14 def save(request)
15   filename = path(request.key)
16   mode = Puppet.settings.setting(:lastrunreport).mode
17 
18   unless valid_symbolic_mode?(mode)
19     raise Puppet::DevError, _("replace_file mode: %{mode} is invalid") % { mode: mode }
20   end
21 
22   mode = symbolic_mode_to_int(normalize_symbolic_mode(mode))
23 
24   FileUtils.mkdir_p(File.dirname(filename))
25 
26   begin
27     Puppet::FileSystem.replace_file(filename, mode) do |fh|
28       fh.print YAML.dump(request.instance)
29     end
30   rescue TypeError => detail
31     Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: self.name, request: request.key, detail: detail }
32   end
33 end