{
	"$schema": "http://json-schema.org/draft-07/schema",
	"$id": "https://apidocs.iqrf.org/openapi/iqrf-gateway-webapp/schemas/monitConfig.json",
	"type": "object",
	"title": "Monit configuration",
	"description": "Schema of the Monit configuration.",
	"required": [
		"checks",
		"mmonit"
	],
	"additionalProperties": false,
	"example": {
		"checks": [
			{
				"name": "system",
				"enabled": true
			}
		],
		"mmonit": {
			"enabled": true,
			"server": "https://mmonit.example.corp",
			"credentials": {
				"username": "user",
				"password": "password"
			}
		}
	},
	"properties": {
		"checks": {
			"$id": "#/properties/checks",
			"title": "Checks",
			"type": "array",
			"additionalItems": false,
			"items": {
				"$id": "#/properties/checks/items",
				"title": "Check",
				"type": "object",
				"required": [
					"name",
					"enabled"
				],
				"example": {
					"name": "system",
					"enabled": true
				},
				"additionalProperties": false,
				"properties": {
					"name": {
						"$id": "#/properties/checks/items/properties/name",
						"title": "Check name",
						"type": "string",
						"pattern": "^[a-zA-Z0-9_-]+$",
						"example": "system"
					},
					"enabled": {
						"$id": "#/properties/checks/items/properties/enabled",
						"title": "Check enabled",
						"type": "boolean",
						"example": true
					}
				}
			}
		},
		"mmonit": {
			"$id": "#/properties/mmonit",
			"title": "M/Monit connection configuration",
			"type": "object",
			"required": [
				"enabled",
				"credentials",
				"server"
			],
			"additionalProperties": false,
			"properties": {
				"enabled": {
					"$id": "#/properties/mmonit/properties/enabled",
					"title": "M/Monit connection enabled",
					"type": "boolean",
					"example": true
				},
				"credentials": {
					"$id": "#/properties/mmonit/properties/credentials",
					"title": "M/Monit credentials",
					"type": "object",
					"required": [
						"username",
						"password"
					],
					"additionalProperties": false,
					"properties": {
						"username": {
							"$id": "#/properties/mmonit/properties/credentials/properties/username",
							"title": "M/Monit username",
							"type": "string",
							"pattern": "[a-zA-Z0-9]+",
							"example": "user"
						},
						"password": {
							"$id": "#/properties/mmonit/properties/credentials/properties/password",
							"title": "M/Monit password",
							"type": "string",
							"pattern": "[a-zA-Z0-9]+",
							"example": "password"
						}
					}
				},
				"server": {
					"$id": "#/properties/mmonit/properties/server",
					"title": "M/Monit server",
					"type": "string",
					"format": "url"
				}
			}
		}
	}
}
