Обработка двух классов кукол с одинаковым именем
Я хочу использовать модуль asticsearch /asticsearch в своем собственном модуле под названием rehan
, Модуль эластичный поиск / эластичный поиск предоставляет класс elasticsearch
, Если я также хочу создать класс в своем модуле, который использует класс в эластичный поиск / эластичный поиск, как я могу достичь этого? Я пытался:
class rehan::elasticsearch {
class { 'elasticsearch':
manage_repo => true,
repo_version => '2.2',
require => Class['java']
}
elasticsearch::instance { 'es-01':
require => Package['elasticsearch'],
}
}
Выше код ошибки с:
Ошибка: повторяющееся объявление: класс [Rehan::Elasticsearch] уже объявлен; не может переопределить в..
1 ответ
Решение
В Puppet 3 (даже с будущим парсером!) Вам необходимо использовать:
class { '::elasticsearch':
manage_repo => true,
repo_version => '2.2',
require => Class['java']
}
В Puppet 4 правила разрешения для типов, классов и переменных изменились (он не пытается разрешить их контекстно), поэтому ваш код действителен.