intial data for serviceclass / serviceresource
[plstackapi.git] / planetstack / core / models / subnet.py
1 import os
2 import commands    
3 from django.db import models
4 from core.models import PlCoreBase
5 from core.models import Slice
6 from openstack.manager import OpenStackManager
7
8 # Create your models here.
9
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')
17
18     def __unicode__(self):  return u'%s' % (self.slice.name)
19
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)
25
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)