![Puppet 4.10 正则表达式](https://linux22.com/image/746736/Puppet%204.10%20%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F.png)
我正在尝试向我们的 hiera 后端添加一个“类型”层,以便 Web 服务器可以获得通用配置,数据库可以获得一些通用配置等等。
我们的主机名方案是 [env][number].domain.tld
其中 [env] 和 [number] 是可选的。[env] 可以是 prod、stage、dev 或 test 之一。[number] 是 0-9 之间的任意数字。
我正在尝试从主机名中提取并在 hiera 中使用它。
这是我在 Puppet 中设置全局 $hosttype 所使用的:$hosttype = regsubst($fqdn, '(.+?)(?=(dev)|(stg)|(test)|(prod)|(\d)|(\.))', '\1')
这将检索 fqdn,而不仅仅是 。正则表达式在 rubular.com 中有效,但 puppet 4.10 使用的是 ruby 2.1.x,而 rubular 使用的是 2.5.7。我是 puppet 的新手,感谢您的耐心。