cki_lib.yaml
Work with YAML files
This page has an internal companion page which might contain additional information.
Set keys in YAML data
usage: python3 -m cki_lib.yaml set-value [-h] [--format {yaml,json}] key value
Set a dot-delimited key
positional arguments:
key dot-delimited key
value YAML-formatted value
options:
-h, --help show this help message and exit
--format {yaml,json} output format (default: yaml)
Reads from stdin and writes to stdout.
Example:
$ python -m cki_lib.yaml set-value foo.1 'qux: true' <<< 'foo: [bar, baz]'
---
foo:
- bar
- qux: true
Delete keys from YAML data
usage: python3 -m cki_lib.yaml del [-h] [--format {yaml,json}] key
Set a dot-delimited key
positional arguments:
key dot-delimited key
options:
-h, --help show this help message and exit
--format {yaml,json} output format (default: yaml)
Reads from stdin and writes to stdout.
Example:
$ python -m cki_lib.yaml del foo.1 <<< 'foo: [bar, baz]'
---
foo:
- bar
Dump YAML data
usage: python3 -m cki_lib.yaml dump [-h] [--format {yaml,json}]
Dump YAML data
options:
-h, --help show this help message and exit
--format {yaml,json} output format (default: yaml)
Reads from stdin and writes to stdout.
Example:
$ python -m cki_lib.yaml dump <<< 'foo: [bar, baz]'
---
foo:
- bar
- baz
Validate YAML files with a JSON schema
usage: python3 -m cki_lib.yaml validate [-h]
[--schema SCHEMA]
[--process-config-tree]
[--resolve-includes]
[--resolve-references]
[files ...]
Validation of YAML files
positional arguments:
files paths of YAML files to validate
options:
-h, --help show this help message and exit
--schema SCHEMA path of JSON schema file
--process-config-tree support .default and .extends
--resolve-includes support .include
--resolve-references support !reference tags
Reads from stdin if no files are passed.
CKI schema support
The validation code tries to determine the values for the following parameters automatically:
parameter | where | key |
---|---|---|
--schema |
YAML file | .schema specified as python.module/schema-file |
--process-config-tree |
JSON schema | $ckiProcessConfigTree |
--resolve-includes |
JSON schema | $ckiResolveIncludes |
--resolve-references |
JSON schema | $ckiResolveReferences |
Exit codes
Code | Description |
---|---|
0 | No validation error found |
1 | At least one file failed schema validation |
2 | CLI invocation error, e.g. when no files are passed |