blob: e3ce328b9b36287e33a26424b1db4bce576f48f8 [file] [log] [blame]
{%- from "reclass/map.jinja" import storage with context %}
{%- if storage.enabled %}
{%- for node_name, node in storage.get('node', {}).iteritems() %}
{%- if node.repeat is defined %}
{%- for i in range(node.repeat.count) %}
{%- set extra_params = {} %}
{%- for param_name, param in node.repeat.params.iteritems() %}
{%- set param_count = (param.get('start', 1) + i)|string %}
{%- set param_value = param.value|replace(storage.repeat_replace_symbol, param_count.rjust(param.get('digits', 1), '0')) %}
{%- do extra_params.update({param_name: {'value': param_value, 'interpolate': param.get('interpolate', False)}}) %}
{%- endfor %}
{%- set node_count = (node.repeat.get('start', 1) + i)|string %}
{%- set node_name = node.name|replace(storage.repeat_replace_symbol, node_count.rjust(node.repeat.get('digits', 1), '0')) %}
{{ storage.base_dir }}/nodes/_generated/{{ node_name }}.{{ node.domain }}.yml:
file.managed:
- source: salt://reclass/files/node.yml
- user: root
- group: root
- template: jinja
- makedirs: True
- defaults:
node: {{ node|yaml }}
node_name: "{{ node_name }}"
extra_params: {{ extra_params }}
{%- endfor %}
{%- else %}
{{ storage.base_dir }}/nodes/_generated/{{ node.name }}.{{ node.domain }}.yml:
file.managed:
- source: salt://reclass/files/node.yml
- user: root
- group: root
- template: jinja
- makedirs: True
- defaults:
node: {{ node|yaml }}
node_name: "{{ node.get('name', node_name) }}"
extra_params: {}
{%- endif %}
{%- endfor %}
{%- endif %}