linux - 试图用其他变量的内容指向 puppet 变量

标签 linux puppet devops

我正在写一个 puppet 代码,需要用其他人的信息指向一个变量....为了清楚起见,这里是示例:

这些是带有信息的变量:

Array $users_ap1_dev = ['userdev1,userdev2'],
Array $users_ap2_prd = ['userprd1,userprd2'],

但是 ap1ap2 值存储在调用 ma​​in_appdevprd 的事实中 值存储在名为 env 的事实中。

我想检索信息并根据事实信息创建用户,比如

$dmz_users.each | String $user |{
user { $user:
  ensure => 'present',
}

那么,如何将$users_ap1_dev的内容放到dmz_users中,将ap1和dev替换为事实中的one store?

像什么?

 Array $dmz_user = "${users_${main_app}_${env}}"

非常感谢您的帮助!

最佳答案

我找到了答案,函数:getvar() 它允许您创建一个变量并将其内容放入另一个... 使用方法:

$dmz_users = getvar("users_${main_app}_${env}")

让我们说 $main_app = web 和 '$env = prod',它将采用这两个值并使 '$dmz_users = $users_web_prod`

关于linux - 试图用其他变量的内容指向 puppet 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49601811/

相关文章:

linux - 检查环境变量

linux - 如何在 Linux 内核中启用动态调试?

c - 如何用 C 检测 Linux 上 exec'ed 子进程的文件事件?

puppet - 为什么模块在 puppet 中使用类(而不是定义)

mysql - 在 vagrant vm 上使用 puppet 安装 mysql

mongodb - 重新创建 MongoDB 容器不会重新运行 docker-entrypoint-initdb.d 中的 config.js 文件

linux - 我们可以在 Debian 上安装 Unity 吗?

ruby - 如何在 Puppet DSL 中将散列值转换为字符串?

jenkins - 将推式触发器和夜间构建结合在一起有意义吗?

Linux系统和服务信息