55 lines
1.5 KiB
Plaintext
55 lines
1.5 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: dispatch_payload Block - Job Specification
|
|
description: |-
|
|
The "dispatch_payload" block allows a task to access dispatch payloads.
|
|
to
|
|
---
|
|
|
|
# `dispatch_payload` Block
|
|
|
|
<Placement groups={['job', 'group', 'task', 'dispatch_payload']} />
|
|
|
|
The `dispatch_payload` block is used in conjunction with a [`parameterized`][parameterized] job
|
|
that expects a payload. When the job is dispatched with a payload, the payload
|
|
will be made available to any task that has a `dispatch_payload` block. The
|
|
payload will be written to the configured file before the task is started. This
|
|
allows the task to use the payload as input or configuration.
|
|
|
|
```hcl
|
|
job "docs" {
|
|
group "example" {
|
|
task "server" {
|
|
dispatch_payload {
|
|
file = "config.json"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## `dispatch_payload` Parameters
|
|
|
|
- `file` `(string: "")` - Specifies the file name to write the content of
|
|
dispatch payload to. The file is written relative to the [task's local
|
|
directory][localdir].
|
|
|
|
## `dispatch_payload` Examples
|
|
|
|
The following examples only show the `dispatch_payload` blocks. Remember that the
|
|
`dispatch_payload` block is only valid in the placements listed above.
|
|
|
|
### Write Payload to a File
|
|
|
|
This example shows a `dispatch_payload` block in a parameterized job that writes
|
|
the payload to a `config.json` file.
|
|
|
|
```hcl
|
|
dispatch_payload {
|
|
file = "config.json"
|
|
}
|
|
```
|
|
|
|
[localdir]: /nomad/docs/runtime/environment#local 'Task Local Directory'
|
|
[parameterized]: /nomad/docs/job-specification/parameterized 'Nomad parameterized Job Specification'
|