Add more show and analyze commands
[netvirt.git] / resources / tools / odltools / odltools / mdsal / models / neutron.py
1 from odltools.mdsal.models.model import Model
2
3
4 NAME = "neutron"
5
6
7 def neutron(store, args):
8     return Neutron(NAME, Neutron.CONTAINER, store, args)
9
10
11 class Neutron(Model):
12     CONTAINER = "neutron"
13     NETWORKS = "networks"
14     NETWORK = "network"
15     PORTS = "ports"
16     PORT = "port"
17     ROUTERS = "routers"
18     ROUTER = "router"
19     TRUNKS = "trunks"
20     TRUNK = "trunk"
21     NAME = "name"
22     UUID = "uuid"
23
24     def get_ports(self):
25         return self.data[self.CONTAINER][self.PORTS][self.PORT]
26
27     def get_ports_by_key(self, key="uuid"):
28         d = {}
29         ports = self.get_ports()
30         if ports is None:
31             return None
32         for port in ports:
33             d[port[key]] = port
34         return d
35
36     def get_trunks(self):
37         return self.data[self.CONTAINER][self.TRUNKS][self.TRUNK]
38
39     def get_trunks_by_key(self, key="uuid"):
40         d = {}
41         trunks = self.get_trunks()
42         if trunks is None:
43             return None
44         for trunk in trunks:
45             d[trunk[key]] = trunk
46         return d