internal static Ipv6ExpressRouteCircuitPeeringConfig DeserializeIpv6ExpressRouteCircuitPeeringConfig(JsonElement element) { string primaryPeerAddressPrefix = default; string secondaryPeerAddressPrefix = default; ExpressRouteCircuitPeeringConfig microsoftPeeringConfig = default; SubResource routeFilter = default; ExpressRouteCircuitPeeringState?state = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("primaryPeerAddressPrefix")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } primaryPeerAddressPrefix = property.Value.GetString(); continue; } if (property.NameEquals("secondaryPeerAddressPrefix")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } secondaryPeerAddressPrefix = property.Value.GetString(); continue; } if (property.NameEquals("microsoftPeeringConfig")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } microsoftPeeringConfig = ExpressRouteCircuitPeeringConfig.DeserializeExpressRouteCircuitPeeringConfig(property.Value); continue; } if (property.NameEquals("routeFilter")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } routeFilter = SubResource.DeserializeSubResource(property.Value); continue; } if (property.NameEquals("state")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } state = new ExpressRouteCircuitPeeringState(property.Value.GetString()); continue; } } return(new Ipv6ExpressRouteCircuitPeeringConfig(primaryPeerAddressPrefix, secondaryPeerAddressPrefix, microsoftPeeringConfig, routeFilter, state)); }
internal static Ipv6ExpressRouteCircuitPeeringConfig DeserializeIpv6ExpressRouteCircuitPeeringConfig(JsonElement element) { Optional <string> primaryPeerAddressPrefix = default; Optional <string> secondaryPeerAddressPrefix = default; Optional <ExpressRouteCircuitPeeringConfig> microsoftPeeringConfig = default; Optional <SubResource> routeFilter = default; Optional <ExpressRouteCircuitPeeringState> state = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("primaryPeerAddressPrefix")) { primaryPeerAddressPrefix = property.Value.GetString(); continue; } if (property.NameEquals("secondaryPeerAddressPrefix")) { secondaryPeerAddressPrefix = property.Value.GetString(); continue; } if (property.NameEquals("microsoftPeeringConfig")) { microsoftPeeringConfig = ExpressRouteCircuitPeeringConfig.DeserializeExpressRouteCircuitPeeringConfig(property.Value); continue; } if (property.NameEquals("routeFilter")) { routeFilter = SubResource.DeserializeSubResource(property.Value); continue; } if (property.NameEquals("state")) { state = new ExpressRouteCircuitPeeringState(property.Value.GetString()); continue; } } return(new Ipv6ExpressRouteCircuitPeeringConfig(primaryPeerAddressPrefix.Value, secondaryPeerAddressPrefix.Value, microsoftPeeringConfig.Value, routeFilter.Value, Optional.ToNullable(state))); }