私は人形の中に小さなフリーラジオのモジュールを作成しています。だから私は、テンプレートファイルclients.erbでこれを作成しようとしています人形のyamlハッシュを反復する
client switch01 {
ipaddr = 10.10.10.50
secret = secret
shortname = switch01
}
client switch02 {
ipaddr = 10.10.10.51
secret = secret
shortname = switch02
}
:私はこのようになっているはずですclient.confファイルを作成するいくつかの問題を、持っています。これらはファイルです:
YAMLファイル:
test_freeradius::clients:
'switch01':
ip: '10.10.10.50'
secret: 'secret'
shortname: 'switch01'
'switch02::
ip: '10.10.10.51'
secret: 'secret'
shortname: 'switch02'
定義:
define test_freeradius::clients (
$ip,
$secret,
$shortname,
) {
include test_freeradius::service
if ! defined(File['/etc/freeradius/clients.conf']){
file { '/etc/freeradius/clients.conf' :
ensure => 'file',
owner => 'root',
group => 'freerad',
mode => '0640',
content => template('test_freeradius/clients.erb'),
require => Class['test_freeradius::install'],
notify => Service['freeradius'],
}
}
$data = hiera_hash('test_freeradius::clients')
}
init.pp:
class test_freeradius {
create_resources(test_freeradius::clients, $data)
}
を私はクレアができこのようなクライアント:
client <%= @shortname %> {
ipaddr = <%= @ip %>
secret = <%= @secret %>
shortname = <%= @shortname %>
}
しかし、私は複数のクライアントを作成することができませんでした!最後に10人のクライアントを作成する必要があります。
これは動作しませんでした:
<% test_freeradius::clients.each do |key,value| -%>
client <%= key %> {
ipadd = <%= value['ip'] %>
asecret = <%= value['secret'] %>
shortname = <%= value['shortname'] %>
}
<% end -%>
私の質問は、私はclient.confファイルを作成するためにハッシュを反復処理することができる方法ですか?
ありがとうございました!
サポートをいただきありがとうございます。正常に動作します。私は完全に何を理解していない{ create_resources(test_freeradius ::クライアント、$データ) $データ= hiera_hash( 'test_freeradius ::顧客')} クラスtest_freeradius:私は私の 'init.pp'を調整しました また、定義されたリソースタイプ にそのハッシュのパラメータを作成し、それを属性 のパラメータとして渡すことも考慮する必要があります。次に、定義されたリソースタイプでハッシュを使用できます。 大変申し訳ございません。私はまだ完全に人形の新しいです!あなたが投稿したリンクを介して私は行くつもりです。 もう一度。どうもありがとう! – Max
あなたのために働いた@Max Glad。私の答えを受け入れ、その隣にあるチェックマークをクリックしてください。 –
完了!定義されたリソースにハッシュのパラメータを作成し、それを属性パラメータとして渡す方法を私に正しい方向に向けることができますか?定義されたリソースタイプでハッシュを使用しますか?ありがとうございました! – Max