def _process(rsrc): try: if '_id' not in rsrc: raise exc.InvalidInputError( __name__, 'delta is missing _id attribute: {}'.format(rsrc) ) rsrc_id = rsrc['_id'] if proid != rsrc_id.partition('.')[0]: raise exc.InvalidInputError( __name__, 'instance id does not match proid: {} {}'.format( proid, rsrc_id ) ) delta = {rsrc_id: rsrc['priority']} masterapi.update_app_priorities( context.GLOBAL.zk.conn, delta ) return masterapi.get_app(context.GLOBAL.zk.conn, rsrc_id) except Exception as err: # pylint: disable=W0703 return {'_error': {'_id': rsrc_id, 'why': str(err)}}
def configure(priority, instance): """View app instance configuration""" if priority is not None: masterapi.update_app_priorities(context.GLOBAL.zk.conn, {instance: priority}) scheduled = masterapi.get_app(context.GLOBAL.zk.conn, instance) cli.out(formatter(scheduled))
def update(rsrc_id, rsrc): """Update instance configuration.""" _LOGGER.info('update: %s %r', rsrc_id, rsrc) delta = {rsrc_id: rsrc['priority']} masterapi.update_app_priorities(context.GLOBAL.zk.conn, delta) return masterapi.get_app(context.GLOBAL.zk.conn, rsrc_id)
def get(rsrc_id): """Get instance configuration.""" inst = masterapi.get_app(context.GLOBAL.zk.conn, rsrc_id) if inst is None: return inst inst['_id'] = rsrc_id for plugin in self._plugins: inst = plugin.remove_attributes(inst) return inst
def configure(instance): """View app instance configuration""" scheduled = masterapi.get_app(context.GLOBAL.zk.conn, instance) cli.out(formatter(scheduled))