2016-10-28 00:36:26 +00:00
|
|
|
---
|
2020-02-06 23:45:31 +00:00
|
|
|
layout: docs
|
|
|
|
page_title: meta Stanza - Job Specification
|
|
|
|
sidebar_title: meta
|
|
|
|
description: The "meta" stanza allows for user-defined arbitrary key-value pairs.
|
2016-10-28 00:36:26 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
# `meta` Stanza
|
|
|
|
|
2020-02-06 23:45:31 +00:00
|
|
|
<Placement
|
|
|
|
groups={[
|
|
|
|
['job', 'meta'],
|
|
|
|
['job', 'group', 'meta'],
|
|
|
|
['job', 'group', 'task', 'meta']
|
|
|
|
]}
|
|
|
|
/>
|
2016-10-28 00:36:26 +00:00
|
|
|
|
|
|
|
The `meta` stanza allows for user-defined arbitrary key-value pairs. It is
|
|
|
|
possible to use the `meta` stanza at the [job][], [group][], or [task][] level.
|
|
|
|
|
|
|
|
```hcl
|
|
|
|
job "docs" {
|
|
|
|
meta {
|
|
|
|
my-key = "my-value"
|
|
|
|
}
|
|
|
|
|
|
|
|
group "example" {
|
|
|
|
meta {
|
|
|
|
my-key = "my-value"
|
|
|
|
}
|
|
|
|
|
|
|
|
task "server" {
|
|
|
|
meta {
|
|
|
|
my-key = "my-value"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
Metadata is merged up the job specification, so metadata defined at the job
|
|
|
|
level applies to all groups and tasks within that job. Metadata defined at the
|
|
|
|
group layer applies to all tasks within that group.
|
|
|
|
|
|
|
|
## `meta` Parameters
|
|
|
|
|
|
|
|
The "parameters" for the `meta` stanza can be any key-value. The keys and values
|
|
|
|
are both of type `string`, but they can be specified as other types. They will
|
|
|
|
automatically be converted to strings.
|
|
|
|
|
|
|
|
## `meta` Examples
|
|
|
|
|
2016-10-31 00:41:03 +00:00
|
|
|
The following examples only show the `meta` stanzas. Remember that the
|
|
|
|
`meta` stanza is only valid in the placements listed above.
|
2016-10-28 00:36:26 +00:00
|
|
|
|
|
|
|
### Coercion
|
|
|
|
|
|
|
|
This example shows the different ways to specify key-value pairs. Internally,
|
|
|
|
these values will be stored as their string representation. No type information
|
|
|
|
is preserved.
|
|
|
|
|
|
|
|
```hcl
|
|
|
|
meta {
|
|
|
|
key = "true"
|
|
|
|
key = true
|
|
|
|
|
|
|
|
"key" = true
|
|
|
|
|
|
|
|
key = 1.4
|
|
|
|
key = "1.4"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### Interpolation
|
|
|
|
|
|
|
|
This example shows using [Nomad interpolation][interpolation] to populate
|
|
|
|
environment variables.
|
|
|
|
|
|
|
|
```hcl
|
|
|
|
meta {
|
2018-09-07 10:22:53 +00:00
|
|
|
class = "${node.class}"
|
2016-10-28 00:36:26 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-02-06 23:45:31 +00:00
|
|
|
[job]: /docs/job-specification/job 'Nomad job Job Specification'
|
|
|
|
[group]: /docs/job-specification/group 'Nomad group Job Specification'
|
|
|
|
[task]: /docs/job-specification/task 'Nomad task Job Specification'
|
|
|
|
[interpolation]: /docs/runtime/interpolation 'Nomad interpolation'
|