Merge pick up, tweaked role/site/plcore_base or os_manager path when OpenStack not...
[plstackapi.git] / planetstack / core / models / key.py
1 import os
2 from django.db import models
3 from core.models import PlCoreBase
4 from openstack.manager import OpenStackManager
5
6
7 # Create your models here.
8
9 class Key(PlCoreBase):
10     name = models.CharField(max_length=256)
11     nkey_id = models.CharField(null=True, blank=True, max_length=256, unique=True)
12     key = models.CharField(max_length=512)
13     type = models.CharField(max_length=256)
14     blacklisted = models.BooleanField(default=False)
15
16     def __unicode__(self):  return u'%s' % (self.key)
17
18     def save(self, *args, **kwds):
19         if not hasattr(self, 'os_manager'):
20             setattr(self, 'os_manager', OpenStackManager())
21             self.os_manager.save_key(self)
22         super(Key, self).save(*args, **kwds)
23
24     def delete(self, *args, **kwds):
25         if not hasattr(self, 'os_manager'):
26             setattr(self, 'os_manager', OpenStackManager())
27             self.os_manager.delete_key(self)
28         super(Key, self).delete(*args, **kwds) 
29