blob: 46cf87ec235b334aacfbf9df73f9a9130c815a42 [file] [log] [blame]
Scott Baker8f32cc82016-08-08 10:34:53 -07001import os
2import pdb
3import sys
4import tempfile
5sys.path.append("/opt/tosca")
6from translator.toscalib.tosca_template import ToscaTemplate
7
8from services.hpc.models import OriginServer, ContentProvider
9
10from xosresource import XOSResource
11
12class XOSOriginServer(XOSResource):
13 provides = "tosca.nodes.OriginServer"
14 xos_model = OriginServer
15 name_field = "url"
16 copyin_props = []
17
18 def obj_name_to_url(self):
19 url = self.obj_name
20 if url.startswith("http_"):
21 url = url[5:]
22 return url
23
24 def get_existing_objs(self):
25 url = self.obj_name_to_url()
26 return self.xos_model.objects.filter(**{self.name_field: url})
27
28 def get_xos_args(self):
29 url = self.obj_name_to_url()
30 cp_name = self.get_requirement("tosca.relationships.MemberOfContentProvider", throw_exception=True)
31 cp = self.get_xos_object(ContentProvider, name=cp_name)
32 return {"url": url,
33 "contentProvider": cp}
34
35 def can_delete(self, obj):
36 return super(XOSOriginServer, self).can_delete(obj)
37