web-dev-qa-db-ja.com

Puppet Hieraを使用して、同じパラメータ値を複数のクラスに渡します

PuppetでHieraを使用していますが、同じパラメーター値を繰り返さずに複数のクラスに渡したいです。今私は(Yamlで)持っています:

---
class_a::database_server: myoraclebox.example.com
class_b::database_server: myoraclebox.example.com

これは機能しますが、サーバーを1回だけ指定し、Puppetの自動パラメータールックアップを使用するにはどうすればよいですか? (明示的なHieraルックアップをマニフェストに埋め込みたくないのは、それがHieraに結合されるためです。)

3
Rob H

&YAMLアンカーを使用すると機能するはずです

database_server: &dbserver myoraclebox.example.com

class_a::database_server: *dbserver
class_b::database_server: *dbserver
1
Chris Montanaro

hiera() 関数を使用して、デフォルト値としてルックアップを実行します。

class class_a($database_server=hiera('database_server')){
}

class class_b($database_server=hiera('database_server')){
}

これは、完全なHiera機構を使用してルックアップを実行します。