internal static ExpressRouteCircuitPeeringConfig DeserializeExpressRouteCircuitPeeringConfig(JsonElement element) { Optional <IList <string> > advertisedPublicPrefixes = default; Optional <IList <string> > advertisedCommunities = default; Optional <ExpressRouteCircuitPeeringAdvertisedPublicPrefixState> advertisedPublicPrefixesState = default; Optional <int> legacyMode = default; Optional <int> customerASN = default; Optional <string> routingRegistryName = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("advertisedPublicPrefixes")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } advertisedPublicPrefixes = array; continue; } if (property.NameEquals("advertisedCommunities")) { List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } advertisedCommunities = array; continue; } if (property.NameEquals("advertisedPublicPrefixesState")) { advertisedPublicPrefixesState = new ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(property.Value.GetString()); continue; } if (property.NameEquals("legacyMode")) { legacyMode = property.Value.GetInt32(); continue; } if (property.NameEquals("customerASN")) { customerASN = property.Value.GetInt32(); continue; } if (property.NameEquals("routingRegistryName")) { routingRegistryName = property.Value.GetString(); continue; } } return(new ExpressRouteCircuitPeeringConfig(Optional.ToList(advertisedPublicPrefixes), Optional.ToList(advertisedCommunities), Optional.ToNullable(advertisedPublicPrefixesState), Optional.ToNullable(legacyMode), Optional.ToNullable(customerASN), routingRegistryName.Value)); }
internal static ExpressRouteCircuitPeeringConfig DeserializeExpressRouteCircuitPeeringConfig(JsonElement element) { IList <string> advertisedPublicPrefixes = default; IList <string> advertisedCommunities = default; ExpressRouteCircuitPeeringAdvertisedPublicPrefixState?advertisedPublicPrefixesState = default; int? legacyMode = default; int? customerASN = default; string routingRegistryName = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("advertisedPublicPrefixes")) { 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()); } } advertisedPublicPrefixes = array; continue; } if (property.NameEquals("advertisedCommunities")) { 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()); } } advertisedCommunities = array; continue; } if (property.NameEquals("advertisedPublicPrefixesState")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } advertisedPublicPrefixesState = new ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(property.Value.GetString()); continue; } if (property.NameEquals("legacyMode")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } legacyMode = property.Value.GetInt32(); continue; } if (property.NameEquals("customerASN")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } customerASN = property.Value.GetInt32(); continue; } if (property.NameEquals("routingRegistryName")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } routingRegistryName = property.Value.GetString(); continue; } } return(new ExpressRouteCircuitPeeringConfig(advertisedPublicPrefixes, advertisedCommunities, advertisedPublicPrefixesState, legacyMode, customerASN, routingRegistryName)); }