blob: 13bc1c803e90639f0a1c296f62e89fd26660f5e0 [file] [log] [blame]
Sapan Bhatia7bcec3b2014-09-08 10:42:23 -04001import os
2from django.db import models
3from core.models import PlCoreBase
Sapan Bhatia7b2043f2014-09-01 02:12:01 -04004from core.models import User,Site,Slice,Deployment
Sapan Bhatia7bcec3b2014-09-08 10:42:23 -04005from encrypted_fields import EncryptedCharField
Sapan Bhatia2d3a9d82014-09-22 15:07:26 -04006from core.models import Deployment,DeploymentLinkManager,DeploymentLinkDeletionManager
Sapan Bhatia7bcec3b2014-09-08 10:42:23 -04007
8class UserCredential(PlCoreBase):
9 user = models.ForeignKey(User, related_name='credentials', help_text="The User this credential is associated with")
10
11 name = models.SlugField(help_text="The credential type, e.g. ec2", max_length=128)
12 key_id = models.CharField(help_text="The backend id of this credential", max_length=1024)
13 enc_value = EncryptedCharField(help_text="The key value of this credential", max_length=1024)
14
15
16 def __unicode__(self):
17 return self.name
18
19class SiteCredential(PlCoreBase):
20 site = models.ForeignKey(Site, related_name='credentials', help_text="The User this credential is associated with")
21
22 name = models.SlugField(help_text="The credential type, e.g. ec2", max_length=128)
23 key_id = models.CharField(help_text="The backend id of this credential", max_length=1024)
24 enc_value = EncryptedCharField(help_text="The key value of this credential", max_length=1024)
25
26
27 def __unicode__(self):
28 return self.name
29
30class SliceCredential(PlCoreBase):
31 slice = models.ForeignKey(Slice, related_name='credentials', help_text="The User this credential is associated with")
32
33 name = models.SlugField(help_text="The credential type, e.g. ec2", max_length=128)
34 key_id = models.CharField(help_text="The backend id of this credential", max_length=1024)
35 enc_value = EncryptedCharField(help_text="The key value of this credential", max_length=1024)
36
37
38 def __unicode__(self):
39 return self.name
Sapan Bhatia31138dd2014-09-01 01:45:28 -040040
41class DeploymentCredential(PlCoreBase):
Sapan Bhatia2d3a9d82014-09-22 15:07:26 -040042 objects = DeploymentLinkManager()
43 deleted_objects = DeploymentLinkDeletionManager()
Sapan Bhatia31138dd2014-09-01 01:45:28 -040044 deployment = models.ForeignKey(Deployment, related_name='credentials', help_text="The User this credential is associated with")
45
46 name = models.SlugField(help_text="The credential type, e.g. ec2", max_length=128)
47 key_id = models.CharField(help_text="The backend id of this credential", max_length=1024)
48 enc_value = EncryptedCharField(help_text="The key value of this credential", max_length=1024)
49
50
51 def __unicode__(self):
52 return self.name