website/content/docs/templates/hcl_templates/blocks/source.mdx
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
[!IMPORTANT]
Documentation Update: Product documentation previously located in/websitehas moved to thehashicorp/web-unified-docsrepository, where all product documentation is now centralized. Please make contributions directly toweb-unified-docs, since changes to/websitein this repository will not appear on developer.hashicorp.com. ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
source blockThis topic providers reference information about the source block.
The source block defines reusable builder configuration blocks. Builders are commonly used in custom plugins.
The following example defines a source for a builder type called happycloud with the name foo:
@include 'from-1.5/sources/example-block.mdx'
There is only one source.happycloud.foo top-level source block, but it can be used more than once.
You can start builders by referring to source blocks from a build
block :
build {
sources = [
# Here Packer will use a default ami_name when saving the image.
"source.happycloud.example",
"source.happycloud.foo",
]
}
The build-level source
block allows to set specific
source fields. Each field must be defined only once and it is currently not
allowed to override a value.
build {
source "source.happycloud.example" {
# Here Packer will use the provided image_name instead of defaulting it.
# Note that fields cannot be overwritten, in other words, you cannot
# set the 'image_name' field in the top-level source block and here at the
# same time
image_name = "build_specific_field"
}
}
@include 'from-1.5/contextual-source-variables.mdx'
Refer to the builders reference overview for information about Packer builders.
Refer to the community builders reference for information about builders maintained by the community.
Refer to Create Custom Builders for instructions on how to create your own builders.