protected override void ProcessRecord() { base.ProcessRecord(); PatchRRSetRequest request; try { request = new PatchRRSetRequest { ZoneNameOrId = ZoneNameOrId, Domain = Domain, Rtype = Rtype, PatchRRSetDetails = PatchRRSetDetails, IfMatch = IfMatch, IfUnmodifiedSince = IfUnmodifiedSince, OpcRequestId = OpcRequestId, Scope = Scope, ViewId = ViewId, CompartmentId = CompartmentId }; response = client.PatchRRSet(request).GetAwaiter().GetResult(); WriteOutput(response, response.RecordCollection); FinishProcessing(response); } catch (Exception ex) { TerminatingErrorDuringExecution(ex); } }
/// <summary> /// Updates records in the specified RRSet. /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <PatchRRSetResponse> PatchRRSet(PatchRRSetRequest 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.Patch(uri, request.PatchRRSetDetails, httpRequestHeaderParam); using (var stream = webResponse.GetResponseStream()) using (var reader = new StreamReader(stream)) { var response = reader.ReadToEnd(); return(new PatchRRSetResponse() { 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") }); } }