Remove JSON validation + suggest Settings UI

pull/142/head
Kelvin Schoofs 6 years ago
parent 8d049ac382
commit f2da110db2

@ -147,273 +147,18 @@
"title": "SSH FS Configuration",
"properties": {
"sshfs.configpaths": {
"default": [],
"title": "A list of file locations to load SSH FS configurations from",
"description": "Location of JSON files to load configs from",
"type": "array",
"items": "string"
"items": "string",
"default": []
},
"sshfs.configs": {
"definitions": {
"fields": {
"name": {
"type": "string",
"description": "The unique name for this configuration"
},
"label": {
"type": "string",
"description": "A display name used in some user interface places"
},
"root": {
"type": "string",
"description": "The remote folder to act as root folder",
"default": "/"
},
"host": {
"type": "string",
"description": "Hostname or IP address of the server"
},
"port": {
"type": "number",
"description": "Port number of the server",
"default": 22
},
"username": {
"type": "string",
"description": "Username for authentication"
},
"password": {
"type": [
"string",
"boolean"
],
"description": "Password for password-based user authentication"
},
"privateKey": {
"type": "string",
"description": "String that contains a private key for either key-based or hostbased user authentication (OpenSSH format)"
},
"privateKeyPath": {
"type": "string",
"description": "String that contains the path to a private key for either key-based or hostbased user authentication (OpenSSH format)"
},
"passphrase": {
"type": [
"string",
"boolean"
],
"description": "For an encrypted private key, this is the passphrase used to decrypt it"
},
"agent": {
"type": "string",
"description": "Path to ssh-agent's UNIX socket for ssh-agent-based user authentication (or 'pageant' when using Pagent on Windows)"
},
"putty": {
"type": [
"string",
"boolean"
],
"description": "(Windows only) Use the settings from the given PuTTY session (set this to true to find one using the other settings)"
},
"hop": {
"type": "string",
"description": "Use another SSH configuration as intermediate proxy (connection hopping)"
},
"proxy": {
"type": "object",
"description": "Define a SOCKS 4 or SOCKS 5 proxy to connect through",
"required": [
"host",
"port",
"type"
],
"properties": {
"host": {
"type": "string",
"description": "The hostname of the proxy"
},
"port": {
"type": "number",
"description": "The port of the proxy"
},
"type": {
"description": "The type of the proxy (socks4/socks5)",
"enum": [
"socks4",
"socks5"
]
}
}
}
},
"basic": {
"type": "object",
"properties": {
"label": {
"$ref": "#/properties/sshfs.configs/definitions/fields/label"
},
"root": {
"$ref": "#/properties/sshfs.configs/definitions/fields/root"
},
"hop": {
"$ref": "#/properties/sshfs.configs/definitions/fields/hop"
},
"proxy": {
"$ref": "#/properties/sshfs.configs/definitions/fields/proxy"
}
}
},
"authentication": {
"anyOf": [
{
"$ref": "#/properties/sshfs.configs/definitions/authentication-types/password"
},
{
"$ref": "#/properties/sshfs.configs/definitions/authentication-types/agent"
},
{
"$ref": "#/properties/sshfs.configs/definitions/authentication-types/key"
}
]
},
"authentication-types": {
"password": {
"type": "object",
"required": [
"username",
"password"
],
"properties": {
"username": {
"$ref": "#/properties/sshfs.configs/definitions/fields/username"
},
"password": {
"$ref": "#/properties/sshfs.configs/definitions/fields/password"
}
}
},
"key": {
"type": "object",
"required": [
"username",
"privateKey"
],
"properties": {
"username": {
"$ref": "#/properties/sshfs.configs/definitions/fields/username"
},
"privateKey": {
"$ref": "#/properties/sshfs.configs/definitions/fields/privateKey"
},
"privateKeyPath": {
"$ref": "#/properties/sshfs.configs/definitions/fields/privateKeyPath"
},
"passphrase": {
"$ref": "#/properties/sshfs.configs/definitions/fields/passphrase"
}
},
"dependencies": {
"privateKey": {
"not": {
"required": [
"privateKeyPath"
]
}
}
}
},
"agent": {
"type": "object",
"required": [
"username",
"agent"
],
"properties": {
"username": {
"$ref": "#/properties/sshfs.configs/definitions/fields/username"
},
"agent": {
"$ref": "#/properties/sshfs.configs/definitions/fields/agent"
}
}
}
},
"server-identification": {
"hostname": {
"required": [
"host"
],
"properties": {
"host": {
"$ref": "#/properties/sshfs.configs/definitions/fields/host"
},
"port": {
"$ref": "#/properties/sshfs.configs/definitions/fields/port"
}
}
},
"putty": {
"required": [
"putty"
],
"properties": {
"putty": {
"$ref": "#/properties/sshfs.configs/definitions/fields/putty"
}
}
}
}
},
"$schema": "http://json-schema.org/draft-06/schema#",
"title": "A list of SSH FS configurations",
"description": "Use the Settings UI to edit configurations (run command SSH FS: Open settings and edit configurations)",
"markdownDescription": "Use the Settings UI to edit configurations *(run command `SSH FS: Open settings and edit configurations`)*",
"type": "array",
"items": {
"allOf": [
{
"$ref": "#/properties/sshfs.configs/definitions/basic"
},
{
"oneOf": [
{
"allOf": [
{
"$ref": "#/properties/sshfs.configs/definitions/server-identification/hostname"
},
{
"$ref": "#/properties/sshfs.configs/definitions/authentication"
}
]
},
{
"anyOf": [
{
"allOf": [
{
"$ref": "#/properties/sshfs.configs/definitions/authentication"
},
{
"$ref": "#/properties/sshfs.configs/definitions/server-identification/putty"
}
]
},
{
"$ref": "#/properties/sshfs.configs/definitions/server-identification/putty"
}
]
}
]
},
{
"required": [
"name"
],
"properties": {
"name": {
"$ref": "#/properties/sshfs.configs/definitions/fields/name"
}
}
}
]
},
"items": "object",
"default": [
{
"root": "/tmp",
@ -425,13 +170,7 @@
]
}
}
},
"jsonValidation": [
{
"fileMatch": "*.sshfs.jsonc",
"url": "https://raw.githubusercontent.com/SchoofsKelvin/vscode-sshfs/27dec3277d9a50869c3d2a11db21da6e07a3223a/configschema.json"
}
]
},
"scripts": {
"vscode:prepublish": "npm run compile && cd webview && npm run build",

Loading…
Cancel
Save