heat_template_version: pike

description: Create networks to split out Overcloud traffic

resources:

  {%- for network in networks %}
    {%- if network.name != 'InternalApi' %}
  {{network.name}}Network:
    {%- else  %}
  InternalNetwork:
    {%- endif %}
    type: OS::TripleO::Network::{{network.name}}
  {%- endfor %}

  NetworkExtraConfig:
    type: OS::TripleO::Network::ExtraConfig


outputs:
  net_cidr_map:
    value:
      # NOTE(gfidente): we need to replace the null value with a
      # string to work around https://bugs.launchpad.net/heat/+bug/1700025
      {%- for network in networks %}
        {%- if network.name != 'InternalApi' %}
      {{network.name_lower}}:
        yaql:
          data: {get_attr: [{{network.name}}Network, subnet_cidr]}
          expression: str($.data).replace('null', 'disabled')
        {%- else  %}
      {{network.name_lower}}:
        yaql:
          data: {get_attr: [InternalNetwork, subnet_cidr]}
          expression: str($.data).replace('null', 'disabled')
        {%- endif %}
      {%- endfor %}