# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you 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.
POLICY_MGR_URL =  ranger.usersync.policymanager.baseURL
MIN_UNIX_USER_ID_TO_SYNC = ranger.usersync.unix.minUserId
MIN_UNIX_GROUP_ID_TO_SYNC = ranger.usersync.unix.minGroupId
SYNC_INTERVAL = ranger.usersync.sleeptimeinmillisbetweensynccycle
ROLE_ASSIGNMENT_LIST_DELIMITER = ranger.usersync.role.assignment.list.delimiter
USERS_GROUPS_ASSIGNMENT_LIST_DELIMITER = ranger.usersync.users.groups.assignment.list.delimiter
USERNAME_GROUPNAME_ASSIGNMENT_LIST_DELIMITER = ranger.usersync.username.groupname.assignment.list.delimiter
GROUP_BASED_ROLE_ASSIGNMENT_RULES =  ranger.usersync.group.based.role.assignment.rules
SYNC_LDAP_URL = ranger.usersync.ldap.url
SYNC_LDAP_BIND_DN = ranger.usersync.ldap.binddn
SYNC_LDAP_BIND_PASSWORD = ranger.usersync.ldap.ldapbindpassword
SYNC_LDAP_DELTASYNC = ranger.usersync.ldap.deltasync
CRED_KEYSTORE_FILENAME= ranger.usersync.credstore.filename
SYNC_LDAP_SEARCH_BASE = ranger.usersync.ldap.searchBase
SYNC_LDAP_USER_SEARCH_BASE = ranger.usersync.ldap.user.searchbase
SYNC_LDAP_USER_SEARCH_SCOPE = ranger.usersync.ldap.user.searchscope
SYNC_LDAP_USER_OBJECT_CLASS = ranger.usersync.ldap.user.objectclass
SYNC_LDAP_USER_SEARCH_FILTER = ranger.usersync.ldap.user.searchfilter
SYNC_LDAP_USER_NAME_ATTRIBUTE = ranger.usersync.ldap.user.nameattribute
SYNC_LDAP_USER_GROUP_NAME_ATTRIBUTE = ranger.usersync.ldap.user.groupnameattribute
SYNC_LDAP_USERNAME_CASE_CONVERSION = ranger.usersync.ldap.username.caseconversion
SYNC_LDAP_GROUPNAME_CASE_CONVERSION = ranger.usersync.ldap.groupname.caseconversion
logdir=ranger.usersync.logdir
SYNC_GROUP_SEARCH_ENABLED = ranger.usersync.group.searchenabled
SYNC_GROUP_USER_MAP_SYNC_ENABLED = ranger.usersync.group.usermapsyncenabled
SYNC_GROUP_SEARCH_BASE=ranger.usersync.group.searchbase
SYNC_GROUP_SEARCH_SCOPE=ranger.usersync.group.searchscope
SYNC_GROUP_OBJECT_CLASS=ranger.usersync.group.objectclass
SYNC_LDAP_GROUP_SEARCH_FILTER=ranger.usersync.group.searchfilter
SYNC_GROUP_NAME_ATTRIBUTE=ranger.usersync.group.nameattribute
SYNC_GROUP_MEMBER_ATTRIBUTE_NAME=ranger.usersync.group.memberattributename
SYNC_PAGED_RESULTS_ENABLED=ranger.usersync.pagedresultsenabled
SYNC_PAGED_RESULTS_SIZE=ranger.usersync.pagedresultssize
SYNC_SOURCE = SYNC_SOURCE
unix_user   = unix_user
unix_group  = unix_group
AUTH_SSL_KEYSTORE_FILE = ranger.usersync.keystore.file
AUTH_SSL_KEYSTORE_PASSWORD = ranger.usersync.keystore.password
AUTH_SSL_TRUSTSTORE_FILE = ranger.usersync.truststore.file
AUTH_SSL_TRUSTSTORE_PASSWORD = ranger.usersync.truststore.password
AUTH_SSL_ENABLED = ranger.usersync.enabled
SYNC_LDAP_REFERRAL = ranger.usersync.ldap.referral
usersync_principal= ranger.usersync.kerberos.principal
usersync_keytab= ranger.usersync.kerberos.keytab
