/// <summary> /// Replaces records in the specified RRSet. /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <UpdateRRSetResponse> UpdateRRSet(UpdateRRSetRequest request) { var uriStr = $"{GetEndPoint(DNSServices.Zones, this.Region)}/{request.ZoneNameOrId}/records/{request.Domain}/{request.Rtype}"; if (!string.IsNullOrEmpty(request.CompartmentId)) { uriStr = $"{uriStr}?compartmentId={request.CompartmentId}"; } var uri = new Uri(uriStr); var httpRequestHeaderParam = new HttpRequestHeaderParam() { IfMatch = request.IfMatch, IfUnmodifiedSince = request.IfUnmodifiedSince }; var webResponse = await this.RestClientAsync.Put(uri, request.UpdateRRSetDetails, httpRequestHeaderParam); using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new UpdateRRSetResponse() { RecordCollection = this.JsonSerializer.Deserialize <RecordCollection>(response), OpcRequestId = webResponse.Headers.Get("opc-request-id"), OpcTotalItems = webResponse.Headers.Get("opc-total-items"), OpcNextPage = webResponse.Headers.Get("opc-next-page"), ETag = webResponse.Headers.Get("ETag") }); } }
protected override void ProcessRecord() { base.ProcessRecord(); UpdateRRSetRequest request; try { request = new UpdateRRSetRequest { ZoneNameOrId = ZoneNameOrId, Domain = Domain, Rtype = Rtype, UpdateRRSetDetails = UpdateRRSetDetails, IfMatch = IfMatch, IfUnmodifiedSince = IfUnmodifiedSince, OpcRequestId = OpcRequestId, Scope = Scope, ViewId = ViewId, CompartmentId = CompartmentId }; response = client.UpdateRRSet(request).GetAwaiter().GetResult(); WriteOutput(response, response.RecordCollection); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }