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 Route DeserializeRoute(JsonElement element) { Optional <string> name = default; Optional <string> etag = default; Optional <string> id = default; Optional <string> addressPrefix = default; Optional <RouteNextHopType> nextHopType = default; Optional <string> nextHopIpAddress = default; Optional <ProvisioningState> provisioningState = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("etag")) { etag = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("addressPrefix")) { addressPrefix = property0.Value.GetString(); continue; } if (property0.NameEquals("nextHopType")) { nextHopType = new RouteNextHopType(property0.Value.GetString()); continue; } if (property0.NameEquals("nextHopIpAddress")) { nextHopIpAddress = property0.Value.GetString(); continue; } if (property0.NameEquals("provisioningState")) { provisioningState = new ProvisioningState(property0.Value.GetString()); continue; } } continue; } } return(new Route(id.Value, name.Value, etag.Value, addressPrefix.Value, Optional.ToNullable(nextHopType), nextHopIpAddress.Value, Optional.ToNullable(provisioningState))); }
internal static Route DeserializeRoute(JsonElement element) { string name = default; string etag = default; string id = default; string addressPrefix = default; RouteNextHopType? nextHopType = default; string nextHopIpAddress = default; ProvisioningState?provisioningState = 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("etag")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } etag = property.Value.GetString(); continue; } if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } id = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("addressPrefix")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } addressPrefix = property0.Value.GetString(); continue; } if (property0.NameEquals("nextHopType")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } nextHopType = new RouteNextHopType(property0.Value.GetString()); continue; } if (property0.NameEquals("nextHopIpAddress")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } nextHopIpAddress = property0.Value.GetString(); continue; } if (property0.NameEquals("provisioningState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } provisioningState = new ProvisioningState(property0.Value.GetString()); continue; } } continue; } } return(new Route(id, name, etag, addressPrefix, nextHopType, nextHopIpAddress, provisioningState)); }
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)); }