使用正则表达式的 puppet 节点名称

使用正则表达式的 puppet 节点名称

我在 Windows 8.1 客户端上运行 Puppet 3.7.3,它正在提取我的默认节点定义。

我正在尝试通过在一组节点上使用正则表达式来创建更通用的定义。我们的命名方案类似于:bldg-50zx022-1.domain.tld。对于我的节点定义,我使用以下内容,但我运行时从未看到信息puppet agent -td

node /^(bldg|BLDG)-\w{0,7}-\d+/ {
    info("inside node definition")
}

我已使用 rubular.com 验证了我的正则表达式是否正确。当我运行 facter 时,我得到了以下值:

fqdn => BLDG-50ZX022-2.domain.tld
hostname => BLDG-50ZX022-2

我能做些什么来让它发挥作用?

答案1

所以我不确定 Puppet 引擎如何处理分组,但 (bldg|BLDG) 在技术上是一个捕获组,所以一些正则表达式引擎只会返回该捕获组。

当通过 regex101.com 运行它时,我认为这会执行你的 bldg/BLDG OR,同时捕获整个主机名作为唯一的捕获组,试一试:

/^((?:bldg|BLDG)-\w{0,7}-\d+)/

相关内容