import requests import json def create_user(ip, token, user_name, password, description): headers = {'X-Auth-Token': token} body = { "user": { "name": user_name, "password": password, "description": description, } } resp = requests.post(f"http://{ip}:5000/v3/users", data=json.dumps(body), headers=headers) return resp.json() # Assuming the API returns JSON def get_users(ip, token): headers = {'X-Auth-Token': token} resp = requests.get(f"http://{ip}:5000/v3/users", headers=headers) return resp.json() # Assuming the API returns JSON def get_user_id(ip, token, user_name): headers = {'X-Auth-Token': token} result = requests.get(f"http://{ip}:5000/v3/users", headers=headers).json() for item in result['users']: if item['name'] == user_name: return item['id'] return "NONE" def get_user(ip, token, user_name): user_id = get_user_id(ip, token, user_name) if user_id == "NONE": return {"error": "User not found"} headers = {'X-Auth-Token': token} api_url = f"http://{ip}:5000/v3/users/{user_id}" resp = requests.get(api_url, headers=headers) return resp.json() # Assuming the API returns JSON def delete_user(ip, token, user_name): user_id = get_user_id(ip, token, user_name) if user_id == "NONE": return {"error": "User not found"} headers = {'X-Auth-Token': token} api_url = f"http://{ip}:5000/v3/users/{user_id}" resp = requests.delete(api_url, headers=headers) if resp.status_code == 204: return {"message":"用户删除成功"} else: return {"error": "用户删除失败", "status_code": resp.status_code} def update_user_password(ip, token, user_name, new_password, original_password): user_id = get_user_id(ip, token, user_name) if user_id == "NONE": return {"error": "User not found"} headers = {'X-Auth-Token': token} body = { "user": { "password": new_password, "original_password": original_password } } api_url = f"http://{ip}:5000/v3/users/{user_id}/password" resp = requests.post(api_url, data=json.dumps(body), headers=headers) if resp.status_code == 204: return {"message": "密码更新成功"} else: return {"error": "密码更新失败", "status_code": resp.status_code}