Chef レシピを使用して、最初に CSV ファイルからの入力に基づいて動的にファイルを生成し、次にそのファイルをテンプレート ソースとして.erb
使用したいと考えています。.erb
残念ながら、(.erb
ファイル内で) 行われた変更は、レシピがリソースを収束している間は考慮されません。また、遅延評価を使用しようとしましたが、テンプレート ソースに使用する方法を理解できませんでした。
質問する
935 次
2 に答える
0
CSV ファイルから値をレシピのローカル変数として取得する方法を知っていると仮定します。
Examples:
csv_hostname
csv_fqdn
遅延読み込み属性を使用してテンプレートを作成するために行うことは次のとおりです。次の例では、構成ファイルを作成します。
example.erb ファイル
# Dynamically generated by awesome Chef so don't alter by hand.
HOSTNAME=<% @host_name %>
FQDN=<% @fqdn %>
レシピ.rbファイル
template 'path\to\example.config' do
source 'example.erb'
variables(
lazy {
:host_name => csv_hostname,
:fqdn => csv_fqdn
})
end
コンパイル時に実行する必要がある場合は、アクションをブロックに追加します。
template 'xxx' do
# blah blah
end.run_action(:create)
于 2015-10-05T12:39:33.637 に答える