def get_task_info_req(token, task_id): path = '/project-manager/api/v1/tasks/{}'.format(task_id) req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'get' req.headers = {'Authorization': token} return req
def get_user_group_list_req(token): path = '/user-manager/api/v1/groups/' req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'get' req.headers = {'Authorization': token} return req
def get_user_group_detail_req(token, group_uuid): path = '/user-manager/api/v1/groups/{}'.format(group_uuid) req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'get' req.headers = {'Authorization': token} return req
def get_entry_project_req(token, uuid): path = '/project-manager/api/v1/projects/{}'.format(uuid) req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'get' req.headers = {'Authorization': token} return req
def delete_user_req(token, uuid): req = ApiTemplate() sub_path = "user-manager/api/v1/users/{}".format(uuid) req.url = "{}{}".format(config.base_url, sub_path) req.headers = {'Authorization': token} req.method = 'delete' return req
def reset_password_req(token, uuid): req = ApiTemplate() sub_path = "user-manager/api/v1/users/{}/password/reset".format(uuid) req.url = "{}{}".format(config.base_url, sub_path) req.headers = {'Authorization': token, "Content-Type": "application/json"} req.method = 'post' return req
def get_resource_template_info_req(token): # 获取资源模板信息请求 path = '/resource-manager/api/v1/resource_templates' req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'get' req.headers = {'Authorization': token} return req
def get_delete_resource_template_req(token, uuid): # 获取删除CPU模型请求 path = '/resource-manager/api/v1/resource_templates/{}'.format(uuid) req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'delete' req.headers = {'Authorization': token} return req
def get_all_image_list_req(token): # 获取所有镜像列表请求 path = '/image-manager/api/v1/images/' req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'get' req.headers = {'Authorization': token} return req
def get_delete_skyfow_req(token, uuid): # 获取删除skyflow请求 path = '/skyflow-manager/api/v1/skyflows/{}'.format(uuid) req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'delete' req.headers = {'Authorization': token} return req
def get_user_login_req(username=config.user_name_a, userpwd=config.user_passwd_a): req = ApiTemplate() sub_path = "/user-manager/api/v1/tokens/" req.url = urljoin(config.base_url, sub_path) req.method = 'post' req.body = { "grantType": "password", "username": username, "password": userpwd } return req
def get_compose_model_deploy_req(token, version_name, model_name=None, model_id=None, description='auto test', framework=None, runtime_image=None, model_path=None, runtime_resource=None): # 获取聚合-模型部署请求 req = ApiTemplate() req.path = '/gateway/fe-compose/api/v1/model-deploy' req.url = urljoin(config.base_url, req.path) req.method = 'post' req.headers = {'Authorization': token} req.body = { # modelName和modelId两者传一 "modelName": model_name, "modelId": model_id, "versionName": version_name, "description": description, "framework": framework, "runtimeImage": runtime_image, "modelPath": model_path, "runtimeResource": runtime_resource } req.body = remove_None_value_elements(req.body) return req
def get_create_model_req(token, model_name, model_path='', labels=['autotest'], description='automation test', model_type='auto', users=None, groups=None, share_type="PRIVATE", is_public=False): # 获取创建模型请求 req = ApiTemplate() req.path = '/model-manager/api/v1/models' req.url = urljoin(config.base_url, req.path) req.method = 'post' req.headers = {'Authorization': token, "Content-Type": "application/json"} req.body = { "name": model_name, "description": description, "labels": labels, "modelPath": model_path, "modelType": model_type, "users": [] if users is None else users, "groups": [] if groups is None else groups, "shareType": share_type, "isPublic": is_public } return req
def get_compose_user_group_list_req(token, username=None, user_ids=None, uuids=None, roles=None, permissions=None, is_active=True, start=1, count=20, order_by=None, order='asc'): # 获取聚合-用户组列表请求 req = ApiTemplate() req.path = '/gateway/fe-compose/api/v1/group-profiles' req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token} req.param.update({ "username": username, "userIds": user_ids, "uuids": uuids, "roles": roles, "permissions": permissions, "isActive": is_active, "start": start, "count": count, "orderBy": order_by, "order": order, }) # 如果值为None则不传此参数 req.param = remove_None_value_elements(req.param) return req
def get_compose_image_builder_list_req(token, image_type=None, name=None, version=None, project_name=None, state=None, build_type=None, start=None, count=None, order=None, order_by=None): # 获取聚合-镜像构建列表请求 req = ApiTemplate() req.path = '/gateway/fe-compose/api/v1/image-builder-profiles' req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token} req.param.update({ "imageType": image_type, "name": name, "version": version, "projectName": project_name, "state": state, "buildType": build_type, "start": start, "count": count, "order": order, "orderBy": order_by }) # 如果值为None则不传此参数 req.param = remove_None_value_elements(req.param) return req
def get_compose_shared_file_list_req(token, owner_id=None, sharerId=None, file_path=None, start=1, count=15, user_id=None, group_id=None): # 获取聚合-共享文件列表请求 req = ApiTemplate() req.path = '/fe-compose/api/v1/file-share-profiles' req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token} req.param.update({ "ownerId": owner_id, "sharerId": sharerId, "userId": user_id, "groupId": group_id, "path": file_path, "start": start, "count": count, }) # 如果值为None则不传此参数 req.param = remove_None_value_elements(req.param) return req
def get_compose_project_list_req(token, name=None, project_type=None, start=1, count=15, order='asc', order_by='createdAt'): # 获取聚合-模型列表请求 req = ApiTemplate() #req.path = '/gateway/fe-compose/api/v1/project-profiles' req.path = '/fe-compose/api/v1/project-profiles' req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token} req.param.update({ "name": name, "type": project_type, "start": start, "count": count, "order": order, "orderBy": order_by }) # 如果值为None则不传此参数 req.param = remove_None_value_elements(req.param) return req
def get_compose_skyflow_list_req(token, name, start=1, count=15, order='desc', order_by='createdAt', process_type=None, is_template=False): # 获取聚合-skyflow列表请求 req = ApiTemplate() # req.path = '/gateway/fe-compose/api/v1/skyflow-profiles' req.path = '/fe-compose/api/v1/skyflow-profiles' req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token} req.param.update({ "name": name, "start": start, "count": count, "order": order, "orderBy": order_by, "processType": process_type, "isTemplate": is_template }) # 如果值为None则不传此参数 req.param = remove_None_value_elements(req.param) return req
def get_compose_task_list_req(token, username, name, is_active=True, start=1, count=15, order='desc', order_by='createdAt'): # 获取聚合-任务列表请求 req = ApiTemplate() req.path = '/gateway/fe-compose/api/v1/task-profiles' req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token} req.param.update({ "username": username, "name": name, "isActive": is_active, "start": start, "count": count, "order": order, "orderBy": order_by }) # 如果值为None则不传此参数 req.param = remove_None_value_elements(req.param) return req
def get_cancel_shared_file_req(token, share_uuid): req = ApiTemplate() req.path = '/file-manager/api/v1/file_shares' req.url = urljoin(config.base_url, req.path) req.method = 'delete' req.headers = {"Authorization": token} if type(share_uuid) is not list: req.param = {"uuids": share_uuid} else: req.param = {"uuids": share_uuid[0], "uuids": share_uuid[1]} return req
def get_create_model_version_req(token, model_id, model_path, description): # 获取创建模型版本请求 req = ApiTemplate() req.path = '/model-manager/api/v1/models/{}/versions'.format(model_id) req.url = urljoin(config.base_url, req.path) req.method = 'post' req.headers = {'Authorization': token} req.body = {"modelPath": model_path, "description": description} return req
def get_compose_model_delete_batch_req(token, uuids): # 获取聚合-模型批量删除请求 req = ApiTemplate() req.path = '/gateway/fe-compose/api/v1/model-delete-batch' req.url = urljoin(config.base_url, req.path) req.method = 'post' req.headers = {'Authorization': token} req.body = {"uuids": uuids} return req
def get_create_task_req(token, task_name, project_id, task_type, image_id, resource_config=None, description='automation test task'): if resource_config is None: resource_config = { "EXECUTOR_CPUS": 4000, "EXECUTOR_GPUS": 0, "EXECUTOR_INSTANCES": 1, "EXECUTOR_MEMORY": 8589934592, "GPU_MODEL": "" } path = '/project-manager/api/v1/tasks' req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'post' req.headers = {'Authorization': token, "Content-Type": "application/json"} req.body = { "projectId": project_id, "name": task_name, "description": description, "type": task_type, "imageId": image_id, "resourceConfig": resource_config } return req
def get_compose_file_list_req(token, owner_id, file_path, start=1, count=-1, order_by='name', order='asc', show_hidden=0, filesystem='cephfs', file_extension='', only_directory=0, only_file=0, real_path=0): # 获取聚合-文件列表请求 req = ApiTemplate() req.path = '/fe-compose/api/v1/file-profiles' req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token, "Content-Type": "application/json"} req.param.update({ "ownerId": owner_id, "path": file_path, "start": start, "count": count, "orderBy": order_by, "order": order, "showHidden": show_hidden, "filesystem": filesystem, "fileExtension": file_extension, "onlyDirectory": only_directory, "onlyFile": only_file, "realpath": real_path }) return req
def get_modify_model_version_req(token, model_id, version_id, model_path, description): # 获取修改模型版本请求 req = ApiTemplate() req.path = '/model-manager/api/v1/models/{}/versions/{}'.format( model_id, version_id) req.url = urljoin(config.base_url, req.path) req.method = 'patch' req.headers = {'Authorization': token, "Content-Type": "application/json"} req.body = {"modelPath": model_path, "description": description} return req
def get_start_task_req(token, task_id, is_auto=False): path = '/project-manager/api/v1/tasks/{}/start'.format(task_id) req = ApiTemplate() req.url = urljoin(config.base_url, path) req.method = 'post' req.headers = {'Authorization': token, "Content-Type": "application/json"} req.body = {"isAuto": is_auto} return req
def get_model_info_req(token, model_uuid): # 获取查看模型请求 req = ApiTemplate() req.path = '/model-manager/api/v1/models/{}'.format(model_uuid) req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token} return req
def get_version_from_model_req(token, model_id): # 获取通过modelId查询version的请求 req = ApiTemplate() req.path = '/model-manager/api/v1/models/{}/versions'.format(model_id) req.url = urljoin(config.base_url, req.path) req.method = 'get' req.headers = {'Authorization': token} return req
def get_user_volume_id_req(token): uuid = get_uuid_from_token(token) req = ApiTemplate() sub_path = "storage-manager/api/v1/volumes" req.url = urljoin(config.base_url, sub_path) req.method = 'get' req.headers = {"Authorization": token, "Content-Type": ""} req.param = {'type': 'user', 'ownerId': uuid} return req
def get_delete_model_req(token, uuid): # 获取删除模型请求 req = ApiTemplate() req.path = '/model-manager/api/v1/models/{}'.format(uuid) req.url = urljoin(config.base_url, req.path) req.method = 'delete' req.headers = {'Authorization': token} return req