{
	"main": [
		{
			"name": "DLC",
			"message": "Progress installation directory",
			"default": "/opt/DLC"
		},
		{
			"name": "BrokerPort",
			"message": "Port that the server will listen on",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": 8500
		},
		{
			"name": "AgentsNumInit",
			"message": "Initial number of agents",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": 5
		},
		{
			"name": "AgentsNumMin",
			"message": "Minimum number of agents",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": 2
		},
		{
			"name": "AgentsNumMax",
			"message": "Maximum number of agents",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": 10
		},
		{
			"name": "ProPath", 
			"message": "Agent PROPATH (comma separated)."
		},
		{
			"name": "WebSrcPath",
			"message": "List of accessible path entries (comma separated), empty or wildcard for everything in PROPATH",
			"default": "*"
		},
		{
			"name": "WorkingDir", 
			"message": "Agent working folder"
		},
		{
			"name": "TmpDir",
			"message": "Agent session temporary folder"
		},
		{
			"name": "PFFile",
			"message": "Agent start-up parameter file"
		},
		{
			"name": "StartupRun",
			"message": "Procedure to run at startup"
		},
		{
			"name": "ConnectRun",
			"message": "Procedure to run on connect"
		},
		{
			"name": "SpeedScript",
			"message": "Enable speed script engine (wrap-cgi).",
			"type": "confirm",
			"default": true
		},
		{
			"name": "RestDb",
			"message": "Expose database content as REST",
			"type": "confirm",
			"default": false
		},
		{
			"name": "RestApi",
			"message": "Expose business logic API as REST",
			"type": "confirm",
			"default": false
	    },
		{
			"name": "KeepPersistent",
			"message": "Keep persistent procedures between requests",
			"type": "confirm",
			"default": false
		},
		{
			"name": "Language",
			"message": "Messages language",
			"default": "en",
			"type": "list",
			"choices": ["en", "ro"]
		},
		{
			"name": "LogFile",
			"message": "Log File",
			"default": "akera-server.log"
		},
		{
			"name": "LogMaxSize",
			"message": "Maximum log file size(kb)",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": 0
		},
		{
			"name": "LogMaxFiles",
			"message": "Maximum log files",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": 3,
			"when": "return answers.LogMaxSize !== 0;"
		},
		{
			"name": "LogLevel",
			"message": "Log level",
			"default": "info",
			"type": "list",
			"choices": ["verbose", "info", "debug", "error", "warn"]
		},
		{
			"name": "ExecTimeOut",
			"message": "Execution timeout (seconds)",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": 60
		},
		{
			"name": "ConnTimeOut",
			"message": "Connection idle timeout (seconds)",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": 2
		},
		{
			"name": "SecureConnection",
			"message": "Require SSL connection from clients",
			"default": false,
			"type": "confirm"
		},
		{
			"name": "Web",
			"message": "Enable web service",
			"default": true,
			"type": "confirm"
		},
		{
			"name": "WebPort",
			"message": "Web service port number",
			"filter": "Number",
			"default": "function { return answers && answers.BrokerPort && answers.BrokerPort + 1;}",
			"validate": "!isNaN(parseInt(input))",
			"when": "return answers.Web === true;"
		},
		{
			"name": "WebLogFile",
			"message": "Web service log file",
			"default": "function { var idx = answers && answers.LogFile.lastIndexOf('.'); return idx ? answers.LogFile.substring(0, idx + 1) + 'web' + answers.LogFile.substring(idx) : 'akera-web.log';}",
			"when": "return answers.Web === true;"
		},
		{
			"name": "WebLogMaxSize",
			"message": "Web service maximum log file size(kb)",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": "LogMaxSize",
			"when": "return answers.Web === true;"
		},
		{
			"name": "WebLogMaxFiles",
			"message": "Web service maximum log files",
			"filter": "Number",
			"validate": "!isNaN(parseInt(input))",
			"default": "LogMaxFiles",
			"when": "return answers.Web === true && answers.WebLogMaxSize !== 0;"
		},
		{
			"name": "WebLogLevel",
			"message": "Web service log level",
			"default": "LogLevel",
			"type": "list",
			"choices": ["verbose", "info", "debug", "error", "warn"],
			"when": "return answers.Web === true;"
		}
	],
	"database": [
		{
			"name": "LdbName",
			"message": "Database logical name"
		},
		{
			"name": "DbName",
			"message": "Database physical name/path"
		},
		{
			"name": "Tcp",
			"message": "Network connection",
			"type": "confirm",
			"default": true
		},
		{
			"name": "Host",
			"message": "Database server host",
			"default": "localhost",
			"when": "return answers.Tcp;"
		},
		{
			"name": "Port",
			"message": "Database server port number or service name",
			"when": "return answers.Tcp;"
		}
	]
}
