/// <summary> /// 克隆虚拟机 /// </summary> /// <example> /// <para>CloneVmReq req = new CloneVmReq();</para> /// <para>req.name = "cloneVm";</para> /// <para>AsynchrTask resp = vm.CloneVm("/service/sites/4D9D0815/vms/i-000000EE", req);</para> /// </example> /// <param name="vmUri">【必选】虚拟机Uri</param> /// <param name="req">【可选】克隆虚拟机相关参数</param> /// <returns>克隆虚拟机结果</returns> public VmTaskResp CloneVm(string vmUri, CloneVmReq req) { VmTaskResp resp = new VmTaskResp(); string url = vmUri + "/action/clone"; string result = RestClientUtil.sendRequest("POST", url, req, bean, "CloneVm"); log.Info("CloneVm result : " + result); resp = JsonConvert.DeserializeObject<VmTaskResp>(result); return resp; }
/// <summary> /// 创建虚拟机 /// </summary> /// <example> /// <para>CreateVmReq req = new CreateVmReq();</para> /// <para>req.location = "urn:sites:4D9D0815:hosts:194";</para> /// <para>req.name = "createVM";</para> /// <para>OsOption osOptions = new OsOption();</para> /// <para>osOptions.osType = "Windows";</para> /// <para>osOptions.osVersion = 99;</para> /// <para>req.osOptions = osOptions;</para> /// <para>VmConfig config = new VmConfig();</para> /// <para>CPU cpu = new CPU();</para> /// <para>cpu.coresPerSocket = 1;</para> /// <para>cpu.quantity = 1;</para> /// <para>config.cpu = cpu;</para> /// <para>Memory memory = new Memory(); </para> /// <para>memory.quantityMB = 1024;</para> /// <para>config.memory = memory;</para> /// <para>req.vmConfig = config;</para> /// <para>VmTaskResp resp = vm.CreateVm("/service/sites/4D9D0815", req);</para> /// </example> /// <param name="siteUri">【必选】站点Uri</param> /// <param name="req">【必选】虚拟机相关参数</param> /// <returns>创建虚拟机结果</returns> public VmTaskResp CreateVm(string siteUri, CreateVmReq req) { VmTaskResp resp = new VmTaskResp(); string url = siteUri + "/vms"; string result = RestClientUtil.sendRequest("POST", url, req, bean, "CreateVm"); log.Info("CreateVm result : " + LogUtil.ReplayLog(result)); resp = JsonConvert.DeserializeObject<VmTaskResp>(result); return resp; }