![如何在带有支柱的盐中使用 debconf?](https://linux22.com/image/717625/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%B8%A6%E6%9C%89%E6%94%AF%E6%9F%B1%E7%9A%84%E7%9B%90%E4%B8%AD%E4%BD%BF%E7%94%A8%20debconf%EF%BC%9F.png)
我有以下内容:
newrelic-debconf:
debconf.set:
- name: newrelic-php5
- data:
'newrelic-php5/application-name': { 'type': 'string', 'value': '{{ salt['pillar.get']('newrelic:applicationName', '') }}' }
'newrelic-php5/license-key': { 'type': 'string', 'value': '{{ salt['pillar.get']('newrelic:licence', '') }}' }
使用 salt masterless provisioner 和 packer 非常简单。但是,此状态失败,原因如下:
Rendering SLS 'base:newrelic' failed: Jinja syntax error: expected token 'end of print statement'%!(PACKER_COMMA) got 'string'; line 45
进而
'newrelic-php5/application-name': { 'type': 'string'%!(PACKER_COMMA) 'value': '{{ salt['pillar.get']('newrelic:applicationName'%!(PACKER_COMMA) '')' }} } <======================
我不确定问题是什么:要么它期望第一个 { 是其他东西,要么 '{{ 以某种方式转义了一个花括号。我确实需要值在 ' ' 之间,所以我该怎么办?
谢谢!
答案1
我发现与我自己的代码的唯一区别是关于空格。
测试删除一些像这样的空白
'newrelic-php5/application-name': {'type': 'string','value': '{{ salt['pillar.get']('newrelic:applicationName', '') }}'}