def destroy_user(self, **kwargs): """ delete user account Args: k: .master .u: user login """ u = parse_api_params(kwargs, 'u', 'S') tokens.remove_token(user=u) return eva.users.destroy_user(u)
def destroy_key(self, **kwargs): """ delete API key Args: k: .master .i: API key ID """ i = parse_api_params(kwargs, 'i', 'S') tokens.remove_token(key_id=i) return eva.apikey.delete_api_key(i)
def set_user_key(self, **kwargs): """ assign API key to user Args: k: .master .u: user login a: API key to assign (key id, not a key itself) """ u, a = parse_api_params(kwargs, 'ua', 'SS') tokens.remove_token(user=u) return eva.users.set_user_key(u, a)
def set_user_password(self, **kwargs): """ set user password Args: k: .master .u: user login p: new password """ u, p = parse_api_params(kwargs, 'up', 'SS') tokens.remove_token(user=u) return eva.users.set_user_password(u, p)
def regenerate_key(self, **kwargs): """ regenerate API key Args: k: .master .i: API key ID Returns: JSON dict with new key value in "key" field """ i, save = parse_api_params(kwargs, 'iS', 'Sb') tokens.remove_token(key_id=i) return eva.apikey.regenerate_key(i, save)
def set_key_prop(self, **kwargs): """ set API key permissions Args: k: .master .i: API key ID p: property v: value (if none, permission will be revoked) save: save configuration immediately """ i, p, v, save = parse_api_params(kwargs, 'ipvS', 'SS.b') tokens.remove_token(key_id=i) key = eva.apikey.keys_by_id.get(i) if not key: raise ResourceNotFound return key.set_prop(p, v, save)
def user_set(self, **kwargs): """ .set user property Args: k: .master .u: user login p: property (password or key) v: value """ u, p, v = parse_api_params(kwargs, 'upv', 'SSS') tokens.remove_token(user=u) if p == 'password': return eva.users.set_user_password(u, v) elif p == 'key': return eva.users.set_user_key(u, v) else: raise InvalidParameter('Property unknown: {}'.format(p))