{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "SSH run_task request", "description": "POST ssh/run_task request schema", "type": "object", "properties": { "target": { "type": "object", "description": "Target information to run task on", "properties": { "hostname": { "type": "string", "description": "Target identifier" }, "user": { "type": "string", "description": "Login user" }, "password": { "type": "string", "description": "Password for SSH transport authentication" }, "private-key-content": { "type": "string", "description": "Contents of private key for SSH" }, "port": { "type": "integer", "description": "Connection port" }, "connect-timeout": { "type": "integer", "description": "How long Bolt should wait when establishing connections" }, "run-as-command": { "type": "array", "description": "Command elevate permissions", "items": { "type": "string" } }, "run-as": { "type": "string", "description": "A different user to run commands as after login" }, "tmpdir": { "type": "string", "description": "The directory to upload and execute temporary files on the target" }, "tty": { "type": "boolean", "description": "Should bolt use pseudo tty to meet sudoer restrictions" }, "host-key-check": { "type": "boolean", "description": "Whether to perform host key validation when connecting over SSH" }, "sudo-password": { "type": "string", "description": "Password to use when changing users via run-as" }, "interpreters": { "type": "object", "description": "Map of file extensions to remote executable" } }, "oneOf": [ { "required": ["password"] }, { "required": ["private-key-content"] } ], "required": ["hostname", "user"], "additionalProperties": false }, "task": { "$ref": "file:task"}, "parameters": { "type": "object", "description": "JSON formatted parameters to be provided to task" } }, "required": ["target", "task"] }