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