From 33198cc2b843e6047e9e910e5d641e9ece3f72b3 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia <gwsapan@gmail.com> Date: Mon, 8 Sep 2014 10:42:23 -0400 Subject: [PATCH] Added credentials models for User, Slice and Site objects --- planetstack/core/models/credential.py | 38 +++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 planetstack/core/models/credential.py diff --git a/planetstack/core/models/credential.py b/planetstack/core/models/credential.py new file mode 100644 index 0000000..c7a04da --- /dev/null +++ b/planetstack/core/models/credential.py @@ -0,0 +1,38 @@ +import os +from django.db import models +from core.models import PlCoreBase +from core.models import User,Site,Slice +from encrypted_fields import EncryptedCharField + +class UserCredential(PlCoreBase): + user = models.ForeignKey(User, related_name='credentials', help_text="The User this credential is associated with") + + name = models.SlugField(help_text="The credential type, e.g. ec2", max_length=128) + key_id = models.CharField(help_text="The backend id of this credential", max_length=1024) + enc_value = EncryptedCharField(help_text="The key value of this credential", max_length=1024) + + + def __unicode__(self): + return self.name + +class SiteCredential(PlCoreBase): + site = models.ForeignKey(Site, related_name='credentials', help_text="The User this credential is associated with") + + name = models.SlugField(help_text="The credential type, e.g. ec2", max_length=128) + key_id = models.CharField(help_text="The backend id of this credential", max_length=1024) + enc_value = EncryptedCharField(help_text="The key value of this credential", max_length=1024) + + + def __unicode__(self): + return self.name + +class SliceCredential(PlCoreBase): + slice = models.ForeignKey(Slice, related_name='credentials', help_text="The User this credential is associated with") + + name = models.SlugField(help_text="The credential type, e.g. ec2", max_length=128) + key_id = models.CharField(help_text="The backend id of this credential", max_length=1024) + enc_value = EncryptedCharField(help_text="The key value of this credential", max_length=1024) + + + def __unicode__(self): + return self.name -- 2.47.0