# 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 OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties(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 = {
        'provider_name': 'ConfigNodePropertyString',
        'host_name': 'ConfigNodePropertyString',
        'host_port': 'ConfigNodePropertyInteger',
        'host_ssl': 'ConfigNodePropertyBoolean',
        'host_tls': 'ConfigNodePropertyBoolean',
        'host_no_cert_check': 'ConfigNodePropertyBoolean',
        'bind_dn': 'ConfigNodePropertyString',
        'bind_password': 'ConfigNodePropertyString',
        'search_timeout': 'ConfigNodePropertyString',
        'admin_pool_max_active': 'ConfigNodePropertyInteger',
        'admin_pool_lookup_on_validate': 'ConfigNodePropertyBoolean',
        'user_pool_max_active': 'ConfigNodePropertyInteger',
        'user_pool_lookup_on_validate': 'ConfigNodePropertyBoolean',
        'user_base_dn': 'ConfigNodePropertyString',
        'user_objectclass': 'ConfigNodePropertyArray',
        'user_id_attribute': 'ConfigNodePropertyString',
        'user_extra_filter': 'ConfigNodePropertyString',
        'user_make_dn_path': 'ConfigNodePropertyBoolean',
        'group_base_dn': 'ConfigNodePropertyString',
        'group_objectclass': 'ConfigNodePropertyArray',
        'group_name_attribute': 'ConfigNodePropertyString',
        'group_extra_filter': 'ConfigNodePropertyString',
        'group_make_dn_path': 'ConfigNodePropertyBoolean',
        'group_member_attribute': 'ConfigNodePropertyString',
        'use_uid_for_ext_id': 'ConfigNodePropertyBoolean',
        'customattributes': 'ConfigNodePropertyArray'
    }

    attribute_map = {
        'provider_name': 'provider.name',
        'host_name': 'host.name',
        'host_port': 'host.port',
        'host_ssl': 'host.ssl',
        'host_tls': 'host.tls',
        'host_no_cert_check': 'host.noCertCheck',
        'bind_dn': 'bind.dn',
        'bind_password': 'bind.password',
        'search_timeout': 'searchTimeout',
        'admin_pool_max_active': 'adminPool.maxActive',
        'admin_pool_lookup_on_validate': 'adminPool.lookupOnValidate',
        'user_pool_max_active': 'userPool.maxActive',
        'user_pool_lookup_on_validate': 'userPool.lookupOnValidate',
        'user_base_dn': 'user.baseDN',
        'user_objectclass': 'user.objectclass',
        'user_id_attribute': 'user.idAttribute',
        'user_extra_filter': 'user.extraFilter',
        'user_make_dn_path': 'user.makeDnPath',
        'group_base_dn': 'group.baseDN',
        'group_objectclass': 'group.objectclass',
        'group_name_attribute': 'group.nameAttribute',
        'group_extra_filter': 'group.extraFilter',
        'group_make_dn_path': 'group.makeDnPath',
        'group_member_attribute': 'group.memberAttribute',
        'use_uid_for_ext_id': 'useUidForExtId',
        'customattributes': 'customattributes'
    }

    def __init__(self, provider_name=None, host_name=None, host_port=None, host_ssl=None, host_tls=None, host_no_cert_check=None, bind_dn=None, bind_password=None, search_timeout=None, admin_pool_max_active=None, admin_pool_lookup_on_validate=None, user_pool_max_active=None, user_pool_lookup_on_validate=None, user_base_dn=None, user_objectclass=None, user_id_attribute=None, user_extra_filter=None, user_make_dn_path=None, group_base_dn=None, group_objectclass=None, group_name_attribute=None, group_extra_filter=None, group_make_dn_path=None, group_member_attribute=None, use_uid_for_ext_id=None, customattributes=None):  # noqa: E501
        """OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties - a model defined in OpenAPI"""  # noqa: E501

        self._provider_name = None
        self._host_name = None
        self._host_port = None
        self._host_ssl = None
        self._host_tls = None
        self._host_no_cert_check = None
        self._bind_dn = None
        self._bind_password = None
        self._search_timeout = None
        self._admin_pool_max_active = None
        self._admin_pool_lookup_on_validate = None
        self._user_pool_max_active = None
        self._user_pool_lookup_on_validate = None
        self._user_base_dn = None
        self._user_objectclass = None
        self._user_id_attribute = None
        self._user_extra_filter = None
        self._user_make_dn_path = None
        self._group_base_dn = None
        self._group_objectclass = None
        self._group_name_attribute = None
        self._group_extra_filter = None
        self._group_make_dn_path = None
        self._group_member_attribute = None
        self._use_uid_for_ext_id = None
        self._customattributes = None
        self.discriminator = None

        if provider_name is not None:
            self.provider_name = provider_name
        if host_name is not None:
            self.host_name = host_name
        if host_port is not None:
            self.host_port = host_port
        if host_ssl is not None:
            self.host_ssl = host_ssl
        if host_tls is not None:
            self.host_tls = host_tls
        if host_no_cert_check is not None:
            self.host_no_cert_check = host_no_cert_check
        if bind_dn is not None:
            self.bind_dn = bind_dn
        if bind_password is not None:
            self.bind_password = bind_password
        if search_timeout is not None:
            self.search_timeout = search_timeout
        if admin_pool_max_active is not None:
            self.admin_pool_max_active = admin_pool_max_active
        if admin_pool_lookup_on_validate is not None:
            self.admin_pool_lookup_on_validate = admin_pool_lookup_on_validate
        if user_pool_max_active is not None:
            self.user_pool_max_active = user_pool_max_active
        if user_pool_lookup_on_validate is not None:
            self.user_pool_lookup_on_validate = user_pool_lookup_on_validate
        if user_base_dn is not None:
            self.user_base_dn = user_base_dn
        if user_objectclass is not None:
            self.user_objectclass = user_objectclass
        if user_id_attribute is not None:
            self.user_id_attribute = user_id_attribute
        if user_extra_filter is not None:
            self.user_extra_filter = user_extra_filter
        if user_make_dn_path is not None:
            self.user_make_dn_path = user_make_dn_path
        if group_base_dn is not None:
            self.group_base_dn = group_base_dn
        if group_objectclass is not None:
            self.group_objectclass = group_objectclass
        if group_name_attribute is not None:
            self.group_name_attribute = group_name_attribute
        if group_extra_filter is not None:
            self.group_extra_filter = group_extra_filter
        if group_make_dn_path is not None:
            self.group_make_dn_path = group_make_dn_path
        if group_member_attribute is not None:
            self.group_member_attribute = group_member_attribute
        if use_uid_for_ext_id is not None:
            self.use_uid_for_ext_id = use_uid_for_ext_id
        if customattributes is not None:
            self.customattributes = customattributes

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


        :return: The provider_name of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._provider_name

    @provider_name.setter
    def provider_name(self, provider_name):
        """Sets the provider_name of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param provider_name: The provider_name of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._provider_name = provider_name

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


        :return: The host_name of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._host_name

    @host_name.setter
    def host_name(self, host_name):
        """Sets the host_name of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param host_name: The host_name of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._host_name = host_name

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


        :return: The host_port of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._host_port

    @host_port.setter
    def host_port(self, host_port):
        """Sets the host_port of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param host_port: The host_port of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._host_port = host_port

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


        :return: The host_ssl of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._host_ssl

    @host_ssl.setter
    def host_ssl(self, host_ssl):
        """Sets the host_ssl of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param host_ssl: The host_ssl of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._host_ssl = host_ssl

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


        :return: The host_tls of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._host_tls

    @host_tls.setter
    def host_tls(self, host_tls):
        """Sets the host_tls of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param host_tls: The host_tls of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._host_tls = host_tls

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


        :return: The host_no_cert_check of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._host_no_cert_check

    @host_no_cert_check.setter
    def host_no_cert_check(self, host_no_cert_check):
        """Sets the host_no_cert_check of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param host_no_cert_check: The host_no_cert_check of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._host_no_cert_check = host_no_cert_check

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


        :return: The bind_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._bind_dn

    @bind_dn.setter
    def bind_dn(self, bind_dn):
        """Sets the bind_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param bind_dn: The bind_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._bind_dn = bind_dn

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


        :return: The bind_password of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._bind_password

    @bind_password.setter
    def bind_password(self, bind_password):
        """Sets the bind_password of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param bind_password: The bind_password of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._bind_password = bind_password

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


        :return: The search_timeout of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._search_timeout

    @search_timeout.setter
    def search_timeout(self, search_timeout):
        """Sets the search_timeout of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param search_timeout: The search_timeout of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._search_timeout = search_timeout

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


        :return: The admin_pool_max_active of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._admin_pool_max_active

    @admin_pool_max_active.setter
    def admin_pool_max_active(self, admin_pool_max_active):
        """Sets the admin_pool_max_active of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param admin_pool_max_active: The admin_pool_max_active of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._admin_pool_max_active = admin_pool_max_active

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


        :return: The admin_pool_lookup_on_validate of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._admin_pool_lookup_on_validate

    @admin_pool_lookup_on_validate.setter
    def admin_pool_lookup_on_validate(self, admin_pool_lookup_on_validate):
        """Sets the admin_pool_lookup_on_validate of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param admin_pool_lookup_on_validate: The admin_pool_lookup_on_validate of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._admin_pool_lookup_on_validate = admin_pool_lookup_on_validate

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


        :return: The user_pool_max_active of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyInteger
        """
        return self._user_pool_max_active

    @user_pool_max_active.setter
    def user_pool_max_active(self, user_pool_max_active):
        """Sets the user_pool_max_active of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param user_pool_max_active: The user_pool_max_active of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyInteger
        """

        self._user_pool_max_active = user_pool_max_active

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


        :return: The user_pool_lookup_on_validate of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._user_pool_lookup_on_validate

    @user_pool_lookup_on_validate.setter
    def user_pool_lookup_on_validate(self, user_pool_lookup_on_validate):
        """Sets the user_pool_lookup_on_validate of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param user_pool_lookup_on_validate: The user_pool_lookup_on_validate of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._user_pool_lookup_on_validate = user_pool_lookup_on_validate

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


        :return: The user_base_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._user_base_dn

    @user_base_dn.setter
    def user_base_dn(self, user_base_dn):
        """Sets the user_base_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param user_base_dn: The user_base_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._user_base_dn = user_base_dn

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


        :return: The user_objectclass of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyArray
        """
        return self._user_objectclass

    @user_objectclass.setter
    def user_objectclass(self, user_objectclass):
        """Sets the user_objectclass of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param user_objectclass: The user_objectclass of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyArray
        """

        self._user_objectclass = user_objectclass

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


        :return: The user_id_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._user_id_attribute

    @user_id_attribute.setter
    def user_id_attribute(self, user_id_attribute):
        """Sets the user_id_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param user_id_attribute: The user_id_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._user_id_attribute = user_id_attribute

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


        :return: The user_extra_filter of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._user_extra_filter

    @user_extra_filter.setter
    def user_extra_filter(self, user_extra_filter):
        """Sets the user_extra_filter of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param user_extra_filter: The user_extra_filter of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._user_extra_filter = user_extra_filter

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


        :return: The user_make_dn_path of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._user_make_dn_path

    @user_make_dn_path.setter
    def user_make_dn_path(self, user_make_dn_path):
        """Sets the user_make_dn_path of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param user_make_dn_path: The user_make_dn_path of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._user_make_dn_path = user_make_dn_path

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


        :return: The group_base_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._group_base_dn

    @group_base_dn.setter
    def group_base_dn(self, group_base_dn):
        """Sets the group_base_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param group_base_dn: The group_base_dn of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._group_base_dn = group_base_dn

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


        :return: The group_objectclass of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyArray
        """
        return self._group_objectclass

    @group_objectclass.setter
    def group_objectclass(self, group_objectclass):
        """Sets the group_objectclass of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param group_objectclass: The group_objectclass of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyArray
        """

        self._group_objectclass = group_objectclass

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


        :return: The group_name_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._group_name_attribute

    @group_name_attribute.setter
    def group_name_attribute(self, group_name_attribute):
        """Sets the group_name_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param group_name_attribute: The group_name_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._group_name_attribute = group_name_attribute

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


        :return: The group_extra_filter of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._group_extra_filter

    @group_extra_filter.setter
    def group_extra_filter(self, group_extra_filter):
        """Sets the group_extra_filter of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param group_extra_filter: The group_extra_filter of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._group_extra_filter = group_extra_filter

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


        :return: The group_make_dn_path of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._group_make_dn_path

    @group_make_dn_path.setter
    def group_make_dn_path(self, group_make_dn_path):
        """Sets the group_make_dn_path of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param group_make_dn_path: The group_make_dn_path of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._group_make_dn_path = group_make_dn_path

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


        :return: The group_member_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyString
        """
        return self._group_member_attribute

    @group_member_attribute.setter
    def group_member_attribute(self, group_member_attribute):
        """Sets the group_member_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param group_member_attribute: The group_member_attribute of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyString
        """

        self._group_member_attribute = group_member_attribute

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


        :return: The use_uid_for_ext_id of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyBoolean
        """
        return self._use_uid_for_ext_id

    @use_uid_for_ext_id.setter
    def use_uid_for_ext_id(self, use_uid_for_ext_id):
        """Sets the use_uid_for_ext_id of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param use_uid_for_ext_id: The use_uid_for_ext_id of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyBoolean
        """

        self._use_uid_for_ext_id = use_uid_for_ext_id

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


        :return: The customattributes of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :rtype: ConfigNodePropertyArray
        """
        return self._customattributes

    @customattributes.setter
    def customattributes(self, customattributes):
        """Sets the customattributes of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.


        :param customattributes: The customattributes of this OrgApacheJackrabbitOakSecurityAuthenticationLdapImplLdapIdentiProperties.  # noqa: E501
        :type: ConfigNodePropertyArray
        """

        self._customattributes = customattributes

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

        return self.__dict__ == other.__dict__

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