/// <summary> /// Move the DB system and its dependent resources to the specified compartment. /// For more information about moving DB systems, see Moving Database Resources to a Different Compartment. /// </summary> /// <param name="request"></param> /// <returns></returns> public ChangeDbSystemCompartmentResponse ChangeDbSystemCompartment(ChangeDbSystemCompartmentRequest request) { var uri = new Uri($"{GetEndPoint(DatabaseServices.DbSystems, this.Region)}/{request.DbSystemId}/actions/changeCompartment"); var httpRequestHeaderParam = new HttpRequestHeaderParam() { OpcRequestId = request.OpcRequestId, OpcRetryToken = request.OpcRetryToken, IfMatch = request.IfMatch }; var webResponse = this.RestClient.Post(uri, request.ChangeCompartmentDetails, httpRequestHeaderParam); using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new ChangeDbSystemCompartmentResponse() { OpcRequestId = webResponse.Headers.Get("opc-request-id"), OpcWorkRequestId = webResponse.Headers.Get("opc-work-request-id"), ETag = webResponse.Headers.Get("ETag") }); } }
private void HandleOutput(ChangeDbSystemCompartmentRequest request) { var waiterConfig = new WaiterConfiguration { MaxAttempts = MaxWaitAttempts, GetNextDelayInSeconds = (_) => WaitIntervalSeconds }; switch (ParameterSetName) { case StatusParamSet: response = client.Waiters.ForChangeDbSystemCompartment(request, waiterConfig, WaitForStatus).Execute(); break; case Default: response = client.ChangeDbSystemCompartment(request).GetAwaiter().GetResult(); break; } WriteOutput(response, CreateWorkRequestObject(response.OpcWorkRequestId)); }
protected override void ProcessRecord() { base.ProcessRecord(); ChangeDbSystemCompartmentRequest request; try { request = new ChangeDbSystemCompartmentRequest { ChangeCompartmentDetails = ChangeCompartmentDetails, DbSystemId = DbSystemId, OpcRetryToken = OpcRetryToken, OpcRequestId = OpcRequestId, IfMatch = IfMatch }; HandleOutput(request); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }