# coding: utf-8

"""
Copyright 2016 SmartBear Software

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

    Ref: https://github.com/swagger-api/swagger-codegen
"""

from pprint import pformat
from six import iteritems
import re


class SnapshotSettingsSettings(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """
    def __init__(self):
        """
        SnapshotSettingsSettings - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {
            'autocreate': 'bool',
            'autodelete': 'bool',
            'global_visible_accessible': 'bool',
            'local_root_accessible': 'bool',
            'local_root_visible': 'bool',
            'local_subdir_accessible': 'bool',
            'nfs_root_accessible': 'bool',
            'nfs_root_visible': 'bool',
            'nfs_subdir_accessible': 'bool',
            'reserve': 'float',
            'service': 'bool',
            'smb_root_accessible': 'bool',
            'smb_root_visible': 'bool',
            'smb_subdir_accessible': 'bool'
        }

        self.attribute_map = {
            'autocreate': 'autocreate',
            'autodelete': 'autodelete',
            'global_visible_accessible': 'global_visible_accessible',
            'local_root_accessible': 'local_root_accessible',
            'local_root_visible': 'local_root_visible',
            'local_subdir_accessible': 'local_subdir_accessible',
            'nfs_root_accessible': 'nfs_root_accessible',
            'nfs_root_visible': 'nfs_root_visible',
            'nfs_subdir_accessible': 'nfs_subdir_accessible',
            'reserve': 'reserve',
            'service': 'service',
            'smb_root_accessible': 'smb_root_accessible',
            'smb_root_visible': 'smb_root_visible',
            'smb_subdir_accessible': 'smb_subdir_accessible'
        }

        self._autocreate = None
        self._autodelete = None
        self._global_visible_accessible = None
        self._local_root_accessible = None
        self._local_root_visible = None
        self._local_subdir_accessible = None
        self._nfs_root_accessible = None
        self._nfs_root_visible = None
        self._nfs_subdir_accessible = None
        self._reserve = None
        self._service = None
        self._smb_root_accessible = None
        self._smb_root_visible = None
        self._smb_subdir_accessible = None

    @property
    def autocreate(self):
        """
        Gets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :return: The autocreate of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autocreate

    @autocreate.setter
    def autocreate(self, autocreate):
        """
        Sets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :param autocreate: The autocreate of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._autocreate = autocreate

    @property
    def autodelete(self):
        """
        Gets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :return: The autodelete of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autodelete

    @autodelete.setter
    def autodelete(self, autodelete):
        """
        Sets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :param autodelete: The autodelete of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._autodelete = autodelete

    @property
    def global_visible_accessible(self):
        """
        Gets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :return: The global_visible_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._global_visible_accessible

    @global_visible_accessible.setter
    def global_visible_accessible(self, global_visible_accessible):
        """
        Sets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :param global_visible_accessible: The global_visible_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._global_visible_accessible = global_visible_accessible

    @property
    def local_root_accessible(self):
        """
        Gets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :return: The local_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_accessible

    @local_root_accessible.setter
    def local_root_accessible(self, local_root_accessible):
        """
        Sets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :param local_root_accessible: The local_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._local_root_accessible = local_root_accessible

    @property
    def local_root_visible(self):
        """
        Gets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :return: The local_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_visible

    @local_root_visible.setter
    def local_root_visible(self, local_root_visible):
        """
        Sets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :param local_root_visible: The local_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._local_root_visible = local_root_visible

    @property
    def local_subdir_accessible(self):
        """
        Gets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :return: The local_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_subdir_accessible

    @local_subdir_accessible.setter
    def local_subdir_accessible(self, local_subdir_accessible):
        """
        Sets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :param local_subdir_accessible: The local_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._local_subdir_accessible = local_subdir_accessible

    @property
    def nfs_root_accessible(self):
        """
        Gets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :return: The nfs_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_accessible

    @nfs_root_accessible.setter
    def nfs_root_accessible(self, nfs_root_accessible):
        """
        Sets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :param nfs_root_accessible: The nfs_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._nfs_root_accessible = nfs_root_accessible

    @property
    def nfs_root_visible(self):
        """
        Gets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :return: The nfs_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_visible

    @nfs_root_visible.setter
    def nfs_root_visible(self, nfs_root_visible):
        """
        Sets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :param nfs_root_visible: The nfs_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._nfs_root_visible = nfs_root_visible

    @property
    def nfs_subdir_accessible(self):
        """
        Gets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :return: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_subdir_accessible

    @nfs_subdir_accessible.setter
    def nfs_subdir_accessible(self, nfs_subdir_accessible):
        """
        Sets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :param nfs_subdir_accessible: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._nfs_subdir_accessible = nfs_subdir_accessible

    @property
    def reserve(self):
        """
        Gets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :return: The reserve of this SnapshotSettingsSettings.
        :rtype: float
        """
        return self._reserve

    @reserve.setter
    def reserve(self, reserve):
        """
        Sets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :param reserve: The reserve of this SnapshotSettingsSettings.
        :type: float
        """
        
        self._reserve = reserve

    @property
    def service(self):
        """
        Gets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :return: The service of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._service

    @service.setter
    def service(self, service):
        """
        Sets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :param service: The service of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._service = service

    @property
    def smb_root_accessible(self):
        """
        Gets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :return: The smb_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_accessible

    @smb_root_accessible.setter
    def smb_root_accessible(self, smb_root_accessible):
        """
        Sets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :param smb_root_accessible: The smb_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._smb_root_accessible = smb_root_accessible

    @property
    def smb_root_visible(self):
        """
        Gets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :return: The smb_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_visible

    @smb_root_visible.setter
    def smb_root_visible(self, smb_root_visible):
        """
        Sets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :param smb_root_visible: The smb_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._smb_root_visible = smb_root_visible

    @property
    def smb_subdir_accessible(self):
        """
        Gets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :return: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_subdir_accessible

    @smb_subdir_accessible.setter
    def smb_subdir_accessible(self, smb_subdir_accessible):
        """
        Sets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :param smb_subdir_accessible: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._smb_subdir_accessible = smb_subdir_accessible

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

        for attr, _ in 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

        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return 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
        """
        return self.__dict__ == other.__dict__

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


d53dbe056baf574756431eb2c5cb67fd5c5eb32f
<mask token>


class SnapshotSettingsSettings(object):
    <mask token>
    <mask token>

    @property
    def autocreate(self):
        """
        Gets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :return: The autocreate of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autocreate

    @autocreate.setter
    def autocreate(self, autocreate):
        """
        Sets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :param autocreate: The autocreate of this SnapshotSettingsSettings.
        :type: bool
        """
        self._autocreate = autocreate

    @property
    def autodelete(self):
        """
        Gets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :return: The autodelete of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autodelete

    @autodelete.setter
    def autodelete(self, autodelete):
        """
        Sets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :param autodelete: The autodelete of this SnapshotSettingsSettings.
        :type: bool
        """
        self._autodelete = autodelete
    <mask token>
    <mask token>

    @property
    def local_root_accessible(self):
        """
        Gets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :return: The local_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_accessible

    @local_root_accessible.setter
    def local_root_accessible(self, local_root_accessible):
        """
        Sets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :param local_root_accessible: The local_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_root_accessible = local_root_accessible

    @property
    def local_root_visible(self):
        """
        Gets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :return: The local_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_visible
    <mask token>

    @property
    def local_subdir_accessible(self):
        """
        Gets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :return: The local_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_subdir_accessible

    @local_subdir_accessible.setter
    def local_subdir_accessible(self, local_subdir_accessible):
        """
        Sets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :param local_subdir_accessible: The local_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_subdir_accessible = local_subdir_accessible

    @property
    def nfs_root_accessible(self):
        """
        Gets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :return: The nfs_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_accessible
    <mask token>

    @property
    def nfs_root_visible(self):
        """
        Gets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :return: The nfs_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_visible

    @nfs_root_visible.setter
    def nfs_root_visible(self, nfs_root_visible):
        """
        Sets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :param nfs_root_visible: The nfs_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_root_visible = nfs_root_visible

    @property
    def nfs_subdir_accessible(self):
        """
        Gets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :return: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_subdir_accessible

    @nfs_subdir_accessible.setter
    def nfs_subdir_accessible(self, nfs_subdir_accessible):
        """
        Sets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :param nfs_subdir_accessible: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_subdir_accessible = nfs_subdir_accessible

    @property
    def reserve(self):
        """
        Gets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :return: The reserve of this SnapshotSettingsSettings.
        :rtype: float
        """
        return self._reserve
    <mask token>
    <mask token>

    @service.setter
    def service(self, service):
        """
        Sets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :param service: The service of this SnapshotSettingsSettings.
        :type: bool
        """
        self._service = service

    @property
    def smb_root_accessible(self):
        """
        Gets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :return: The smb_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_accessible
    <mask token>
    <mask token>

    @smb_root_visible.setter
    def smb_root_visible(self, smb_root_visible):
        """
        Sets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :param smb_root_visible: The smb_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_root_visible = smb_root_visible

    @property
    def smb_subdir_accessible(self):
        """
        Gets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :return: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_subdir_accessible

    @smb_subdir_accessible.setter
    def smb_subdir_accessible(self, smb_subdir_accessible):
        """
        Sets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :param smb_subdir_accessible: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_subdir_accessible = smb_subdir_accessible

    def to_dict(self):
        """
        Returns the model properties as a dict
        """
        result = {}
        for attr, _ in 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
        return result
    <mask token>

    def __repr__(self):
        """
        For `print` and `pprint`
        """
        return self.to_str()
    <mask token>

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

<mask token>


class SnapshotSettingsSettings(object):
    <mask token>

    def __init__(self):
        """
        SnapshotSettingsSettings - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {'autocreate': 'bool', 'autodelete': 'bool',
            'global_visible_accessible': 'bool', 'local_root_accessible':
            'bool', 'local_root_visible': 'bool', 'local_subdir_accessible':
            'bool', 'nfs_root_accessible': 'bool', 'nfs_root_visible':
            'bool', 'nfs_subdir_accessible': 'bool', 'reserve': 'float',
            'service': 'bool', 'smb_root_accessible': 'bool',
            'smb_root_visible': 'bool', 'smb_subdir_accessible': 'bool'}
        self.attribute_map = {'autocreate': 'autocreate', 'autodelete':
            'autodelete', 'global_visible_accessible':
            'global_visible_accessible', 'local_root_accessible':
            'local_root_accessible', 'local_root_visible':
            'local_root_visible', 'local_subdir_accessible':
            'local_subdir_accessible', 'nfs_root_accessible':
            'nfs_root_accessible', 'nfs_root_visible': 'nfs_root_visible',
            'nfs_subdir_accessible': 'nfs_subdir_accessible', 'reserve':
            'reserve', 'service': 'service', 'smb_root_accessible':
            'smb_root_accessible', 'smb_root_visible': 'smb_root_visible',
            'smb_subdir_accessible': 'smb_subdir_accessible'}
        self._autocreate = None
        self._autodelete = None
        self._global_visible_accessible = None
        self._local_root_accessible = None
        self._local_root_visible = None
        self._local_subdir_accessible = None
        self._nfs_root_accessible = None
        self._nfs_root_visible = None
        self._nfs_subdir_accessible = None
        self._reserve = None
        self._service = None
        self._smb_root_accessible = None
        self._smb_root_visible = None
        self._smb_subdir_accessible = None

    @property
    def autocreate(self):
        """
        Gets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :return: The autocreate of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autocreate

    @autocreate.setter
    def autocreate(self, autocreate):
        """
        Sets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :param autocreate: The autocreate of this SnapshotSettingsSettings.
        :type: bool
        """
        self._autocreate = autocreate

    @property
    def autodelete(self):
        """
        Gets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :return: The autodelete of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autodelete

    @autodelete.setter
    def autodelete(self, autodelete):
        """
        Sets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :param autodelete: The autodelete of this SnapshotSettingsSettings.
        :type: bool
        """
        self._autodelete = autodelete

    @property
    def global_visible_accessible(self):
        """
        Gets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :return: The global_visible_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._global_visible_accessible
    <mask token>

    @property
    def local_root_accessible(self):
        """
        Gets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :return: The local_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_accessible

    @local_root_accessible.setter
    def local_root_accessible(self, local_root_accessible):
        """
        Sets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :param local_root_accessible: The local_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_root_accessible = local_root_accessible

    @property
    def local_root_visible(self):
        """
        Gets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :return: The local_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_visible

    @local_root_visible.setter
    def local_root_visible(self, local_root_visible):
        """
        Sets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :param local_root_visible: The local_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_root_visible = local_root_visible

    @property
    def local_subdir_accessible(self):
        """
        Gets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :return: The local_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_subdir_accessible

    @local_subdir_accessible.setter
    def local_subdir_accessible(self, local_subdir_accessible):
        """
        Sets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :param local_subdir_accessible: The local_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_subdir_accessible = local_subdir_accessible

    @property
    def nfs_root_accessible(self):
        """
        Gets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :return: The nfs_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_accessible

    @nfs_root_accessible.setter
    def nfs_root_accessible(self, nfs_root_accessible):
        """
        Sets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :param nfs_root_accessible: The nfs_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_root_accessible = nfs_root_accessible

    @property
    def nfs_root_visible(self):
        """
        Gets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :return: The nfs_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_visible

    @nfs_root_visible.setter
    def nfs_root_visible(self, nfs_root_visible):
        """
        Sets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :param nfs_root_visible: The nfs_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_root_visible = nfs_root_visible

    @property
    def nfs_subdir_accessible(self):
        """
        Gets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :return: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_subdir_accessible

    @nfs_subdir_accessible.setter
    def nfs_subdir_accessible(self, nfs_subdir_accessible):
        """
        Sets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :param nfs_subdir_accessible: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_subdir_accessible = nfs_subdir_accessible

    @property
    def reserve(self):
        """
        Gets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :return: The reserve of this SnapshotSettingsSettings.
        :rtype: float
        """
        return self._reserve

    @reserve.setter
    def reserve(self, reserve):
        """
        Sets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :param reserve: The reserve of this SnapshotSettingsSettings.
        :type: float
        """
        self._reserve = reserve
    <mask token>

    @service.setter
    def service(self, service):
        """
        Sets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :param service: The service of this SnapshotSettingsSettings.
        :type: bool
        """
        self._service = service

    @property
    def smb_root_accessible(self):
        """
        Gets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :return: The smb_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_accessible

    @smb_root_accessible.setter
    def smb_root_accessible(self, smb_root_accessible):
        """
        Sets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :param smb_root_accessible: The smb_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_root_accessible = smb_root_accessible
    <mask token>

    @smb_root_visible.setter
    def smb_root_visible(self, smb_root_visible):
        """
        Sets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :param smb_root_visible: The smb_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_root_visible = smb_root_visible

    @property
    def smb_subdir_accessible(self):
        """
        Gets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :return: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_subdir_accessible

    @smb_subdir_accessible.setter
    def smb_subdir_accessible(self, smb_subdir_accessible):
        """
        Sets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :param smb_subdir_accessible: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_subdir_accessible = smb_subdir_accessible

    def to_dict(self):
        """
        Returns the model properties as a dict
        """
        result = {}
        for attr, _ in 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
        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return 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
        """
        return self.__dict__ == other.__dict__

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

<mask token>


class SnapshotSettingsSettings(object):
    <mask token>

    def __init__(self):
        """
        SnapshotSettingsSettings - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {'autocreate': 'bool', 'autodelete': 'bool',
            'global_visible_accessible': 'bool', 'local_root_accessible':
            'bool', 'local_root_visible': 'bool', 'local_subdir_accessible':
            'bool', 'nfs_root_accessible': 'bool', 'nfs_root_visible':
            'bool', 'nfs_subdir_accessible': 'bool', 'reserve': 'float',
            'service': 'bool', 'smb_root_accessible': 'bool',
            'smb_root_visible': 'bool', 'smb_subdir_accessible': 'bool'}
        self.attribute_map = {'autocreate': 'autocreate', 'autodelete':
            'autodelete', 'global_visible_accessible':
            'global_visible_accessible', 'local_root_accessible':
            'local_root_accessible', 'local_root_visible':
            'local_root_visible', 'local_subdir_accessible':
            'local_subdir_accessible', 'nfs_root_accessible':
            'nfs_root_accessible', 'nfs_root_visible': 'nfs_root_visible',
            'nfs_subdir_accessible': 'nfs_subdir_accessible', 'reserve':
            'reserve', 'service': 'service', 'smb_root_accessible':
            'smb_root_accessible', 'smb_root_visible': 'smb_root_visible',
            'smb_subdir_accessible': 'smb_subdir_accessible'}
        self._autocreate = None
        self._autodelete = None
        self._global_visible_accessible = None
        self._local_root_accessible = None
        self._local_root_visible = None
        self._local_subdir_accessible = None
        self._nfs_root_accessible = None
        self._nfs_root_visible = None
        self._nfs_subdir_accessible = None
        self._reserve = None
        self._service = None
        self._smb_root_accessible = None
        self._smb_root_visible = None
        self._smb_subdir_accessible = None

    @property
    def autocreate(self):
        """
        Gets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :return: The autocreate of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autocreate

    @autocreate.setter
    def autocreate(self, autocreate):
        """
        Sets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :param autocreate: The autocreate of this SnapshotSettingsSettings.
        :type: bool
        """
        self._autocreate = autocreate

    @property
    def autodelete(self):
        """
        Gets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :return: The autodelete of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autodelete

    @autodelete.setter
    def autodelete(self, autodelete):
        """
        Sets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :param autodelete: The autodelete of this SnapshotSettingsSettings.
        :type: bool
        """
        self._autodelete = autodelete

    @property
    def global_visible_accessible(self):
        """
        Gets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :return: The global_visible_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._global_visible_accessible

    @global_visible_accessible.setter
    def global_visible_accessible(self, global_visible_accessible):
        """
        Sets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :param global_visible_accessible: The global_visible_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._global_visible_accessible = global_visible_accessible

    @property
    def local_root_accessible(self):
        """
        Gets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :return: The local_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_accessible

    @local_root_accessible.setter
    def local_root_accessible(self, local_root_accessible):
        """
        Sets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :param local_root_accessible: The local_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_root_accessible = local_root_accessible

    @property
    def local_root_visible(self):
        """
        Gets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :return: The local_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_visible

    @local_root_visible.setter
    def local_root_visible(self, local_root_visible):
        """
        Sets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :param local_root_visible: The local_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_root_visible = local_root_visible

    @property
    def local_subdir_accessible(self):
        """
        Gets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :return: The local_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_subdir_accessible

    @local_subdir_accessible.setter
    def local_subdir_accessible(self, local_subdir_accessible):
        """
        Sets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :param local_subdir_accessible: The local_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_subdir_accessible = local_subdir_accessible

    @property
    def nfs_root_accessible(self):
        """
        Gets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :return: The nfs_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_accessible

    @nfs_root_accessible.setter
    def nfs_root_accessible(self, nfs_root_accessible):
        """
        Sets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :param nfs_root_accessible: The nfs_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_root_accessible = nfs_root_accessible

    @property
    def nfs_root_visible(self):
        """
        Gets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :return: The nfs_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_visible

    @nfs_root_visible.setter
    def nfs_root_visible(self, nfs_root_visible):
        """
        Sets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :param nfs_root_visible: The nfs_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_root_visible = nfs_root_visible

    @property
    def nfs_subdir_accessible(self):
        """
        Gets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :return: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_subdir_accessible

    @nfs_subdir_accessible.setter
    def nfs_subdir_accessible(self, nfs_subdir_accessible):
        """
        Sets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :param nfs_subdir_accessible: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_subdir_accessible = nfs_subdir_accessible

    @property
    def reserve(self):
        """
        Gets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :return: The reserve of this SnapshotSettingsSettings.
        :rtype: float
        """
        return self._reserve

    @reserve.setter
    def reserve(self, reserve):
        """
        Sets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :param reserve: The reserve of this SnapshotSettingsSettings.
        :type: float
        """
        self._reserve = reserve
    <mask token>

    @service.setter
    def service(self, service):
        """
        Sets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :param service: The service of this SnapshotSettingsSettings.
        :type: bool
        """
        self._service = service

    @property
    def smb_root_accessible(self):
        """
        Gets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :return: The smb_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_accessible

    @smb_root_accessible.setter
    def smb_root_accessible(self, smb_root_accessible):
        """
        Sets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :param smb_root_accessible: The smb_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_root_accessible = smb_root_accessible

    @property
    def smb_root_visible(self):
        """
        Gets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :return: The smb_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_visible

    @smb_root_visible.setter
    def smb_root_visible(self, smb_root_visible):
        """
        Sets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :param smb_root_visible: The smb_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_root_visible = smb_root_visible

    @property
    def smb_subdir_accessible(self):
        """
        Gets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :return: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_subdir_accessible

    @smb_subdir_accessible.setter
    def smb_subdir_accessible(self, smb_subdir_accessible):
        """
        Sets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :param smb_subdir_accessible: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_subdir_accessible = smb_subdir_accessible

    def to_dict(self):
        """
        Returns the model properties as a dict
        """
        result = {}
        for attr, _ in 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
        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return 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
        """
        return self.__dict__ == other.__dict__

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

<mask token>


class SnapshotSettingsSettings(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """

    def __init__(self):
        """
        SnapshotSettingsSettings - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {'autocreate': 'bool', 'autodelete': 'bool',
            'global_visible_accessible': 'bool', 'local_root_accessible':
            'bool', 'local_root_visible': 'bool', 'local_subdir_accessible':
            'bool', 'nfs_root_accessible': 'bool', 'nfs_root_visible':
            'bool', 'nfs_subdir_accessible': 'bool', 'reserve': 'float',
            'service': 'bool', 'smb_root_accessible': 'bool',
            'smb_root_visible': 'bool', 'smb_subdir_accessible': 'bool'}
        self.attribute_map = {'autocreate': 'autocreate', 'autodelete':
            'autodelete', 'global_visible_accessible':
            'global_visible_accessible', 'local_root_accessible':
            'local_root_accessible', 'local_root_visible':
            'local_root_visible', 'local_subdir_accessible':
            'local_subdir_accessible', 'nfs_root_accessible':
            'nfs_root_accessible', 'nfs_root_visible': 'nfs_root_visible',
            'nfs_subdir_accessible': 'nfs_subdir_accessible', 'reserve':
            'reserve', 'service': 'service', 'smb_root_accessible':
            'smb_root_accessible', 'smb_root_visible': 'smb_root_visible',
            'smb_subdir_accessible': 'smb_subdir_accessible'}
        self._autocreate = None
        self._autodelete = None
        self._global_visible_accessible = None
        self._local_root_accessible = None
        self._local_root_visible = None
        self._local_subdir_accessible = None
        self._nfs_root_accessible = None
        self._nfs_root_visible = None
        self._nfs_subdir_accessible = None
        self._reserve = None
        self._service = None
        self._smb_root_accessible = None
        self._smb_root_visible = None
        self._smb_subdir_accessible = None

    @property
    def autocreate(self):
        """
        Gets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :return: The autocreate of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autocreate

    @autocreate.setter
    def autocreate(self, autocreate):
        """
        Sets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :param autocreate: The autocreate of this SnapshotSettingsSettings.
        :type: bool
        """
        self._autocreate = autocreate

    @property
    def autodelete(self):
        """
        Gets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :return: The autodelete of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autodelete

    @autodelete.setter
    def autodelete(self, autodelete):
        """
        Sets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :param autodelete: The autodelete of this SnapshotSettingsSettings.
        :type: bool
        """
        self._autodelete = autodelete

    @property
    def global_visible_accessible(self):
        """
        Gets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :return: The global_visible_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._global_visible_accessible

    @global_visible_accessible.setter
    def global_visible_accessible(self, global_visible_accessible):
        """
        Sets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :param global_visible_accessible: The global_visible_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._global_visible_accessible = global_visible_accessible

    @property
    def local_root_accessible(self):
        """
        Gets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :return: The local_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_accessible

    @local_root_accessible.setter
    def local_root_accessible(self, local_root_accessible):
        """
        Sets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :param local_root_accessible: The local_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_root_accessible = local_root_accessible

    @property
    def local_root_visible(self):
        """
        Gets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :return: The local_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_visible

    @local_root_visible.setter
    def local_root_visible(self, local_root_visible):
        """
        Sets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :param local_root_visible: The local_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_root_visible = local_root_visible

    @property
    def local_subdir_accessible(self):
        """
        Gets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :return: The local_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_subdir_accessible

    @local_subdir_accessible.setter
    def local_subdir_accessible(self, local_subdir_accessible):
        """
        Sets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :param local_subdir_accessible: The local_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._local_subdir_accessible = local_subdir_accessible

    @property
    def nfs_root_accessible(self):
        """
        Gets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :return: The nfs_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_accessible

    @nfs_root_accessible.setter
    def nfs_root_accessible(self, nfs_root_accessible):
        """
        Sets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :param nfs_root_accessible: The nfs_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_root_accessible = nfs_root_accessible

    @property
    def nfs_root_visible(self):
        """
        Gets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :return: The nfs_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_visible

    @nfs_root_visible.setter
    def nfs_root_visible(self, nfs_root_visible):
        """
        Sets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :param nfs_root_visible: The nfs_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_root_visible = nfs_root_visible

    @property
    def nfs_subdir_accessible(self):
        """
        Gets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :return: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_subdir_accessible

    @nfs_subdir_accessible.setter
    def nfs_subdir_accessible(self, nfs_subdir_accessible):
        """
        Sets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :param nfs_subdir_accessible: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._nfs_subdir_accessible = nfs_subdir_accessible

    @property
    def reserve(self):
        """
        Gets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :return: The reserve of this SnapshotSettingsSettings.
        :rtype: float
        """
        return self._reserve

    @reserve.setter
    def reserve(self, reserve):
        """
        Sets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :param reserve: The reserve of this SnapshotSettingsSettings.
        :type: float
        """
        self._reserve = reserve

    @property
    def service(self):
        """
        Gets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :return: The service of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._service

    @service.setter
    def service(self, service):
        """
        Sets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :param service: The service of this SnapshotSettingsSettings.
        :type: bool
        """
        self._service = service

    @property
    def smb_root_accessible(self):
        """
        Gets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :return: The smb_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_accessible

    @smb_root_accessible.setter
    def smb_root_accessible(self, smb_root_accessible):
        """
        Sets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :param smb_root_accessible: The smb_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_root_accessible = smb_root_accessible

    @property
    def smb_root_visible(self):
        """
        Gets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :return: The smb_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_visible

    @smb_root_visible.setter
    def smb_root_visible(self, smb_root_visible):
        """
        Sets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :param smb_root_visible: The smb_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_root_visible = smb_root_visible

    @property
    def smb_subdir_accessible(self):
        """
        Gets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :return: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_subdir_accessible

    @smb_subdir_accessible.setter
    def smb_subdir_accessible(self, smb_subdir_accessible):
        """
        Sets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :param smb_subdir_accessible: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        self._smb_subdir_accessible = smb_subdir_accessible

    def to_dict(self):
        """
        Returns the model properties as a dict
        """
        result = {}
        for attr, _ in 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
        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return 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
        """
        return self.__dict__ == other.__dict__

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

# coding: utf-8

"""
Copyright 2016 SmartBear Software

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

    Ref: https://github.com/swagger-api/swagger-codegen
"""

from pprint import pformat
from six import iteritems
import re


class SnapshotSettingsSettings(object):
    """
    NOTE: This class is auto generated by the swagger code generator program.
    Do not edit the class manually.
    """
    def __init__(self):
        """
        SnapshotSettingsSettings - a model defined in Swagger

        :param dict swaggerTypes: The key is attribute name
                                  and the value is attribute type.
        :param dict attributeMap: The key is attribute name
                                  and the value is json key in definition.
        """
        self.swagger_types = {
            'autocreate': 'bool',
            'autodelete': 'bool',
            'global_visible_accessible': 'bool',
            'local_root_accessible': 'bool',
            'local_root_visible': 'bool',
            'local_subdir_accessible': 'bool',
            'nfs_root_accessible': 'bool',
            'nfs_root_visible': 'bool',
            'nfs_subdir_accessible': 'bool',
            'reserve': 'float',
            'service': 'bool',
            'smb_root_accessible': 'bool',
            'smb_root_visible': 'bool',
            'smb_subdir_accessible': 'bool'
        }

        self.attribute_map = {
            'autocreate': 'autocreate',
            'autodelete': 'autodelete',
            'global_visible_accessible': 'global_visible_accessible',
            'local_root_accessible': 'local_root_accessible',
            'local_root_visible': 'local_root_visible',
            'local_subdir_accessible': 'local_subdir_accessible',
            'nfs_root_accessible': 'nfs_root_accessible',
            'nfs_root_visible': 'nfs_root_visible',
            'nfs_subdir_accessible': 'nfs_subdir_accessible',
            'reserve': 'reserve',
            'service': 'service',
            'smb_root_accessible': 'smb_root_accessible',
            'smb_root_visible': 'smb_root_visible',
            'smb_subdir_accessible': 'smb_subdir_accessible'
        }

        self._autocreate = None
        self._autodelete = None
        self._global_visible_accessible = None
        self._local_root_accessible = None
        self._local_root_visible = None
        self._local_subdir_accessible = None
        self._nfs_root_accessible = None
        self._nfs_root_visible = None
        self._nfs_subdir_accessible = None
        self._reserve = None
        self._service = None
        self._smb_root_accessible = None
        self._smb_root_visible = None
        self._smb_subdir_accessible = None

    @property
    def autocreate(self):
        """
        Gets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :return: The autocreate of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autocreate

    @autocreate.setter
    def autocreate(self, autocreate):
        """
        Sets the autocreate of this SnapshotSettingsSettings.
        True if the scheduled snapshot creation services is on.

        :param autocreate: The autocreate of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._autocreate = autocreate

    @property
    def autodelete(self):
        """
        Gets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :return: The autodelete of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._autodelete

    @autodelete.setter
    def autodelete(self, autodelete):
        """
        Sets the autodelete of this SnapshotSettingsSettings.
        True if the scheduled snapshot deletion services is on.

        :param autodelete: The autodelete of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._autodelete = autodelete

    @property
    def global_visible_accessible(self):
        """
        Gets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :return: The global_visible_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._global_visible_accessible

    @global_visible_accessible.setter
    def global_visible_accessible(self, global_visible_accessible):
        """
        Sets the global_visible_accessible of this SnapshotSettingsSettings.
        Global switch for other accessible and visible settings.

        :param global_visible_accessible: The global_visible_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._global_visible_accessible = global_visible_accessible

    @property
    def local_root_accessible(self):
        """
        Gets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :return: The local_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_accessible

    @local_root_accessible.setter
    def local_root_accessible(self, local_root_accessible):
        """
        Sets the local_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible locally.

        :param local_root_accessible: The local_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._local_root_accessible = local_root_accessible

    @property
    def local_root_visible(self):
        """
        Gets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :return: The local_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_root_visible

    @local_root_visible.setter
    def local_root_visible(self, local_root_visible):
        """
        Sets the local_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible locally.

        :param local_root_visible: The local_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._local_root_visible = local_root_visible

    @property
    def local_subdir_accessible(self):
        """
        Gets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :return: The local_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._local_subdir_accessible

    @local_subdir_accessible.setter
    def local_subdir_accessible(self, local_subdir_accessible):
        """
        Sets the local_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible locally.

        :param local_subdir_accessible: The local_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._local_subdir_accessible = local_subdir_accessible

    @property
    def nfs_root_accessible(self):
        """
        Gets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :return: The nfs_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_accessible

    @nfs_root_accessible.setter
    def nfs_root_accessible(self, nfs_root_accessible):
        """
        Sets the nfs_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over NFS.

        :param nfs_root_accessible: The nfs_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._nfs_root_accessible = nfs_root_accessible

    @property
    def nfs_root_visible(self):
        """
        Gets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :return: The nfs_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_root_visible

    @nfs_root_visible.setter
    def nfs_root_visible(self, nfs_root_visible):
        """
        Sets the nfs_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over NFS.

        :param nfs_root_visible: The nfs_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._nfs_root_visible = nfs_root_visible

    @property
    def nfs_subdir_accessible(self):
        """
        Gets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :return: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._nfs_subdir_accessible

    @nfs_subdir_accessible.setter
    def nfs_subdir_accessible(self, nfs_subdir_accessible):
        """
        Sets the nfs_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over NFS.

        :param nfs_subdir_accessible: The nfs_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._nfs_subdir_accessible = nfs_subdir_accessible

    @property
    def reserve(self):
        """
        Gets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :return: The reserve of this SnapshotSettingsSettings.
        :rtype: float
        """
        return self._reserve

    @reserve.setter
    def reserve(self, reserve):
        """
        Sets the reserve of this SnapshotSettingsSettings.
        Percentage of space to reserve for snapshots.

        :param reserve: The reserve of this SnapshotSettingsSettings.
        :type: float
        """
        
        self._reserve = reserve

    @property
    def service(self):
        """
        Gets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :return: The service of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._service

    @service.setter
    def service(self, service):
        """
        Sets the service of this SnapshotSettingsSettings.
        True if the system allows snapshot creation.

        :param service: The service of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._service = service

    @property
    def smb_root_accessible(self):
        """
        Gets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :return: The smb_root_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_accessible

    @smb_root_accessible.setter
    def smb_root_accessible(self, smb_root_accessible):
        """
        Sets the smb_root_accessible of this SnapshotSettingsSettings.
        True if root .snapshot directory is accessible over SMB.

        :param smb_root_accessible: The smb_root_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._smb_root_accessible = smb_root_accessible

    @property
    def smb_root_visible(self):
        """
        Gets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :return: The smb_root_visible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_root_visible

    @smb_root_visible.setter
    def smb_root_visible(self, smb_root_visible):
        """
        Sets the smb_root_visible of this SnapshotSettingsSettings.
        True if root .snapshot directory is visible over SMB.

        :param smb_root_visible: The smb_root_visible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._smb_root_visible = smb_root_visible

    @property
    def smb_subdir_accessible(self):
        """
        Gets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :return: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :rtype: bool
        """
        return self._smb_subdir_accessible

    @smb_subdir_accessible.setter
    def smb_subdir_accessible(self, smb_subdir_accessible):
        """
        Sets the smb_subdir_accessible of this SnapshotSettingsSettings.
        True if sub-directory .snapshot directory is accessible over SMB.

        :param smb_subdir_accessible: The smb_subdir_accessible of this SnapshotSettingsSettings.
        :type: bool
        """
        
        self._smb_subdir_accessible = smb_subdir_accessible

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

        for attr, _ in 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

        return result

    def to_str(self):
        """
        Returns the string representation of the model
        """
        return 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
        """
        return self.__dict__ == other.__dict__

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

