我正在使用 hiera 使环境/主机特定配置远离代码。为了生成配置文件 - yaml,我遇到了以下场景:
Hieara 配置文件:
elasticsearch::discovery_unicast_hosts: [ "HOSP-BD-02", "HOSP-BD-03", "HOSP-BD-04" ]
在生成 yaml 配置中出现:
discovery.zen.ping.unicast.hosts: [HOSP-BD-02,HOSP-BD-03,HOSP-BD-04]
麻烦是在数组中的每个项目周围都缺少双引号。在插入到 erb 模板之前,我对数组进行了以下处理:
$discovery_unicast_hosts_joined = join($elasticsearch::discovery_unicast_hosts, ",")
如果我直接插入数组
["HOSP-BD-02""HOSP-BD-03""HOSP-BD-04"]
引号在那里,但缺少昏迷。一个简单而讨厌的方法是逃避“在hieara中我试图避免的事情,因为它破坏了一致性并且容易出错。
elasticsearch::discovery_unicast_hosts: [ "\"HOSP-BD-02\"", "\"HOSP-BD-03\"", "\"HOSP-BD-04\"" ]
有没有更好的方法来解决这个问题?