class ServiceProvider(PlCoreBase):
class Meta:
app_label = "hpc"
+
+ service_provider_id = models.IntegerField(null=True, blank=True)
name = models.CharField(max_length=254,help_text="Service Provider Name")
description = models.TextField(max_length=254,null=True, blank=True, help_text="Description of Service Provider")
enabled = models.BooleanField(default=True)
class ContentProvider(PlCoreBase):
class Meta:
app_label = "hpc"
+
+ # legacy vicci content providers already have names.
+ CP_TO_ACCOUNT = {"ON.LAB": "onlabcp",
+ "Syndicate": "syndicatecp"}
+
+ content_provider_id = models.IntegerField(null=True, blank=True)
name = models.CharField(max_length=254)
enabled = models.BooleanField(default=True)
description = models.TextField(max_length=254,null=True, blank=True,help_text="Description of Content Provider")
def __unicode__(self): return u'%s' % (self.name)
+ @property
+ def account(self):
+ return self.CP_TO_ACCOUNT.get(self.name, self.name)
+
class OriginServer(PlCoreBase):
class Meta:
app_label = "hpc"
+
+ origin_server_id = models.IntegerField(null=True, blank=True)
url = models.URLField()
contentProvider = models.ForeignKey(ContentProvider)
class CDNPrefix(PlCoreBase):
class Meta:
app_label = "hpc"
+
+ cdn_prefix_id = models.IntegerField(null=True, blank=True)
prefix = models.CharField(max_length=200, help_text="Registered Prefix for Domain")
contentProvider = models.ForeignKey(ContentProvider)
description = models.TextField(max_length=254,null=True, blank=True,help_text="Description of Content Provider")
- defaultOriginServer = models.ForeignKey(OriginServer)
+ defaultOriginServer = models.ForeignKey(OriginServer, blank=True, null=True)
enabled = models.BooleanField(default=True)
def __unicode__(self): return u'%s' % (self.prefix)
+class AccessMap(models.Model):
+ contentProvider = models.ForeignKey(ContentProvider)
+ name = models.CharField(max_length=64, help_text="Name of the Access Map")
+ description = models.TextField(null=True, blank=True,max_length=130)
+ map = models.FileField(upload_to="maps/", help_text="specifies which client requests are allowed")
+
+ def __unicode__(self): return self.name
+
+class SiteMap(models.Model):
+ """ can be bound to a ContentProvider, ServiceProvider, or neither """
+ contentProvider = models.ForeignKey(ContentProvider, blank=True, null=True)
+ serviceProvider = models.ForeignKey(ServiceProvider, blank=True, null=True)
+ name = models.CharField(max_length=64, help_text="Name of the Site Map")
+ description = models.TextField(null=True, blank=True,max_length=130)
+ map = models.FileField(upload_to="maps/", help_text="specifies how to map requests to hpc instances")
+
+ def __unicode__(self): return self.name