# coding: utf-8

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

import pprint
import re  # noqa: F401

import six

class UserPolicy(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 = {
        'is_administrator': 'bool',
        'is_hidden': 'bool',
        'is_hidden_remotely': 'bool',
        'is_hidden_from_unused_devices': 'bool',
        'is_disabled': 'bool',
        'locked_out_date': 'int',
        'max_parental_rating': 'int',
        'allow_tag_or_rating': 'bool',
        'blocked_tags': 'list[str]',
        'is_tag_blocking_mode_inclusive': 'bool',
        'include_tags': 'list[str]',
        'enable_user_preference_access': 'bool',
        'access_schedules': 'list[AccessSchedule]',
        'block_unrated_items': 'list[UnratedItem]',
        'enable_remote_control_of_other_users': 'bool',
        'enable_shared_device_control': 'bool',
        'enable_remote_access': 'bool',
        'enable_live_tv_management': 'bool',
        'enable_live_tv_access': 'bool',
        'enable_media_playback': 'bool',
        'enable_audio_playback_transcoding': 'bool',
        'enable_video_playback_transcoding': 'bool',
        'enable_playback_remuxing': 'bool',
        'enable_content_deletion': 'bool',
        'restricted_features': 'list[str]',
        'enable_content_deletion_from_folders': 'list[str]',
        'enable_content_downloading': 'bool',
        'enable_subtitle_downloading': 'bool',
        'enable_subtitle_management': 'bool',
        'enable_sync_transcoding': 'bool',
        'enable_media_conversion': 'bool',
        'enabled_channels': 'list[str]',
        'enable_all_channels': 'bool',
        'enabled_folders': 'list[str]',
        'enable_all_folders': 'bool',
        'invalid_login_attempt_count': 'int',
        'enable_public_sharing': 'bool',
        'blocked_media_folders': 'list[str]',
        'remote_client_bitrate_limit': 'int',
        'authentication_provider_id': 'str',
        'excluded_sub_folders': 'list[str]',
        'simultaneous_stream_limit': 'int',
        'enabled_devices': 'list[str]',
        'enable_all_devices': 'bool',
        'allow_camera_upload': 'bool',
        'allow_sharing_personal_items': 'bool'
    }

    attribute_map = {
        'is_administrator': 'IsAdministrator',
        'is_hidden': 'IsHidden',
        'is_hidden_remotely': 'IsHiddenRemotely',
        'is_hidden_from_unused_devices': 'IsHiddenFromUnusedDevices',
        'is_disabled': 'IsDisabled',
        'locked_out_date': 'LockedOutDate',
        'max_parental_rating': 'MaxParentalRating',
        'allow_tag_or_rating': 'AllowTagOrRating',
        'blocked_tags': 'BlockedTags',
        'is_tag_blocking_mode_inclusive': 'IsTagBlockingModeInclusive',
        'include_tags': 'IncludeTags',
        'enable_user_preference_access': 'EnableUserPreferenceAccess',
        'access_schedules': 'AccessSchedules',
        'block_unrated_items': 'BlockUnratedItems',
        'enable_remote_control_of_other_users': 'EnableRemoteControlOfOtherUsers',
        'enable_shared_device_control': 'EnableSharedDeviceControl',
        'enable_remote_access': 'EnableRemoteAccess',
        'enable_live_tv_management': 'EnableLiveTvManagement',
        'enable_live_tv_access': 'EnableLiveTvAccess',
        'enable_media_playback': 'EnableMediaPlayback',
        'enable_audio_playback_transcoding': 'EnableAudioPlaybackTranscoding',
        'enable_video_playback_transcoding': 'EnableVideoPlaybackTranscoding',
        'enable_playback_remuxing': 'EnablePlaybackRemuxing',
        'enable_content_deletion': 'EnableContentDeletion',
        'restricted_features': 'RestrictedFeatures',
        'enable_content_deletion_from_folders': 'EnableContentDeletionFromFolders',
        'enable_content_downloading': 'EnableContentDownloading',
        'enable_subtitle_downloading': 'EnableSubtitleDownloading',
        'enable_subtitle_management': 'EnableSubtitleManagement',
        'enable_sync_transcoding': 'EnableSyncTranscoding',
        'enable_media_conversion': 'EnableMediaConversion',
        'enabled_channels': 'EnabledChannels',
        'enable_all_channels': 'EnableAllChannels',
        'enabled_folders': 'EnabledFolders',
        'enable_all_folders': 'EnableAllFolders',
        'invalid_login_attempt_count': 'InvalidLoginAttemptCount',
        'enable_public_sharing': 'EnablePublicSharing',
        'blocked_media_folders': 'BlockedMediaFolders',
        'remote_client_bitrate_limit': 'RemoteClientBitrateLimit',
        'authentication_provider_id': 'AuthenticationProviderId',
        'excluded_sub_folders': 'ExcludedSubFolders',
        'simultaneous_stream_limit': 'SimultaneousStreamLimit',
        'enabled_devices': 'EnabledDevices',
        'enable_all_devices': 'EnableAllDevices',
        'allow_camera_upload': 'AllowCameraUpload',
        'allow_sharing_personal_items': 'AllowSharingPersonalItems'
    }

    def __init__(self, is_administrator=None, is_hidden=None, is_hidden_remotely=None, is_hidden_from_unused_devices=None, is_disabled=None, locked_out_date=None, max_parental_rating=None, allow_tag_or_rating=None, blocked_tags=None, is_tag_blocking_mode_inclusive=None, include_tags=None, enable_user_preference_access=None, access_schedules=None, block_unrated_items=None, enable_remote_control_of_other_users=None, enable_shared_device_control=None, enable_remote_access=None, enable_live_tv_management=None, enable_live_tv_access=None, enable_media_playback=None, enable_audio_playback_transcoding=None, enable_video_playback_transcoding=None, enable_playback_remuxing=None, enable_content_deletion=None, restricted_features=None, enable_content_deletion_from_folders=None, enable_content_downloading=None, enable_subtitle_downloading=None, enable_subtitle_management=None, enable_sync_transcoding=None, enable_media_conversion=None, enabled_channels=None, enable_all_channels=None, enabled_folders=None, enable_all_folders=None, invalid_login_attempt_count=None, enable_public_sharing=None, blocked_media_folders=None, remote_client_bitrate_limit=None, authentication_provider_id=None, excluded_sub_folders=None, simultaneous_stream_limit=None, enabled_devices=None, enable_all_devices=None, allow_camera_upload=None, allow_sharing_personal_items=None):  # noqa: E501
        """UserPolicy - a model defined in Swagger"""  # noqa: E501
        self._is_administrator = None
        self._is_hidden = None
        self._is_hidden_remotely = None
        self._is_hidden_from_unused_devices = None
        self._is_disabled = None
        self._locked_out_date = None
        self._max_parental_rating = None
        self._allow_tag_or_rating = None
        self._blocked_tags = None
        self._is_tag_blocking_mode_inclusive = None
        self._include_tags = None
        self._enable_user_preference_access = None
        self._access_schedules = None
        self._block_unrated_items = None
        self._enable_remote_control_of_other_users = None
        self._enable_shared_device_control = None
        self._enable_remote_access = None
        self._enable_live_tv_management = None
        self._enable_live_tv_access = None
        self._enable_media_playback = None
        self._enable_audio_playback_transcoding = None
        self._enable_video_playback_transcoding = None
        self._enable_playback_remuxing = None
        self._enable_content_deletion = None
        self._restricted_features = None
        self._enable_content_deletion_from_folders = None
        self._enable_content_downloading = None
        self._enable_subtitle_downloading = None
        self._enable_subtitle_management = None
        self._enable_sync_transcoding = None
        self._enable_media_conversion = None
        self._enabled_channels = None
        self._enable_all_channels = None
        self._enabled_folders = None
        self._enable_all_folders = None
        self._invalid_login_attempt_count = None
        self._enable_public_sharing = None
        self._blocked_media_folders = None
        self._remote_client_bitrate_limit = None
        self._authentication_provider_id = None
        self._excluded_sub_folders = None
        self._simultaneous_stream_limit = None
        self._enabled_devices = None
        self._enable_all_devices = None
        self._allow_camera_upload = None
        self._allow_sharing_personal_items = None
        self.discriminator = None
        if is_administrator is not None:
            self.is_administrator = is_administrator
        if is_hidden is not None:
            self.is_hidden = is_hidden
        if is_hidden_remotely is not None:
            self.is_hidden_remotely = is_hidden_remotely
        if is_hidden_from_unused_devices is not None:
            self.is_hidden_from_unused_devices = is_hidden_from_unused_devices
        if is_disabled is not None:
            self.is_disabled = is_disabled
        if locked_out_date is not None:
            self.locked_out_date = locked_out_date
        if max_parental_rating is not None:
            self.max_parental_rating = max_parental_rating
        if allow_tag_or_rating is not None:
            self.allow_tag_or_rating = allow_tag_or_rating
        if blocked_tags is not None:
            self.blocked_tags = blocked_tags
        if is_tag_blocking_mode_inclusive is not None:
            self.is_tag_blocking_mode_inclusive = is_tag_blocking_mode_inclusive
        if include_tags is not None:
            self.include_tags = include_tags
        if enable_user_preference_access is not None:
            self.enable_user_preference_access = enable_user_preference_access
        if access_schedules is not None:
            self.access_schedules = access_schedules
        if block_unrated_items is not None:
            self.block_unrated_items = block_unrated_items
        if enable_remote_control_of_other_users is not None:
            self.enable_remote_control_of_other_users = enable_remote_control_of_other_users
        if enable_shared_device_control is not None:
            self.enable_shared_device_control = enable_shared_device_control
        if enable_remote_access is not None:
            self.enable_remote_access = enable_remote_access
        if enable_live_tv_management is not None:
            self.enable_live_tv_management = enable_live_tv_management
        if enable_live_tv_access is not None:
            self.enable_live_tv_access = enable_live_tv_access
        if enable_media_playback is not None:
            self.enable_media_playback = enable_media_playback
        if enable_audio_playback_transcoding is not None:
            self.enable_audio_playback_transcoding = enable_audio_playback_transcoding
        if enable_video_playback_transcoding is not None:
            self.enable_video_playback_transcoding = enable_video_playback_transcoding
        if enable_playback_remuxing is not None:
            self.enable_playback_remuxing = enable_playback_remuxing
        if enable_content_deletion is not None:
            self.enable_content_deletion = enable_content_deletion
        if restricted_features is not None:
            self.restricted_features = restricted_features
        if enable_content_deletion_from_folders is not None:
            self.enable_content_deletion_from_folders = enable_content_deletion_from_folders
        if enable_content_downloading is not None:
            self.enable_content_downloading = enable_content_downloading
        if enable_subtitle_downloading is not None:
            self.enable_subtitle_downloading = enable_subtitle_downloading
        if enable_subtitle_management is not None:
            self.enable_subtitle_management = enable_subtitle_management
        if enable_sync_transcoding is not None:
            self.enable_sync_transcoding = enable_sync_transcoding
        if enable_media_conversion is not None:
            self.enable_media_conversion = enable_media_conversion
        if enabled_channels is not None:
            self.enabled_channels = enabled_channels
        if enable_all_channels is not None:
            self.enable_all_channels = enable_all_channels
        if enabled_folders is not None:
            self.enabled_folders = enabled_folders
        if enable_all_folders is not None:
            self.enable_all_folders = enable_all_folders
        if invalid_login_attempt_count is not None:
            self.invalid_login_attempt_count = invalid_login_attempt_count
        if enable_public_sharing is not None:
            self.enable_public_sharing = enable_public_sharing
        if blocked_media_folders is not None:
            self.blocked_media_folders = blocked_media_folders
        if remote_client_bitrate_limit is not None:
            self.remote_client_bitrate_limit = remote_client_bitrate_limit
        if authentication_provider_id is not None:
            self.authentication_provider_id = authentication_provider_id
        if excluded_sub_folders is not None:
            self.excluded_sub_folders = excluded_sub_folders
        if simultaneous_stream_limit is not None:
            self.simultaneous_stream_limit = simultaneous_stream_limit
        if enabled_devices is not None:
            self.enabled_devices = enabled_devices
        if enable_all_devices is not None:
            self.enable_all_devices = enable_all_devices
        if allow_camera_upload is not None:
            self.allow_camera_upload = allow_camera_upload
        if allow_sharing_personal_items is not None:
            self.allow_sharing_personal_items = allow_sharing_personal_items

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

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

        :return: The is_administrator of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._is_administrator

    @is_administrator.setter
    def is_administrator(self, is_administrator):
        """Sets the is_administrator of this UserPolicy.

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

        :param is_administrator: The is_administrator of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._is_administrator = is_administrator

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

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

        :return: The is_hidden of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._is_hidden

    @is_hidden.setter
    def is_hidden(self, is_hidden):
        """Sets the is_hidden of this UserPolicy.

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

        :param is_hidden: The is_hidden of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._is_hidden = is_hidden

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


        :return: The is_hidden_remotely of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._is_hidden_remotely

    @is_hidden_remotely.setter
    def is_hidden_remotely(self, is_hidden_remotely):
        """Sets the is_hidden_remotely of this UserPolicy.


        :param is_hidden_remotely: The is_hidden_remotely of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._is_hidden_remotely = is_hidden_remotely

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


        :return: The is_hidden_from_unused_devices of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._is_hidden_from_unused_devices

    @is_hidden_from_unused_devices.setter
    def is_hidden_from_unused_devices(self, is_hidden_from_unused_devices):
        """Sets the is_hidden_from_unused_devices of this UserPolicy.


        :param is_hidden_from_unused_devices: The is_hidden_from_unused_devices of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._is_hidden_from_unused_devices = is_hidden_from_unused_devices

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

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

        :return: The is_disabled of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._is_disabled

    @is_disabled.setter
    def is_disabled(self, is_disabled):
        """Sets the is_disabled of this UserPolicy.

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

        :param is_disabled: The is_disabled of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._is_disabled = is_disabled

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


        :return: The locked_out_date of this UserPolicy.  # noqa: E501
        :rtype: int
        """
        return self._locked_out_date

    @locked_out_date.setter
    def locked_out_date(self, locked_out_date):
        """Sets the locked_out_date of this UserPolicy.


        :param locked_out_date: The locked_out_date of this UserPolicy.  # noqa: E501
        :type: int
        """

        self._locked_out_date = locked_out_date

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

        The max parental rating.  # noqa: E501

        :return: The max_parental_rating of this UserPolicy.  # noqa: E501
        :rtype: int
        """
        return self._max_parental_rating

    @max_parental_rating.setter
    def max_parental_rating(self, max_parental_rating):
        """Sets the max_parental_rating of this UserPolicy.

        The max parental rating.  # noqa: E501

        :param max_parental_rating: The max_parental_rating of this UserPolicy.  # noqa: E501
        :type: int
        """

        self._max_parental_rating = max_parental_rating

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


        :return: The allow_tag_or_rating of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._allow_tag_or_rating

    @allow_tag_or_rating.setter
    def allow_tag_or_rating(self, allow_tag_or_rating):
        """Sets the allow_tag_or_rating of this UserPolicy.


        :param allow_tag_or_rating: The allow_tag_or_rating of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._allow_tag_or_rating = allow_tag_or_rating

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


        :return: The blocked_tags of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._blocked_tags

    @blocked_tags.setter
    def blocked_tags(self, blocked_tags):
        """Sets the blocked_tags of this UserPolicy.


        :param blocked_tags: The blocked_tags of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._blocked_tags = blocked_tags

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


        :return: The is_tag_blocking_mode_inclusive of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._is_tag_blocking_mode_inclusive

    @is_tag_blocking_mode_inclusive.setter
    def is_tag_blocking_mode_inclusive(self, is_tag_blocking_mode_inclusive):
        """Sets the is_tag_blocking_mode_inclusive of this UserPolicy.


        :param is_tag_blocking_mode_inclusive: The is_tag_blocking_mode_inclusive of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._is_tag_blocking_mode_inclusive = is_tag_blocking_mode_inclusive

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


        :return: The include_tags of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._include_tags

    @include_tags.setter
    def include_tags(self, include_tags):
        """Sets the include_tags of this UserPolicy.


        :param include_tags: The include_tags of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._include_tags = include_tags

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


        :return: The enable_user_preference_access of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_user_preference_access

    @enable_user_preference_access.setter
    def enable_user_preference_access(self, enable_user_preference_access):
        """Sets the enable_user_preference_access of this UserPolicy.


        :param enable_user_preference_access: The enable_user_preference_access of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_user_preference_access = enable_user_preference_access

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


        :return: The access_schedules of this UserPolicy.  # noqa: E501
        :rtype: list[AccessSchedule]
        """
        return self._access_schedules

    @access_schedules.setter
    def access_schedules(self, access_schedules):
        """Sets the access_schedules of this UserPolicy.


        :param access_schedules: The access_schedules of this UserPolicy.  # noqa: E501
        :type: list[AccessSchedule]
        """

        self._access_schedules = access_schedules

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


        :return: The block_unrated_items of this UserPolicy.  # noqa: E501
        :rtype: list[UnratedItem]
        """
        return self._block_unrated_items

    @block_unrated_items.setter
    def block_unrated_items(self, block_unrated_items):
        """Sets the block_unrated_items of this UserPolicy.


        :param block_unrated_items: The block_unrated_items of this UserPolicy.  # noqa: E501
        :type: list[UnratedItem]
        """

        self._block_unrated_items = block_unrated_items

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


        :return: The enable_remote_control_of_other_users of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_remote_control_of_other_users

    @enable_remote_control_of_other_users.setter
    def enable_remote_control_of_other_users(self, enable_remote_control_of_other_users):
        """Sets the enable_remote_control_of_other_users of this UserPolicy.


        :param enable_remote_control_of_other_users: The enable_remote_control_of_other_users of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_remote_control_of_other_users = enable_remote_control_of_other_users

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


        :return: The enable_shared_device_control of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_shared_device_control

    @enable_shared_device_control.setter
    def enable_shared_device_control(self, enable_shared_device_control):
        """Sets the enable_shared_device_control of this UserPolicy.


        :param enable_shared_device_control: The enable_shared_device_control of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_shared_device_control = enable_shared_device_control

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


        :return: The enable_remote_access of this UserPolicy.  # 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 UserPolicy.


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

        self._enable_remote_access = enable_remote_access

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


        :return: The enable_live_tv_management of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_live_tv_management

    @enable_live_tv_management.setter
    def enable_live_tv_management(self, enable_live_tv_management):
        """Sets the enable_live_tv_management of this UserPolicy.


        :param enable_live_tv_management: The enable_live_tv_management of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_live_tv_management = enable_live_tv_management

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


        :return: The enable_live_tv_access of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_live_tv_access

    @enable_live_tv_access.setter
    def enable_live_tv_access(self, enable_live_tv_access):
        """Sets the enable_live_tv_access of this UserPolicy.


        :param enable_live_tv_access: The enable_live_tv_access of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_live_tv_access = enable_live_tv_access

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


        :return: The enable_media_playback of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_media_playback

    @enable_media_playback.setter
    def enable_media_playback(self, enable_media_playback):
        """Sets the enable_media_playback of this UserPolicy.


        :param enable_media_playback: The enable_media_playback of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_media_playback = enable_media_playback

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


        :return: The enable_audio_playback_transcoding of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_audio_playback_transcoding

    @enable_audio_playback_transcoding.setter
    def enable_audio_playback_transcoding(self, enable_audio_playback_transcoding):
        """Sets the enable_audio_playback_transcoding of this UserPolicy.


        :param enable_audio_playback_transcoding: The enable_audio_playback_transcoding of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_audio_playback_transcoding = enable_audio_playback_transcoding

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


        :return: The enable_video_playback_transcoding of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_video_playback_transcoding

    @enable_video_playback_transcoding.setter
    def enable_video_playback_transcoding(self, enable_video_playback_transcoding):
        """Sets the enable_video_playback_transcoding of this UserPolicy.


        :param enable_video_playback_transcoding: The enable_video_playback_transcoding of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_video_playback_transcoding = enable_video_playback_transcoding

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


        :return: The enable_playback_remuxing of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_playback_remuxing

    @enable_playback_remuxing.setter
    def enable_playback_remuxing(self, enable_playback_remuxing):
        """Sets the enable_playback_remuxing of this UserPolicy.


        :param enable_playback_remuxing: The enable_playback_remuxing of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_playback_remuxing = enable_playback_remuxing

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


        :return: The enable_content_deletion of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_content_deletion

    @enable_content_deletion.setter
    def enable_content_deletion(self, enable_content_deletion):
        """Sets the enable_content_deletion of this UserPolicy.


        :param enable_content_deletion: The enable_content_deletion of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_content_deletion = enable_content_deletion

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


        :return: The restricted_features of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._restricted_features

    @restricted_features.setter
    def restricted_features(self, restricted_features):
        """Sets the restricted_features of this UserPolicy.


        :param restricted_features: The restricted_features of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._restricted_features = restricted_features

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


        :return: The enable_content_deletion_from_folders of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._enable_content_deletion_from_folders

    @enable_content_deletion_from_folders.setter
    def enable_content_deletion_from_folders(self, enable_content_deletion_from_folders):
        """Sets the enable_content_deletion_from_folders of this UserPolicy.


        :param enable_content_deletion_from_folders: The enable_content_deletion_from_folders of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._enable_content_deletion_from_folders = enable_content_deletion_from_folders

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


        :return: The enable_content_downloading of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_content_downloading

    @enable_content_downloading.setter
    def enable_content_downloading(self, enable_content_downloading):
        """Sets the enable_content_downloading of this UserPolicy.


        :param enable_content_downloading: The enable_content_downloading of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_content_downloading = enable_content_downloading

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


        :return: The enable_subtitle_downloading of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_subtitle_downloading

    @enable_subtitle_downloading.setter
    def enable_subtitle_downloading(self, enable_subtitle_downloading):
        """Sets the enable_subtitle_downloading of this UserPolicy.


        :param enable_subtitle_downloading: The enable_subtitle_downloading of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_subtitle_downloading = enable_subtitle_downloading

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


        :return: The enable_subtitle_management of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_subtitle_management

    @enable_subtitle_management.setter
    def enable_subtitle_management(self, enable_subtitle_management):
        """Sets the enable_subtitle_management of this UserPolicy.


        :param enable_subtitle_management: The enable_subtitle_management of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_subtitle_management = enable_subtitle_management

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

        A value indicating whether \\[enable synchronize\\].  # noqa: E501

        :return: The enable_sync_transcoding of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_sync_transcoding

    @enable_sync_transcoding.setter
    def enable_sync_transcoding(self, enable_sync_transcoding):
        """Sets the enable_sync_transcoding of this UserPolicy.

        A value indicating whether \\[enable synchronize\\].  # noqa: E501

        :param enable_sync_transcoding: The enable_sync_transcoding of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_sync_transcoding = enable_sync_transcoding

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


        :return: The enable_media_conversion of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_media_conversion

    @enable_media_conversion.setter
    def enable_media_conversion(self, enable_media_conversion):
        """Sets the enable_media_conversion of this UserPolicy.


        :param enable_media_conversion: The enable_media_conversion of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_media_conversion = enable_media_conversion

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


        :return: The enabled_channels of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._enabled_channels

    @enabled_channels.setter
    def enabled_channels(self, enabled_channels):
        """Sets the enabled_channels of this UserPolicy.


        :param enabled_channels: The enabled_channels of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._enabled_channels = enabled_channels

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


        :return: The enable_all_channels of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_all_channels

    @enable_all_channels.setter
    def enable_all_channels(self, enable_all_channels):
        """Sets the enable_all_channels of this UserPolicy.


        :param enable_all_channels: The enable_all_channels of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_all_channels = enable_all_channels

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


        :return: The enabled_folders of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._enabled_folders

    @enabled_folders.setter
    def enabled_folders(self, enabled_folders):
        """Sets the enabled_folders of this UserPolicy.


        :param enabled_folders: The enabled_folders of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._enabled_folders = enabled_folders

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


        :return: The enable_all_folders of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_all_folders

    @enable_all_folders.setter
    def enable_all_folders(self, enable_all_folders):
        """Sets the enable_all_folders of this UserPolicy.


        :param enable_all_folders: The enable_all_folders of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_all_folders = enable_all_folders

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


        :return: The invalid_login_attempt_count of this UserPolicy.  # noqa: E501
        :rtype: int
        """
        return self._invalid_login_attempt_count

    @invalid_login_attempt_count.setter
    def invalid_login_attempt_count(self, invalid_login_attempt_count):
        """Sets the invalid_login_attempt_count of this UserPolicy.


        :param invalid_login_attempt_count: The invalid_login_attempt_count of this UserPolicy.  # noqa: E501
        :type: int
        """

        self._invalid_login_attempt_count = invalid_login_attempt_count

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


        :return: The enable_public_sharing of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_public_sharing

    @enable_public_sharing.setter
    def enable_public_sharing(self, enable_public_sharing):
        """Sets the enable_public_sharing of this UserPolicy.


        :param enable_public_sharing: The enable_public_sharing of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_public_sharing = enable_public_sharing

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


        :return: The blocked_media_folders of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._blocked_media_folders

    @blocked_media_folders.setter
    def blocked_media_folders(self, blocked_media_folders):
        """Sets the blocked_media_folders of this UserPolicy.


        :param blocked_media_folders: The blocked_media_folders of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._blocked_media_folders = blocked_media_folders

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


        :return: The remote_client_bitrate_limit of this UserPolicy.  # 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 UserPolicy.


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

        self._remote_client_bitrate_limit = remote_client_bitrate_limit

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


        :return: The authentication_provider_id of this UserPolicy.  # noqa: E501
        :rtype: str
        """
        return self._authentication_provider_id

    @authentication_provider_id.setter
    def authentication_provider_id(self, authentication_provider_id):
        """Sets the authentication_provider_id of this UserPolicy.


        :param authentication_provider_id: The authentication_provider_id of this UserPolicy.  # noqa: E501
        :type: str
        """

        self._authentication_provider_id = authentication_provider_id

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


        :return: The excluded_sub_folders of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._excluded_sub_folders

    @excluded_sub_folders.setter
    def excluded_sub_folders(self, excluded_sub_folders):
        """Sets the excluded_sub_folders of this UserPolicy.


        :param excluded_sub_folders: The excluded_sub_folders of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._excluded_sub_folders = excluded_sub_folders

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


        :return: The simultaneous_stream_limit of this UserPolicy.  # 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 UserPolicy.


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

        self._simultaneous_stream_limit = simultaneous_stream_limit

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


        :return: The enabled_devices of this UserPolicy.  # noqa: E501
        :rtype: list[str]
        """
        return self._enabled_devices

    @enabled_devices.setter
    def enabled_devices(self, enabled_devices):
        """Sets the enabled_devices of this UserPolicy.


        :param enabled_devices: The enabled_devices of this UserPolicy.  # noqa: E501
        :type: list[str]
        """

        self._enabled_devices = enabled_devices

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


        :return: The enable_all_devices of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._enable_all_devices

    @enable_all_devices.setter
    def enable_all_devices(self, enable_all_devices):
        """Sets the enable_all_devices of this UserPolicy.


        :param enable_all_devices: The enable_all_devices of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._enable_all_devices = enable_all_devices

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


        :return: The allow_camera_upload of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._allow_camera_upload

    @allow_camera_upload.setter
    def allow_camera_upload(self, allow_camera_upload):
        """Sets the allow_camera_upload of this UserPolicy.


        :param allow_camera_upload: The allow_camera_upload of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._allow_camera_upload = allow_camera_upload

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


        :return: The allow_sharing_personal_items of this UserPolicy.  # noqa: E501
        :rtype: bool
        """
        return self._allow_sharing_personal_items

    @allow_sharing_personal_items.setter
    def allow_sharing_personal_items(self, allow_sharing_personal_items):
        """Sets the allow_sharing_personal_items of this UserPolicy.


        :param allow_sharing_personal_items: The allow_sharing_personal_items of this UserPolicy.  # noqa: E501
        :type: bool
        """

        self._allow_sharing_personal_items = allow_sharing_personal_items

    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(UserPolicy, 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, UserPolicy):
            return False

        return self.__dict__ == other.__dict__

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