source: other-projects/hathitrust/vagrant-hadoop-cluster/trunk/modules/stdlib/lib/puppet/parser/functions/load_module_metadata.rb@ 30903

Last change on this file since 30903 was 30903, checked in by davidb, 8 years ago

Vagrant provisioning files for a 4-node Hadoop cluster. See README.txt for more details

File size: 771 bytes
Line 
1module Puppet::Parser::Functions
2 newfunction(:load_module_metadata, :type => :rvalue, :doc => <<-EOT
3 EOT
4 ) do |args|
5 raise(Puppet::ParseError, "load_module_metadata(): Wrong number of arguments, expects one or two") unless [1,2].include?(args.size)
6 mod = args[0]
7 allow_empty_metadata = args[1]
8 module_path = function_get_module_path([mod])
9 metadata_json = File.join(module_path, 'metadata.json')
10
11 metadata_exists = File.exists?(metadata_json)
12 if metadata_exists
13 metadata = PSON.load(File.read(metadata_json))
14 else
15 if allow_empty_metadata
16 metadata = {}
17 else
18 raise(Puppet::ParseError, "load_module_metadata(): No metadata.json file for module #{mod}")
19 end
20 end
21
22 return metadata
23 end
24end
Note: See TracBrowser for help on using the repository browser.