blob: 693a5f809960cee74ea8e52d1f0a21376b0311d5 [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 Mack50e12212015-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
Scott Baker37b47902014-09-02 14:37:41 -07007
8class Flavor(PlCoreBase):
Tony Mack50e12212015-03-09 13:03:56 -04009 name = StrippedCharField(max_length=32, help_text="name of this flavor, as displayed to users")
10 description = StrippedCharField(max_length=1024, blank=True, null=True)
11 flavor = StrippedCharField(max_length=32, help_text="flavor string used to configure deployments")
Scott Baker37b47902014-09-02 14:37:41 -070012 deployments = models.ManyToManyField(Deployment, blank=True, related_name="flavors")
13 order = models.IntegerField(default=0, help_text="used to order flavors when displayed in a list")
14 default = models.BooleanField(default=False, help_text="make this a default flavor to use when creating new instances")
15
16 class Meta:
17 app_label = "core"
18 ordering = ('order', 'name')
19
Sapan Bhatiae464c9c2015-10-07 17:31:58 +020020 def __init__(self, *args, **kwargs):
21 super(Flavor, self).__init__(*args, **kwargs)
22 self.no_sync=True
23
Scott Baker37b47902014-09-02 14:37:41 -070024 def __unicode__(self): return u'%s' % (self.name)
25
Scott Baker37b47902014-09-02 14:37:41 -070026""" FlavorParameterType and FlavorParameter are below for completeness sake,
27 waiting for the day we might want to add parameters to flavors.
28
29class FlavorParameterType(PlCoreBase):
30 name = models.SlugField(help_text="The name of this parameter", max_length=128)
Tony Mack50e12212015-03-09 13:03:56 -040031 description = StrippedCharField(max_length=1024)
Scott Baker37b47902014-09-02 14:37:41 -070032
33 def __unicode__(self): return u'%s' % (self.name)
34
35class FlavorParameter(PlCoreBase):
Sapan Bhatia6bfa2ca2014-11-11 21:47:45 -050036 parameter = models.ForeignKey(FlavorParameterType, related_name="flavorparameters", help_text="The type of the parameter")
Tony Mack50e12212015-03-09 13:03:56 -040037 value = StrippedCharField(help_text="The value of this parameter", max_length=1024)
Scott Baker37b47902014-09-02 14:37:41 -070038
Sapan Bhatia14356b72014-11-05 10:32:41 -050039 flavor = models.ForeignKey(Flavor,related_name='flavorparameter')
Scott Baker37b47902014-09-02 14:37:41 -070040
41 def __unicode__(self):
42 return self.parameter.name
43
44"""
45