// create data image by file
        private static void CreateDataImage(ImsClient imsV1Client)
        {
            CreateDataImageRequest createDataImageReq = new CreateDataImageRequest
            {
                Body = new CreateDataImageRequestBody()
                {
                    Name     = "dataImageTest",
                    ImageUrl = "obs-494b:test.qcow2",
                    MinDisk  = 40,
                    OsType   = CreateDataImageRequestBody.OsTypeEnum.LINUX
                }
            };

            try
            {
                var exportImsResponse = imsV1Client.CreateDataImage(createDataImageReq);
                Console.WriteLine(exportImsResponse.JobId);
            }
            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);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 使用外部镜像文件制作数据镜像
        /// </summary>
        public CreateDataImageResponse CreateDataImage(CreateDataImageRequest createDataImageRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();
            string              urlPath          = HttpUtils.AddUrlPath("/v1/cloudimages/dataimages/action", urlParam);
            SdkRequest          request          = HttpUtils.InitSdkRequest(urlPath, "application/json;charset=UTF-8", createDataImageRequest);
            HttpResponseMessage response         = DoHttpRequestSync("POST", request);

            return(JsonUtils.DeSerialize <CreateDataImageResponse>(response));
        }