VpnGatewayNatRule IOperationSource <VpnGatewayNatRule> .CreateResult(Response response, CancellationToken cancellationToken) { using var document = JsonDocument.Parse(response.ContentStream); var data = VpnGatewayNatRuleData.DeserializeVpnGatewayNatRuleData(document.RootElement); return(new VpnGatewayNatRule(_armClient, data)); }
internal static ListVpnGatewayNatRulesResult DeserializeListVpnGatewayNatRulesResult(JsonElement element) { Optional <IReadOnlyList <VpnGatewayNatRuleData> > value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <VpnGatewayNatRuleData> array = new List <VpnGatewayNatRuleData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(VpnGatewayNatRuleData.DeserializeVpnGatewayNatRuleData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new ListVpnGatewayNatRulesResult(Optional.ToList(value), nextLink.Value)); }