/// <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); } }