protected override void ProcessRecord() { base.ProcessRecord(); if (!ConfirmDelete("OCIOperatoraccesscontrolOperatorControl", "Remove")) { return; } DeleteOperatorControlRequest request; try { request = new DeleteOperatorControlRequest { OperatorControlId = OperatorControlId, Description = Description, IfMatch = IfMatch, OpcRequestId = OpcRequestId }; response = client.DeleteOperatorControl(request).GetAwaiter().GetResult(); WriteOutput(response); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// Deletes an Operator Control. You cannot delete an Operator Control if it is assigned to govern any target resource currently or in the future. /// In that case, first, delete all of the current and future assignments before deleting the Operator Control. An Operator Control that was previously assigned to a target /// resource is marked as DELETED following a successful deletion. However, it is not completely deleted from the system. This is to ensure auditing information for the accesses /// done under the Operator Control is preserved for future needs. The system purges the deleted Operator Control only when all of the audit data associated with the /// Operator Control are also deleted. Therefore, you cannot reuse the name of the deleted Operator Control until the system purges the Operator Control. /// /// </summary> /// <param name="request">The request object containing the details to send. Required.</param> /// <param name="retryConfiguration">The retry configuration that will be used by to send this request. Optional.</param> /// <param name="cancellationToken">The cancellation token to cancel this operation. Optional.</param> /// <returns>A response object containing details about the completed operation</returns> /// <example>Click <a href="https://docs.cloud.oracle.com/en-us/iaas/tools/dot-net-examples/latest/operatoraccesscontrol/DeleteOperatorControl.cs.html">here</a> to see an example of how to use DeleteOperatorControl API.</example> public async Task <DeleteOperatorControlResponse> DeleteOperatorControl(DeleteOperatorControlRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) { logger.Trace("Called deleteOperatorControl"); Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/operatorControls/{operatorControlId}".Trim('/'))); HttpMethod method = new HttpMethod("DELETE"); HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request); requestMessage.Headers.Add("Accept", "application/json"); GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration); HttpResponseMessage responseMessage; try { if (retryingClient != null) { responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, cancellationToken).ConfigureAwait(false); } else { responseMessage = await this.restClient.HttpSend(requestMessage).ConfigureAwait(false); } this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage); return(Converter.FromHttpResponseMessage <DeleteOperatorControlResponse>(responseMessage)); } catch (Exception e) { logger.Error($"DeleteOperatorControl failed with error: {e.Message}"); throw; } }