def resource_update(self, cnxt, user_id, resource): """Do resource update.""" params = { 'name': 'update_resource_%s' % resource.get('id'), 'cause': action_mod.CAUSE_RPC, 'status': action_mod.Action.READY, 'inputs': resource, } action_id = action_mod.Action.create(cnxt, user_id, consts.USER_UPDATE_RESOURCE, **params) dispatcher.start_action(action_id=action_id) LOG.info(_LI('Resource update action queued: %s'), action_id)
def resource_create(self, cnxt, resource_id, user_id, resource_type, properties): """Create resource by given data.""" resource = plugin_base.Resource(resource_id, user_id, resource_type, properties) params = { 'name': 'create_resource_%s' % resource_id, 'cause': action_mod.CAUSE_RPC, 'status': action_mod.Action.READY, 'inputs': resource.to_dict(), } action_id = action_mod.Action.create(cnxt, user_id, consts.USER_CREATE_RESOURCE, **params) dispatcher.start_action(action_id=action_id) LOG.info(_LI('Resource create action queued: %s'), action_id)
def resource_delete(self, cnxt, user_id, resource_id): """Delete a specific resource""" try: plugin_base.Resource.load(cnxt, resource_id=resource_id) except exception.ResourceNotFound: LOG.warn(_LW('The resource(%s) trying to delete not found.'), resource_id) return params = { 'name': 'delete_resource_%s' % resource_id, 'cause': action_mod.CAUSE_RPC, 'status': action_mod.Action.READY, 'inputs': {'resource_id': resource_id}, } action_id = action_mod.Action.create(cnxt, user_id, consts.USER_DELETE_RESOURCE, **params) dispatcher.start_action(action_id=action_id) LOG.info(_LI('Resource delete action queued: %s'), action_id)