Skip to content

Instantly share code, notes, and snippets.

@netzvieh
Created May 22, 2017 20:53
Show Gist options
  • Save netzvieh/f5d8fb619e9ebdec4cf2c7142f3fe5e7 to your computer and use it in GitHub Desktop.
Save netzvieh/f5d8fb619e9ebdec4cf2c7142f3fe5e7 to your computer and use it in GitHub Desktop.
merging jinja dictionaries
{% set opts = {} %}
{% set local_opts = {} %}
{% set default_opts = { "b": { "c": "d", "d": "e" } } %}
{% set special1_opts = { "b": { "c": "f" } } %}
{% set special2_opts = { "b": { "d": "g" } } %}
{% do opts.update({'foo': default_opts }) %}
{% do local_opts.update({'foo': special1_opts }) %}
{% do opts.update({'bar': default_opts }) %}
{% do local_opts.update({'bar': special2_opts }) %}
{% do salt['defaults.merge'](opts, local_opts) %}
@netzvieh
Copy link
Author

The goal is { "foo": { "b": { "c": "f", "d": "e" } }, "bar": { "b": { "c": "d", "d": "g" } } }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment