<?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.service.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.idletimeout</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.maxlifetime</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.connectiontimeout</name>
		<value></value>
	</property>
	<property>
		<name>ranger.jpa.jdbc.preferredtestquery</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.audit.elasticsearch.urls</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.elasticsearch.protocol</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.elasticsearch.port</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.elasticsearch.user</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.elasticsearch.password</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.amazon_cloudwatch.region</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.amazon_cloudwatch.log_group</name>
		<value></value>
	</property>
	<property>
		<name>ranger.audit.amazon_cloudwatch.log_stream_prefix</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>
