def delete(self, id): """ 根据任务日志id删除信息 --- tags: - logs parameters: - in: path name: id type: integer format: int64 required: true responses: 200: description: 根据任务日志id删除信息 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ try: control.task_logs.log_delete(id) except Exception as e: return set_return_val(False, [], str(e), 1529), 400 return set_return_val(True, [], 'request log deleted succeeded.', 1520)
def post(self): """ 登录 --- tags: - login parameters: - in: formData name: username type: string required: true - in: formData name: password type: string required: true responses: 200: description: 用户登录 schema: id: User properties: id: type: string description: 用户id default: Steven Wilson name: code """ args = parser.parse_args() try: if not all([args['username'], args['password']]): raise Exception('Incorrect username or password.') users = Users.query.filter_by(username=args['username']).first() # print('status:', users.verify_password(args['password'])) # if not users or not users.verify_password(args['password']): if not users: raise Exception('Incorrect username or password.') else: if not users.verify_password(args['password']): raise Exception('Incorrect username or password.') else: login_user(users, True) token = users.generate_auth_token() # token = create_token(users.id, users.username) data = { 'token': token, 'id': users.id, 'username': users.username, 'email': users.email, 'mobile': users.mobile, 'department': users.department, 'job': users.job, 'location': users.location, 'sex': users.sex, 'remarks': users.remarks } session[token] = True except Exception as e: return set_return_val(False, {}, str(e), 1301), 400 return set_return_val(True, data, 'login successful', 1300)
def post(self): """ 创建角色信息 --- tags: - role summary: Add a new pet to the store parameters: - in: query name: name type: string description: 角色名 - in: query name: description type: string description: 描述 responses: 200: description: 创建角色信息 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ args = parser.parse_args() if not all([args['name'], args['description']]): raise Exception('Parameter error') try: role = control.role.role_create(name=args['name'], description=args['description']) id = role.id except Exception as e: control.event_logs.eventlog_create(type='role', result=False, resources_id='', event=unicode('创建新角色:%s' % args['name']), submitter=g.username) return set_return_val(False, [], str(e), 1319), 400 control.event_logs.eventlog_create(type='role', result=True, resources_id=id, event=unicode('创建新角色:%s' % args['name']), submitter=g.username) return set_return_val(True, [], 'The role information is created successfully.', 1200)
def put(self, id): """ 更新角色信息 --- tags: - role parameters: - in: path type: integer format: int64 name: id required: true - in: query name: name type: string description: 角色名 - in: query name: description type: string description: 描述 responses: 200: description: 更新角色信息 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ args = parser.parse_args() try: name = control.role.role_update(role_id=int(id), name=args['name'], description=args['description']) except Exception as e: control.event_logs.eventlog_create(type='role', result=False, resources_id=id, event=unicode('更新角色信息'), submitter=g.username) return set_return_val(False, [], str(e), 1319), 400 control.event_logs.eventlog_create(type='role', result=True, resources_id=id, event=unicode('更新角色:%s' % name), submitter=g.username) return set_return_val(True, [], 'Role information updated successfully', 1200)
def post(self): """ 用户角色分配 --- tags: - user_role parameters: - in: query type: string name: user_id description: 用户id - in: query name: role_id type: string description: 角色id responses: 200: description: 用户角色分配 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ try: args = parser.parse_args() user_id = args.get('user_id') role_id = args.get('role_id') # if user_id and role_id: if not all([user_id, role_id]): raise Exception('参数错误,参数不能为空') user_username, role_name = control.roles_users.role_user_add( user_id, role_id) except Exception as e: control.event_logs.eventlog_create(type='roles_users', result=False, resources_id='', event=unicode('为用户分配角色'), submitter=g.username) return set_return_val(False, {}, str(e), 1234), 400 control.event_logs.eventlog_create( type='roles_users', result=True, resources_id='', event=unicode('为用户:%s 分配角色:%s' % (user_username, role_name)), submitter=g.username) return set_return_val(True, {}, '用户角色添加成功', 1234)
def get(self): try: args = parser.parse_args() user_name = args.get('user_name') role_name = args.get('role_name') # 获取所有用户角色权限 列表 data = role_user_manage.role_user_list(user_name, role_name) except Exception as e: return set_return_val(False, {}, str(e), 1234), 400 return set_return_val(True, data, '获取列表成功', 1234)
def get(self): """ 获取系统配置信息 --- tags: - system config responses: 200: description: 创建系统配置 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: copyright: type: string default: 2019 description: copyright debug: type: string default: True description: debug id: type: string default: 1 description: id platform_name: type: string default: naguan description: platform_name user_authentication_mode: type: string default: local description: user_authentication_mode version: type: string default: 1.0.1 description: version """ try: data = control.system.system_config_list() except Exception as e: return set_return_val(False, [], str(e), 1319), 400 return set_return_val(True, data, 'System configuration succeeded', 1300)
def delete(self): # 删除用户所有角色 try: args = parser.parse_args() user_id = args.get('user_id') if not user_id: raise Exception('参数错误,参数不能为空') role_user_manage.role_user_delete(user_id) except Exception as e: return set_return_val(False, {}, str(e), 1234), 400 return set_return_val(True, {}, '用户角色删除成功', 1234)
def post(self): try: args = parser.parse_args() user_id = args.get('user_id') role_id = args.get('role_id') # if user_id and role_id: if not all([user_id, role_id]): raise Exception('参数错误,参数不能为空') role_user_manage.role_user_add(user_id, role_id) except Exception as e: return set_return_val(False, {}, str(e), 1234), 400 return set_return_val(True, {}, '用户角色添加成功', 1234)
def delete(self): """ 用户角色删除 --- tags: - user_role parameters: - in: query type: string name: user_id description: 用户id responses: 200: description: 删除用户角色 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ # 删除用户所有角色 try: args = parser.parse_args() user_id = args.get('user_id') if not user_id: raise Exception('参数错误,参数不能为空') username = control.roles_users.role_user_delete(user_id) except Exception as e: control.event_logs.eventlog_create(type='roles_users', result=False, resources_id='', event=unicode('删除用户角色'), submitter=g.username) return set_return_val(False, {}, str(e), 1234), 400 control.event_logs.eventlog_create(type='roles_users', result=True, resources_id='', event=unicode('删除用户:%s 的角色' % username), submitter=g.username, user_id=user_id) return set_return_val(True, {}, '用户角色删除成功', 1234)
def put(self): # 更新用户角色 try: args = parser.parse_args() user_id = args.get('user_id') new_role_id = args.get('new_role_id') old_role_id = args.get('old_role_id') if not all([user_id, new_role_id, old_role_id]): raise Exception('参数错误,参数不能为空') role_user_manage.role_user_update(user_id, new_role_id, old_role_id) except Exception as e: return set_return_val(False, {}, str(e), 1234), 400 return set_return_val(True, {}, '用户角色更新成功', 1234)
def put(self): """ update logo --- tags: - system config parameters: - name: "logo" in: "formData" required: true type: file format: "int64" responses: 200: description: 更新系统logo schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ args = parser.parse_args() try: logo = args['logo'] control.system.system_config_update_logo(logo) except Exception as e: control.event_logs.eventlog_create(type='system', result=False, resources_id='', event=unicode('更新系统logo'), submitter=g.username) return set_return_val(False, [], str(e), 1319), 400 control.event_logs.eventlog_create(type='system', result=True, resources_id=1, event=unicode('更新系统logo'), submitter=g.username) return set_return_val(True, [], 'System logo upload succeeded', 1300)
def delete(self, id): """ 删除角色信息 --- tags: - role parameters: - in: path type: integer format: int64 name: id required: true responses: 200: description: 删除角色信息 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ try: name = control.role.role_delete(id) except Exception as e: control.event_logs.eventlog_create(type='role', result=False, resources_id=id, event=unicode('删除角色信息'), submitter=g.username) return set_return_val(False, [], str(e), 1319), 400 control.event_logs.eventlog_create(type='role', result=True, resources_id=id, event=unicode('删除角色:%s' % name), submitter=g.username) return set_return_val( True, [], 'The role information was deleted successfully.', 1200)
def delete(self, id): """ 根据ID删除菜单信息 --- tags: - menu parameters: - in: path name: id type: integer format: int64 required: true responses: 200: description: 删除菜单信息 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ try: name = control.menu.menu_delete(id=id) except Exception as e: control.event_logs.eventlog_create(type='menu', result=False, resources_id=id, event=unicode('删除菜单信息'), submitter=g.username) return set_return_val(False, [], str(e), 1319), 400 control.event_logs.eventlog_create(type='menu', result=True, resources_id=id, event=unicode('删除菜单:%s' % name), submitter=g.username) return set_return_val(False, [], 'Menu deletion successfully', 1300)
def post(self): """ 创建平台类型 --- tags: - cloudplatformtype parameters: - in: query name: name type: string description: 平台类型名称 responses: 200: description: 创建平台类型 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ args = parser.parse_args() if not args['name']: raise Exception('Please pass in the platform type name.') try: id = control.platform_type.type_create(name=args['name']) except Exception as e: control.event_logs.eventlog_create(type='platform_type', result=False, resources_id='', event=unicode('增加平台类型'), submitter=g.username) return set_return_val(False, [], str(e), 1319), 400 control.event_logs.eventlog_create(type='platform_type', result=True, resources_id=id, event=unicode('增加平台类型'), submitter=g.username) return set_return_val(True, [], 'Platform type create succeeded.', 1430)
def delete(self, id): """ 根据id删除云平台类型信息 --- tags: - cloudplatformtype parameters: - in: path name: id type: integer format: int64 required: true responses: 200: description: 删除平台类型 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ try: control.platform_type.type_delete(id) except Exception as e: control.event_logs.eventlog_create(type='platform_type', result=False, resources_id=id, event=unicode('删除平台类型信息'), submitter=g.username) return set_return_val(False, [], str(e), 1529), 400 control.event_logs.eventlog_create(type='platform_type', result=True, resources_id=id, event=unicode('删除平台类型信息'), submitter=g.username) return set_return_val(True, [], 'Platform type delete succeeded.', 1520)
class PlatformTypeMg(Resource): def get(self): """ 查询云平台类型信息 --- tags: - cloudplatformtype parameters: - in: query name: id type: integer format: int64 - in: query name: name type: string description: 平台类型名称 responses: 200: description: 查询平台类型 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: id: type: string default: 1 description: id name: type: string default: vcenter description: 平台类型名称 """ args = parser.parse_args() try: data = control.platform_type.type_list(id=args['id'], name=args['name']) except Exception, e: return set_return_val(False, [], str(e), 1319), 400 return set_return_val(True, data, 'Platform type query succeeded.', 1430)
def put(self, id): """ 根据id更新云平台类型信息 --- tags: - cloudplatformtype parameters: - in: path name: id type: integer format: int64 required: true - in: query name: name type: string description: 平台类型名称 responses: 200: description: 更新平台类型 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ args = parser.parse_args() if not args['name']: raise Exception('Please pass in the platform type name.') try: control.platform_type.type_update(id, args['name']) except Exception, e: control.event_logs.eventlog_create(type='platform_type', result=False, resources_id=id, event=unicode('更新平台类型信息'), submitter=g.username) return set_return_val(False, [], str(e), 1529), 400
def delete(self, id): """ 根据id用户信息 --- tags: - user parameters: - in: path name: id type: integer format: int64 required: true responses: 200: description: 删除用户信息 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ try: username = control.user.user_delete(id=id) except Exception, e: control.event_logs.eventlog_create(type='user', result=True, resources_id=id, event=unicode('删除用户'), submitter=g.username) return set_return_val(False, [], str(e), 1001), 400
def put(self): """ 更新系统配置 --- tags: - system config parameters: - in: query name: platform_name type: string description: 平台名称 - name: version_information type: string in: query description: 版本信息 - name: copyright type: string in: query description: 版权 - name: user_authentication_mode type: string in: query description: 用户验证模式 - name: debug type: int in: query description: debug responses: 200: description: 更新系统配置 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ args = parser.parse_args() try: control.system.system_config_update( platform_name=args['platform_name'], version_information=args['version_information'], copyright=args['copyright'], user_authentication_mode=args['user_authentication_mode'], debug=args['debug']) except Exception as e: control.event_logs.eventlog_create(type='system', result=False, resources_id='', event=unicode('更新系统配置'), submitter=g.username) return set_return_val(False, [], str(e), 1319), 400 control.event_logs.eventlog_create(type='system', result=True, resources_id=1, event=unicode('更新系统配置'), submitter=g.username) return set_return_val(True, [], 'System configuration updated succeeded', 1300)
properties: """ args = parser.parse_args() if not args['name']: raise Exception('Please pass in the platform type name.') try: control.platform_type.type_update(id, args['name']) except Exception, e: control.event_logs.eventlog_create(type='platform_type', result=False, resources_id=id, event=unicode('更新平台类型信息'), submitter=g.username) return set_return_val(False, [], str(e), 1529), 400 control.event_logs.eventlog_create(type='platform_type', result=True, resources_id=id, event=unicode('更新平台类型信息'), submitter=g.username) return set_return_val(True, [], 'Platform type update succeeded.', 1520) @basic_auth.login_required def delete(self, id): """ 根据id删除云平台类型信息 --- tags: - cloudplatformtype parameters: - in: path name: id type: integer format: int64 required: true responses:
def get(self): """ 获取 instance 信息 --- tags: - vCenter instances parameters: - in: query name: platform_id type: string description: 平台id required: true - in: query name: host type: string description: host 名称 - in: query name: vm_name type: string description: vmOcName - in: query name: pgsort type: string description: pgsort - in: query name: pgnum type: int description: 页码 responses: 200: description: vCenter tree 信息 schema: properties: ok: type: boolean description: 状态 code: type: "integer" format: "int64" msg: type: string data: type: array items: properties: cpu: type: string default: 2 description: cpu created_at: type: string default: 2019-05-17 14:39:00 description: created_at guest_full_name: type: string default: 'Red Hat Enterprise Linux 6 (64-bit)' description: guest_full_name guest_id: type: string default: rhel6_64Guest description: guest_id host: type: string default: 192.168.12.203 description: host id: type: string default: 2 description: id instance_uuid: type: string default: 500114bd-a861-f0ae-0f8d-f6e70d7c2c5c description: instance_uuid ip: type: string default: NUll description: ip memory: type: string default: 2048 description: memory num_ethernet_cards: type: string default: 2 description: num_ethernet_cards num_virtual_disks: type: string default: 2 description: num_virtual_disks platform_id: type: string default: 2 description: platform_id status: type: string default: poweredOff description: status template: type: string default: false description: template uuid: type: string default: 42018b9a-5e13-796b-02fa-57d6f56f3ac8 description: uuid vm_mor_name: type: string default: vm-1362 description: vm_mor_name vm_name: type: string default: 测试菜单1 description: vm_name vm_path_name: type: string default: 测试菜单1 description: '[datastore1] 测试菜单1/测试菜单1.vmx' 400: description: 获取失败 schema: properties: ok: type: boolean description: 状态 default: False code: type: "integer" format: "int64" default: 1302 msg: type: string default: "获取失败" data: type: array items: properties: """ args = parser.parse_args() try: instance = Instance(platform_id=args['platform_id']) # print(args['pgnum']) pgnum = args['pgnum'] if not pgnum: pgnum = 1 # 默认第一页 print(args['pgsort']) data, pg = instance.list(host=args['host'], vm_name=args['vm_name'], pgnum=pgnum, pgsort=args['pgsort']) # data = instance_manage.vm_list_all(platform_id=args['platform_id'], host=args['host'], # vm_name=args['vm_name']) except Exception as e: return set_return_val(False, [], str(e), 1529), 400 return set_return_val(True, data, 'instance gets success.', 1520, pg)
def get(self): """ 获取用户角色列表 --- tags: - user_role parameters: - in: query type: string name: user_name description: 用户名 - in: query name: role_name type: string description: 角色名 responses: 200: description: 获取用户角色信息 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: role_id: type: string default: 1 description: role_id role_name: type: string default: admin description: role_name user_id: type: string default: 1 description: user_id user_name: type: string default: admin description: user_name """ try: args = parser.parse_args() # user_name = args.get('user_name') # role_name = args.get('role_name') # 获取所有用户角色权限 列表 # data = role_user_manage.role_user_list(args['user_name'], args['role_name']) data = control.roles_users.role_user_list(args['user_name'], args['role_name']) except Exception as e: return set_return_val(False, {}, str(e), 1234), 400 return set_return_val(True, data, '获取列表成功', 1234)
def post(self): """ 操作 vm 信息 --- tags: - vCenter instances parameters: - in: query name: platform_id type: string description: 云平台id required: true - in: query name: uuid type: string description: 云主机id - in: query name: action type: string description: 'start stop suspend remove restart create clone cold_migrate' required: true - in: query name: vm_name type: string description: 云主机名称 - in: query name: new_cpu type: string description: new_cpu - in: query name: new_memory type: string description: new_memory - in: query name: host type: string description: host - in: query name: dc_id type: string description: datacenter id - in: query name: ds_id type: string description: datastore id - in: query name: resourcepool type: string description: resourcepool - in: query name: guest_id type: string description: guest_id - in: query name: image_id type: string description: image id - in: query name: disks type: string description: '[{"type":"thin","size":1},{"type":"thin","size":1}]' - in: query name: networks type: string description: '[1,2]--network_port_group_id' responses: 200: description: vCenter tree 信息 schema: properties: ok: type: boolean description: 状态 code: type: "integer" format: "int64" msg: type: string default: "操作成功" data: type: array items: properties: 400: description: 获取失败 schema: properties: ok: type: boolean description: 状态 default: False code: type: "integer" format: "int64" default: 1302 msg: type: string default: "获取失败" data: type: array items: properties: """ args = parser.parse_args() try: instance = Instance(platform_id=args['platform_id'], uuid=args['uuid']) if args['action'] == 'start': instance.start() elif args['action'] == 'stop': instance.stop() elif args['action'] == 'suspend': instance.suspend() elif args['action'] == 'restart': instance.restart() elif args['action'] == 'create': instance.boot(new_cpu=args['new_cpu'], new_memory=args['new_memory'], dc_id=args['dc_id'], ds_id=args['ds_id'], vm_name=args['vm_name'], networks=args['networks'], disks=args['disks'], image_id=args['image_id']) elif args['action'] == 'clone': instance.clone(new_vm_name=args['vm_name'], ds_id=args['ds_id'], dc_id=args['dc_id'], resourcepool=args['resourcepool']) elif args['action'] == 'cold_migrate': instance.cold_migrate(host_name=args['host'], ds_id=args['ds_id'], dc_id=args['dc_id'], resourcepool=args['resourcepool']) elif args['action'] == 'ip_assignment': instance.ip_assignment(ip=args['ip'], subnet=args['subnet'], gateway=args['gateway'], dns=args['dns'], domain=args.get('domain')) else: raise Exception('Parameter error') except Exception as e: return set_return_val(False, [], str(e), 1529), 400 return set_return_val(True, [], 'instance action success.', 1520)
def delete(self, platform_id, uuid): """ 删除 vm 信息 --- tags: - vCenter instances parameters: - in: path name: platform_id type: string description: platform_id required: true - in: path name: uuid type: string description: uuid required: true responses: 200: description: vCenter tree 信息 schema: properties: ok: type: boolean description: 状态 code: type: "integer" format: "int64" msg: type: string default: "删除成功" data: type: array items: properties: 400: description: 删除失败 schema: properties: ok: type: boolean description: 状态 default: False code: type: "integer" format: "int64" default: 1302 msg: type: string default: "删除失败" data: type: array items: properties: """ # args = parser.parse_args() try: instance = Instance(platform_id=platform_id, uuid=uuid) instance.delete() except Exception as e: return set_return_val(False, [], str(e), 1529), 400 return set_return_val(True, [], 'instance delete success.', 1520)
def post(self): """ 初始化系统配置 --- tags: - system config parameters: - name: platform_name in: query type: string description: 平台名称 required: true - name: version_information type: string in: query description: 版本信息 - name: copyright type: string in: query description: 版权 - name: user_authentication_mode type: string in: query description: 用户验证模式 - name: debug type: string in: query description: debug responses: 200: description: 创建系统配置 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ args = parser.parse_args() if int(args['debug']) not in [1, 2]: raise Exception( 'The debug parameter is wrong, 1 is True and 2 is False') try: control.system.system_config_create( platform_name=args['platform_name'], version_information=args['version_information'], copyright=args['copyright'], user_authentication_mode=args['user_authentication_mode'], debug=args['debug']) except Exception as e: control.event_logs.eventlog_create(type='system', result=False, resources_id='', event=unicode('创建系统配置'), submitter=g.username) return set_return_val(False, [], str(e), 1319), 400 control.event_logs.eventlog_create(type='system', result=True, resources_id=1, event=unicode('创建系统配置'), submitter=g.username) return set_return_val(True, [], 'System config created successfully', 1300)
def put(self): """ 更新 vm 信息 --- tags: - vCenter instances parameters: - in: path name: platform_id type: string description: platform_id required: true - in: path name: uuid type: string description: uuid required: true - in: query name: new_cpu type: string description: new_cpu - in: query name: old_cpu type: string description: old_cpu - in: query name: new_memory type: string description: new_memory - in: query name: old_memory type: string description: old_memory responses: 200: description: vCenter tree 信息 schema: properties: ok: type: boolean description: 状态 code: type: "integer" format: "int64" msg: type: string default: "操作成功" data: type: array items: properties: 400: description: 获取失败 schema: properties: ok: type: boolean description: 状态 default: False code: type: "integer" format: "int64" default: 1302 msg: type: string default: "获取失败" data: type: array items: properties: """ args = parser.parse_args() try: instance = Instance(platform_id=args['platform_id'], uuid=args['uuid']) if all([args['new_cpu'], args['old_cpu']]): instance.update_vcpu(new_cpu=args['new_cpu'], old_cpu=args['old_cpu']) if all([args['new_memory'], args['old_memory']]): instance.update_vmemory(new_memory=args['new_memory'], old_memory=args['old_memory']) # # 添加网络 # if args['new_networks']: # instance.add_network(networks=args['new_networks']) # # if args['del_networks']: # instance.del_network(networks=args['del_networks']) # if args['new_disks']: # instance.add_disk(disks=args['new_disks']) # # pass # if args['del_disks']: # instance.delete_disk(disks=args['del_disks']) # if args['snapshot_name']: # print(args['snapshot_name']) # instance.add_snapshot(snapshot_name=args['snapshot_name'], description=args['description']) # if args['snapshot_id']: # print(args['snapshot_id']) # instance.delete_snapshot(snapshot_id=args['snapshot_id']) except Exception as e: return set_return_val(False, [], str(e), 1529), 400 return set_return_val(True, [], 'instance update success.', 1520)
def get(self): """ 获取vCenter datastore 信息 --- tags: - vCenter DataStore parameters: - in: query name: platform_id type: integer required: true responses: 200: description: 获取datastore 成功 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: capacity: type: string default: 591363309568 description: capacity dc_mor_name: type: string default: datacenter-661 description: dc_mor_name dc_name: type: string default: 200 description: Datacenter ds_mor_name: type: string default: datastore-671 description: ds_mor_name ds_name: type: string default: datastore1 description: ds_name free_capacity: type: string default: 173924155392 description: free_capacity host: type: string default: 192.168.12.203 description: host id: type: string default: 200 description: id local: type: boolean default: 200 description: local platform_id: type: string default: 200 description: platform_id ssd: type: boolean default: true description: ssd type: type: string default: VMFS description: type used_capacity: type: string default: 417439154176 description: type uuid: type: string default: 5c19f5d5-ada3c960-acd7-b8ca3af5a86b description: type version: type: string default: 6.8.2 description: type 400: description: 获取datastore失败 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ args = parser.parse_args() # test_get_ds(args['platform_id']) try: if not args['platform_id']: raise Exception('Parameter error') data = control.datastores.get_datastore_by_platform_id( args['platform_id']) except Exception as e: return set_return_val(False, [], str(e), 1529), 400 return set_return_val(True, data, 'Datastore gets success.', 1520)
def get(self): """ 获取任务日志信息 --- tags: - logs summary: Add a new pet to the store parameters: - in: query name: task_id type: string description: 任务id - in: query name: rely_task_id type: string description: 依赖任务id - in: query name: pgnum type: int description: 页码 - name: submitter type: string in: query description: 提交者 - name: request_id type: string in: query description: 请求id responses: 200: description: 任务日志信息 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: id: type: int default: 1 await_execute: type: string default: 1/2 end_time: type: string default: 2019-05-20 15:59:26.096000 enqueue_time: type: string default: 2019-05-20 15:58:26.096000 method_name: type: string default: sync_tree queue_name: type: string default: vsphere rely_task_id: type: string default: -- request_id: type: string default: 96be5461-abb2-508f-aba5-38cf027efe48 start_time: type: string default: None status: type: string default: wait submitter: type: string default: anonymous task_id: type: string default: eb054bcd-3360-4eff-a10d-1f2c35a977fb """ args = parser.parse_args() task_id = args.get('task_id') rely_task_id = args.get('rely_task_id') request_id = args.get('request_id') submitter = args.get('submitter') pgnum = args.get('pgnum') if not pgnum: pgnum = 1 # 默认第一页 options = { 'page': pgnum, 'task_id': task_id, 'rely_task_id': rely_task_id, 'request_id': request_id, 'submitter': submitter, } try: data, pg = control.task_logs.log_list( pgnum=pgnum, task_id=args['task_id'], rely_task_id=args['rely_task_id'], submitter=args['submitter'], request_id=args['request_id']) except Exception as e: return set_return_val(False, [], str(e), 1529), 400 return set_return_val(True, data, 'request log list succeeded.', 1520, pg)
def put(self): """ 用户角色更新 --- tags: - user_role parameters: - in: query type: string name: user_id description: 用户id - in: query name: new_role_id type: string description: 新角色id - in: query name: old_role_id type: string description: 旧角色id responses: 200: description: 用户角色重新分配 schema: properties: ok: type: boolean default: 200 description: 状态 code: type: string msg: type: string data: type: array items: properties: """ # 更新用户角色 try: args = parser.parse_args() user_id = args.get('user_id') new_role_id = args.get('new_role_id') old_role_id = args.get('old_role_id') if not all([user_id, new_role_id, old_role_id]): raise Exception('参数错误,参数不能为空') username, new_name, old_name = control.roles_users.role_user_update( user_id, new_role_id, old_role_id) except Exception as e: control.event_logs.eventlog_create(type='roles_users', result=False, resources_id='', event=unicode('更新用户角色'), submitter=g.username) return set_return_val(False, {}, str(e), 1234), 400 control.event_logs.eventlog_create( type='roles_users', result=True, resources_id=user_id, event=unicode('更新用户:%s 的角色 %s 为 %s' % (username, old_name, new_name)), submitter=g.username, role_id=new_role_id) return set_return_val(True, {}, '用户角色更新成功', 1234)