9f8ed5cc86aa71f66dffadfd0fe5ef55f1a1c189
[netvirt.git] / resources / tools / odltools / odltools / mdsal / models / odl_l3vpn.py
1 from odltools.mdsal.models.model import Model
2
3
4 NAME = "odl-l3vpn"
5
6
7 def vpn_id_to_vpn_instance(store, args):
8     return VpnIdToVpnInstance(NAME, VpnIdToVpnInstance.CONTAINER, store, args)
9
10
11 def vpn_instance_to_vpn_id(store, args):
12     return VpnInstanceToVpnId(NAME, VpnInstanceToVpnId.CONTAINER, store, args)
13
14
15 class VpnIdToVpnInstance(Model):
16     CONTAINER = "vpn-id-to-vpn-instance"
17     VPN_IDS = "vpn-ids"
18
19     def get_vpn_ids(self):
20         return self.data[self.CONTAINER][self.VPN_IDS]
21
22     def get_vpn_ids_by_key(self, key="vpn-id"):
23         d = {}
24         vpnids = self.get_vpn_ids()
25         if vpnids is None:
26             return None
27         for vpnid in vpnids:
28             d[vpnid[key]] = vpnid
29         return d
30
31
32 class VpnInstanceToVpnId(Model):
33     CONTAINER = "vpn-instance-to-vpn-id"
34     VPN_INSTANCE = "vpn-instance"
35
36     def get_vpn_instances(self):
37         return self.data[self.CONTAINER][self.VPN_INSTANCE]
38
39     def get_vpn_instances_by_key(self, key="vpn-id"):
40         d = {}
41         instances = self.get_vpn_instances()
42         if instances is None:
43             return None
44         for instance in instances:
45             d[instance[key]] = instance
46         return d