heat_template_version: ocata

description: >
  Returns an IP from a service mapped list of IPs

parameters:
  ServiceName:
    description: Name of the service to lookup
    default: ''
    type: string
  NetworkName: # Here for compatibility with ctlplane_vip.yaml
    description: Name of the network where the VIP will be created
    default: ctlplane
    type: string
  PortName: # Here for compatibility with ctlplane_vip.yaml
    description: Name of the port
    default: ''
    type: string
  ControlPlaneIP: # Here for compatibility with ctlplane_vip.yaml
    description: IP address on the control plane
    default: ''
    type: string
  ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
    description: The name of the undercloud Neutron control plane
    default: ctlplane
    type: string
  FixedIPs: # Here for compatibility with ctlplane_vip.yaml
    description: >
        Control the IP allocation for the VIP port. E.g.
        [{'ip_address':'1.2.3.4'}]
    default: []
    type: json
  ServiceVips:
    default: {}
    type: json

outputs:
  ip_address:
    description: network IP
    value: {get_param: [ServiceVips, {get_param: ServiceName}]}
  ip_address_uri:
    description: network IP (for compatibility with IPv6)
    value: {get_param: [ServiceVips, {get_param: ServiceName}]}