Кукольный класс с параметром
Я пытаюсь получить класс кукол с параметрами, вот что я пытался
class testing ( String $file = 'testing' ) {
file { "/tmp/$file":
ensure => present,
mode => 0777,
content => "Testing123"
}
}
Когда я запускаю это, я получаю ошибку:
Could not parse for environment production: Syntax error at 'String'; expected ')'
1 ответ
Решение
Похоже, вы используете версию Puppet старше 4.0 и не используете парсер 'future'. Типы данных были добавлены с новой версией языка кукол.
У вас есть 3 варианта:
- Удалить
String
, Даже в конфигурациях, где разрешено объявление типа данных, это необязательно. Внутри вашего класса вы можете использовать функцию для проверки того, что параметр является строкой. - Включить будущий парсер. Это делается в вашем конфигурационном файле puppet, и вы можете обнаружить, что ваш другой код несовместим.
- Обновление до версии 4.x кукольный. Это также может привести к несовместимости с остальной частью вашей среды.
Если бы это был я, я бы сделал #1.