{
"type": "object",
"properties": {
"targetIp": {
"type": "string",
"description": "IP address or hostname of the target device(s). Supports wildcards (e.g., 5.0.*.*)."
},
"credentials": {
"type": "object",
"description": "Object containing protocol-specific credentials.",
"properties": {
"snmpv2c": {
"type": "object",
"description": "SNMPv2c credentials.",
"properties": {
"read": {
"type": "string",
"description": "SNMP Read Community"
}
},
"required": ["read"]
},
"snmpv3": {
"type": "object",
"description": "SNMPv3 credentials.",
"properties": {
"user": {
"type": "string",
"description": "SNMPv3 User"
},
"authAlgorithm": {
"type": "string",
"description": "Authentication Algorithm (optional)"
},
"authPassword": {
"type": "string",
"description": "Authentication Password (required if authAlgorithm is provided)"
},
"privacyAlgorithm": {
"type": "string",
"description": "Privacy Algorithm (optional)"
},
"privacyPassword": {
"type": "string",
"description": "Privacy Password (required if privacyAlgorithm is provided)"
},
"engineId": {
"type": "string",
"description": "SNMP Engine ID (optional)"
}
},
"required": ["user"]
},
"sshv1": {
"type": "object",
"description": "SSHv1 credentials.",
"properties": {
"user": {
"type": "string",
"description": "Username"
},
"password": {
"type": "string",
"description": "Password (optional if enablePassword is provided)"
},
"enableUser": {
"type": "string",
"description": "Enable Username (optional)"
},
"enablePassword": {
"type": "string",
"description": "Enable Password (required if password is not provided)"
},
"port": {
"type": "integer",
"description": "Port (optional, default = 22)"
}
},
"required": ["user"]
},
"sshv2": {
"type": "object",
"description": "SSHv2 credentials.",
"properties": {
"user": {
"type": "string",
"description": "Username"
},
"password": {
"type": "string",
"description": "Password (optional if enablePassword is provided)"
},
"enableUser": {
"type": "string",
"description": "Enable Username (optional)"
},
"enablePassword": {
"type": "string",
"description": "Enable Password (required if password is not provided)"
},
"port": {
"type": "integer",
"description": "Port (optional, default = 22)"
}
},
"required": ["user"]
},
"telnet": {
"type": "object",
"description": "Telnet credentials.",
"properties": {
"user": {
"type": "string",
"description": "Username"
},
"password": {
"type": "string",
"description": "Password (optional if enablePassword is provided)"
},
"enableUser": {
"type": "string",
"description": "Enable Username (optional)"
},
"enablePassword": {
"type": "string",
"description": "Enable Password (required if password is not provided)"
},
"port": {
"type": "integer",
"description": "Port (optional, default = 23)"
}
},
"required": ["user"]
},
"http": {
"type": "object",
"description": "HTTP credentials.",
"properties": {
"user": {
"type": "string",
"description": "Username (optional)"
},
"password": {
"type": "string",
"description": "Password (optional)"
},
"port": {
"type": "integer",
"description": "Port (optional, default = 80)"
}
}
},
"https": {
"type": "object",
"description": "HTTPS credentials.",
"properties": {
"user": {
"type": "string",
"description": "Username (optional)"
},
"password": {
"type": "string",
"description": "Password (optional)"
},
"port": {
"type": "integer",
"description": "Port (optional, default = 443)"
}
}
}
},
"additionalProperties": false
}
},
"required": ["targetIp", "credentials"],
"additionalProperties": false
}