1

と呼ばれる独自のモジュールでelasticsearch/elasticsearchモジュールを使用したいと考えていますrehan。elasticsearch/elasticsearch モジュールは、 というクラスを提供しますelasticsearch。モジュールにelasticsearch/elasticsearchのクラスを利用するクラスも作成したい場合、どうすればこれを達成できますか? 私が試してみました:

class rehan::elasticsearch {

    class { 'elasticsearch':
        manage_repo  => true,
        repo_version => '2.2',
        require      => Class['java']
    }

    elasticsearch::instance { 'es-01':
        require => Package['elasticsearch'],
    }

}

上記のコードのエラー:

エラー: 宣言が重複しています: Class[Rehan::Elasticsearch] は既に宣言されています。で再宣言できません。

4

1 に答える 1

3

Puppet 3 では (将来のパーサーでも!)、以下を使用する必要があります。

class { '::elasticsearch':
    manage_repo  => true,
    repo_version => '2.2',
    require      => Class['java']
}

Puppet 4 では、型、クラス、および変数の解決規則が変更されたため (コンテキストに基づいて解決しようとしない)、コードは有効です。

于 2016-02-26T10:55:14.660 に答える