Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        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);
            }
        }