mirror of
https://github.com/kemko/nomad.git
synced 2026-01-03 08:55:43 +03:00
* Move commands from docs to its own root-level directory * temporarily use modified dev-portal branch with nomad ia changes * explicitly clone nomad ia exp branch * retrigger build, fixed dev-portal broken build * architecture, concepts and get started individual pages * fix get started section destinations * reference section * update repo comment in website-build.sh to show branch * docs nav file update capitalization * update capitalization to force deploy * remove nomad-vs-kubernetes dir; move content to what is nomad pg * job section * Nomad operations category, deploy section * operations category, govern section * operations - manage * operations/scale; concepts scheduling fix * networking * monitor * secure section * remote auth-methods folder and move up pages to sso; linkcheck * Fix install2deploy redirects * fix architecture redirects * Job section: Add missing section index pages * Add section index pages so breadcrumbs build correctly * concepts/index fix front matter indentation * move task driver plugin config to new deploy section * Finish adding full URL to tutorials links in nav * change SSO to Authentication in nav and file system * Docs NomadIA: Move tutorials into NomadIA branch (#26132) * Move governance and policy from tutorials to docs * Move tutorials content to job-declare section * run jobs section * stateful workloads * advanced job scheduling * deploy section * manage section * monitor section * secure/acl and secure/authorization * fix example that contains an unseal key in real format * remove images from sso-vault * secure/traffic * secure/workload-identities * vault-acl change unseal key and root token in command output sample * remove lines from sample output * fix front matter * move nomad pack tutorials to tools * search/replace /nomad/tutorials links * update acl overview with content from deleted architecture/acl * fix spelling mistake * linkcheck - fix broken links * fix link to Nomad variables tutorial * fix link to Prometheus tutorial * move who uses Nomad to use cases page; move spec/config shortcuts add dividers * Move Consul out of Integrations; move namespaces to govern * move integrations/vault to secure/vault; delete integrations * move ref arch to docs; rename Deploy Nomad back to Install Nomad * address feedback * linkcheck fixes * Fixed raw_exec redirect * add info from /nomad/tutorials/manage-jobs/jobs * update page content with newer tutorial * link updates for architecture sub-folders * Add redirects for removed section index pages. Fix links. * fix broken links from linkcheck * Revert to use dev-portal main branch instead of nomadIA branch * build workaround: add intro-nav-data.json with single entry * fix content-check error * add intro directory to get around Vercel build error * workound for emtpry directory * remove mdx from /intro/ to fix content-check and git snafu * Add intro index.mdx so Vercel build should work --------- Co-authored-by: Tu Nguyen <im2nguyen@gmail.com>
87 lines
3.1 KiB
Plaintext
87 lines
3.1 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: yamlencode - Functions - Configuration Language
|
|
description: The yamlencode function encodes a given value as a YAML string.
|
|
---
|
|
|
|
# `yamlencode` Function
|
|
|
|
`yamlencode` encodes a given value to a string using
|
|
[YAML 1.2](https://yaml.org/spec/1.2/spec) block syntax.
|
|
|
|
~> **Warning:** This function is currently **experimental** and its exact
|
|
result format may change in future versions of Nomad, based on feedback.
|
|
Do not use `yamldecode` to construct a value for any argument where
|
|
changes to the result would be disruptive. To get a consistent string
|
|
representation of a value use [`jsonencode`](/nomad/docs/reference/hcl2/functions/encoding/jsonencode) instead; its
|
|
results are also valid YAML because YAML is a JSON superset.
|
|
|
|
<!--
|
|
The condition for removing the above warning is that the underlying
|
|
go-cty-yaml folder makes a stable release with a commitment to guarantee
|
|
that the representation of particular input will not change without a
|
|
major release. It is not making that commitment at the time of writing to
|
|
allow for responding to user feedback about its output format, since YAML
|
|
is a very flexible format and its initial decisions may prove to be
|
|
sub-optimal when generating YAML intended for specific external consumers.
|
|
-->
|
|
|
|
This function maps
|
|
[Nomad language values](/nomad/docs/reference/hcl2/expressions#types-and-values)
|
|
to YAML tags in the following way:
|
|
|
|
| Nomad type | YAML type |
|
|
| ------------- | -------------------- |
|
|
| `string` | `!!str` |
|
|
| `number` | `!!float` or `!!int` |
|
|
| `bool` | `!!bool` |
|
|
| `list(...)` | `!!seq` |
|
|
| `set(...)` | `!!seq` |
|
|
| `tuple(...)` | `!!seq` |
|
|
| `map(...)` | `!!map` |
|
|
| `object(...)` | `!!map` |
|
|
| Null value | `!!null` |
|
|
|
|
`yamlencode` uses the implied syntaxes for all of the above types, so it does
|
|
not generate explicit YAML tags.
|
|
|
|
Because the YAML format cannot fully represent all of the Nomad language
|
|
types, passing the `yamlencode` result to `yamldecode` will not produce an
|
|
identical value, but the Nomad language automatic type conversion rules
|
|
mean that this is rarely a problem in practice.
|
|
|
|
## Examples
|
|
|
|
```shell-session
|
|
> yamlencode({"a":"b", "c":"d"})
|
|
"a": "b"
|
|
"c": "d"
|
|
|
|
> yamlencode({"foo":[1, 2, 3], "bar": "baz"})
|
|
"bar": "baz"
|
|
"foo":
|
|
- 1
|
|
- 2
|
|
- 3
|
|
|
|
> yamlencode({"foo":[1, {"a":"b","c":"d"}, 3], "bar": "baz"})
|
|
"bar": "baz"
|
|
"foo":
|
|
- 1
|
|
- "a": "b"
|
|
"c": "d"
|
|
- 3
|
|
```
|
|
|
|
`yamlencode` always uses YAML's "block style" for mappings and sequences, unless
|
|
the mapping or sequence is empty. To generate flow-style YAML, use
|
|
[`jsonencode`](/nomad/docs/reference/hcl2/functions/encoding/jsonencode) instead: YAML flow-style is a superset
|
|
of JSON syntax.
|
|
|
|
## Related Functions
|
|
|
|
- [`jsonencode`](/nomad/docs/reference/hcl2/functions/encoding/jsonencode) is a similar operation using JSON instead
|
|
of YAML.
|
|
- [`yamldecode`](/nomad/docs/reference/hcl2/functions/encoding/yamldecode) performs the opposite operation, _decoding_
|
|
a YAML string to obtain its represented value.
|