protected override void ProcessRecord() { base.ProcessRecord(); ChangeImageCompartmentRequest request; try { request = new ChangeImageCompartmentRequest { ImageId = ImageId, ChangeImageCompartmentDetails = ChangeImageCompartmentDetails, IfMatch = IfMatch, OpcRequestId = OpcRequestId, OpcRetryToken = OpcRetryToken }; response = client.ChangeImageCompartment(request).GetAwaiter().GetResult(); WriteOutput(response); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// Moves an image into a different compartment within the same tenancy. /// For information about moving resources between compartments, see Moving Resources to a Different Compartment. /// </summary> /// <param name="param"></param> /// <returns></returns> public async Task <ChangeImageCompartmentResponse> ChangeImageCompartment(ChangeImageCompartmentRequest param) { var uri = new Uri($"{GetEndPoint(CoreServices.Image, this.Region)}/{param.ImageId}/actions/changeCompartment"); var httpRequestHeaderParam = new HttpRequestHeaderParam() { OpcRetryToken = param.OpcRetryToken, OpcRequestId = param.OpcRequestId, IfMatch = param.IfMatch }; var webResponse = await this.RestClientAsync.Post(uri, param.ChangeImageCompartmentDetails, httpRequestHeaderParam); using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new ChangeImageCompartmentResponse() { ETag = webResponse.Headers.Get("ETag"), OpcRequestId = webResponse.Headers.Get("opc-request-id") }); } }