Есть ли способ распечатать значение атрибута в модуле марионетки? Например, если у вас есть файловый ресурс:
file {'myfile':
path => '/this/is/my/path',
ensure => present,
owner => 'someuser',
group => 'somegroup'
}
вы можете распечатать значение атрибута «путь»? Возможно, с помощью уведомления?
notify {"the value of path is: " __________}
Нет, если вы передадите свои атрибуты как буквальные строки.
Однако вы можете повторно использовать атрибут, если назначите его переменной. Пример:
$file_path = '/this/is/my/path'
file { 'myfile':
path => $file_path,
ensure => present,
owner => 'someuser',
group => 'somegroup'
}
notify { "the value of path is: ${file_path}": }
Обратите внимание на последнее двоеточие, которое разделяет имя ресурса и параметры (в этом случае их нет, поэтому ресурс просто завершается). В notify
выше также может быть записано как это (ссылка):
notify { 'my_notify':
message => "the value of path is: ${file_path}",
}
Также обратите внимание на правильное использование одинарных и двойных кавычек. Согласно Puppet Lint, двойные кавычки следует использовать только тогда, когда строка содержит интерполированную переменную, и такие переменные должны быть заключены в фигурные скобки.