/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
* Defines the Jellyfin.Networking.Configuration.NetworkConfiguration.
* @export
* @interface NetworkConfiguration
*/
export interface NetworkConfiguration {
/**
* Gets or sets a value indicating whether the server should force connections over HTTPS.
* @type {boolean}
* @memberof NetworkConfiguration
*/
requireHttps?: boolean;
/**
* Gets or sets the filesystem path of an X.509 certificate to use for SSL.
* @type {string}
* @memberof NetworkConfiguration
*/
certificatePath?: string;
/**
* Gets or sets the password required to access the X.509 certificate data in the file specified by Jellyfin.Networking.Configuration.NetworkConfiguration.CertificatePath.
* @type {string}
* @memberof NetworkConfiguration
*/
certificatePassword?: string;
/**
* Gets or sets a value used to specify the URL prefix that your Jellyfin instance can be accessed at.
* @type {string}
* @memberof NetworkConfiguration
*/
baseUrl?: string;
/**
* Gets or sets the public HTTPS port.
* @type {number}
* @memberof NetworkConfiguration
*/
publicHttpsPort?: number;
/**
* Gets or sets the HTTP server port number.
* @type {number}
* @memberof NetworkConfiguration
*/
httpServerPortNumber?: number;
/**
* Gets or sets the HTTPS server port number.
* @type {number}
* @memberof NetworkConfiguration
*/
httpsPortNumber?: number;
/**
* Gets or sets a value indicating whether to use HTTPS.
* @type {boolean}
* @memberof NetworkConfiguration
*/
enableHttps?: boolean;
/**
* Gets or sets the public mapped port.
* @type {number}
* @memberof NetworkConfiguration
*/
publicPort?: number;
/**
* Gets or sets a value indicating whether the http port should be mapped as part of UPnP automatic port forwarding.
* @type {boolean}
* @memberof NetworkConfiguration
*/
uPnPCreateHttpPortMap?: boolean;
/**
* Gets or sets the UDPPortRange.
* @type {string}
* @memberof NetworkConfiguration
*/
uDPPortRange?: string;
/**
* Gets or sets a value indicating whether gets or sets IPV6 capability.
* @type {boolean}
* @memberof NetworkConfiguration
*/
enableIPV6?: boolean;
/**
* Gets or sets a value indicating whether gets or sets IPV4 capability.
* @type {boolean}
* @memberof NetworkConfiguration
*/
enableIPV4?: boolean;
/**
* Gets or sets a value indicating whether detailed SSDP logs are sent to the console/log.
* "Emby.Dlna": "Debug" must be set in logging.default.json for this property to have any effect.
* @type {boolean}
* @memberof NetworkConfiguration
*/
enableSSDPTracing?: boolean;
/**
* Gets or sets the SSDPTracingFilter
* Gets or sets a value indicating whether an IP address is to be used to filter the detailed ssdp logs that are being sent to the console/log.
* If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work.
* @type {string}
* @memberof NetworkConfiguration
*/
sSDPTracingFilter?: string;
/**
* Gets or sets the number of times SSDP UDP messages are sent.
* @type {number}
* @memberof NetworkConfiguration
*/
uDPSendCount?: number;
/**
* Gets or sets the delay between each groups of SSDP messages (in ms).
* @type {number}
* @memberof NetworkConfiguration
*/
uDPSendDelay?: number;
/**
* Gets or sets a value indicating whether address names that match Jellyfin.Networking.Configuration.NetworkConfiguration.VirtualInterfaceNames should be Ignore for the purposes of binding.
* @type {boolean}
* @memberof NetworkConfiguration
*/
ignoreVirtualInterfaces?: boolean;
/**
* Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. .
* @type {string}
* @memberof NetworkConfiguration
*/
virtualInterfaceNames?: string;
/**
* Gets or sets the time (in seconds) between the pings of SSDP gateway monitor.
* @type {number}
* @memberof NetworkConfiguration
*/
gatewayMonitorPeriod?: number;
/**
* Gets a value indicating whether multi-socket binding is available.
* @type {boolean}
* @memberof NetworkConfiguration
*/
readonly enableMultiSocketBinding?: boolean;
/**
* Gets or sets a value indicating whether all IPv6 interfaces should be treated as on the internal network.
* Depending on the address range implemented ULA ranges might not be used.
* @type {boolean}
* @memberof NetworkConfiguration
*/
trustAllIP6Interfaces?: boolean;
/**
* Gets or sets the ports that HDHomerun uses.
* @type {string}
* @memberof NetworkConfiguration
*/
hDHomerunPortRange?: string;
/**
* Gets or sets the PublishedServerUriBySubnet
* Gets or sets PublishedServerUri to advertise for specific subnets.
* @type {Array}
* @memberof NetworkConfiguration
*/
publishedServerUriBySubnet?: Array;
/**
* Gets or sets a value indicating whether Autodiscovery tracing is enabled.
* @type {boolean}
* @memberof NetworkConfiguration
*/
autoDiscoveryTracing?: boolean;
/**
* Gets or sets a value indicating whether Autodiscovery is enabled.
* @type {boolean}
* @memberof NetworkConfiguration
*/
autoDiscovery?: boolean;
/**
* Gets or sets the filter for remote IP connectivity. Used in conjuntion with .
* @type {Array}
* @memberof NetworkConfiguration
*/
remoteIPFilter?: Array;
/**
* Gets or sets a value indicating whether contains a blacklist or a whitelist. Default is a whitelist.
* @type {boolean}
* @memberof NetworkConfiguration
*/
isRemoteIPFilterBlacklist?: boolean;
/**
* Gets or sets a value indicating whether to enable automatic port forwarding.
* @type {boolean}
* @memberof NetworkConfiguration
*/
enableUPnP?: boolean;
/**
* Gets or sets a value indicating whether access outside of the LAN is permitted.
* @type {boolean}
* @memberof NetworkConfiguration
*/
enableRemoteAccess?: boolean;
/**
* Gets or sets the subnets that are deemed to make up the LAN.
* @type {Array}
* @memberof NetworkConfiguration
*/
localNetworkSubnets?: Array;
/**
* Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used.
* @type {Array}
* @memberof NetworkConfiguration
*/
localNetworkAddresses?: Array;
/**
* Gets or sets the known proxies. If the proxy is a network, it's added to the KnownNetworks.
* @type {Array}
* @memberof NetworkConfiguration
*/
knownProxies?: Array;
/**
* Gets or sets a value indicating whether the published server uri is based on information in HTTP requests.
* @type {boolean}
* @memberof NetworkConfiguration
*/
enablePublishedServerUriByRequest?: boolean;
}
/**
* Check if a given object implements the NetworkConfiguration interface.
*/
export function instanceOfNetworkConfiguration(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function NetworkConfigurationFromJSON(json: any): NetworkConfiguration {
return NetworkConfigurationFromJSONTyped(json, false);
}
export function NetworkConfigurationFromJSONTyped(json: any, ignoreDiscriminator: boolean): NetworkConfiguration {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'requireHttps': !exists(json, 'RequireHttps') ? undefined : json['RequireHttps'],
'certificatePath': !exists(json, 'CertificatePath') ? undefined : json['CertificatePath'],
'certificatePassword': !exists(json, 'CertificatePassword') ? undefined : json['CertificatePassword'],
'baseUrl': !exists(json, 'BaseUrl') ? undefined : json['BaseUrl'],
'publicHttpsPort': !exists(json, 'PublicHttpsPort') ? undefined : json['PublicHttpsPort'],
'httpServerPortNumber': !exists(json, 'HttpServerPortNumber') ? undefined : json['HttpServerPortNumber'],
'httpsPortNumber': !exists(json, 'HttpsPortNumber') ? undefined : json['HttpsPortNumber'],
'enableHttps': !exists(json, 'EnableHttps') ? undefined : json['EnableHttps'],
'publicPort': !exists(json, 'PublicPort') ? undefined : json['PublicPort'],
'uPnPCreateHttpPortMap': !exists(json, 'UPnPCreateHttpPortMap') ? undefined : json['UPnPCreateHttpPortMap'],
'uDPPortRange': !exists(json, 'UDPPortRange') ? undefined : json['UDPPortRange'],
'enableIPV6': !exists(json, 'EnableIPV6') ? undefined : json['EnableIPV6'],
'enableIPV4': !exists(json, 'EnableIPV4') ? undefined : json['EnableIPV4'],
'enableSSDPTracing': !exists(json, 'EnableSSDPTracing') ? undefined : json['EnableSSDPTracing'],
'sSDPTracingFilter': !exists(json, 'SSDPTracingFilter') ? undefined : json['SSDPTracingFilter'],
'uDPSendCount': !exists(json, 'UDPSendCount') ? undefined : json['UDPSendCount'],
'uDPSendDelay': !exists(json, 'UDPSendDelay') ? undefined : json['UDPSendDelay'],
'ignoreVirtualInterfaces': !exists(json, 'IgnoreVirtualInterfaces') ? undefined : json['IgnoreVirtualInterfaces'],
'virtualInterfaceNames': !exists(json, 'VirtualInterfaceNames') ? undefined : json['VirtualInterfaceNames'],
'gatewayMonitorPeriod': !exists(json, 'GatewayMonitorPeriod') ? undefined : json['GatewayMonitorPeriod'],
'enableMultiSocketBinding': !exists(json, 'EnableMultiSocketBinding') ? undefined : json['EnableMultiSocketBinding'],
'trustAllIP6Interfaces': !exists(json, 'TrustAllIP6Interfaces') ? undefined : json['TrustAllIP6Interfaces'],
'hDHomerunPortRange': !exists(json, 'HDHomerunPortRange') ? undefined : json['HDHomerunPortRange'],
'publishedServerUriBySubnet': !exists(json, 'PublishedServerUriBySubnet') ? undefined : json['PublishedServerUriBySubnet'],
'autoDiscoveryTracing': !exists(json, 'AutoDiscoveryTracing') ? undefined : json['AutoDiscoveryTracing'],
'autoDiscovery': !exists(json, 'AutoDiscovery') ? undefined : json['AutoDiscovery'],
'remoteIPFilter': !exists(json, 'RemoteIPFilter') ? undefined : json['RemoteIPFilter'],
'isRemoteIPFilterBlacklist': !exists(json, 'IsRemoteIPFilterBlacklist') ? undefined : json['IsRemoteIPFilterBlacklist'],
'enableUPnP': !exists(json, 'EnableUPnP') ? undefined : json['EnableUPnP'],
'enableRemoteAccess': !exists(json, 'EnableRemoteAccess') ? undefined : json['EnableRemoteAccess'],
'localNetworkSubnets': !exists(json, 'LocalNetworkSubnets') ? undefined : json['LocalNetworkSubnets'],
'localNetworkAddresses': !exists(json, 'LocalNetworkAddresses') ? undefined : json['LocalNetworkAddresses'],
'knownProxies': !exists(json, 'KnownProxies') ? undefined : json['KnownProxies'],
'enablePublishedServerUriByRequest': !exists(json, 'EnablePublishedServerUriByRequest') ? undefined : json['EnablePublishedServerUriByRequest'],
};
}
export function NetworkConfigurationToJSON(value?: NetworkConfiguration | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'RequireHttps': value.requireHttps,
'CertificatePath': value.certificatePath,
'CertificatePassword': value.certificatePassword,
'BaseUrl': value.baseUrl,
'PublicHttpsPort': value.publicHttpsPort,
'HttpServerPortNumber': value.httpServerPortNumber,
'HttpsPortNumber': value.httpsPortNumber,
'EnableHttps': value.enableHttps,
'PublicPort': value.publicPort,
'UPnPCreateHttpPortMap': value.uPnPCreateHttpPortMap,
'UDPPortRange': value.uDPPortRange,
'EnableIPV6': value.enableIPV6,
'EnableIPV4': value.enableIPV4,
'EnableSSDPTracing': value.enableSSDPTracing,
'SSDPTracingFilter': value.sSDPTracingFilter,
'UDPSendCount': value.uDPSendCount,
'UDPSendDelay': value.uDPSendDelay,
'IgnoreVirtualInterfaces': value.ignoreVirtualInterfaces,
'VirtualInterfaceNames': value.virtualInterfaceNames,
'GatewayMonitorPeriod': value.gatewayMonitorPeriod,
'TrustAllIP6Interfaces': value.trustAllIP6Interfaces,
'HDHomerunPortRange': value.hDHomerunPortRange,
'PublishedServerUriBySubnet': value.publishedServerUriBySubnet,
'AutoDiscoveryTracing': value.autoDiscoveryTracing,
'AutoDiscovery': value.autoDiscovery,
'RemoteIPFilter': value.remoteIPFilter,
'IsRemoteIPFilterBlacklist': value.isRemoteIPFilterBlacklist,
'EnableUPnP': value.enableUPnP,
'EnableRemoteAccess': value.enableRemoteAccess,
'LocalNetworkSubnets': value.localNetworkSubnets,
'LocalNetworkAddresses': value.localNetworkAddresses,
'KnownProxies': value.knownProxies,
'EnablePublishedServerUriByRequest': value.enablePublishedServerUriByRequest,
};
}