В настроенных модулях на кукольном у меня естьКак проверить наличие файла на Хозяине Марионеток
g_iptables
├── files
│ └── fqdn-of-server
├── lib
│ └── puppet
│ └── parser
│ └── functions
│ └── file_exists.rb
└── manifests
└── init.pp
, и я хочу, чтобы модуль сделать что-то или нет файла «FQDN-оф-сервер «существуют на Марионеточном Мастере. Погуглить сделали принесите мне функцию file_exists.rb:
#!/usr/bin/ruby
require 'puppet'
module Puppet::Parser::Functions
newfunction(:file_exists, :type => :rvalue) do |args|
if File.exists?(args[0])
return 1
else
return 0
end
end
end
и это делает работу, если положить в чем-то вроде:
$does_fqdn_file_exists = file_exists("/tmp/$fqdn")
if $does_fqdn_file_exists == 1 {
...
}
в моем манифесте init.pp (конечно $ FQDN является facter). Проблема заключается в том, что он работает только на клиенте (так что $ is_fqdn_file_exists равно 1, если на клиентском $ fqdn существует значение/tmp/$ fqdn, оно не работает на марионетке.
Кроме того, я хочу использовать марионетку : /// структуры uri в этой конструкции, но при этом sofar, моя функция не понимает этот uri.
Может кто-нибудь мне помочь? Функция ruby проистекает от кого-то в Интернете, который утверждает, что проверяет существование файла . на мастера, который не так (по крайней мере, не то, что я могу видеть)