blob: 8251eb12f5a3d89da4608d21982f342b8d5a64f3 [file] [log] [blame]
Scott Baker37b47902014-09-02 14:37:41 -07001import os
2import socket
3from django.db import models
Scott Baker7a61dc42014-09-02 17:08:20 -07004from core.models import PlCoreBase, Deployment
Tony Mackd84b1ff2015-03-09 13:03:56 -04005from core.models.plcorebase import StrippedCharField
Scott Baker37b47902014-09-02 14:37:41 -07006from django.contrib.contenttypes.models import ContentType
7from django.contrib.contenttypes import generic
8
9class Flavor(PlCoreBase):
Tony Mackd84b1ff2015-03-09 13:03:56 -040010 name = StrippedCharField(max_length=32, help_text="name of this flavor, as displayed to users")
11 description = StrippedCharField(max_length=1024, blank=True, null=True)
12 flavor = StrippedCharField(max_length=32, help_text="flavor string used to configure deployments")
Scott Baker37b47902014-09-02 14:37:41 -070013 deployments = models.ManyToManyField(Deployment, blank=True, related_name="flavors")
14 order = models.IntegerField(default=0, help_text="used to order flavors when displayed in a list")
15 default = models.BooleanField(default=False, help_text="make this a default flavor to use when creating new instances")
16
17 class Meta:
18 app_label = "core"
19 ordering = ('order', 'name')
20
Sapan Bhatia8021d0d2015-10-07 17:31:58 +020021 def __init__(self, *args, **kwargs):
22 super(Flavor, self).__init__(*args, **kwargs)
23 self.no_sync=True
24
Scott Baker37b47902014-09-02 14:37:41 -070025 def __unicode__(self): return u'%s' % (self.name)
26
Scott Baker37b47902014-09-02 14:37:41 -070027""" FlavorParameterType and FlavorParameter are below for completeness sake,
28 waiting for the day we might want to add parameters to flavors.
29
30class FlavorParameterType(PlCoreBase):
31 name = models.SlugField(help_text="The name of this parameter", max_length=128)
Tony Mackd84b1ff2015-03-09 13:03:56 -040032 description = StrippedCharField(max_length=1024)
Scott Baker37b47902014-09-02 14:37:41 -070033
34 def __unicode__(self): return u'%s' % (self.name)
35
36class FlavorParameter(PlCoreBase):
Sapan Bhatia13d2db92014-11-11 21:47:45 -050037 parameter = models.ForeignKey(FlavorParameterType, related_name="flavorparameters", help_text="The type of the parameter")
Tony Mackd84b1ff2015-03-09 13:03:56 -040038 value = StrippedCharField(help_text="The value of this parameter", max_length=1024)
Scott Baker37b47902014-09-02 14:37:41 -070039
Sapan Bhatia475c5972014-11-05 10:32:41 -050040 flavor = models.ForeignKey(Flavor,related_name='flavorparameter')
Scott Baker37b47902014-09-02 14:37:41 -070041
42 def __unicode__(self):
43 return self.parameter.name
44
45"""
46