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 | |
---|
1 | module 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
|
---|
24 | end
|
---|
Note:
See
TracBrowser
for help on using the repository browser.