heat_template_version: 2015-04-30 description: > Creates a port for a VIP on the isolated network NetworkName. parameters: NetworkName: description: Name of the network where the VIP will be created 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 type: string resources: VipPort: type: OS::Neutron::Port properties: network: {get_param: NetworkName} name: {get_param: PortName} replacement_policy: AUTO outputs: ip_address: description: Virtual IP network IP value: {get_attr: [VipPort, fixed_ips, 0, ip_address]} 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_attr: [VipPort, fixed_ips, 0, ip_address]} - '/' - {get_attr: [VipPort, subnets, 0, cidr, -2]} - {get_attr: [VipPort, subnets, 0, cidr, -1]}