質問
テンプレートファイルのERB解釈を行うPuppetテンプレートを使用しています。私が利用できるすべての変数を知りたいのですが、私が知っている反射方法のいずれにもリストされていない、特にこれらのいずれもリストされていない変数(例: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の余分な反射方法はありますか?
解決
「すべてのクライアント変数を見る」 あなたが望むことをするべきです
他のヒント
Puppetテンプレートについては本当に知らないでください fqdn
ローカル変数であり、呼び出します local_variables
(ように self.local_variables
)それを表示する必要があります。
私はErbの組み込みの反射手段についてしたいほど知りませんが、人形では、ハッシュが戻ってきたと思います scope.to_hash
おそらくあなたが望むものです。から テンプレートリファレンス:
<% scope.to_hash.keys.each do |k| -%>
<%= k %>
<% end -%>
あるいは、エージェントノードが供給する変数を一度だけ見たい場合は、実行できます facter
ノード上。それがパペットがそもそもそのすべての情報を得る方法です。
所属していません StackOverflow