heat_template_version: 2015-04-30 description: > Returns an IP from a network mapped list of IPs parameters: InternalApiNetName: description: Name of the internal API network default: internal_api type: string PortName: description: Name of the port default: '' type: string ControlPlaneIP: # Here for compatability with noop.yaml description: IP address on the control plane default: '' type: string IPPool: default: {} description: A network mapped list of IPs type: json NodeIndex: default: 0 description: Index of the IP to get from Pool type: number InternalApiNetCidr: default: '172.16.2.0/24' description: Cidr for the internal API network. type: string outputs: ip_address: description: internal API network IP value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]} ip_subnet: # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?) description: IP/Subnet CIDR for the internal API network IP value: list_join: - '' - - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]} - '/' - {get_param: [InternalApiNetCidr, -2]} - {get_param: [InternalApiNetCidr, -1]}