+ # find by name
+ matching_ports = filter(
+ lambda port: port.name == name_or_id or port.template_name == name_or_id,
+ self.ports.values()
+ )
+ matching_ports_count = len(matching_ports)
+ if matching_ports_count == 1:
+ return matching_ports[0]
+ if matching_ports_count > 1:
+ raise RuntimeError("Ambiguous port name %s" % name_or_id)