Automation 仅当文件存在于特定目录中时

Automation 仅当文件存在于特定目录中时,automation,puppet,devops,Automation,Puppet,Devops,我的傀儡清单中有以下文件资源: file{ 'example.dat' path => "/path/to/example.dat", owner => devops, mode => "0644", source => "/path/to/example.txt" } 我只想在特定目录中存在.txt文件时运行上述代码段。否则,我不希望代码段运行 如何在puppet中执行此操作?通常,当所讨论的目录满足您的条件时,您将创建一个返回true

我的傀儡清单中有以下文件资源:

file{
  'example.dat'
  path   => "/path/to/example.dat",
  owner  => devops,
  mode   => "0644",
  source => "/path/to/example.txt" 
}
我只想在特定目录中存在
.txt
文件时运行上述代码段。否则,我不希望代码段运行


如何在puppet中执行此操作?

通常,当所讨论的目录满足您的条件时,您将创建一个返回true的。例如:

Facter.add('contains_txt')do
setcode do
! Dir.glob(“/path/to/Dir/*.txt”)。是否为空?
结束
结束
然后你会写:

如果$facts['contains_txt']{
文件{'example.dat':
path=>“/path/to/example.dat”,
所有者=>devops,
模式=>“0644”,
source=>“/path/to/example.txt”,
}
}