linux - puppet create_resources 传递多个值

标签 linux automation puppet augeas theforeman

我正在将下面的 foreman yaml 配置传递给 puppet for sysctl keys..

YAML 配置

sysctl:
  kval1:
    key: net.ipv4.ip_forward
    value: '0'
  kval2:
    key: kernel.sysrq
    value: '0'

下面是 sysctl 的 puppet list

初始化.pp

class sysctl_var (
  $sysctl_var = 'undef'
) {
# Groups hash is passed from Foreman
    create_resources(sysctl_var::sysctlconf, $sysctl_var)
  }

系统配置文件

define sysctl_var::sysctlconf($key,$value) {

   augeas { "sysctl":
       context => "/files/etc/sysctl.conf",
       changes => ["set $key '$value'",]
    }


}

虽然如果我使用 yaml 仅传递一个键值对,这些键会起作用,但如何将多个键传递给 sysctl list ,据我所知,puppet 中没有值循环。

augeas block 是否可以接受多个键值……?

最佳答案

使 augeus 资源具有基于定义标题的变体标题并且它起作用了。

define sysctl_var::sysctlconf($key,$value) {

   augeas { "sysctl ${title}":
       context => "/files/etc/sysctl.conf",
       changes => ["set $key '$value'",]
    }


}

关于linux - puppet create_resources 传递多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19084019/

相关文章:

python - 检测何时连接了新的 USB 设备(即插即用)

mysql - 如何在 Fedora 11 中安装 mysql Workbench

linux - 通过套接字连接发送 GUI/TUI

testing - Jenkins 构建 Web 应用程序和测试

java - Selenium webdriver Java如何等待链接出现

linux - 如何通过 Puppet 编辑文件并向其中传递值

ubuntu-14.04 - Puppet 4.x 可以安装在 Ubuntu 14 上吗?

使用 Puppet & Hiera 的 Git 工作流

linux - 提取网页中两个已知字符串之间的文本并存储在变量中

java - 正确读取 Excel 行