bolt-modules/file/lib/puppet/functions/file/read.rb in bolt-3.7.1 vs bolt-modules/file/lib/puppet/functions/file/read.rb in bolt-3.8.0

- old
+ new

@@ -9,19 +9,23 @@ # file::read('/tmp/i_dumped_this_here') # @example Read a file from the modulepath # file::read('example/VERSION') dispatch :read do scope_param - required_param 'String', :filename + required_param 'String[1]', :filename return_type 'String' end def read(scope, filename) # Send Analytics Report executor = Puppet.lookup(:bolt_executor) {} executor&.report_function_call(self.class.name) - found = Puppet::Parser::Files.find_file(filename, scope.compiler.environment) + future = executor&.future || Puppet.lookup(:future) || {} + fallback = future.fetch('file_paths', false) + + # Find the file path if it exists, otherwise return nil + found = Bolt::Util.find_file_from_scope(filename, scope, fallback) unless found && Puppet::FileSystem.exist?(found) raise Puppet::ParseErrorWithIssue.from_issue_and_stack( Puppet::Pops::Issues::NO_SUCH_FILE_OR_DIRECTORY, file: filename ) end