Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)