mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-27 10:14:01 -04:00
* Adding check-legacy-links-format workflow * Adding test-link-rewrites workflow * Migrating links to new format * Updating docs-content-check-legacy-links-format hash * chore: update source * Update generated partials from Packer plugin SDK * Bump packer-plugin-sdk to get latest packer-sdc * Update website/content/docs/templates/hcl_templates/blocks/build/provisioner.mdx * Update Plugin SDK to fix shell-local regression --------- Co-authored-by: Kendall Strautman <[email protected]> Co-authored-by: Wilken Rivera <[email protected]> Co-authored-by: Kendall Strautman <[email protected]>
62 lines
1.9 KiB
Plaintext
62 lines
1.9 KiB
Plaintext
---
|
|
description: |
|
|
The top-level source block defines reusable builder configuration blocks
|
|
page_title: source - Blocks
|
|
---
|
|
|
|
# The `source` block
|
|
|
|
`@include 'from-1.5/beta-hcl2-note.mdx'`
|
|
|
|
The top-level `source` block defines reusable builder configuration blocks:
|
|
|
|
`@include 'from-1.5/sources/example-block.mdx'`
|
|
|
|
The first label — `happycloud` here — is the builder type. The second label is
|
|
the unique name or identifier you want to give to the source. There can be only one
|
|
`source.happycloud.foo` top-level source block; but it can be used more than
|
|
once. Builders are usually found in plugins, except for the `file` and the
|
|
`null` builders that will remain in Packer core.
|
|
|
|
You can start builders by referring to those source blocks from a [`build`
|
|
block](/packer/docs/templates/hcl_templates/blocks/build) :
|
|
|
|
```hcl
|
|
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](/packer/docs/templates/hcl_templates/blocks/build/source) allows to set specific
|
|
source fields. Each field must be defined only once and it is currently not
|
|
allowed to override a value.
|
|
|
|
```hcl
|
|
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'`
|
|
|
|
## Related
|
|
|
|
- The list of available builders can be found in the [builders](/packer/docs/builders)
|
|
section.
|
|
|
|
- A list of [community
|
|
builders](https://packer.io/community-tools#community-builders) is available.
|
|
|
|
- Create your own [custom builder](/packer/docs/plugins/creation/custom-builders) !
|