/服务器/puppet/模块//manifests/init.pp

/服务器/puppet/模块//manifests/init.pp

我正在尝试创建一个基于模板的文件,但收到无法找到模板的错误。

我的目录设置是 /etc/puppet/modules//templates/

在模板下,每个主机都有一个目录,外加一个通用模板。在主机目录下,我有一个特定于该主机的模板。

/服务器/puppet/模块//manifests/init.pp

班级 {

file { "/tmp/<file>":
    ensure  => present,
    content => template('<module>/${hostname}/default.erb', '<module>/common.erb'),
    audit   => content,
    notify  => File["/tmp/<file2>"],
}

file { "/tmp/<file2>":
    ensure => present,
    source => "/tmp/file",
    audit   => content,
}

}

当我运行 puppet 代理时,第一个文件语句的内容选项出现错误。我不知道模板函数是否需要模板目录下的模板,或者它是否没有正确解释主机名变量。

答案1

单引号内的变量不会被解析。当您需要插入 $variables 时,请使用双引号。

https://puppet.com/docs/puppet/3.8/lang_datatypes.html#strings

相关内容