如何检索事实并使用它在Puppet中的变量中存储自定义值?
我有一个脚本,在这个脚本中,我从一台机器检索IP地址,然后执行一些逻辑操作,以决定给变量赋予什么值。然后,我使用这个值来决定机器工作的环境 我试图把这个翻译成木偶,但我不知道如何继续。我知道我可以使用事实检索IP地址,但我应该在清单或模板中这样做吗?另外,我应该在哪里执行逻辑操作。请记住,我将进行字符串操作 总而言之,这些是我需要的步骤如何检索事实并使用它在Puppet中的变量中存储自定义值?,puppet,facter,Puppet,Facter,我有一个脚本,在这个脚本中,我从一台机器检索IP地址,然后执行一些逻辑操作,以决定给变量赋予什么值。然后,我使用这个值来决定机器工作的环境 我试图把这个翻译成木偶,但我不知道如何继续。我知道我可以使用事实检索IP地址,但我应该在清单或模板中这样做吗?另外,我应该在哪里执行逻辑操作。请记住,我将进行字符串操作 总而言之,这些是我需要的步骤 从计算机获取IP地址 执行逻辑操作 将带有结果的变量传递给傀儡清单 要点是:如何将事实检索为变量,以及应将代码放在何处使用该变量 提前感谢。您无法使用事实准确地
- 计算节点上的派生值
- 计算主服务器上的派生值
class site::derived_data {
$ip_pieces = split($ipaddress, '[.]')
# This is the derived value we are computing:
$department = $ip_pieces[2] ? {
0 => 'network operations',
# ...
default => 'other'
}
}
然后,您可以在其他地方使用它,如下所示:
class mymodule::myclass(
# parameters ...
) {
include site::derived_data
notify { $site::derived_data::department : }
}
您无法使用事实准确地“检索”IP,但目录编译器可以并且确实将其作为事实接收。前者表明目录编译器在这个过程中起着积极的作用,而事实并非如此
您有两个通用的备选方案:
- 计算节点上的派生值
- 计算主服务器上的派生值
class site::derived_data {
$ip_pieces = split($ipaddress, '[.]')
# This is the derived value we are computing:
$department = $ip_pieces[2] ? {
0 => 'network operations',
# ...
default => 'other'
}
}
然后,您可以在其他地方使用它,如下所示:
class mymodule::myclass(
# parameters ...
) {
include site::derived_data
notify { $site::derived_data::department : }
}
这是非常模糊的。你应该详细说明第2点和第3点,这样人们可以帮助你。你能提供一个脚本的例子吗?我认为操作不是这里的重要部分。我将执行简单的字符串操作,并检查某些条件是否正确。关键是我如何检索事实来处理它,以及我应该将代码放在哪里?我将编辑这个问题。这是非常模糊的。你应该详细说明第2点和第3点,这样人们可以帮助你。你能提供一个脚本的例子吗?我认为操作不是这里的重要部分。我将执行简单的字符串操作,并检查某些条件是否正确。关键是我如何检索事实来处理它,以及我应该将代码放在哪里?我将编辑这个问题。