我有以下内容:
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', '') }}'}