{
	"$schema": "http://json-schema.org/draft-07/schema#",
	"description": "Configures an attached to container",
	"allowComments": true,
	"allowTrailingCommas": true,
	"type": "object",
	"definitions": {
		"attachContainer": {
			"type": "object",
			"properties": {
				"workspaceFolder": {
					"type": "string",
					"description": "The path of the workspace folder inside the container."
				},
				"forwardPorts": {
					"type": "array",
					"description": "Ports that are forwarded from the container to the local machine.",
					"items": {
						"type": "integer"
					}
				},
				"settings": {
					"$ref": "vscode://schemas/settings/machine",
					"description": "Machine specific settings that should be copied into the container. These are only copied when connecting to the container for the first time."
				},
				"remoteEnv": {
					"type": "object",
					"additionalProperties": {
						"type": [
							"string",
							"null"
						]
					},
					"description": "Remote environment variables."
				},
				"remoteUser": {
					"type": "string",
					"description": "The user VS Code Server will be started with. The default is the same user as the container."
				},
				"extensions": {
					"type": "array",
					"description": "An array of extensions that should be installed into the container.",
					"items": {
						"type": "string",
						"pattern": "^([a-z0-9A-Z][a-z0-9\\-A-Z]*)\\.([a-z0-9A-Z][a-z0-9\\-A-Z]*)(@(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?$",
						"errorMessage": "Expected format: '${publisher}.${name}' or '${publisher}.${name}@${version}'. Example: 'ms-dotnettools.csharp'."
					}
				},
				"userEnvProbe": {
					"type": "string",
					"enum": [
						"none",
						"loginShell",
						"loginInteractiveShell",
						"interactiveShell"
					],
					"description": "User environment probe to run. The default is none."
				},
				"postAttachCommand": {
					"type": [
						"string",
						"array"
					],
					"description": "A command to run after attaching to the container. If this is a single string, it will be run in a shell. If this is an array of strings, it will be run as a single command without shell.",
					"items": {
						"type": "string"
					}
				}
			}
		}
	},
	"allOf": [
		{
			"$ref": "#/definitions/attachContainer"
		}
	]
}