4

YAML バックエンドで hiera を使用して Puppet 構成を管理していますが、いくつかの値を配列に追加したいと考えています。

次のような構成ファイルがあります。

---
some_config:
  - one
  - two
  - three

some_more_config:
  - one
  - two
  - three
  - four

は常にsome_more_configのスーパーセットですsome_config

このファイルを改善して重複を削除したいのですが、それが可能かどうか、または構文がどうなるかわかりません。

---
some_config:
  - one
  - two
  - three

some_more_config:
  - "%{::some_config}"
  - four

コードではなく言葉で言えば、プラスワンの付加価値some_more_configの全体の内容です。some_config

4

1 に答える 1

1

Hiera では文字列ベースの情報 (数値は文字列に変換される) のみを補間でき、配列やハッシュは補間できないため、Hiera ではそれができないと思います。

Hiera 3 から: 補間トークン、変数、およびルックアップ関数:

Hiera は Puppet の任意のデータ型の値を補間できますが、値は文字列に変換されます。

ただし、Puppet DSL を介してこれを行うことはできます。以下にいくつかのオプションを示します。

  1. Hiera 3: ルックアップ タイプのドキュメントではこれについて詳しく説明していますが、これらが階層の複数のレベルにある場合は、hiera_array()メソッドを使用してそれらをマージできます。階層がどのように設定されているかを考えると、一部のホストはより小さなリストを取得し、一部のホストはより大きなリストを取得する可能性があります。

  2. puppetlabs -stdlib モジュールも役に立ちます。配列の concat メソッドと union メソッドがあります

于 2015-12-29T23:44:32.243 に答える