private void HandleOutput(UpdateExadataIormConfigRequest request) { var waiterConfig = new WaiterConfiguration { MaxAttempts = MaxWaitAttempts, GetNextDelayInSeconds = (_) => WaitIntervalSeconds }; switch (ParameterSetName) { case StatusParamSet: response = client.Waiters.ForUpdateExadataIormConfig(request, waiterConfig, WaitForStatus).Execute(); break; case Default: response = client.UpdateExadataIormConfig(request).GetAwaiter().GetResult(); break; } WriteOutput(response, response.ExadataIormConfig); }
protected override void ProcessRecord() { base.ProcessRecord(); UpdateExadataIormConfigRequest request; try { request = new UpdateExadataIormConfigRequest { DbSystemId = DbSystemId, ExadataIormConfigUpdateDetails = ExadataIormConfigUpdateDetails, OpcRequestId = OpcRequestId, IfMatch = IfMatch }; HandleOutput(request); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// Update IORM Settings for the requested Exadata DB System. /// </summary> /// <param name="request"></param> /// <returns></returns> public UpdateExadataIormConfigResponse UpdateExadataIormConfig(UpdateExadataIormConfigRequest request) { var uri = new Uri($"{GetEndPoint(DatabaseServices.DbSystems, this.Region)}/{request.DbSystemId}/ExadataIormConfig"); var httpRequestHeaderParam = new HttpRequestHeaderParam() { IfMatch = request.IfMatch, OpcRequestId = request.OpcRequestId }; var webResponse = this.RestClient.Put(uri, request.ExadataIormConfigUpdateDetails, httpRequestHeaderParam); using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new UpdateExadataIormConfigResponse() { ExadataIormConfig = this.JsonSerializer.Deserialize <ExadataIormConfigDetails>(response), OpcRequestId = webResponse.Headers.Get("opc-request-id"), ETag = webResponse.Headers.Get("ETag") }); } }