# coding: utf-8

"""
    Emby Server REST API (BETA)
"""

import pprint
import re  # noqa: F401

import six

class ServerConfiguration(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'enable_upn_p': 'bool',
        'public_port': 'int',
        'public_https_port': 'int',
        'http_server_port_number': 'int',
        'https_port_number': 'int',
        'enable_https': 'bool',
        'certificate_path': 'str',
        'certificate_password': 'str',
        'is_port_authorized': 'bool',
        'auto_run_web_app': 'bool',
        'enable_remote_access': 'bool',
        'log_all_query_times': 'bool',
        'enable_case_sensitive_item_ids': 'bool',
        'metadata_path': 'str',
        'metadata_network_path': 'str',
        'preferred_metadata_language': 'str',
        'metadata_country_code': 'str',
        'sort_remove_words': 'list[str]',
        'library_monitor_delay_seconds': 'int',
        'enable_dashboard_response_caching': 'bool',
        'dashboard_source_path': 'str',
        'image_saving_convention': 'ImageSavingConvention',
        'enable_automatic_restart': 'bool',
        'server_name': 'str',
        'preferred_detected_remote_address_family': 'NetSocketsAddressFamily',
        'wan_ddns': 'str',
        'ui_culture': 'str',
        'remote_client_bitrate_limit': 'int',
        'local_network_subnets': 'list[str]',
        'local_network_addresses': 'list[str]',
        'enable_external_content_in_suggestions': 'bool',
        'require_https': 'bool',
        'is_behind_proxy': 'bool',
        'remote_ip_filter': 'list[str]',
        'is_remote_ip_filter_blacklist': 'bool',
        'image_extraction_timeout_ms': 'int',
        'path_substitutions': 'list[PathSubstitution]',
        'uninstalled_plugins': 'list[str]',
        'collapse_video_folders': 'bool',
        'enable_original_track_titles': 'bool',
        'vacuum_database_on_startup': 'bool',
        'simultaneous_stream_limit': 'int',
        'database_cache_size_mb': 'int',
        'enable_sq_lite_mmio': 'bool',
        'playlists_upgraded_to_m3_u': 'bool',
        'image_extractor_upgraded1': 'bool',
        'enable_people_letter_sub_folders': 'bool',
        'optimize_database_on_shutdown': 'bool',
        'database_analysis_limit': 'int',
        'disable_async_io': 'bool',
        'migrated_to_user_item_shares8': 'bool',
        'migrated_library_options_to_db': 'bool',
        'allow_legacy_local_network_password': 'bool',
        'enable_saved_metadata_for_people': 'bool',
        'tv_channels_refreshed': 'bool',
        'proxy_header_mode': 'ProxyHeaderMode',
        'enable_debug_level_logging': 'bool',
        'revert_debug_logging': 'str',
        'enable_auto_update': 'bool',
        'log_file_retention_days': 'int',
        'run_at_startup': 'bool',
        'is_startup_wizard_completed': 'bool',
        'cache_path': 'str'
    }

    attribute_map = {
        'enable_upn_p': 'EnableUPnP',
        'public_port': 'PublicPort',
        'public_https_port': 'PublicHttpsPort',
        'http_server_port_number': 'HttpServerPortNumber',
        'https_port_number': 'HttpsPortNumber',
        'enable_https': 'EnableHttps',
        'certificate_path': 'CertificatePath',
        'certificate_password': 'CertificatePassword',
        'is_port_authorized': 'IsPortAuthorized',
        'auto_run_web_app': 'AutoRunWebApp',
        'enable_remote_access': 'EnableRemoteAccess',
        'log_all_query_times': 'LogAllQueryTimes',
        'enable_case_sensitive_item_ids': 'EnableCaseSensitiveItemIds',
        'metadata_path': 'MetadataPath',
        'metadata_network_path': 'MetadataNetworkPath',
        'preferred_metadata_language': 'PreferredMetadataLanguage',
        'metadata_country_code': 'MetadataCountryCode',
        'sort_remove_words': 'SortRemoveWords',
        'library_monitor_delay_seconds': 'LibraryMonitorDelaySeconds',
        'enable_dashboard_response_caching': 'EnableDashboardResponseCaching',
        'dashboard_source_path': 'DashboardSourcePath',
        'image_saving_convention': 'ImageSavingConvention',
        'enable_automatic_restart': 'EnableAutomaticRestart',
        'server_name': 'ServerName',
        'preferred_detected_remote_address_family': 'PreferredDetectedRemoteAddressFamily',
        'wan_ddns': 'WanDdns',
        'ui_culture': 'UICulture',
        'remote_client_bitrate_limit': 'RemoteClientBitrateLimit',
        'local_network_subnets': 'LocalNetworkSubnets',
        'local_network_addresses': 'LocalNetworkAddresses',
        'enable_external_content_in_suggestions': 'EnableExternalContentInSuggestions',
        'require_https': 'RequireHttps',
        'is_behind_proxy': 'IsBehindProxy',
        'remote_ip_filter': 'RemoteIPFilter',
        'is_remote_ip_filter_blacklist': 'IsRemoteIPFilterBlacklist',
        'image_extraction_timeout_ms': 'ImageExtractionTimeoutMs',
        'path_substitutions': 'PathSubstitutions',
        'uninstalled_plugins': 'UninstalledPlugins',
        'collapse_video_folders': 'CollapseVideoFolders',
        'enable_original_track_titles': 'EnableOriginalTrackTitles',
        'vacuum_database_on_startup': 'VacuumDatabaseOnStartup',
        'simultaneous_stream_limit': 'SimultaneousStreamLimit',
        'database_cache_size_mb': 'DatabaseCacheSizeMB',
        'enable_sq_lite_mmio': 'EnableSqLiteMmio',
        'playlists_upgraded_to_m3_u': 'PlaylistsUpgradedToM3U',
        'image_extractor_upgraded1': 'ImageExtractorUpgraded1',
        'enable_people_letter_sub_folders': 'EnablePeopleLetterSubFolders',
        'optimize_database_on_shutdown': 'OptimizeDatabaseOnShutdown',
        'database_analysis_limit': 'DatabaseAnalysisLimit',
        'disable_async_io': 'DisableAsyncIO',
        'migrated_to_user_item_shares8': 'MigratedToUserItemShares8',
        'migrated_library_options_to_db': 'MigratedLibraryOptionsToDb',
        'allow_legacy_local_network_password': 'AllowLegacyLocalNetworkPassword',
        'enable_saved_metadata_for_people': 'EnableSavedMetadataForPeople',
        'tv_channels_refreshed': 'TvChannelsRefreshed',
        'proxy_header_mode': 'ProxyHeaderMode',
        'enable_debug_level_logging': 'EnableDebugLevelLogging',
        'revert_debug_logging': 'RevertDebugLogging',
        'enable_auto_update': 'EnableAutoUpdate',
        'log_file_retention_days': 'LogFileRetentionDays',
        'run_at_startup': 'RunAtStartup',
        'is_startup_wizard_completed': 'IsStartupWizardCompleted',
        'cache_path': 'CachePath'
    }

    def __init__(self, enable_upn_p=None, public_port=None, public_https_port=None, http_server_port_number=None, https_port_number=None, enable_https=None, certificate_path=None, certificate_password=None, is_port_authorized=None, auto_run_web_app=None, enable_remote_access=None, log_all_query_times=None, enable_case_sensitive_item_ids=None, metadata_path=None, metadata_network_path=None, preferred_metadata_language=None, metadata_country_code=None, sort_remove_words=None, library_monitor_delay_seconds=None, enable_dashboard_response_caching=None, dashboard_source_path=None, image_saving_convention=None, enable_automatic_restart=None, server_name=None, preferred_detected_remote_address_family=None, wan_ddns=None, ui_culture=None, remote_client_bitrate_limit=None, local_network_subnets=None, local_network_addresses=None, enable_external_content_in_suggestions=None, require_https=None, is_behind_proxy=None, remote_ip_filter=None, is_remote_ip_filter_blacklist=None, image_extraction_timeout_ms=None, path_substitutions=None, uninstalled_plugins=None, collapse_video_folders=None, enable_original_track_titles=None, vacuum_database_on_startup=None, simultaneous_stream_limit=None, database_cache_size_mb=None, enable_sq_lite_mmio=None, playlists_upgraded_to_m3_u=None, image_extractor_upgraded1=None, enable_people_letter_sub_folders=None, optimize_database_on_shutdown=None, database_analysis_limit=None, disable_async_io=None, migrated_to_user_item_shares8=None, migrated_library_options_to_db=None, allow_legacy_local_network_password=None, enable_saved_metadata_for_people=None, tv_channels_refreshed=None, proxy_header_mode=None, enable_debug_level_logging=None, revert_debug_logging=None, enable_auto_update=None, log_file_retention_days=None, run_at_startup=None, is_startup_wizard_completed=None, cache_path=None):  # noqa: E501
        """ServerConfiguration - a model defined in Swagger"""  # noqa: E501
        self._enable_upn_p = None
        self._public_port = None
        self._public_https_port = None
        self._http_server_port_number = None
        self._https_port_number = None
        self._enable_https = None
        self._certificate_path = None
        self._certificate_password = None
        self._is_port_authorized = None
        self._auto_run_web_app = None
        self._enable_remote_access = None
        self._log_all_query_times = None
        self._enable_case_sensitive_item_ids = None
        self._metadata_path = None
        self._metadata_network_path = None
        self._preferred_metadata_language = None
        self._metadata_country_code = None
        self._sort_remove_words = None
        self._library_monitor_delay_seconds = None
        self._enable_dashboard_response_caching = None
        self._dashboard_source_path = None
        self._image_saving_convention = None
        self._enable_automatic_restart = None
        self._server_name = None
        self._preferred_detected_remote_address_family = None
        self._wan_ddns = None
        self._ui_culture = None
        self._remote_client_bitrate_limit = None
        self._local_network_subnets = None
        self._local_network_addresses = None
        self._enable_external_content_in_suggestions = None
        self._require_https = None
        self._is_behind_proxy = None
        self._remote_ip_filter = None
        self._is_remote_ip_filter_blacklist = None
        self._image_extraction_timeout_ms = None
        self._path_substitutions = None
        self._uninstalled_plugins = None
        self._collapse_video_folders = None
        self._enable_original_track_titles = None
        self._vacuum_database_on_startup = None
        self._simultaneous_stream_limit = None
        self._database_cache_size_mb = None
        self._enable_sq_lite_mmio = None
        self._playlists_upgraded_to_m3_u = None
        self._image_extractor_upgraded1 = None
        self._enable_people_letter_sub_folders = None
        self._optimize_database_on_shutdown = None
        self._database_analysis_limit = None
        self._disable_async_io = None
        self._migrated_to_user_item_shares8 = None
        self._migrated_library_options_to_db = None
        self._allow_legacy_local_network_password = None
        self._enable_saved_metadata_for_people = None
        self._tv_channels_refreshed = None
        self._proxy_header_mode = None
        self._enable_debug_level_logging = None
        self._revert_debug_logging = None
        self._enable_auto_update = None
        self._log_file_retention_days = None
        self._run_at_startup = None
        self._is_startup_wizard_completed = None
        self._cache_path = None
        self.discriminator = None
        if enable_upn_p is not None:
            self.enable_upn_p = enable_upn_p
        if public_port is not None:
            self.public_port = public_port
        if public_https_port is not None:
            self.public_https_port = public_https_port
        if http_server_port_number is not None:
            self.http_server_port_number = http_server_port_number
        if https_port_number is not None:
            self.https_port_number = https_port_number
        if enable_https is not None:
            self.enable_https = enable_https
        if certificate_path is not None:
            self.certificate_path = certificate_path
        if certificate_password is not None:
            self.certificate_password = certificate_password
        if is_port_authorized is not None:
            self.is_port_authorized = is_port_authorized
        if auto_run_web_app is not None:
            self.auto_run_web_app = auto_run_web_app
        if enable_remote_access is not None:
            self.enable_remote_access = enable_remote_access
        if log_all_query_times is not None:
            self.log_all_query_times = log_all_query_times
        if enable_case_sensitive_item_ids is not None:
            self.enable_case_sensitive_item_ids = enable_case_sensitive_item_ids
        if metadata_path is not None:
            self.metadata_path = metadata_path
        if metadata_network_path is not None:
            self.metadata_network_path = metadata_network_path
        if preferred_metadata_language is not None:
            self.preferred_metadata_language = preferred_metadata_language
        if metadata_country_code is not None:
            self.metadata_country_code = metadata_country_code
        if sort_remove_words is not None:
            self.sort_remove_words = sort_remove_words
        if library_monitor_delay_seconds is not None:
            self.library_monitor_delay_seconds = library_monitor_delay_seconds
        if enable_dashboard_response_caching is not None:
            self.enable_dashboard_response_caching = enable_dashboard_response_caching
        if dashboard_source_path is not None:
            self.dashboard_source_path = dashboard_source_path
        if image_saving_convention is not None:
            self.image_saving_convention = image_saving_convention
        if enable_automatic_restart is not None:
            self.enable_automatic_restart = enable_automatic_restart
        if server_name is not None:
            self.server_name = server_name
        if preferred_detected_remote_address_family is not None:
            self.preferred_detected_remote_address_family = preferred_detected_remote_address_family
        if wan_ddns is not None:
            self.wan_ddns = wan_ddns
        if ui_culture is not None:
            self.ui_culture = ui_culture
        if remote_client_bitrate_limit is not None:
            self.remote_client_bitrate_limit = remote_client_bitrate_limit
        if local_network_subnets is not None:
            self.local_network_subnets = local_network_subnets
        if local_network_addresses is not None:
            self.local_network_addresses = local_network_addresses
        if enable_external_content_in_suggestions is not None:
            self.enable_external_content_in_suggestions = enable_external_content_in_suggestions
        if require_https is not None:
            self.require_https = require_https
        if is_behind_proxy is not None:
            self.is_behind_proxy = is_behind_proxy
        if remote_ip_filter is not None:
            self.remote_ip_filter = remote_ip_filter
        if is_remote_ip_filter_blacklist is not None:
            self.is_remote_ip_filter_blacklist = is_remote_ip_filter_blacklist
        if image_extraction_timeout_ms is not None:
            self.image_extraction_timeout_ms = image_extraction_timeout_ms
        if path_substitutions is not None:
            self.path_substitutions = path_substitutions
        if uninstalled_plugins is not None:
            self.uninstalled_plugins = uninstalled_plugins
        if collapse_video_folders is not None:
            self.collapse_video_folders = collapse_video_folders
        if enable_original_track_titles is not None:
            self.enable_original_track_titles = enable_original_track_titles
        if vacuum_database_on_startup is not None:
            self.vacuum_database_on_startup = vacuum_database_on_startup
        if simultaneous_stream_limit is not None:
            self.simultaneous_stream_limit = simultaneous_stream_limit
        if database_cache_size_mb is not None:
            self.database_cache_size_mb = database_cache_size_mb
        if enable_sq_lite_mmio is not None:
            self.enable_sq_lite_mmio = enable_sq_lite_mmio
        if playlists_upgraded_to_m3_u is not None:
            self.playlists_upgraded_to_m3_u = playlists_upgraded_to_m3_u
        if image_extractor_upgraded1 is not None:
            self.image_extractor_upgraded1 = image_extractor_upgraded1
        if enable_people_letter_sub_folders is not None:
            self.enable_people_letter_sub_folders = enable_people_letter_sub_folders
        if optimize_database_on_shutdown is not None:
            self.optimize_database_on_shutdown = optimize_database_on_shutdown
        if database_analysis_limit is not None:
            self.database_analysis_limit = database_analysis_limit
        if disable_async_io is not None:
            self.disable_async_io = disable_async_io
        if migrated_to_user_item_shares8 is not None:
            self.migrated_to_user_item_shares8 = migrated_to_user_item_shares8
        if migrated_library_options_to_db is not None:
            self.migrated_library_options_to_db = migrated_library_options_to_db
        if allow_legacy_local_network_password is not None:
            self.allow_legacy_local_network_password = allow_legacy_local_network_password
        if enable_saved_metadata_for_people is not None:
            self.enable_saved_metadata_for_people = enable_saved_metadata_for_people
        if tv_channels_refreshed is not None:
            self.tv_channels_refreshed = tv_channels_refreshed
        if proxy_header_mode is not None:
            self.proxy_header_mode = proxy_header_mode
        if enable_debug_level_logging is not None:
            self.enable_debug_level_logging = enable_debug_level_logging
        if revert_debug_logging is not None:
            self.revert_debug_logging = revert_debug_logging
        if enable_auto_update is not None:
            self.enable_auto_update = enable_auto_update
        if log_file_retention_days is not None:
            self.log_file_retention_days = log_file_retention_days
        if run_at_startup is not None:
            self.run_at_startup = run_at_startup
        if is_startup_wizard_completed is not None:
            self.is_startup_wizard_completed = is_startup_wizard_completed
        if cache_path is not None:
            self.cache_path = cache_path

    @property
    def enable_upn_p(self):
        """Gets the enable_upn_p of this ServerConfiguration.  # noqa: E501

        A value indicating whether \\[enable u pn p\\].  # noqa: E501

        :return: The enable_upn_p of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_upn_p

    @enable_upn_p.setter
    def enable_upn_p(self, enable_upn_p):
        """Sets the enable_upn_p of this ServerConfiguration.

        A value indicating whether \\[enable u pn p\\].  # noqa: E501

        :param enable_upn_p: The enable_upn_p of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_upn_p = enable_upn_p

    @property
    def public_port(self):
        """Gets the public_port of this ServerConfiguration.  # noqa: E501

        The public mapped port.  # noqa: E501

        :return: The public_port of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._public_port

    @public_port.setter
    def public_port(self, public_port):
        """Sets the public_port of this ServerConfiguration.

        The public mapped port.  # noqa: E501

        :param public_port: The public_port of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._public_port = public_port

    @property
    def public_https_port(self):
        """Gets the public_https_port of this ServerConfiguration.  # noqa: E501

        The public HTTPS port.  # noqa: E501

        :return: The public_https_port of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._public_https_port

    @public_https_port.setter
    def public_https_port(self, public_https_port):
        """Sets the public_https_port of this ServerConfiguration.

        The public HTTPS port.  # noqa: E501

        :param public_https_port: The public_https_port of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._public_https_port = public_https_port

    @property
    def http_server_port_number(self):
        """Gets the http_server_port_number of this ServerConfiguration.  # noqa: E501

        The HTTP server port number.  # noqa: E501

        :return: The http_server_port_number of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._http_server_port_number

    @http_server_port_number.setter
    def http_server_port_number(self, http_server_port_number):
        """Sets the http_server_port_number of this ServerConfiguration.

        The HTTP server port number.  # noqa: E501

        :param http_server_port_number: The http_server_port_number of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._http_server_port_number = http_server_port_number

    @property
    def https_port_number(self):
        """Gets the https_port_number of this ServerConfiguration.  # noqa: E501

        The HTTPS server port number.  # noqa: E501

        :return: The https_port_number of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._https_port_number

    @https_port_number.setter
    def https_port_number(self, https_port_number):
        """Sets the https_port_number of this ServerConfiguration.

        The HTTPS server port number.  # noqa: E501

        :param https_port_number: The https_port_number of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._https_port_number = https_port_number

    @property
    def enable_https(self):
        """Gets the enable_https of this ServerConfiguration.  # noqa: E501

        A value indicating whether \\[use HTTPS\\].  # noqa: E501

        :return: The enable_https of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_https

    @enable_https.setter
    def enable_https(self, enable_https):
        """Sets the enable_https of this ServerConfiguration.

        A value indicating whether \\[use HTTPS\\].  # noqa: E501

        :param enable_https: The enable_https of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_https = enable_https

    @property
    def certificate_path(self):
        """Gets the certificate_path of this ServerConfiguration.  # noqa: E501

        The value pointing to the file system where the ssl certiifcate is located..  # noqa: E501

        :return: The certificate_path of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._certificate_path

    @certificate_path.setter
    def certificate_path(self, certificate_path):
        """Sets the certificate_path of this ServerConfiguration.

        The value pointing to the file system where the ssl certiifcate is located..  # noqa: E501

        :param certificate_path: The certificate_path of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._certificate_path = certificate_path

    @property
    def certificate_password(self):
        """Gets the certificate_password of this ServerConfiguration.  # noqa: E501


        :return: The certificate_password of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._certificate_password

    @certificate_password.setter
    def certificate_password(self, certificate_password):
        """Sets the certificate_password of this ServerConfiguration.


        :param certificate_password: The certificate_password of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._certificate_password = certificate_password

    @property
    def is_port_authorized(self):
        """Gets the is_port_authorized of this ServerConfiguration.  # noqa: E501

        A value indicating whether this instance is port authorized.  # noqa: E501

        :return: The is_port_authorized of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._is_port_authorized

    @is_port_authorized.setter
    def is_port_authorized(self, is_port_authorized):
        """Sets the is_port_authorized of this ServerConfiguration.

        A value indicating whether this instance is port authorized.  # noqa: E501

        :param is_port_authorized: The is_port_authorized of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._is_port_authorized = is_port_authorized

    @property
    def auto_run_web_app(self):
        """Gets the auto_run_web_app of this ServerConfiguration.  # noqa: E501


        :return: The auto_run_web_app of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._auto_run_web_app

    @auto_run_web_app.setter
    def auto_run_web_app(self, auto_run_web_app):
        """Sets the auto_run_web_app of this ServerConfiguration.


        :param auto_run_web_app: The auto_run_web_app of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._auto_run_web_app = auto_run_web_app

    @property
    def enable_remote_access(self):
        """Gets the enable_remote_access of this ServerConfiguration.  # noqa: E501


        :return: The enable_remote_access of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_remote_access

    @enable_remote_access.setter
    def enable_remote_access(self, enable_remote_access):
        """Sets the enable_remote_access of this ServerConfiguration.


        :param enable_remote_access: The enable_remote_access of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_remote_access = enable_remote_access

    @property
    def log_all_query_times(self):
        """Gets the log_all_query_times of this ServerConfiguration.  # noqa: E501


        :return: The log_all_query_times of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._log_all_query_times

    @log_all_query_times.setter
    def log_all_query_times(self, log_all_query_times):
        """Sets the log_all_query_times of this ServerConfiguration.


        :param log_all_query_times: The log_all_query_times of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._log_all_query_times = log_all_query_times

    @property
    def enable_case_sensitive_item_ids(self):
        """Gets the enable_case_sensitive_item_ids of this ServerConfiguration.  # noqa: E501

        A value indicating whether \\[enable case sensitive item ids\\].  # noqa: E501

        :return: The enable_case_sensitive_item_ids of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_case_sensitive_item_ids

    @enable_case_sensitive_item_ids.setter
    def enable_case_sensitive_item_ids(self, enable_case_sensitive_item_ids):
        """Sets the enable_case_sensitive_item_ids of this ServerConfiguration.

        A value indicating whether \\[enable case sensitive item ids\\].  # noqa: E501

        :param enable_case_sensitive_item_ids: The enable_case_sensitive_item_ids of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_case_sensitive_item_ids = enable_case_sensitive_item_ids

    @property
    def metadata_path(self):
        """Gets the metadata_path of this ServerConfiguration.  # noqa: E501

        The metadata path.  # noqa: E501

        :return: The metadata_path of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._metadata_path

    @metadata_path.setter
    def metadata_path(self, metadata_path):
        """Sets the metadata_path of this ServerConfiguration.

        The metadata path.  # noqa: E501

        :param metadata_path: The metadata_path of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._metadata_path = metadata_path

    @property
    def metadata_network_path(self):
        """Gets the metadata_network_path of this ServerConfiguration.  # noqa: E501


        :return: The metadata_network_path of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._metadata_network_path

    @metadata_network_path.setter
    def metadata_network_path(self, metadata_network_path):
        """Sets the metadata_network_path of this ServerConfiguration.


        :param metadata_network_path: The metadata_network_path of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._metadata_network_path = metadata_network_path

    @property
    def preferred_metadata_language(self):
        """Gets the preferred_metadata_language of this ServerConfiguration.  # noqa: E501

        The preferred metadata language.  # noqa: E501

        :return: The preferred_metadata_language of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._preferred_metadata_language

    @preferred_metadata_language.setter
    def preferred_metadata_language(self, preferred_metadata_language):
        """Sets the preferred_metadata_language of this ServerConfiguration.

        The preferred metadata language.  # noqa: E501

        :param preferred_metadata_language: The preferred_metadata_language of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._preferred_metadata_language = preferred_metadata_language

    @property
    def metadata_country_code(self):
        """Gets the metadata_country_code of this ServerConfiguration.  # noqa: E501

        The metadata country code.  # noqa: E501

        :return: The metadata_country_code of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._metadata_country_code

    @metadata_country_code.setter
    def metadata_country_code(self, metadata_country_code):
        """Sets the metadata_country_code of this ServerConfiguration.

        The metadata country code.  # noqa: E501

        :param metadata_country_code: The metadata_country_code of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._metadata_country_code = metadata_country_code

    @property
    def sort_remove_words(self):
        """Gets the sort_remove_words of this ServerConfiguration.  # noqa: E501

        Words to be removed from strings to create a sort name  # noqa: E501

        :return: The sort_remove_words of this ServerConfiguration.  # noqa: E501
        :rtype: list[str]
        """
        return self._sort_remove_words

    @sort_remove_words.setter
    def sort_remove_words(self, sort_remove_words):
        """Sets the sort_remove_words of this ServerConfiguration.

        Words to be removed from strings to create a sort name  # noqa: E501

        :param sort_remove_words: The sort_remove_words of this ServerConfiguration.  # noqa: E501
        :type: list[str]
        """

        self._sort_remove_words = sort_remove_words

    @property
    def library_monitor_delay_seconds(self):
        """Gets the library_monitor_delay_seconds of this ServerConfiguration.  # noqa: E501

        The delay in seconds that we will wait after a file system change to try and discover what has been added/removed Some delay is necessary with some items because their creation is not atomic.  It involves the creation of several different directories and files.  # noqa: E501

        :return: The library_monitor_delay_seconds of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._library_monitor_delay_seconds

    @library_monitor_delay_seconds.setter
    def library_monitor_delay_seconds(self, library_monitor_delay_seconds):
        """Sets the library_monitor_delay_seconds of this ServerConfiguration.

        The delay in seconds that we will wait after a file system change to try and discover what has been added/removed Some delay is necessary with some items because their creation is not atomic.  It involves the creation of several different directories and files.  # noqa: E501

        :param library_monitor_delay_seconds: The library_monitor_delay_seconds of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._library_monitor_delay_seconds = library_monitor_delay_seconds

    @property
    def enable_dashboard_response_caching(self):
        """Gets the enable_dashboard_response_caching of this ServerConfiguration.  # noqa: E501

        A value indicating whether \\[enable dashboard response caching\\]. Allows potential contributors without visual studio to modify production dashboard code and test changes.  # noqa: E501

        :return: The enable_dashboard_response_caching of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_dashboard_response_caching

    @enable_dashboard_response_caching.setter
    def enable_dashboard_response_caching(self, enable_dashboard_response_caching):
        """Sets the enable_dashboard_response_caching of this ServerConfiguration.

        A value indicating whether \\[enable dashboard response caching\\]. Allows potential contributors without visual studio to modify production dashboard code and test changes.  # noqa: E501

        :param enable_dashboard_response_caching: The enable_dashboard_response_caching of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_dashboard_response_caching = enable_dashboard_response_caching

    @property
    def dashboard_source_path(self):
        """Gets the dashboard_source_path of this ServerConfiguration.  # noqa: E501

        Allows the dashboard to be served from a custom path.  # noqa: E501

        :return: The dashboard_source_path of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._dashboard_source_path

    @dashboard_source_path.setter
    def dashboard_source_path(self, dashboard_source_path):
        """Sets the dashboard_source_path of this ServerConfiguration.

        Allows the dashboard to be served from a custom path.  # noqa: E501

        :param dashboard_source_path: The dashboard_source_path of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._dashboard_source_path = dashboard_source_path

    @property
    def image_saving_convention(self):
        """Gets the image_saving_convention of this ServerConfiguration.  # noqa: E501


        :return: The image_saving_convention of this ServerConfiguration.  # noqa: E501
        :rtype: ImageSavingConvention
        """
        return self._image_saving_convention

    @image_saving_convention.setter
    def image_saving_convention(self, image_saving_convention):
        """Sets the image_saving_convention of this ServerConfiguration.


        :param image_saving_convention: The image_saving_convention of this ServerConfiguration.  # noqa: E501
        :type: ImageSavingConvention
        """

        self._image_saving_convention = image_saving_convention

    @property
    def enable_automatic_restart(self):
        """Gets the enable_automatic_restart of this ServerConfiguration.  # noqa: E501


        :return: The enable_automatic_restart of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_automatic_restart

    @enable_automatic_restart.setter
    def enable_automatic_restart(self, enable_automatic_restart):
        """Sets the enable_automatic_restart of this ServerConfiguration.


        :param enable_automatic_restart: The enable_automatic_restart of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_automatic_restart = enable_automatic_restart

    @property
    def server_name(self):
        """Gets the server_name of this ServerConfiguration.  # noqa: E501


        :return: The server_name of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._server_name

    @server_name.setter
    def server_name(self, server_name):
        """Sets the server_name of this ServerConfiguration.


        :param server_name: The server_name of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._server_name = server_name

    @property
    def preferred_detected_remote_address_family(self):
        """Gets the preferred_detected_remote_address_family of this ServerConfiguration.  # noqa: E501


        :return: The preferred_detected_remote_address_family of this ServerConfiguration.  # noqa: E501
        :rtype: NetSocketsAddressFamily
        """
        return self._preferred_detected_remote_address_family

    @preferred_detected_remote_address_family.setter
    def preferred_detected_remote_address_family(self, preferred_detected_remote_address_family):
        """Sets the preferred_detected_remote_address_family of this ServerConfiguration.


        :param preferred_detected_remote_address_family: The preferred_detected_remote_address_family of this ServerConfiguration.  # noqa: E501
        :type: NetSocketsAddressFamily
        """

        self._preferred_detected_remote_address_family = preferred_detected_remote_address_family

    @property
    def wan_ddns(self):
        """Gets the wan_ddns of this ServerConfiguration.  # noqa: E501


        :return: The wan_ddns of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._wan_ddns

    @wan_ddns.setter
    def wan_ddns(self, wan_ddns):
        """Sets the wan_ddns of this ServerConfiguration.


        :param wan_ddns: The wan_ddns of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._wan_ddns = wan_ddns

    @property
    def ui_culture(self):
        """Gets the ui_culture of this ServerConfiguration.  # noqa: E501


        :return: The ui_culture of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._ui_culture

    @ui_culture.setter
    def ui_culture(self, ui_culture):
        """Sets the ui_culture of this ServerConfiguration.


        :param ui_culture: The ui_culture of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._ui_culture = ui_culture

    @property
    def remote_client_bitrate_limit(self):
        """Gets the remote_client_bitrate_limit of this ServerConfiguration.  # noqa: E501


        :return: The remote_client_bitrate_limit of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._remote_client_bitrate_limit

    @remote_client_bitrate_limit.setter
    def remote_client_bitrate_limit(self, remote_client_bitrate_limit):
        """Sets the remote_client_bitrate_limit of this ServerConfiguration.


        :param remote_client_bitrate_limit: The remote_client_bitrate_limit of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._remote_client_bitrate_limit = remote_client_bitrate_limit

    @property
    def local_network_subnets(self):
        """Gets the local_network_subnets of this ServerConfiguration.  # noqa: E501


        :return: The local_network_subnets of this ServerConfiguration.  # noqa: E501
        :rtype: list[str]
        """
        return self._local_network_subnets

    @local_network_subnets.setter
    def local_network_subnets(self, local_network_subnets):
        """Sets the local_network_subnets of this ServerConfiguration.


        :param local_network_subnets: The local_network_subnets of this ServerConfiguration.  # noqa: E501
        :type: list[str]
        """

        self._local_network_subnets = local_network_subnets

    @property
    def local_network_addresses(self):
        """Gets the local_network_addresses of this ServerConfiguration.  # noqa: E501


        :return: The local_network_addresses of this ServerConfiguration.  # noqa: E501
        :rtype: list[str]
        """
        return self._local_network_addresses

    @local_network_addresses.setter
    def local_network_addresses(self, local_network_addresses):
        """Sets the local_network_addresses of this ServerConfiguration.


        :param local_network_addresses: The local_network_addresses of this ServerConfiguration.  # noqa: E501
        :type: list[str]
        """

        self._local_network_addresses = local_network_addresses

    @property
    def enable_external_content_in_suggestions(self):
        """Gets the enable_external_content_in_suggestions of this ServerConfiguration.  # noqa: E501


        :return: The enable_external_content_in_suggestions of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_external_content_in_suggestions

    @enable_external_content_in_suggestions.setter
    def enable_external_content_in_suggestions(self, enable_external_content_in_suggestions):
        """Sets the enable_external_content_in_suggestions of this ServerConfiguration.


        :param enable_external_content_in_suggestions: The enable_external_content_in_suggestions of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_external_content_in_suggestions = enable_external_content_in_suggestions

    @property
    def require_https(self):
        """Gets the require_https of this ServerConfiguration.  # noqa: E501


        :return: The require_https of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._require_https

    @require_https.setter
    def require_https(self, require_https):
        """Sets the require_https of this ServerConfiguration.


        :param require_https: The require_https of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._require_https = require_https

    @property
    def is_behind_proxy(self):
        """Gets the is_behind_proxy of this ServerConfiguration.  # noqa: E501


        :return: The is_behind_proxy of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._is_behind_proxy

    @is_behind_proxy.setter
    def is_behind_proxy(self, is_behind_proxy):
        """Sets the is_behind_proxy of this ServerConfiguration.


        :param is_behind_proxy: The is_behind_proxy of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._is_behind_proxy = is_behind_proxy

    @property
    def remote_ip_filter(self):
        """Gets the remote_ip_filter of this ServerConfiguration.  # noqa: E501


        :return: The remote_ip_filter of this ServerConfiguration.  # noqa: E501
        :rtype: list[str]
        """
        return self._remote_ip_filter

    @remote_ip_filter.setter
    def remote_ip_filter(self, remote_ip_filter):
        """Sets the remote_ip_filter of this ServerConfiguration.


        :param remote_ip_filter: The remote_ip_filter of this ServerConfiguration.  # noqa: E501
        :type: list[str]
        """

        self._remote_ip_filter = remote_ip_filter

    @property
    def is_remote_ip_filter_blacklist(self):
        """Gets the is_remote_ip_filter_blacklist of this ServerConfiguration.  # noqa: E501


        :return: The is_remote_ip_filter_blacklist of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._is_remote_ip_filter_blacklist

    @is_remote_ip_filter_blacklist.setter
    def is_remote_ip_filter_blacklist(self, is_remote_ip_filter_blacklist):
        """Sets the is_remote_ip_filter_blacklist of this ServerConfiguration.


        :param is_remote_ip_filter_blacklist: The is_remote_ip_filter_blacklist of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._is_remote_ip_filter_blacklist = is_remote_ip_filter_blacklist

    @property
    def image_extraction_timeout_ms(self):
        """Gets the image_extraction_timeout_ms of this ServerConfiguration.  # noqa: E501


        :return: The image_extraction_timeout_ms of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._image_extraction_timeout_ms

    @image_extraction_timeout_ms.setter
    def image_extraction_timeout_ms(self, image_extraction_timeout_ms):
        """Sets the image_extraction_timeout_ms of this ServerConfiguration.


        :param image_extraction_timeout_ms: The image_extraction_timeout_ms of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._image_extraction_timeout_ms = image_extraction_timeout_ms

    @property
    def path_substitutions(self):
        """Gets the path_substitutions of this ServerConfiguration.  # noqa: E501


        :return: The path_substitutions of this ServerConfiguration.  # noqa: E501
        :rtype: list[PathSubstitution]
        """
        return self._path_substitutions

    @path_substitutions.setter
    def path_substitutions(self, path_substitutions):
        """Sets the path_substitutions of this ServerConfiguration.


        :param path_substitutions: The path_substitutions of this ServerConfiguration.  # noqa: E501
        :type: list[PathSubstitution]
        """

        self._path_substitutions = path_substitutions

    @property
    def uninstalled_plugins(self):
        """Gets the uninstalled_plugins of this ServerConfiguration.  # noqa: E501


        :return: The uninstalled_plugins of this ServerConfiguration.  # noqa: E501
        :rtype: list[str]
        """
        return self._uninstalled_plugins

    @uninstalled_plugins.setter
    def uninstalled_plugins(self, uninstalled_plugins):
        """Sets the uninstalled_plugins of this ServerConfiguration.


        :param uninstalled_plugins: The uninstalled_plugins of this ServerConfiguration.  # noqa: E501
        :type: list[str]
        """

        self._uninstalled_plugins = uninstalled_plugins

    @property
    def collapse_video_folders(self):
        """Gets the collapse_video_folders of this ServerConfiguration.  # noqa: E501


        :return: The collapse_video_folders of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._collapse_video_folders

    @collapse_video_folders.setter
    def collapse_video_folders(self, collapse_video_folders):
        """Sets the collapse_video_folders of this ServerConfiguration.


        :param collapse_video_folders: The collapse_video_folders of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._collapse_video_folders = collapse_video_folders

    @property
    def enable_original_track_titles(self):
        """Gets the enable_original_track_titles of this ServerConfiguration.  # noqa: E501


        :return: The enable_original_track_titles of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_original_track_titles

    @enable_original_track_titles.setter
    def enable_original_track_titles(self, enable_original_track_titles):
        """Sets the enable_original_track_titles of this ServerConfiguration.


        :param enable_original_track_titles: The enable_original_track_titles of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_original_track_titles = enable_original_track_titles

    @property
    def vacuum_database_on_startup(self):
        """Gets the vacuum_database_on_startup of this ServerConfiguration.  # noqa: E501


        :return: The vacuum_database_on_startup of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._vacuum_database_on_startup

    @vacuum_database_on_startup.setter
    def vacuum_database_on_startup(self, vacuum_database_on_startup):
        """Sets the vacuum_database_on_startup of this ServerConfiguration.


        :param vacuum_database_on_startup: The vacuum_database_on_startup of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._vacuum_database_on_startup = vacuum_database_on_startup

    @property
    def simultaneous_stream_limit(self):
        """Gets the simultaneous_stream_limit of this ServerConfiguration.  # noqa: E501


        :return: The simultaneous_stream_limit of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._simultaneous_stream_limit

    @simultaneous_stream_limit.setter
    def simultaneous_stream_limit(self, simultaneous_stream_limit):
        """Sets the simultaneous_stream_limit of this ServerConfiguration.


        :param simultaneous_stream_limit: The simultaneous_stream_limit of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._simultaneous_stream_limit = simultaneous_stream_limit

    @property
    def database_cache_size_mb(self):
        """Gets the database_cache_size_mb of this ServerConfiguration.  # noqa: E501


        :return: The database_cache_size_mb of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._database_cache_size_mb

    @database_cache_size_mb.setter
    def database_cache_size_mb(self, database_cache_size_mb):
        """Sets the database_cache_size_mb of this ServerConfiguration.


        :param database_cache_size_mb: The database_cache_size_mb of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._database_cache_size_mb = database_cache_size_mb

    @property
    def enable_sq_lite_mmio(self):
        """Gets the enable_sq_lite_mmio of this ServerConfiguration.  # noqa: E501


        :return: The enable_sq_lite_mmio of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_sq_lite_mmio

    @enable_sq_lite_mmio.setter
    def enable_sq_lite_mmio(self, enable_sq_lite_mmio):
        """Sets the enable_sq_lite_mmio of this ServerConfiguration.


        :param enable_sq_lite_mmio: The enable_sq_lite_mmio of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_sq_lite_mmio = enable_sq_lite_mmio

    @property
    def playlists_upgraded_to_m3_u(self):
        """Gets the playlists_upgraded_to_m3_u of this ServerConfiguration.  # noqa: E501


        :return: The playlists_upgraded_to_m3_u of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._playlists_upgraded_to_m3_u

    @playlists_upgraded_to_m3_u.setter
    def playlists_upgraded_to_m3_u(self, playlists_upgraded_to_m3_u):
        """Sets the playlists_upgraded_to_m3_u of this ServerConfiguration.


        :param playlists_upgraded_to_m3_u: The playlists_upgraded_to_m3_u of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._playlists_upgraded_to_m3_u = playlists_upgraded_to_m3_u

    @property
    def image_extractor_upgraded1(self):
        """Gets the image_extractor_upgraded1 of this ServerConfiguration.  # noqa: E501


        :return: The image_extractor_upgraded1 of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._image_extractor_upgraded1

    @image_extractor_upgraded1.setter
    def image_extractor_upgraded1(self, image_extractor_upgraded1):
        """Sets the image_extractor_upgraded1 of this ServerConfiguration.


        :param image_extractor_upgraded1: The image_extractor_upgraded1 of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._image_extractor_upgraded1 = image_extractor_upgraded1

    @property
    def enable_people_letter_sub_folders(self):
        """Gets the enable_people_letter_sub_folders of this ServerConfiguration.  # noqa: E501


        :return: The enable_people_letter_sub_folders of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_people_letter_sub_folders

    @enable_people_letter_sub_folders.setter
    def enable_people_letter_sub_folders(self, enable_people_letter_sub_folders):
        """Sets the enable_people_letter_sub_folders of this ServerConfiguration.


        :param enable_people_letter_sub_folders: The enable_people_letter_sub_folders of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_people_letter_sub_folders = enable_people_letter_sub_folders

    @property
    def optimize_database_on_shutdown(self):
        """Gets the optimize_database_on_shutdown of this ServerConfiguration.  # noqa: E501


        :return: The optimize_database_on_shutdown of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._optimize_database_on_shutdown

    @optimize_database_on_shutdown.setter
    def optimize_database_on_shutdown(self, optimize_database_on_shutdown):
        """Sets the optimize_database_on_shutdown of this ServerConfiguration.


        :param optimize_database_on_shutdown: The optimize_database_on_shutdown of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._optimize_database_on_shutdown = optimize_database_on_shutdown

    @property
    def database_analysis_limit(self):
        """Gets the database_analysis_limit of this ServerConfiguration.  # noqa: E501


        :return: The database_analysis_limit of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._database_analysis_limit

    @database_analysis_limit.setter
    def database_analysis_limit(self, database_analysis_limit):
        """Sets the database_analysis_limit of this ServerConfiguration.


        :param database_analysis_limit: The database_analysis_limit of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._database_analysis_limit = database_analysis_limit

    @property
    def disable_async_io(self):
        """Gets the disable_async_io of this ServerConfiguration.  # noqa: E501


        :return: The disable_async_io of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._disable_async_io

    @disable_async_io.setter
    def disable_async_io(self, disable_async_io):
        """Sets the disable_async_io of this ServerConfiguration.


        :param disable_async_io: The disable_async_io of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._disable_async_io = disable_async_io

    @property
    def migrated_to_user_item_shares8(self):
        """Gets the migrated_to_user_item_shares8 of this ServerConfiguration.  # noqa: E501


        :return: The migrated_to_user_item_shares8 of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._migrated_to_user_item_shares8

    @migrated_to_user_item_shares8.setter
    def migrated_to_user_item_shares8(self, migrated_to_user_item_shares8):
        """Sets the migrated_to_user_item_shares8 of this ServerConfiguration.


        :param migrated_to_user_item_shares8: The migrated_to_user_item_shares8 of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._migrated_to_user_item_shares8 = migrated_to_user_item_shares8

    @property
    def migrated_library_options_to_db(self):
        """Gets the migrated_library_options_to_db of this ServerConfiguration.  # noqa: E501


        :return: The migrated_library_options_to_db of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._migrated_library_options_to_db

    @migrated_library_options_to_db.setter
    def migrated_library_options_to_db(self, migrated_library_options_to_db):
        """Sets the migrated_library_options_to_db of this ServerConfiguration.


        :param migrated_library_options_to_db: The migrated_library_options_to_db of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._migrated_library_options_to_db = migrated_library_options_to_db

    @property
    def allow_legacy_local_network_password(self):
        """Gets the allow_legacy_local_network_password of this ServerConfiguration.  # noqa: E501


        :return: The allow_legacy_local_network_password of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._allow_legacy_local_network_password

    @allow_legacy_local_network_password.setter
    def allow_legacy_local_network_password(self, allow_legacy_local_network_password):
        """Sets the allow_legacy_local_network_password of this ServerConfiguration.


        :param allow_legacy_local_network_password: The allow_legacy_local_network_password of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._allow_legacy_local_network_password = allow_legacy_local_network_password

    @property
    def enable_saved_metadata_for_people(self):
        """Gets the enable_saved_metadata_for_people of this ServerConfiguration.  # noqa: E501


        :return: The enable_saved_metadata_for_people of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_saved_metadata_for_people

    @enable_saved_metadata_for_people.setter
    def enable_saved_metadata_for_people(self, enable_saved_metadata_for_people):
        """Sets the enable_saved_metadata_for_people of this ServerConfiguration.


        :param enable_saved_metadata_for_people: The enable_saved_metadata_for_people of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_saved_metadata_for_people = enable_saved_metadata_for_people

    @property
    def tv_channels_refreshed(self):
        """Gets the tv_channels_refreshed of this ServerConfiguration.  # noqa: E501


        :return: The tv_channels_refreshed of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._tv_channels_refreshed

    @tv_channels_refreshed.setter
    def tv_channels_refreshed(self, tv_channels_refreshed):
        """Sets the tv_channels_refreshed of this ServerConfiguration.


        :param tv_channels_refreshed: The tv_channels_refreshed of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._tv_channels_refreshed = tv_channels_refreshed

    @property
    def proxy_header_mode(self):
        """Gets the proxy_header_mode of this ServerConfiguration.  # noqa: E501


        :return: The proxy_header_mode of this ServerConfiguration.  # noqa: E501
        :rtype: ProxyHeaderMode
        """
        return self._proxy_header_mode

    @proxy_header_mode.setter
    def proxy_header_mode(self, proxy_header_mode):
        """Sets the proxy_header_mode of this ServerConfiguration.


        :param proxy_header_mode: The proxy_header_mode of this ServerConfiguration.  # noqa: E501
        :type: ProxyHeaderMode
        """

        self._proxy_header_mode = proxy_header_mode

    @property
    def enable_debug_level_logging(self):
        """Gets the enable_debug_level_logging of this ServerConfiguration.  # noqa: E501

        A value indicating whether \\[enable debug level logging\\].  # noqa: E501

        :return: The enable_debug_level_logging of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_debug_level_logging

    @enable_debug_level_logging.setter
    def enable_debug_level_logging(self, enable_debug_level_logging):
        """Sets the enable_debug_level_logging of this ServerConfiguration.

        A value indicating whether \\[enable debug level logging\\].  # noqa: E501

        :param enable_debug_level_logging: The enable_debug_level_logging of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_debug_level_logging = enable_debug_level_logging

    @property
    def revert_debug_logging(self):
        """Gets the revert_debug_logging of this ServerConfiguration.  # noqa: E501


        :return: The revert_debug_logging of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._revert_debug_logging

    @revert_debug_logging.setter
    def revert_debug_logging(self, revert_debug_logging):
        """Sets the revert_debug_logging of this ServerConfiguration.


        :param revert_debug_logging: The revert_debug_logging of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._revert_debug_logging = revert_debug_logging

    @property
    def enable_auto_update(self):
        """Gets the enable_auto_update of this ServerConfiguration.  # noqa: E501

        Enable automatically and silently updating of the application  # noqa: E501

        :return: The enable_auto_update of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._enable_auto_update

    @enable_auto_update.setter
    def enable_auto_update(self, enable_auto_update):
        """Sets the enable_auto_update of this ServerConfiguration.

        Enable automatically and silently updating of the application  # noqa: E501

        :param enable_auto_update: The enable_auto_update of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._enable_auto_update = enable_auto_update

    @property
    def log_file_retention_days(self):
        """Gets the log_file_retention_days of this ServerConfiguration.  # noqa: E501

        The number of days we should retain log files  # noqa: E501

        :return: The log_file_retention_days of this ServerConfiguration.  # noqa: E501
        :rtype: int
        """
        return self._log_file_retention_days

    @log_file_retention_days.setter
    def log_file_retention_days(self, log_file_retention_days):
        """Sets the log_file_retention_days of this ServerConfiguration.

        The number of days we should retain log files  # noqa: E501

        :param log_file_retention_days: The log_file_retention_days of this ServerConfiguration.  # noqa: E501
        :type: int
        """

        self._log_file_retention_days = log_file_retention_days

    @property
    def run_at_startup(self):
        """Gets the run_at_startup of this ServerConfiguration.  # noqa: E501

        A value indicating whether \\[run at startup\\].  # noqa: E501

        :return: The run_at_startup of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._run_at_startup

    @run_at_startup.setter
    def run_at_startup(self, run_at_startup):
        """Sets the run_at_startup of this ServerConfiguration.

        A value indicating whether \\[run at startup\\].  # noqa: E501

        :param run_at_startup: The run_at_startup of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._run_at_startup = run_at_startup

    @property
    def is_startup_wizard_completed(self):
        """Gets the is_startup_wizard_completed of this ServerConfiguration.  # noqa: E501

        A value indicating whether this instance is first run.  # noqa: E501

        :return: The is_startup_wizard_completed of this ServerConfiguration.  # noqa: E501
        :rtype: bool
        """
        return self._is_startup_wizard_completed

    @is_startup_wizard_completed.setter
    def is_startup_wizard_completed(self, is_startup_wizard_completed):
        """Sets the is_startup_wizard_completed of this ServerConfiguration.

        A value indicating whether this instance is first run.  # noqa: E501

        :param is_startup_wizard_completed: The is_startup_wizard_completed of this ServerConfiguration.  # noqa: E501
        :type: bool
        """

        self._is_startup_wizard_completed = is_startup_wizard_completed

    @property
    def cache_path(self):
        """Gets the cache_path of this ServerConfiguration.  # noqa: E501

        The cache path.  # noqa: E501

        :return: The cache_path of this ServerConfiguration.  # noqa: E501
        :rtype: str
        """
        return self._cache_path

    @cache_path.setter
    def cache_path(self, cache_path):
        """Sets the cache_path of this ServerConfiguration.

        The cache path.  # noqa: E501

        :param cache_path: The cache_path of this ServerConfiguration.  # noqa: E501
        :type: str
        """

        self._cache_path = cache_path

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(ServerConfiguration, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, ServerConfiguration):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
