heat_template_version: pike

parameters:
  # Set these via parameter defaults to configure external VIPs
  ControlPlaneIP:
    default: ''
    type: string
{%- for network in networks if network.vip|default(false) %}
  {{network.name}}NetworkVip:
    default: ''
    type: string
{%- endfor %}
  # The following are unused in this template
  ControlPlaneIp:
    default: ''
    type: string
{%- for network in networks if network.vip|default(false) %}
  {{network.name}}Ip:
    default: ''
    type: string
  {{network.name}}IpUri:
    default: ''
    type: string
    description: IP address with brackets in case of IPv6
{%- endfor %}

outputs:
  net_ip_map:
    description: >
      A Hash containing a mapping of network names to assigned IPs
      for a specific machine.
    value:
      ctlplane: {get_param: ControlPlaneIP}
{%- for network in networks if network.vip|default(false) %}
      {{network.name_lower}}: {get_param: {{network.name}}NetworkVip}
{%- endfor %}
      ctlplane_uri: {get_param: ControlPlaneIP}
{%- for network in networks if network.vip|default(false) %}
      {{network.name_lower}}_uri:
        list_join:
          - ''
          - - '['
            - {get_param: {{network.name}}NetworkVip}
            - ']'
{%- endfor %}
