パペット(Hieraを使用)を使用して1つのファイルと1つのシンボリックリンクを作成しようとしています。私はUbuntu 16.04で動作しています。最新のモジュールをすべて使用しています。 ファイルは "a"と呼ばれ、リンクは "b"と呼ばれます。これらのファイルは直接関連していません。パペットエラー:コンテンツ、ソース、ターゲットを複数指定できません
Iは、ノードのinit.ppファイルがある:
define hiera::files (
$ensure,
$content= "",
$target="/./.",
$mode = "",
$owner = "root",
$force = "false") {
file { $title:
ensure => $ensure,
owner => $owner,
force => $force,
content => $content,
mode => $mode,
target => $target,
}
}
create_resources('hiera::files', hiera_hash('files', {}))
node "default" {
hiera_include('classes')
}
あり、対応するデータを含むnode.yamlファイルもある:私は他の変形を試みた
files:
/etc/a.txt:
ensure: "present"
mode: "2770"
owner: "simon"
content: "[d] \n type = sss \n resource = samba_1"
/etc/b:
ensure: "link"
target: "/usr/share/b"
mode: "777"
は、私content
、source
、target
のいずれか1つ以上を指定できないというエラーが常に発生します。両方を持つことは可能ですか?同じファイルではなく、私がしようとしているような別々のファイルのために?
Hieraデータが不正な形式であることに注意してください。私はそれが実際のデータにあるのとは対照的に質問を準備したときに起こったと思うが、確かではないので、私は修正を適用しなかった。 –
また、 'create_resources()'や他の関数を介して間接的に行うなど、一番上のスコープでリソースを宣言するのは、通常は貧弱な形式です。そのような宣言をクラスまたはノードブロックに入れることを強くお勧めします。 –
ありがとうご提案 – quant