Config/schema_environment.json

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "array",
    "minItems": 1,
    "items": {
        "type": "object",
        "required": ["name", "description", "interval", "servers"],
        "properties": {
            "name": {
                "type": "string",
                "description": "Unique name identifier for this environment",
                "minLength": 1
            },
            "description": {
                "type": "string",
                "description": "Human-readable description of the environment",
                "minLength": 1
            },
            "interval": {
                "type": "integer",
                "description": "Update interval in seconds for performance counter polling",
                "minimum": 1
            },
            "secretvaultname": {
                "type": "string",
                "description": "Optional name of the secret vault for credential storage"
            },
            "credentialname": {
                "type": "string",
                "description": "Optional credential name to use for authentication (e.g., 'integrated' for integrated authentication)"
            },
            "servers": {
                "type": "array",
                "description": "Array of server configurations to monitor",
                "minItems": 1,
                "items": {
                    "type": "object",
                    "required": ["computername", "counterConfig"],
                    "properties": {
                        "computername": {
                            "type": "string",
                            "description": "Hostname or IP address of the server to monitor",
                            "minLength": 1
                        },
                        "comment": {
                            "type": "string",
                            "description": "Optional comment describing the server or its role"
                        },
                        "counterConfig": {
                            "type": "array",
                            "description": "Array of counter configuration names (e.g., 'CPU', 'Memory', 'DISK')",
                            "minItems": 1,
                            "items": {
                                "type": "string",
                                "minLength": 1
                            }
                        }
                    }
                }
            }
        }
    }
}