blob: d8cf10d1e274522266e0b7cb16592af5da8d5581 [file] [log] [blame]
Pingping Lind28ab982016-08-29 18:42:52 +00001from xosresource import XOSResource
Omar Abdelkader9bd2c8d2017-08-07 19:21:02 -06002from core.models import Tenant, Service
3from services.vbbu.models import VBBUTenant
Pingping Lind28ab982016-08-29 18:42:52 +00004
Yunpeng Zhangd01f3ce2017-07-06 20:06:35 -04005class XOSVBBUTenant(XOSResource):
6 provides = "tosca.nodes.VBBUTenant"
7 xos_model = VBBUTenant
Omar Abdelkader9bd2c8d2017-08-07 19:21:02 -06008 copyin_props = ("tenant_message",)
Pingping Lind28ab982016-08-29 18:42:52 +00009 name_field = None
10
11 def get_xos_args(self, throw_exception=True):
Yunpeng Zhangd01f3ce2017-07-06 20:06:35 -040012 args = super(XOSVBBUTenant, self).get_xos_args()
Pingping Lind28ab982016-08-29 18:42:52 +000013
Omar Abdelkader9bd2c8d2017-08-07 19:21:02 -060014 provider_name = self.get_requirement("tosca.relationships.TenantOfService", throw_exception=throw_exception)
Pingping Lind28ab982016-08-29 18:42:52 +000015 if provider_name:
Omar Abdelkader9bd2c8d2017-08-07 19:21:02 -060016 args["provider_service"] = self.get_xos_object(Service, throw_exception=throw_exception, name=provider_name)
Pingping Lind28ab982016-08-29 18:42:52 +000017
18 return args
19
20 def get_existing_objs(self):
21 args = self.get_xos_args(throw_exception=False)
22 provider_service = args.get("provider", None)
23 if provider_service:
24 return [ self.get_xos_object(provider_service=provider_service) ]
25 return []
26
27 def postprocess(self, obj):
28 pass
29
30 def can_delete(self, obj):
Yunpeng Zhangd01f3ce2017-07-06 20:06:35 -040031 return super(XOSVBBUTenant, self).can_delete(obj)
Pingping Lind28ab982016-08-29 18:42:52 +000032