Puppet Function: parsehocon
- Defined in:
-
vendor_modules/stdlib/lib/puppet/functions/parsehocon.rb
- Function type:
- Ruby 4.x API
Summary
This function accepts HOCON as a string and converts it into the correct
Puppet structure
Overview
parsehocon(String $hocon_string, Optional[Any] $default) ⇒ Data
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'vendor_modules/stdlib/lib/puppet/functions/parsehocon.rb', line 10
Puppet::Functions.create_function(:parsehocon) do
dispatch :parsehocon do
param 'String', :hocon_string
optional_param 'Any', :default
end
def parsehocon(hocon_string, default = :no_default_provided)
require 'hocon/config_factory'
begin
data = Hocon::ConfigFactory.parse_string(hocon_string)
data.resolve.root.unwrapped
rescue Hocon::ConfigError::ConfigParseError => err
Puppet.debug("Parsing hocon failed with error: #{err.message}")
raise err if default == :no_default_provided
default
end
end
end
|