1

テンプレートファイルのerb解釈を行うパペットテンプレートを使用しています。利用可能なすべての変数を知りたいのですが、利用可能な変数 (fqdn など) は、私が認識しているリフレクション メソッドのいずれにもリストされていません。具体的には、次のいずれもありません。

<% Module.constants.each do |v| %># module constant: <%= v %>
<% end %>
<% Kernel.local_variables.each do |v| %># local variable: <%= v %>
<% end %>
<% Kernel.instance_variables.each do |v| %># instance variable: <%= v %>
<% end %>
<% Module.class_variables.each do |v| %># class variable: <%= v %>
<% end %>
<% Kernel.global_variables.each do |v| %># global variable: <%= v %>
<% end %>

これらを私に明らかにするerbの追加のリフレクションメソッドはありますか?

4

3 に答える 3

1

すべてのクライアント変数を表示する」は、あなたが望むことをするはずです

于 2011-01-24T23:26:33.710 に答える
0

puppet テンプレートについてはよくわかりませんが、 がfqdnローカル変数の場合、local_variables( のようにself.local_variables) を呼び出すと表示されるはずです。

于 2011-01-18T22:28:07.133 に答える
0

erb に組み込まれているリフレクションの手段については、あまり知りませんが、Puppet では、返されるハッシュscope.to_hashはおそらくあなたが望むものだと思います。テンプレートリファレンスから:

<% scope.to_hash.keys.each do |k| -%>
<%= k %>
<% end -%>

あるいは、エージェント ノードが提供する変数を 1 回だけ確認したい場合はfacter、ノード上で実行できます。これが、Puppet が最初にすべての情報を取得する方法です。

于 2011-02-08T18:57:23.000 に答える