heat_template_version: 2015-04-30 description: > Returns an IP from a network mapped list of IPs parameters: TenantNetName: description: Name of the tenant network default: tenant 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 TenantNetCidr: default: '172.16.0.0/24' description: Cidr for the tenant network. type: string outputs: ip_address: description: tenant network IP value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]} ip_subnet: # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?) description: IP/Subnet CIDR for the tenant network IP value: list_join: - '' - - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]} - '/' - {get_param: [TenantNetCidr, -2]} - {get_param: [TenantNetCidr, -1]}