internal PrivateLinkServiceData(string id, string name, string resourceType, string location, IDictionary <string, string> tags, ExtendedLocation extendedLocation, string etag, IList <FrontendIPConfigurationData> loadBalancerFrontendIPConfigurations, IList <PrivateLinkServiceIPConfiguration> ipConfigurations, IReadOnlyList <NetworkInterfaceData> networkInterfaces, ProvisioningState?provisioningState, IReadOnlyList <PrivateEndpointConnectionData> privateEndpointConnections, PrivateLinkServicePropertiesVisibility visibility, PrivateLinkServicePropertiesAutoApproval autoApproval, IList <string> fqdns, string @alias, bool?enableProxyProtocol) : base(id, name, resourceType, location, tags) { ExtendedLocation = extendedLocation; Etag = etag; LoadBalancerFrontendIPConfigurations = loadBalancerFrontendIPConfigurations; IPConfigurations = ipConfigurations; NetworkInterfaces = networkInterfaces; ProvisioningState = provisioningState; PrivateEndpointConnections = privateEndpointConnections; Visibility = visibility; AutoApproval = autoApproval; Fqdns = fqdns; Alias = @alias; EnableProxyProtocol = enableProxyProtocol; }
internal static PrivateLinkServiceData DeserializePrivateLinkServiceData(JsonElement element) { Optional <ExtendedLocation> extendedLocation = default; 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 <FrontendIPConfigurationData> > loadBalancerFrontendIpConfigurations = default; Optional <IList <PrivateLinkServiceIPConfiguration> > ipConfigurations = default; Optional <IReadOnlyList <NetworkInterfaceData> > networkInterfaces = default; Optional <ProvisioningState> provisioningState = default; Optional <IReadOnlyList <NetworkPrivateEndpointConnectionData> > 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("extendedLocation")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } extendedLocation = ExtendedLocation.DeserializeExtendedLocation(property.Value); continue; } 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 <FrontendIPConfigurationData> array = new List <FrontendIPConfigurationData>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(FrontendIPConfigurationData.DeserializeFrontendIPConfigurationData(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 <NetworkInterfaceData> array = new List <NetworkInterfaceData>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(NetworkInterfaceData.DeserializeNetworkInterfaceData(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 <NetworkPrivateEndpointConnectionData> array = new List <NetworkPrivateEndpointConnectionData>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(NetworkPrivateEndpointConnectionData.DeserializeNetworkPrivateEndpointConnectionData(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 PrivateLinkServiceData(id.Value, name.Value, type.Value, location.Value, Optional.ToDictionary(tags), extendedLocation.Value, 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))); }