异步信息响应。
Inheritance: SDKCommonResp
Exemplo n.º 1
0
        /// <summary>
        /// 启动虚拟机
        /// </summary>  
        /// <example>
        /// <para>AsynchrTask resp = vm.StartVm("/service/sites/4D9D0815/vms/i-00000058");</para>
        /// </example>
        /// <param name="vmUri">【必选】虚拟机Uri</param>
        /// <returns>异步任务结果</returns>
        public AsynchrTask StartVm(string vmUri)
        {
            AsynchrTask resp = new AsynchrTask();

            string url = vmUri + "/action/start";

            string result = RestClientUtil.sendRequest("POST", url, null, bean, "StartVm");
            log.Info("StartVm result : " + result);
            resp = JsonConvert.DeserializeObject<AsynchrTask>(result);

            return resp;
        }
Exemplo n.º 2
0
        /// <summary>
        /// 停止虚拟机
        /// </summary>  
        /// <example>
        /// <para>AsynchrTask resp = vm.StopVm("/service/sites/4D9D0815/vms/i-0000000D", "force");</para>
        /// </example>
        /// <param name="vmUri">【必选】虚拟机Uri</param> 
        /// <param name="mode">停止虚拟模式,safe:安全停止(默认),force:强制停止</param>
        /// <returns>异步任务结果</returns>
        public AsynchrTask StopVm(string vmUri, String mode)
        {
            AsynchrTask resp = new AsynchrTask();

            ActionModeReq action = new ActionModeReq();
            action.mode = mode;

            string url = vmUri + "/action/stop";

            string result = RestClientUtil.sendRequest("POST", url, action, bean, "StopVm");
            log.Info("StopVm result : " + result);
            resp = JsonConvert.DeserializeObject<AsynchrTask>(result);

            return resp;
        }
Exemplo n.º 3
0
        /// <summary>
        /// 删除虚拟机
        /// </summary>  
        /// <example>
        /// <para>AsynchrTask resp = vm.RemoveVm("/service/sites/4D9D0815/vms/i-00000057", 0, 0, 1);</para>
        /// </example>
        /// <param name="vmUri">【必选】虚拟机Uri</param>
        /// <param name="isReserveDisks">【可选】删除虚拟机时是否保留磁盘,0 不保留磁盘(默认);1 保留磁盘;</param>
        /// <param name="isFormat">【可选】擦除磁盘数据选项,在isReserveDisks为0时生效,0:普通删除(快速格式化),1:安全删除(低级格式化) ,默认0</param>
        /// <param name="holdTime">【可选】保留时间,单位:小时,默认为0,即不保留,若超过保留时间未回收,则删除,范围:-1—7*24,其中-1表示保持回收中状态,不自动删除</param>
        /// <returns>异步任务结果</returns>
        public AsynchrTask RemoveVm(string vmUri, int? isReserveDisks, int? isFormat, int? holdTime)
        {
            AsynchrTask resp = new AsynchrTask();
            StringBuilder url = new StringBuilder(vmUri + "?");
            #region
            url.Append(null == isReserveDisks ? "" :( "isReserveDisks=" + isReserveDisks + "&"));
            url.Append(null == isFormat ? "" : ("isFormat=" + isFormat + "&"));
            url.Append(null == holdTime ? "" : ("holdTime=" + holdTime + "&"));
            #endregion
            string result = RestClientUtil.sendRequest("DELETE", url.ToString(0, url.Length - 1), null, bean, "RemoveVm");
            log.Info("RemoveVm result : " + result);
            resp = JsonConvert.DeserializeObject<AsynchrTask>(result);

            return resp;
        }