- # the aggregate's create_slice returns false if call_id was already handled
- if manager.create_slice(self.api, slice_xrn, creds, rspec, users, call_id):
- return rspec
- else:
- return ""
+ slivers = RSpec(rspec).version.get_nodes_with_slivers()
+ if not slivers:
+ raise InvalidRSpec("Missing <sliver_type> or <sliver> element. Request rspec must explicitly allocate slivers")
+ result = self.api.manager.CreateSliver(self.api, slice_xrn, creds, rspec, users, options)
+ return result