# coding: utf-8

"""
    Adobe Experience Manager OSGI config (AEM) API

    Swagger AEM OSGI is an OpenAPI specification for Adobe Experience Manager (AEM) OSGI Configurations API  # noqa: E501

    OpenAPI spec version: 1.0.0-pre.0
    Contact: opensource@shinesolutions.com
    Generated by: https://openapi-generator.tech
"""


import pprint
import re  # noqa: F401

import six


class OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties(object):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    """
    Attributes:
      openapi_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.
    """
    openapi_types = {
        'mongouri': 'ConfigNodePropertyString',
        'db': 'ConfigNodePropertyString',
        'socket_keep_alive': 'ConfigNodePropertyBoolean',
        'cache': 'ConfigNodePropertyInteger',
        'node_cache_percentage': 'ConfigNodePropertyInteger',
        'prev_doc_cache_percentage': 'ConfigNodePropertyInteger',
        'children_cache_percentage': 'ConfigNodePropertyInteger',
        'diff_cache_percentage': 'ConfigNodePropertyInteger',
        'cache_segment_count': 'ConfigNodePropertyInteger',
        'cache_stack_move_distance': 'ConfigNodePropertyInteger',
        'blob_cache_size': 'ConfigNodePropertyInteger',
        'persistent_cache': 'ConfigNodePropertyString',
        'journal_cache': 'ConfigNodePropertyString',
        'custom_blob_store': 'ConfigNodePropertyBoolean',
        'journal_gc_interval': 'ConfigNodePropertyInteger',
        'journal_gc_max_age': 'ConfigNodePropertyInteger',
        'prefetch_external_changes': 'ConfigNodePropertyBoolean',
        'role': 'ConfigNodePropertyString',
        'version_gc_max_age_in_secs': 'ConfigNodePropertyInteger',
        'version_gc_expression': 'ConfigNodePropertyString',
        'version_gc_time_limit_in_secs': 'ConfigNodePropertyInteger',
        'blob_gc_max_age_in_secs': 'ConfigNodePropertyInteger',
        'blob_track_snapshot_interval_in_secs': 'ConfigNodePropertyInteger',
        'repository_home': 'ConfigNodePropertyString',
        'max_replication_lag_in_secs': 'ConfigNodePropertyInteger',
        'document_store_type': 'ConfigNodePropertyDropDown',
        'bundling_disabled': 'ConfigNodePropertyBoolean',
        'update_limit': 'ConfigNodePropertyInteger',
        'persistent_cache_includes': 'ConfigNodePropertyArray',
        'lease_check_mode': 'ConfigNodePropertyDropDown'
    }

    attribute_map = {
        'mongouri': 'mongouri',
        'db': 'db',
        'socket_keep_alive': 'socketKeepAlive',
        'cache': 'cache',
        'node_cache_percentage': 'nodeCachePercentage',
        'prev_doc_cache_percentage': 'prevDocCachePercentage',
        'children_cache_percentage': 'childrenCachePercentage',
        'diff_cache_percentage': 'diffCachePercentage',
        'cache_segment_count': 'cacheSegmentCount',
        'cache_stack_move_distance': 'cacheStackMoveDistance',
        'blob_cache_size': 'blobCacheSize',
        'persistent_cache': 'persistentCache',
        'journal_cache': 'journalCache',
        'custom_blob_store': 'customBlobStore',
        'journal_gc_interval': 'journalGCInterval',
        'journal_gc_max_age': 'journalGCMaxAge',
        'prefetch_external_changes': 'prefetchExternalChanges',
        'role': 'role',
        'version_gc_max_age_in_secs': 'versionGcMaxAgeInSecs',
        'version_gc_expression': 'versionGCExpression',
        'version_gc_time_limit_in_secs': 'versionGCTimeLimitInSecs',
        'blob_gc_max_age_in_secs': 'blobGcMaxAgeInSecs',
        'blob_track_snapshot_interval_in_secs': 'blobTrackSnapshotIntervalInSecs',
        'repository_home': 'repository.home',
        'max_replication_lag_in_secs': 'maxReplicationLagInSecs',
        'document_store_type': 'documentStoreType',
        'bundling_disabled': 'bundlingDisabled',
        'update_limit': 'updateLimit',
        'persistent_cache_includes': 'persistentCacheIncludes',
        'lease_check_mode': 'leaseCheckMode'
    }

    def __init__(self, mongouri=None, db=None, socket_keep_alive=None, cache=None, node_cache_percentage=None, prev_doc_cache_percentage=None, children_cache_percentage=None, diff_cache_percentage=None, cache_segment_count=None, cache_stack_move_distance=None, blob_cache_size=None, persistent_cache=None, journal_cache=None, custom_blob_store=None, journal_gc_interval=None, journal_gc_max_age=None, prefetch_external_changes=None, role=None, version_gc_max_age_in_secs=None, version_gc_expression=None, version_gc_time_limit_in_secs=None, blob_gc_max_age_in_secs=None, blob_track_snapshot_interval_in_secs=None, repository_home=None, max_replication_lag_in_secs=None, document_store_type=None, bundling_disabled=None, update_limit=None, persistent_cache_includes=None, lease_check_mode=None):  # noqa: E501
        """OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties - a model defined in OpenAPI"""  # noqa: E501

        self._mongouri = None
        self._db = None
        self._socket_keep_alive = None
        self._cache = None
        self._node_cache_percentage = None
        self._prev_doc_cache_percentage = None
        self._children_cache_percentage = None
        self._diff_cache_percentage = None
        self._cache_segment_count = None
        self._cache_stack_move_distance = None
        self._blob_cache_size = None
        self._persistent_cache = None
        self._journal_cache = None
        self._custom_blob_store = None
        self._journal_gc_interval = None
        self._journal_gc_max_age = None
        self._prefetch_external_changes = None
        self._role = None
        self._version_gc_max_age_in_secs = None
        self._version_gc_expression = None
        self._version_gc_time_limit_in_secs = None
        self._blob_gc_max_age_in_secs = None
        self._blob_track_snapshot_interval_in_secs = None
        self._repository_home = None
        self._max_replication_lag_in_secs = None
        self._document_store_type = None
        self._bundling_disabled = None
        self._update_limit = None
        self._persistent_cache_includes = None
        self._lease_check_mode = None
        self.discriminator = None

        if mongouri is not None:
            self.mongouri = mongouri
        if db is not None:
            self.db = db
        if socket_keep_alive is not None:
            self.socket_keep_alive = socket_keep_alive
        if cache is not None:
            self.cache = cache
        if node_cache_percentage is not None:
            self.node_cache_percentage = node_cache_percentage
        if prev_doc_cache_percentage is not None:
            self.prev_doc_cache_percentage = prev_doc_cache_percentage
        if children_cache_percentage is not None:
            self.children_cache_percentage = children_cache_percentage
        if diff_cache_percentage is not None:
            self.diff_cache_percentage = diff_cache_percentage
        if cache_segment_count is not None:
            self.cache_segment_count = cache_segment_count
        if cache_stack_move_distance is not None:
            self.cache_stack_move_distance = cache_stack_move_distance
        if blob_cache_size is not None:
            self.blob_cache_size = blob_cache_size
        if persistent_cache is not None:
            self.persistent_cache = persistent_cache
        if journal_cache is not None:
            self.journal_cache = journal_cache
        if custom_blob_store is not None:
            self.custom_blob_store = custom_blob_store
        if journal_gc_interval is not None:
            self.journal_gc_interval = journal_gc_interval
        if journal_gc_max_age is not None:
            self.journal_gc_max_age = journal_gc_max_age
        if prefetch_external_changes is not None:
            self.prefetch_external_changes = prefetch_external_changes
        if role is not None:
            self.role = role
        if version_gc_max_age_in_secs is not None:
            self.version_gc_max_age_in_secs = version_gc_max_age_in_secs
        if version_gc_expression is not None:
            self.version_gc_expression = version_gc_expression
        if version_gc_time_limit_in_secs is not None:
            self.version_gc_time_limit_in_secs = version_gc_time_limit_in_secs
        if blob_gc_max_age_in_secs is not None:
            self.blob_gc_max_age_in_secs = blob_gc_max_age_in_secs
        if blob_track_snapshot_interval_in_secs is not None:
            self.blob_track_snapshot_interval_in_secs = blob_track_snapshot_interval_in_secs
        if repository_home is not None:
            self.repository_home = repository_home
        if max_replication_lag_in_secs is not None:
            self.max_replication_lag_in_secs = max_replication_lag_in_secs
        if document_store_type is not None:
            self.document_store_type = document_store_type
        if bundling_disabled is not None:
            self.bundling_disabled = bundling_disabled
        if update_limit is not None:
            self.update_limit = update_limit
        if persistent_cache_includes is not None:
            self.persistent_cache_includes = persistent_cache_includes
        if lease_check_mode is not None:
            self.lease_check_mode = lease_check_mode

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


        :return: The mongouri of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._mongouri

    @mongouri.setter
    def mongouri(self, mongouri):
        """Sets the mongouri of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param mongouri: The mongouri of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._mongouri = mongouri

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


        :return: The db of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._db

    @db.setter
    def db(self, db):
        """Sets the db of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param db: The db of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._db = db

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


        :return: The socket_keep_alive of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._socket_keep_alive

    @socket_keep_alive.setter
    def socket_keep_alive(self, socket_keep_alive):
        """Sets the socket_keep_alive of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param socket_keep_alive: The socket_keep_alive of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._socket_keep_alive = socket_keep_alive

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


        :return: The cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._cache

    @cache.setter
    def cache(self, cache):
        """Sets the cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param cache: The cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._cache = cache

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


        :return: The node_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._node_cache_percentage

    @node_cache_percentage.setter
    def node_cache_percentage(self, node_cache_percentage):
        """Sets the node_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param node_cache_percentage: The node_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._node_cache_percentage = node_cache_percentage

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


        :return: The prev_doc_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._prev_doc_cache_percentage

    @prev_doc_cache_percentage.setter
    def prev_doc_cache_percentage(self, prev_doc_cache_percentage):
        """Sets the prev_doc_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param prev_doc_cache_percentage: The prev_doc_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._prev_doc_cache_percentage = prev_doc_cache_percentage

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


        :return: The children_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._children_cache_percentage

    @children_cache_percentage.setter
    def children_cache_percentage(self, children_cache_percentage):
        """Sets the children_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param children_cache_percentage: The children_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._children_cache_percentage = children_cache_percentage

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


        :return: The diff_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._diff_cache_percentage

    @diff_cache_percentage.setter
    def diff_cache_percentage(self, diff_cache_percentage):
        """Sets the diff_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param diff_cache_percentage: The diff_cache_percentage of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._diff_cache_percentage = diff_cache_percentage

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


        :return: The cache_segment_count of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._cache_segment_count

    @cache_segment_count.setter
    def cache_segment_count(self, cache_segment_count):
        """Sets the cache_segment_count of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param cache_segment_count: The cache_segment_count of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._cache_segment_count = cache_segment_count

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


        :return: The cache_stack_move_distance of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._cache_stack_move_distance

    @cache_stack_move_distance.setter
    def cache_stack_move_distance(self, cache_stack_move_distance):
        """Sets the cache_stack_move_distance of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param cache_stack_move_distance: The cache_stack_move_distance of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._cache_stack_move_distance = cache_stack_move_distance

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


        :return: The blob_cache_size of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._blob_cache_size

    @blob_cache_size.setter
    def blob_cache_size(self, blob_cache_size):
        """Sets the blob_cache_size of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param blob_cache_size: The blob_cache_size of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._blob_cache_size = blob_cache_size

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


        :return: The persistent_cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._persistent_cache

    @persistent_cache.setter
    def persistent_cache(self, persistent_cache):
        """Sets the persistent_cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param persistent_cache: The persistent_cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._persistent_cache = persistent_cache

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


        :return: The journal_cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._journal_cache

    @journal_cache.setter
    def journal_cache(self, journal_cache):
        """Sets the journal_cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param journal_cache: The journal_cache of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._journal_cache = journal_cache

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


        :return: The custom_blob_store of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._custom_blob_store

    @custom_blob_store.setter
    def custom_blob_store(self, custom_blob_store):
        """Sets the custom_blob_store of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param custom_blob_store: The custom_blob_store of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._custom_blob_store = custom_blob_store

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


        :return: The journal_gc_interval of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._journal_gc_interval

    @journal_gc_interval.setter
    def journal_gc_interval(self, journal_gc_interval):
        """Sets the journal_gc_interval of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param journal_gc_interval: The journal_gc_interval of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._journal_gc_interval = journal_gc_interval

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


        :return: The journal_gc_max_age of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._journal_gc_max_age

    @journal_gc_max_age.setter
    def journal_gc_max_age(self, journal_gc_max_age):
        """Sets the journal_gc_max_age of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param journal_gc_max_age: The journal_gc_max_age of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._journal_gc_max_age = journal_gc_max_age

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


        :return: The prefetch_external_changes of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._prefetch_external_changes

    @prefetch_external_changes.setter
    def prefetch_external_changes(self, prefetch_external_changes):
        """Sets the prefetch_external_changes of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param prefetch_external_changes: The prefetch_external_changes of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._prefetch_external_changes = prefetch_external_changes

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


        :return: The role of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._role

    @role.setter
    def role(self, role):
        """Sets the role of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param role: The role of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._role = role

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


        :return: The version_gc_max_age_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._version_gc_max_age_in_secs

    @version_gc_max_age_in_secs.setter
    def version_gc_max_age_in_secs(self, version_gc_max_age_in_secs):
        """Sets the version_gc_max_age_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param version_gc_max_age_in_secs: The version_gc_max_age_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._version_gc_max_age_in_secs = version_gc_max_age_in_secs

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


        :return: The version_gc_expression of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._version_gc_expression

    @version_gc_expression.setter
    def version_gc_expression(self, version_gc_expression):
        """Sets the version_gc_expression of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param version_gc_expression: The version_gc_expression of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._version_gc_expression = version_gc_expression

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


        :return: The version_gc_time_limit_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._version_gc_time_limit_in_secs

    @version_gc_time_limit_in_secs.setter
    def version_gc_time_limit_in_secs(self, version_gc_time_limit_in_secs):
        """Sets the version_gc_time_limit_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param version_gc_time_limit_in_secs: The version_gc_time_limit_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._version_gc_time_limit_in_secs = version_gc_time_limit_in_secs

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


        :return: The blob_gc_max_age_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._blob_gc_max_age_in_secs

    @blob_gc_max_age_in_secs.setter
    def blob_gc_max_age_in_secs(self, blob_gc_max_age_in_secs):
        """Sets the blob_gc_max_age_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param blob_gc_max_age_in_secs: The blob_gc_max_age_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._blob_gc_max_age_in_secs = blob_gc_max_age_in_secs

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


        :return: The blob_track_snapshot_interval_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._blob_track_snapshot_interval_in_secs

    @blob_track_snapshot_interval_in_secs.setter
    def blob_track_snapshot_interval_in_secs(self, blob_track_snapshot_interval_in_secs):
        """Sets the blob_track_snapshot_interval_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param blob_track_snapshot_interval_in_secs: The blob_track_snapshot_interval_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._blob_track_snapshot_interval_in_secs = blob_track_snapshot_interval_in_secs

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


        :return: The repository_home of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._repository_home

    @repository_home.setter
    def repository_home(self, repository_home):
        """Sets the repository_home of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param repository_home: The repository_home of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._repository_home = repository_home

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


        :return: The max_replication_lag_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._max_replication_lag_in_secs

    @max_replication_lag_in_secs.setter
    def max_replication_lag_in_secs(self, max_replication_lag_in_secs):
        """Sets the max_replication_lag_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param max_replication_lag_in_secs: The max_replication_lag_in_secs of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._max_replication_lag_in_secs = max_replication_lag_in_secs

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


        :return: The document_store_type of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyDropDown
        """
        return self._document_store_type

    @document_store_type.setter
    def document_store_type(self, document_store_type):
        """Sets the document_store_type of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param document_store_type: The document_store_type of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyDropDown
        """

        self._document_store_type = document_store_type

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


        :return: The bundling_disabled of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._bundling_disabled

    @bundling_disabled.setter
    def bundling_disabled(self, bundling_disabled):
        """Sets the bundling_disabled of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param bundling_disabled: The bundling_disabled of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._bundling_disabled = bundling_disabled

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


        :return: The update_limit of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._update_limit

    @update_limit.setter
    def update_limit(self, update_limit):
        """Sets the update_limit of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param update_limit: The update_limit of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._update_limit = update_limit

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


        :return: The persistent_cache_includes of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyArray
        """
        return self._persistent_cache_includes

    @persistent_cache_includes.setter
    def persistent_cache_includes(self, persistent_cache_includes):
        """Sets the persistent_cache_includes of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param persistent_cache_includes: The persistent_cache_includes of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyArray
        """

        self._persistent_cache_includes = persistent_cache_includes

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


        :return: The lease_check_mode of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :rtype: ConfigNodePropertyDropDown
        """
        return self._lease_check_mode

    @lease_check_mode.setter
    def lease_check_mode(self, lease_check_mode):
        """Sets the lease_check_mode of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.


        :param lease_check_mode: The lease_check_mode of this OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties.  # noqa: E501
        :type: ConfigNodePropertyDropDown
        """

        self._lease_check_mode = lease_check_mode

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

        for attr, _ in six.iteritems(self.openapi_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 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, OrgApacheJackrabbitOakPluginsDocumentDocumentNodeStoreServiceProperties):
            return False

        return self.__dict__ == other.__dict__

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