仅当文件存在于特定目录中时,Puppet 才有条件
Puppet conditional only if file exists in a particular directory
我的人偶清单中有以下文件资源:
file{
'example.dat'
path => "/path/to/example.dat",
owner => devops,
mode => "0644",
source => "/path/to/example.txt"
}
只有当 .txt
文件存在于特定目录中时,我才想 运行 上面的代码片段。否则,我不希望片段 运行.
如何在 Puppet 中执行此操作?
一般来说,您会创建一个 custom fact 当相关目录满足您的条件时 returns 为真。例如:
Facter.add('contains_txt') do
setcode do
! Dir.glob("/path/to/dir/*.txt").empty?
end
end
然后你会写:
if $facts['contains_txt'] {
file { 'example.dat':
path => "/path/to/example.dat",
owner => devops,
mode => "0644",
source => "/path/to/example.txt",
}
}
我的人偶清单中有以下文件资源:
file{
'example.dat'
path => "/path/to/example.dat",
owner => devops,
mode => "0644",
source => "/path/to/example.txt"
}
只有当 .txt
文件存在于特定目录中时,我才想 运行 上面的代码片段。否则,我不希望片段 运行.
如何在 Puppet 中执行此操作?
一般来说,您会创建一个 custom fact 当相关目录满足您的条件时 returns 为真。例如:
Facter.add('contains_txt') do
setcode do
! Dir.glob("/path/to/dir/*.txt").empty?
end
end
然后你会写:
if $facts['contains_txt'] {
file { 'example.dat':
path => "/path/to/example.dat",
owner => devops,
mode => "0644",
source => "/path/to/example.txt",
}
}