blob: 03a06052b57a4822f685908c62c2c08025368e28 [file] [log] [blame]
Scott Baker8f32cc82016-08-08 10:34:53 -07001from xosresource import XOSResource
Zack Williamsb7e97762016-10-05 16:12:36 -07002from services.hpc.models import OriginServer, ContentProvider
Scott Baker8f32cc82016-08-08 10:34:53 -07003
4class XOSOriginServer(XOSResource):
5 provides = "tosca.nodes.OriginServer"
6 xos_model = OriginServer
7 name_field = "url"
8 copyin_props = []
9
10 def obj_name_to_url(self):
11 url = self.obj_name
12 if url.startswith("http_"):
13 url = url[5:]
14 return url
15
16 def get_existing_objs(self):
17 url = self.obj_name_to_url()
18 return self.xos_model.objects.filter(**{self.name_field: url})
19
20 def get_xos_args(self):
21 url = self.obj_name_to_url()
22 cp_name = self.get_requirement("tosca.relationships.MemberOfContentProvider", throw_exception=True)
23 cp = self.get_xos_object(ContentProvider, name=cp_name)
24 return {"url": url,
25 "contentProvider": cp}
26
27 def can_delete(self, obj):
28 return super(XOSOriginServer, self).can_delete(obj)
29