<?xml version="1.0" encoding="UTF-8"?>
<!--
  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.
-->
<configuration>
	<property>
		<name>ranger.service.host</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.http.enabled</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.http.port</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.shutdown.port</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.shutdown.command</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.https.port</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.https.attrib.ssl.enabled</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.https.attrib.ssl.protocol</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.https.attrib.clientAuth</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.https.attrib.keystore.keyalias</name>
		<value></value>
	</property>
	<property>
		<name>ranger.service.https.attrib.keystore.pass</name>
		<value></value>
	</property>
	<property>
		<name>ranger.https.attrib.keystore.file</name>
		<value></value>
	</property>
	<property>
		<name>ranger.accesslog.dateformat</name>
		<value></value>
	</property>
	<property>
		<name>ranger.accesslog.pattern</name>
		<value></value>
	</property>
	<property>
		<name>ranger.externalurl</name>
		<value></value>
	</property>
	<property>
		<name>ranger.contextName</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.showsql</name>
		<value></value>
	</property>
	<property>
		<name>ranger.env.local</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.dialect</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.driver</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.url</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.user</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.password</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.maxpoolsize</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.minpoolsize</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.initialpoolsize</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.maxidletime</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.maxstatements</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.preferredtestquery</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.idleconnectiontestperiod</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.credential.alias</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.credential.provider.path</name>
		<value></value>
	</property>
	<property>
		<name>ranger.logs.base.dir</name>
		<value></value>
	</property>
	<property>
		<name>ranger.scheduler.enabled</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.source.type</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.solr.urls</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.audit.jdbc.dialect</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.audit.jdbc.driver</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.audit.jdbc.url</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.audit.jdbc.user</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.audit.jdbc.password</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.audit.jdbc.credential.alias</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.audit.jdbc.credential.provider.path</name>
		<value></value>
	</property>
	<property>
		<name>ranger.authentication.method</name>
		<value></value>
	</property>
	<property>
		<name>ranger.ldap.url</name>
		<value></value>
	</property>
	<property>
		<name>ranger.ldap.user.dnpattern</name>
		<value></value>
	</property>
	<property>
		<name>ranger.ldap.group.searchbase</name>
		<value></value>
	</property>
	<property>
		<name>ranger.ldap.group.searchfilter</name>
		<value></value>
	</property>
	<property>
		<name>ranger.ldap.group.roleattribute</name>
		<value></value>
	</property>
	<property>
		<name>ranger.ldap.ad.domain</name>
		<value></value>
	</property>
	<property>
		<name>ranger.ldap.ad.url</name>
		<value></value>
	</property>
</configuration>
