我正在使用Puppet中的ERB模板来制作配置文件。我正在使用以下代码:
databasename = <%= @db_name %>
db_name
变量以以下YAML格式定义:
databases::db_name:
- DB_PLACEHOLDER
问题是,当我从模板中生成一个文件时,木偶会在下面的变量替换周围放置方括号。我不想要方括号?
["DB_PLACEHOLDER"]
["DB_PLACEHOLDER"]
在puppet和ruby中(因为您使用的是ERB)是语法上的数组,其中一个元素: "DB_PLACEHOLDER"
。如果您不希望databases::db_name
成为数组,则需要将其指定为字符串,而不是Yaml中的数组,Hiera正在查找。
您的示例下面将databases::db_name
指定为数组。
databases::db_name:
- DB_PLACEHOLDER
您可以使用适当的YAML语法将databases::db_name
的类型更改为字符串:
databases::db_name: DB_PLACEHOLDER
如果YAML的Hiera查找期间的类型推理不会施放到字符串,则可以始终将值明确指定为YAML中的字符串:
databases::db_name: 'DB_PLACEHOLDER'