From 57fe26e442057728f9e2294c17b4442532ef04ec Mon Sep 17 00:00:00 2001 From: jingrow Date: Mon, 28 Jul 2025 16:02:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=8D=E5=90=AF=E5=AE=9E?= =?UTF-8?q?=E4=BE=8BAPI=E7=AB=AF=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jcloud/api/aliyun_server_light.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/jcloud/api/aliyun_server_light.py b/jcloud/api/aliyun_server_light.py index 3bb839f..7526e28 100644 --- a/jcloud/api/aliyun_server_light.py +++ b/jcloud/api/aliyun_server_light.py @@ -150,6 +150,21 @@ class AliyunLightServerManager: jingrow.log_error("停止实例失败", f"停止实例 {instance_id} 时发生错误: {str(e)}") return {'success': False, 'error': str(e), 'message': '实例停止失败'} + def reboot_instance(self, instance_id, region_id='cn-shanghai'): + """重启实例""" + client = self._get_client(region_id) + try: + request = swas__open20200601_models.RebootInstanceRequest( + region_id=region_id, + instance_id=instance_id + ) + runtime = util_models.RuntimeOptions() + response = client.reboot_instance_with_options(request, runtime) + return {'success': True, 'data': self._convert_response_to_dict(response.body), 'message': '实例重启成功'} + except Exception as e: + jingrow.log_error("重启实例失败", f"重启实例 {instance_id} 时发生错误: {str(e)}") + return {'success': False, 'error': str(e), 'message': '实例重启失败'} + def upgrade_instance(self, instance_id, plan_id, region_id='cn-shanghai'): """升级实例配置""" client = self._get_client(region_id) @@ -394,6 +409,12 @@ def stop_aliyun_instance(instance_id, region_id='cn-shanghai'): manager = _get_manager() return manager.stop_instance(instance_id, region_id) +@jingrow.whitelist() +def reboot_aliyun_instance(instance_id, region_id='cn-shanghai'): + """重启实例""" + manager = _get_manager() + return manager.reboot_instance(instance_id, region_id) + @jingrow.whitelist() def upgrade_aliyun_instance(instance_id, plan_id, region_id='cn-shanghai'): """升级实例配置"""