使用默认变量的Packer?

3

我一直在尝试弄清楚在packer中使用选项变量的可能性,我的脚本如下:

"provisioners": [{
  "type": "shell",
  "scripts": [
    "scripts/centos/5.11/puppet-{{user `config`}}.sh",
  ]
}],
"variables": {
  "config": "{{user `type`}} | slave",
} 

一个典型的命令如下:

packer build              \
    -var 'config=master'  \
    template.json

但也需要能够仅执行以下操作:
packer build template.json # were config would default to slave
1个回答

10

命令行变量会覆盖json模板中的设置。请参考Packer文档:https://www.packer.io/docs/templates/user-variables.html

因此,只需在模板中设置默认值,并使用已经使用的命令行示例进行覆盖。

您的模板应为:

"provisioners": [{
   "type": "shell",
   "scripts": [
      "scripts/centos/5.11/puppet-{{user `config`}}.sh"
   ]
}],
"variables": {
  "config": "slave"
} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接