# 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.

{
	"eagleProps" : {
		"dataJoinPollIntervalSec" : 30
		"mailHost" : "smtp.server.host"
		"mailSmtpPort":"25"
		"mailDebug" : "true"
		"eagleService": {
			"host": "localhost"
			"port": 9099
			"username": "admin"
			"password": "secret"
		}
	}
	"dynamicConfigSource" : {
		"enabled" : true
		"initDelayMillis" : 0
		"delayMillis" : 30000
	}
}