2 from django.db import models
3 from plstackapi.core.models import PlCoreBase
4 from plstackapi.core.models import PLUser
5 from plstackapi.openstack.driver import OpenStackDriver
7 # Create your models here.
10 name = models.CharField(max_length=256, unique=True)
11 key_id = models.CharField(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 user = models.ForeignKey(PLUser, related_name='keys')
17 def __unicode__(self): return u'%s' % (self.name)
19 def save(self, *args, **kwds):
20 driver = OpenStackDriver()
22 key_fields = {'name': self.name,
24 nova_key = driver.create_keypair(**key_fields)
25 self.key_id = nova_key.id
26 super(Key, self).save(*args, **kwds)
28 def delete(self, *args, **kwds):
29 driver = OpenStackDriver()
31 driver.delete_keypair(self.key_id)
32 super(Key, self).delete(*args, **kwds)