internal static EffectiveRoute DeserializeEffectiveRoute(JsonElement element) { Optional <string> name = default; Optional <bool> disableBgpRoutePropagation = default; Optional <EffectiveRouteSource> source = default; Optional <EffectiveRouteState> state = default; Optional <IReadOnlyList <string> > addressPrefix = default; Optional <IReadOnlyList <string> > nextHopIpAddress = default; Optional <RouteNextHopType> nextHopType = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("disableBgpRoutePropagation")) { disableBgpRoutePropagation = property.Value.GetBoolean(); continue; } if (property.NameEquals("source")) { source = new EffectiveRouteSource(property.Value.GetString()); continue; } if (property.NameEquals("state")) { state = new EffectiveRouteState(property.Value.GetString()); continue; } if (property.NameEquals("addressPrefix")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } addressPrefix = array; continue; } if (property.NameEquals("nextHopIpAddress")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } nextHopIpAddress = array; continue; } if (property.NameEquals("nextHopType")) { nextHopType = new RouteNextHopType(property.Value.GetString()); continue; } } return(new EffectiveRoute(name.Value, Optional.ToNullable(disableBgpRoutePropagation), Optional.ToNullable(source), Optional.ToNullable(state), Optional.ToList(addressPrefix), Optional.ToList(nextHopIpAddress), Optional.ToNullable(nextHopType))); }
internal static EffectiveRoute DeserializeEffectiveRoute(JsonElement element) { string name = default; bool? disableBgpRoutePropagation = default; EffectiveRouteSource? source = default; EffectiveRouteState? state = default; IReadOnlyList <string> addressPrefix = default; IReadOnlyList <string> nextHopIpAddress = default; RouteNextHopType? nextHopType = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("disableBgpRoutePropagation")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } disableBgpRoutePropagation = property.Value.GetBoolean(); continue; } if (property.NameEquals("source")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } source = new EffectiveRouteSource(property.Value.GetString()); continue; } if (property.NameEquals("state")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } state = new EffectiveRouteState(property.Value.GetString()); continue; } if (property.NameEquals("addressPrefix")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } addressPrefix = array; continue; } if (property.NameEquals("nextHopIpAddress")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } nextHopIpAddress = array; continue; } if (property.NameEquals("nextHopType")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } nextHopType = new RouteNextHopType(property.Value.GetString()); continue; } } return(new EffectiveRoute(name, disableBgpRoutePropagation, source, state, addressPrefix, nextHopIpAddress, nextHopType)); }