Exemple #1
0
        /// <summary>
        /// 更新镜像信息(OpenStack原生)
        /// </summary>
        public GlanceUpdateImageResponse GlanceUpdateImage(GlanceUpdateImageRequest glanceUpdateImageRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();

            urlParam.Add("image_id", glanceUpdateImageRequest.ImageId.ToString());
            string              urlPath  = HttpUtils.AddUrlPath("/v2/images/{image_id}", urlParam);
            SdkRequest          request  = HttpUtils.InitSdkRequest(urlPath, "application/json;charset=UTF-8", glanceUpdateImageRequest);
            HttpResponseMessage response = DoHttpRequestSync("PATCH", request);

            return(JsonUtils.DeSerialize <GlanceUpdateImageResponse>(response));
        }
        //update image by id(openstack)
        private static void GlanceUpdateImage(ImsClient glanceV2Client)
        {
            var updateImageInfoRequest = new GlanceUpdateImageRequest()
            {
                ImageId = "951da790-3091-4320-886d-52edca1b5b2c",
                Body    = new List <GlanceUpdateImageRequestBody>()
                {
                    new GlanceUpdateImageRequestBody()
                    {
                        Op    = GlanceUpdateImageRequestBody.OpEnum.REPLACE,
                        Path  = "/name",
                        Value = "test"
                    }
                }
            };

            try
            {
                var updateImageInfoResponse = glanceV2Client.GlanceUpdateImage(updateImageInfoRequest);
                Console.WriteLine(updateImageInfoResponse.GetHttpBody());
            }
            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);
            }
        }