Обработка двух классов кукол с одинаковым именем

Я хочу использовать модуль 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 правила разрешения для типов, классов и переменных изменились (он не пытается разрешить их контекстно), поэтому ваш код действителен.

Другие вопросы по тегам