Injecting your config or artifacts
Provisioners can take various forms but are limited to the abilities of the communicator. Usually, you will want to upload something to each environment. Sometimes you may want certain provisioners to be included or excluded for certain images. For example, a PowerShell script that you want to run on Windows VMs may not apply to Linux VMs or other environments. There are optional qualifiers for provisioners that can help you with complex workflows. For example, build sources may be included or excluded for each provisioner. By default, a provisioner is applied to every build source. For example, here we use the only
qualifier to apply a provisioner to one or more sources we specify:
provisioner "shell" { only = ["qemu.base", "otherbuilder.othersource"]
It’s also possible to override and customize the provisioner for certain sources, as in the following example. These special cases should be used...