/// <summary> /// 将云硬盘导出为镜像 /// </summary> public CinderExportToImageResponse CinderExportToImage(CinderExportToImageRequest cinderExportToImageRequest) { Dictionary <string, string> urlParam = new Dictionary <string, string>(); urlParam.Add("volume_id", cinderExportToImageRequest.VolumeId.ToString()); string urlPath = HttpUtils.AddUrlPath("/v2/{project_id}/volumes/{volume_id}/action", urlParam); SdkRequest request = HttpUtils.InitSdkRequest(urlPath, "application/json;charset=UTF-8", cinderExportToImageRequest); HttpResponseMessage response = DoHttpRequestSync("POST", request); return(JsonUtils.DeSerialize <CinderExportToImageResponse>(response)); }
private static void CinderExportToImage(EvsClient client) { CinderExportToImageRequest req = new CinderExportToImageRequest() { VolumeId = "1bebb541-5601-450f-a87a-55f9a3c8327b", Body = new CinderExportToImageRequestBody { OsVolumeUploadImage = new CinderExportToImageOption { DiskFormat = CinderExportToImageOption.DiskFormatEnum.VHD, Force = false, ImageName = "test", OsType = CinderExportToImageOption.OsTypeEnum.LINUX, ContainerFormat = CinderExportToImageOption.ContainerFormatEnum.BARE } } }; try { CinderExportToImageResponse resp = client.CinderExportToImage(req); Console.WriteLine(resp.OsVolumeUploadImage); Console.WriteLine(resp.HttpStatusCode); } catch (RequestTimeoutException requestTimeoutException) { Console.WriteLine(requestTimeoutException.ErrorMessage); } catch (ServiceResponseException clientRequestException) { Console.WriteLine(clientRequestException.HttpStatusCode); Console.WriteLine(clientRequestException.ErrorCode); Console.WriteLine(clientRequestException.ErrorMsg); } catch (ConnectionException connectionException) { Console.WriteLine(connectionException.ErrorMessage); } }