internal static PrivateLinkService DeserializePrivateLinkService(JsonElement element) { Optional <string> etag = default; Optional <string> id = default; Optional <string> name = default; Optional <string> type = default; Optional <string> location = default; Optional <IDictionary <string, string> > tags = default; Optional <IList <FrontendIPConfiguration> > loadBalancerFrontendIpConfigurations = default; Optional <IList <PrivateLinkServiceIpConfiguration> > ipConfigurations = default; Optional <IReadOnlyList <NetworkInterface> > networkInterfaces = default; Optional <ProvisioningState> provisioningState = default; Optional <IReadOnlyList <PrivateEndpointConnection> > privateEndpointConnections = default; Optional <PrivateLinkServicePropertiesVisibility> visibility = default; Optional <PrivateLinkServicePropertiesAutoApproval> autoApproval = default; Optional <IList <string> > fqdns = default; Optional <string> @alias = default; Optional <bool> enableProxyProtocol = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("etag")) { etag = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("tags")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("loadBalancerFrontendIpConfigurations")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <FrontendIPConfiguration> array = new List <FrontendIPConfiguration>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(FrontendIPConfiguration.DeserializeFrontendIPConfiguration(item)); } loadBalancerFrontendIpConfigurations = array; continue; } if (property0.NameEquals("ipConfigurations")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <PrivateLinkServiceIpConfiguration> array = new List <PrivateLinkServiceIpConfiguration>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(PrivateLinkServiceIpConfiguration.DeserializePrivateLinkServiceIpConfiguration(item)); } ipConfigurations = array; continue; } if (property0.NameEquals("networkInterfaces")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <NetworkInterface> array = new List <NetworkInterface>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(NetworkInterface.DeserializeNetworkInterface(item)); } networkInterfaces = array; continue; } if (property0.NameEquals("provisioningState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } provisioningState = new ProvisioningState(property0.Value.GetString()); continue; } if (property0.NameEquals("privateEndpointConnections")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <PrivateEndpointConnection> array = new List <PrivateEndpointConnection>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(PrivateEndpointConnection.DeserializePrivateEndpointConnection(item)); } privateEndpointConnections = array; continue; } if (property0.NameEquals("visibility")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } visibility = PrivateLinkServicePropertiesVisibility.DeserializePrivateLinkServicePropertiesVisibility(property0.Value); continue; } if (property0.NameEquals("autoApproval")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } autoApproval = PrivateLinkServicePropertiesAutoApproval.DeserializePrivateLinkServicePropertiesAutoApproval(property0.Value); continue; } if (property0.NameEquals("fqdns")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(item.GetString()); } fqdns = array; continue; } if (property0.NameEquals("alias")) { @alias = property0.Value.GetString(); continue; } if (property0.NameEquals("enableProxyProtocol")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } enableProxyProtocol = property0.Value.GetBoolean(); continue; } } continue; } } return(new PrivateLinkService(id.Value, name.Value, type.Value, location.Value, Optional.ToDictionary(tags), etag.Value, Optional.ToList(loadBalancerFrontendIpConfigurations), Optional.ToList(ipConfigurations), Optional.ToList(networkInterfaces), Optional.ToNullable(provisioningState), Optional.ToList(privateEndpointConnections), visibility.Value, autoApproval.Value, Optional.ToList(fqdns), @alias.Value, Optional.ToNullable(enableProxyProtocol))); }
internal static PrivateLinkService DeserializePrivateLinkService(JsonElement element) { string etag = default; string id = default; string name = default; string type = default; string location = default; IDictionary <string, string> tags = default; IList <FrontendIPConfiguration> loadBalancerFrontendIpConfigurations = default; IList <PrivateLinkServiceIpConfiguration> ipConfigurations = default; IList <NetworkInterface> networkInterfaces = default; ProvisioningState? provisioningState = default; IList <PrivateEndpointConnection> privateEndpointConnections = default; ResourceSet visibility = default; ResourceSet autoApproval = default; IList <string> fqdns = default; string @alias = default; bool? enableProxyProtocol = default; foreach (var property in element.EnumerateObject()) { 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("name")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } type = property.Value.GetString(); continue; } if (property.NameEquals("location")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } location = property.Value.GetString(); continue; } if (property.NameEquals("tags")) { if (property.Value.ValueKind == JsonValueKind.Null) { continue; } Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { if (property0.Value.ValueKind == JsonValueKind.Null) { dictionary.Add(property0.Name, null); } else { dictionary.Add(property0.Name, property0.Value.GetString()); } } tags = dictionary; continue; } if (property.NameEquals("properties")) { foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("loadBalancerFrontendIpConfigurations")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } List <FrontendIPConfiguration> array = new List <FrontendIPConfiguration>(); foreach (var item in property0.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(FrontendIPConfiguration.DeserializeFrontendIPConfiguration(item)); } } loadBalancerFrontendIpConfigurations = array; continue; } if (property0.NameEquals("ipConfigurations")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } List <PrivateLinkServiceIpConfiguration> array = new List <PrivateLinkServiceIpConfiguration>(); foreach (var item in property0.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(PrivateLinkServiceIpConfiguration.DeserializePrivateLinkServiceIpConfiguration(item)); } } ipConfigurations = array; continue; } if (property0.NameEquals("networkInterfaces")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } List <NetworkInterface> array = new List <NetworkInterface>(); foreach (var item in property0.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(NetworkInterface.DeserializeNetworkInterface(item)); } } networkInterfaces = array; continue; } if (property0.NameEquals("provisioningState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } provisioningState = new ProvisioningState(property0.Value.GetString()); continue; } if (property0.NameEquals("privateEndpointConnections")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } List <PrivateEndpointConnection> array = new List <PrivateEndpointConnection>(); foreach (var item in property0.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(PrivateEndpointConnection.DeserializePrivateEndpointConnection(item)); } } privateEndpointConnections = array; continue; } if (property0.NameEquals("visibility")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } visibility = ResourceSet.DeserializeResourceSet(property0.Value); continue; } if (property0.NameEquals("autoApproval")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } autoApproval = ResourceSet.DeserializeResourceSet(property0.Value); continue; } if (property0.NameEquals("fqdns")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } List <string> array = new List <string>(); foreach (var item in property0.Value.EnumerateArray()) { if (item.ValueKind == JsonValueKind.Null) { array.Add(null); } else { array.Add(item.GetString()); } } fqdns = array; continue; } if (property0.NameEquals("alias")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } @alias = property0.Value.GetString(); continue; } if (property0.NameEquals("enableProxyProtocol")) { if (property0.Value.ValueKind == JsonValueKind.Null) { continue; } enableProxyProtocol = property0.Value.GetBoolean(); continue; } } continue; } } return(new PrivateLinkService(id, name, type, location, tags, etag, loadBalancerFrontendIpConfigurations, ipConfigurations, networkInterfaces, provisioningState, privateEndpointConnections, visibility, autoApproval, fqdns, @alias, enableProxyProtocol)); }