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

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 ответ1

2

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .