parameters:
  reclass:
    storage:
      node:
{%- for inventory_node_name, node in cookiecutter.nodes.items() %}
        {{ node['reclass_storage_name'] }}:
          params:
{%- if 'vcp' in node['roles'] %}
            linux_network_interfaces:
              ens3: ${_param:linux_single_interface}
{%- else %}
            # Use interfaces configuration from the context file,
            # or generate your own 'linux.network.interface' object using
            # additional inventory.
            # For example, you can take the 'inventory_node_name' and find it's config
            # in an additional dict inventory[inventory_node_name] loaded from custom_inventory.yaml,
            # or skip the original context from 'cookiecutter' object and iterate only custom inventory.
            linux_network_interfaces: {{ node['parameters']['linux']['network']['interface'] }}
{%- endif %}
          classes:
          - environment.{{ cookiecutter.cluster_name }}.networking
{%- endfor %}
