Перейти к содержимому

Кукольный класс с параметром

0

Я пытаюсь получить класс кукол с параметрами, вот что я пытался

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 ')' 
633 просмотра
Tim Holum спросил 10 лет назад
T 153

1 ответ

2
Принятый ответ

Похоже, вы используете версию Puppet старше 4.0 и не используете парсер 'future'. Типы данных были добавлены с новой версией языка кукол.

У вас есть 3 варианта:

  1. Удалить String. Даже в конфигурациях, где разрешено объявление типа данных, это необязательно. Внутри вашего класса вы можете использовать функцию для проверки того, что параметр является строкой.
  2. Включить будущий парсер. Это делается в вашем конфигурационном файле puppet, и вы можете обнаружить, что ваш другой код несовместим.
  3. Обновление до версии 4.x кукольный. Это также может привести к несовместимости с остальной средой.

Если бы это был я, я бы сделал # 1.

daxlerod ответил 10 лет назад
D 2 186