Closed tenthirtyam closed 2 weeks ago
Adds an example of a string template being used.
The example demonstrates how a template sequence can be used to embed the value of a variable into a string that can be used as script content.
locals { packages = ["git", "curl", "vim"] install_packages = <<-EOF #!/bin/bash if [ ${length(local.packages)} -eq 0 ]; then echo "No packages to install." exit 1 fi apt-get update %{ for package in local.packages ~} apt-get install -y ${package} %{ endfor ~} EOF } source "amazon-ebs" "example" { # ... } build { sources = ["source.amazon-ebs.example"] provisioner "shell" { inline = [local.install_packages] } }
This can be tested using the packer console command:
packer console
$ packer source.pkr.hcl > local.install_packages > #!/bin/bash if [ 3 -eq 0 ]; then echo "No packages to install." exit 1 fi apt-get update apt-get install -y git apt-get install -y curl apt-get install -y vim
Closes #12651
Description
Adds an example of a string template being used.
The example demonstrates how a template sequence can be used to embed the value of a variable into a string that can be used as script content.
This can be tested using the
packer console
command:Reference
Closes #12651