/// <summary> /// Creates a new steering policy in the specified compartment. /// For more information on creating policies with templates, see Traffic Management API Guide. /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <CreateSteeringPolicyResponse> CreateSteeringPolicy(CreateSteeringPolicyRequest request) { var uri = new Uri($"{GetEndPoint(DNSServices.SteeringPolicies, this.Region)}"); using (var webResponse = await this.RestClientAsync.Post(uri, request.CreateSteeringPolicyDetails, new HttpRequestHeaderParam() { OpcRetryToken = request.OpcRetryToken })) using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = await reader.ReadToEndAsync(); return(new CreateSteeringPolicyResponse() { SteeringPolicy = this.JsonSerializer.Deserialize <SteeringPolicyDetails>(response), OpcRequestId = webResponse.Headers.Get("opc-request-id"), ETag = webResponse.Headers.Get("ETag") }); } }
protected override void ProcessRecord() { base.ProcessRecord(); CreateSteeringPolicyRequest request; try { request = new CreateSteeringPolicyRequest { CreateSteeringPolicyDetails = CreateSteeringPolicyDetails, OpcRetryToken = OpcRetryToken, OpcRequestId = OpcRequestId }; response = client.CreateSteeringPolicy(request).GetAwaiter().GetResult(); WriteOutput(response, response.SteeringPolicy); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }