blob: 55f73d9b61e13827648699321ca6018b823658fd [file] [log] [blame]
---
description: |
The file Packer builder is not really a builder, it just creates an artifact
from a file. It can be used to debug post-processors without incurring high
wait times.
page_title: File - Builders
---
<BadgesHeader>
<PluginBadge type="official" />
</BadgesHeader>
# File Builder
Type: `file`
Artifact BuilderId: `packer.file`
The `file` Packer builder is not really a builder, it just creates an artifact
from a file. It can be used to debug post-processors without incurring high
wait times.
## Basic Example
Below is a fully functioning example. It create a file at `target` with the
specified `content`.
<Tabs>
<Tab heading="JSON">
```json
{
"type": "file",
"content": "Lorem ipsum dolor sit amet",
"target": "dummy_artifact"
}
```
</Tab>
<Tab heading="HCL2">
```hcl
source "file" "basic-example" {
content = "Lorem ipsum dolor sit amet"
target = "dummy_artifact"
}
build {
sources = ["sources.file.basic-example"]
}
```
</Tab>
</Tabs>
## Configuration Reference
Configuration options are organized below into two categories: required and
optional. Within each category, the available options are alphabetized and
described.
Any [communicator](/packer/docs/templates/legacy_json_templates/communicator) defined is ignored.
### Required:
- `target` (string) - The path for the artifact file that will be created. If
the path contains directories that don't exist, Packer will create them, too.
### Optional:
You can only define one of `source` or `content`. If none of them is defined
the artifact will be empty.
- `source` (string) - The path for a file which will be copied as the
artifact.
- `content` (string) - The content that will be put into the artifact.