blob: e69375cd7e702cfffe787fa93ced34d4179678f5 [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 ContentProvider, ServiceProvider
Scott Baker8f32cc82016-08-08 10:34:53 -07003
4class XOSContentProvider(XOSResource):
5 provides = "tosca.nodes.ContentProvider"
6 xos_model = ContentProvider
7 copyin_props = []
8
9 def get_xos_args(self):
10 sp_name = self.get_requirement("tosca.relationships.MemberOfServiceProvider", throw_exception=True)
11 sp = self.get_xos_object(ServiceProvider, name=sp_name)
12 return {"name": self.obj_name,
13 "serviceProvider": sp}
14
15 def can_delete(self, obj):
16 if obj.cdnprefix_set.exists():
17 self.info("%s %s has active CDN prefixes; skipping delete" % (self.xos_model.__class__, obj.name))
18 return False
19 return super(XOSContentProvider, self).can_delete(obj)
20