3 from django.db import models
4 from core.models import PlCoreBase
5 from core.models import Slice
6 from openstack.manager import OpenStackManager
8 # Create your models here.
10 class Subnet(PlCoreBase):
11 subnet_id = models.CharField(max_length=256, unique=True)
12 cidr = models.CharField(max_length=20)
13 ip_version = models.IntegerField()
14 start = models.IPAddressField()
15 end = models.IPAddressField()
16 slice = models.ForeignKey(Slice, related_name='subnet')
18 def __unicode__(self): return u'%s' % (self.slice.name)
20 def save(self, *args, **kwds):
21 if not hasattr(self, 'os_manager'):
22 setattr(self, 'os_manager', OpenStackManager())
23 self.os_manager.save_subnet(self)
24 super(Subnet, self).save(*args, **kwds)
26 def delete(self, *args, **kwds):
27 if not hasattr(self, 'os_manager'):
28 setattr(self, 'os_manager', OpenStackManager())
29 self.os_manager.delete_subnet(self)
30 super(Subnet, self).delete(*args, **kwds)