async def reset_uhost_instance_password(ns={}): db = DBPools() async with db.sqlorContext('kboss') as sor: ucloud_user_li = await sor.R('ucloud_users', {'orgid': 'main_user', 'del_flg': '0'}) if ucloud_user_li: uc_client = U_Client({ "project_id": ucloud_user_li[0]['projectid'], "public_key": ucloud_user_li[0]['accesskey'], "private_key": ucloud_user_li[0]['accesskeysecret'], }) else: return { 'status': False, 'msg': 'can not find u cloud user' } try: resp = uc_client.uhost().reset_uhost_instance_password({ "Region": ns.get('region'), "Zone": ns.get('Zone'), "UHostId": ns.get('UHostId'), "Password": ns.get('Password') }) return { 'status': True, 'msg': 'reset_uhost_instance_password uhost success', 'data': resp } except exc.UCloudException as e: msg = e if 'Make sure your UHost is SHUTOFF' in str(e): msg = '请关机后再修改' if 'Password Invalid' in str(e): msg = '密码不符合规则' return { 'status': False, 'msg': msg } ret = await reset_uhost_instance_password(params_kw) return ret