Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #jinja
- #UNDERSTANDING JINJA
- https://docs.saltstack.com/en/latest/topics/jinja/index.html#jinja-in-states
- #Cool document about how to write TRUE salt states on jinja:
- https://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.jinja.html#
- #Jinja loading utils to enable a more powerful backend for jinja templates
- https://docs.saltstack.com/en/latest/ref/renderers/all/salt.renderers.jinja.html#module-salt.renderers.jinja
- #SLS TEMPLATE VARIABLES REFERENCE (salt, grains, pillars, и т.д.)
- https://docs.saltstack.com/en/latest/ref/states/vars.html#sls-template-variable-reference
- #Official doc
- http://jinja.pocoo.org/docs
- http://jinja.pocoo.org/docs/2.10/templates/#builtin-filters
- https://docs.saltstack.com/en/latest/topics/jinja/index.html#debugging
- Context is: {{ show_full_context()|yaml(False) }}
- https://docs.saltstack.com/en/latest/topics/jinja/index.html#logs
- {%- do salt.log.error('testing jinja logging') -%}
- {% set dmz = salt['pillar.get']('cloud:dmz', default_cloud_vars, merge=True) -%}
- {% do dmz.update(default_vm) %}
- # Jinja loop example:
- {% set l = [1,2,3,4,5,6,7] %}
- {% set count = [1] %}
- {% for i in l %}
- {% if count.append(count.pop() + 1) %}{% endif %} {# increment count by 1 #}
- {% endfor %}
- test:
- test.nop:
- - bla: |
- {{ count }}
- # Example how POP working:
- root@scm-master:/srv/salt# cat test.sls
- {% set l = [7,6,5,4,3,2,1] %}
- Example with list:
- test.nop:
- - bla: |
- {{ l }}
- {{ l.pop() }}
- {{ l }}
- {{ l.pop(4) }}
- {{ l }}
- {% set d = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'i': 6, 'f': 7, 'j': 8} %}
- Example with dict:
- test.nop:
- - bla: |
- {{ d }}
- {{ d.pop('i') }}
- {{ d }}
- root@scm-master:/srv/salt# salt flus-test-03.build.ptsecurity.ru state.show_sls test
- flus-test-03.build.ptsecurity.ru:
- ----------
- Example with list:
- ----------
- __env__:
- base
- __sls__:
- test
- test:
- |_
- ----------
- bla:
- [7, 6, 5, 4, 3, 2, 1]
- 1
- [7, 6, 5, 4, 3, 2]
- 3
- [7, 6, 5, 4, 2]
- - nop
- |_
- ----------
- order:
- 10000
- Example with dict:
- ----------
- __env__:
- base
- __sls__:
- test
- test:
- |_
- ----------
- bla:
- {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4, 'f': 7, 'i': 6, 'j': 8}
- 6
- {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4, 'f': 7, 'j': 8}
- - nop
- |_
- ----------
- order:
- 10001
- http://jinja.pocoo.org/docs/2.10/templates/#for
- <dl>
- {% for key, value in my_dict.iteritems() %}
- <dt>{{ key|e }}</dt>
- <dd>{{ value|e }}</dd>
- {% endfor %}
- </dl>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement