Writing Packer Templates: Difference between revisions
Jump to navigation
Jump to search
Line 23: | Line 23: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
The <code>{{ .Vars }}</code> | ==.Vars== | ||
The <code>{{ .Vars }}</code> template variable is replaced with the list of environment variables. | |||
==.Path== | |||
The <code>{{ .Vars }}</code> template variable is replaced with the path of the script to be executed. | |||
==.EnvVarFile== | |||
=Examples= | =Examples= |
Revision as of 17:44, 15 November 2019
External
Internal
Template User Variables
Template Variables
Template variables are special variables automatically set by Packer at build time. Some builders, provisioners and other components have template variables that are available only for that component. Template variables are recognizable because they're prefixed by a period, such as {{ .Name }}
. For example, when using the shell provisioner template variables are available to customize the execute_command
parameter used to determine how Packer will run the shell command:
{
"provisioners": [
{
"type": "shell",
"execute_command": "{{.Vars}} sudo -E -S bash '{{.Path}}'",
"scripts": [
"scripts/bootstrap.sh"
]
}
]
}
.Vars
The {{ .Vars }}
template variable is replaced with the list of environment variables.
.Path
The {{ .Vars }}
template variable is replaced with the path of the script to be executed.
.EnvVarFile
Examples
Amazon EBS Template Example
A simple template that produces an Amazon AMI
{
}