/// <summary> /// Creates a migration source in the specified compartment. /// Specify the compartment using the compartment ID. /// /// </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> public async Task <CreateSourceResponse> CreateSource(CreateSourceRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default) { logger.Trace("Called createSource"); Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/sources".Trim('/'))); HttpMethod method = new HttpMethod("Post"); 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); } else { responseMessage = await this.restClient.HttpSend(requestMessage); } return(Converter.FromHttpResponseMessage <CreateSourceResponse>(responseMessage)); } catch (Exception e) { logger.Error($"CreateSource failed with error: {e.Message}"); throw; } }
public async Task <IActionResult> Produce(CreateSourceRequest request) { var validatorActionResult = await _validationArrangement.Validate(request); var actionResult = await _operationArrangement.Process(request, validatorActionResult); return(actionResult); }
public async Task <IActionResult> Create([FromQuery] CreateSourceFromQuery query, [FromBody] CreateSourceFromBody body) { var request = new CreateSourceRequest(query, body); var result = await _apiResult.Produce(request); return(result); }
public async Task<IActionResult> Process(CreateSourceRequest request, IValidatorActionResult validatorActionResult) { IActionResult actionResult; if (validatorActionResult.Result == null) { var call = _cqsMapper.Map(request); var result = await _mediator.Send(call); actionResult = result.IsFailure ? _apiResponse.Fail(result) : _apiResponse.Created(string.Format("/api/sources/{0}", ((Result<Guid>)result).Value), result.Version.ToString()); } else { actionResult = validatorActionResult.Result; } return actionResult; }
protected override void ProcessRecord() { base.ProcessRecord(); CreateSourceRequest request; try { request = new CreateSourceRequest { CreateSourceDetails = CreateSourceDetails, OpcRequestId = OpcRequestId, OpcRetryToken = OpcRetryToken }; response = client.CreateSource(request).GetAwaiter().GetResult(); WriteOutput(response, response.Source); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
public CreateSourceCommand Map(CreateSourceRequest request) { var result = new CreateSourceCommand(request.BodyName, request.BodyDescription, request.BodyBusinessUnits); return(result); }