Я определил кукольную функцию check_value
в модуле test_one
test_one
|- functions
|- check_value.pp
и объявление функции:
test_one::check_value(String $check) >> String {
...
}
Я объявил класс test_functions
в том же самомmodule.
test_one
|- functions
|- check_value.pp
|- manifests
|- test_functions.pp
Кажется, все идеально, и я могу вызвать эту функцию check_value
из класса test_functions
в том же модуле и получить извлекаемое значение.
Однако,если я вызываю эту функцию из другого модуля, я получаю Evaluation Error: Unknown function: ...
test_two
|- manifests
|- test_external_function.pp
В классе test_external_function
я пробовал несколько способов вызова check_value
, но безуспешно:
1. $x = test_one::check_value("t")
2. include test_one
$x = check_value("t")
3. include test_one
$x = test_one::check_value("t")
Все испытания провалились.Можно ли вызывать и использовать эти кукольные (не рубиновые) функции из другого модуля?Я не мог найти способ.Google пока не помогает!
Согласно документации кукол, это возможно: Функции кукол
Функции загружаются автоматически и становятся доступными для других модулей.если эти модули не определяют зависимости.Как только функция написана и доступна (в модуле, где ее может найти автозагрузчик), вы можете вызвать эту функцию в любом манифесте Puppet, в котором содержится содержащий модуль как зависимость, а также из основного манифеста.