0
我正嘗試通過Puppet(使用Hiera)創建一個文件和一個符號鏈接。我在Ubuntu 16.04上運行,並且使用了所有最新的模塊。 該文件被稱爲「a」,該鏈接被稱爲「b」。這些文件不直接相關。Puppet錯誤:您不能指定多個內容,源,目標
我對節點的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
。可以兼得嗎?不是針對同一個文件,而是針對單獨的文件,例如我正在嘗試執行的操作?
請注意,您的Hiera數據似乎格式不正確。我懷疑這是在你準備好問題時發生的,而不是真實的數據,但由於我不能確定,所以我沒有采取任何修正。 –
還要注意,通常情況不佳的形式是在頂部範圍聲明資源,包括通過'create_resources()'或其他函數間接地進行聲明。我強烈建議將這些聲明放入類或節點塊中。 –
感謝您的建議 – quant