diff options
author | Josh Spicer <josh.spicer@microsoft.com> | 2022-06-01 16:49:31 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-01 16:49:31 +0300 |
commit | d9c21dc9014b99ef8b7c45cbf9e7c04d941c1236 (patch) | |
tree | 1ab55c83003cad3db26943ea7de49059f0ac9975 /extensions | |
parent | a05dc431a0ce4131ff5171f09c0ddb29a9a21154 (diff) |
better approach for codespaces `permissions` dev container schema (#150909)
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/configuration-editing/schemas/devContainer.schema.generated.json | 1395 | ||||
-rw-r--r-- | extensions/configuration-editing/schemas/devContainer.schema.src.json | 279 |
2 files changed, 996 insertions, 678 deletions
diff --git a/extensions/configuration-editing/schemas/devContainer.schema.generated.json b/extensions/configuration-editing/schemas/devContainer.schema.generated.json index 22d0fb5e802..4ae5033f3f1 100644 --- a/extensions/configuration-editing/schemas/devContainer.schema.generated.json +++ b/extensions/configuration-editing/schemas/devContainer.schema.generated.json @@ -406,6 +406,7 @@ }, "customizations": { "type": "object", + "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations.", "properties": { "vscode": { "type": "object", @@ -432,131 +433,183 @@ }, "codespaces": { "type": "object", + "description": "Customizations specific to GitHub Codespaces", "properties": { "repositories": { "type": "object", - "description": "Configuration relative to a GitHub repository", - "pattern": "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$", - "errorMessage": "Expected format: 'owner/repo' (eg: 'microsoft/vscode'). A wildcard (*) is permitted for the repo name. (eg: 'microsoft/*').", - "oneOf": [ - { - "properties": { - "permissions": { - "type": "object", - "description": "Addional repository permissions. See https://aka.ms/ghcs/multi-repo-auth for more info.", - "anyOf": [ - { - "actions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "checks": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "contents": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "deployments": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "discussions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "issues": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "packages": { - "type": "string", - "enum": [ - "read" - ] - }, - "pages": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "pull_requests": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "repository_projects": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "statuses": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "workflows": { - "type": "string", - "enum": [ - "write" - ] - } + "description": "Configuration relative to the given repositories, following the format 'owner/repo'.\n A wildcard (*) is permitted for the repo name (eg: 'microsoft/*')", + "patternProperties": { + "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$": { + "type": "object", + "additionalProperties": true, + "oneOf": [ + { + "properties": { + "permissions": { + "type": "object", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "additionalProperties": true, + "anyOf": [ + { + "properties": { + "actions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "checks": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "contents": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "deployments": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "discussions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "issues": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "packages": { + "type": "string", + "enum": [ + "read" + ] + } + } + }, + { + "properties": { + "pages": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "pull_requests": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "repository_projects": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "statuses": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "workflows": { + "type": "string", + "enum": [ + "write" + ] + } + } + } + ] } - ], - "additionalProperties": false - } - } - }, - { - "properties": { - "permissions": { - "type": "string", - "enum": [ - "read-all", - "write-all" - ] + } + }, + { + "properties": { + "permissions": { + "type": "string", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "enum": [ + "read-all", + "write-all" + ] + } + } } - } + ] } - ], + }, "additionalProperties": false } }, "additionalProperties": false } }, - "additionalProperties": { - "type": "object", - "additionalProperties": true - }, - "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations." + "additionalProperties": false + }, + "additionalProperties": { + "type": "object", + "additionalProperties": true } }, "required": [ @@ -963,6 +1016,7 @@ }, "customizations": { "type": "object", + "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations.", "properties": { "vscode": { "type": "object", @@ -989,131 +1043,183 @@ }, "codespaces": { "type": "object", + "description": "Customizations specific to GitHub Codespaces", "properties": { "repositories": { "type": "object", - "description": "Configuration relative to a GitHub repository", - "pattern": "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$", - "errorMessage": "Expected format: 'owner/repo' (eg: 'microsoft/vscode'). A wildcard (*) is permitted for the repo name. (eg: 'microsoft/*').", - "oneOf": [ - { - "properties": { - "permissions": { - "type": "object", - "description": "Addional repository permissions. See https://aka.ms/ghcs/multi-repo-auth for more info.", - "anyOf": [ - { - "actions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "checks": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "contents": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "deployments": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "discussions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "issues": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "packages": { - "type": "string", - "enum": [ - "read" - ] - }, - "pages": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "pull_requests": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "repository_projects": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "statuses": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "workflows": { - "type": "string", - "enum": [ - "write" - ] - } + "description": "Configuration relative to the given repositories, following the format 'owner/repo'.\n A wildcard (*) is permitted for the repo name (eg: 'microsoft/*')", + "patternProperties": { + "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$": { + "type": "object", + "additionalProperties": true, + "oneOf": [ + { + "properties": { + "permissions": { + "type": "object", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "additionalProperties": true, + "anyOf": [ + { + "properties": { + "actions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "checks": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "contents": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "deployments": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "discussions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "issues": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "packages": { + "type": "string", + "enum": [ + "read" + ] + } + } + }, + { + "properties": { + "pages": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "pull_requests": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "repository_projects": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "statuses": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "workflows": { + "type": "string", + "enum": [ + "write" + ] + } + } + } + ] } - ], - "additionalProperties": false - } - } - }, - { - "properties": { - "permissions": { - "type": "string", - "enum": [ - "read-all", - "write-all" - ] + } + }, + { + "properties": { + "permissions": { + "type": "string", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "enum": [ + "read-all", + "write-all" + ] + } + } } - } + ] } - ], + }, "additionalProperties": false } }, "additionalProperties": false } }, - "additionalProperties": { - "type": "object", - "additionalProperties": true - }, - "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations." + "additionalProperties": false + }, + "additionalProperties": { + "type": "object", + "additionalProperties": true } }, "required": [ @@ -1486,6 +1592,7 @@ }, "customizations": { "type": "object", + "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations.", "properties": { "vscode": { "type": "object", @@ -1512,131 +1619,183 @@ }, "codespaces": { "type": "object", + "description": "Customizations specific to GitHub Codespaces", "properties": { "repositories": { "type": "object", - "description": "Configuration relative to a GitHub repository", - "pattern": "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$", - "errorMessage": "Expected format: 'owner/repo' (eg: 'microsoft/vscode'). A wildcard (*) is permitted for the repo name. (eg: 'microsoft/*').", - "oneOf": [ - { - "properties": { - "permissions": { - "type": "object", - "description": "Addional repository permissions. See https://aka.ms/ghcs/multi-repo-auth for more info.", - "anyOf": [ - { - "actions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "checks": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "contents": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "deployments": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "discussions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "issues": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "packages": { - "type": "string", - "enum": [ - "read" - ] - }, - "pages": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "pull_requests": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "repository_projects": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "statuses": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "workflows": { - "type": "string", - "enum": [ - "write" - ] - } + "description": "Configuration relative to the given repositories, following the format 'owner/repo'.\n A wildcard (*) is permitted for the repo name (eg: 'microsoft/*')", + "patternProperties": { + "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$": { + "type": "object", + "additionalProperties": true, + "oneOf": [ + { + "properties": { + "permissions": { + "type": "object", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "additionalProperties": true, + "anyOf": [ + { + "properties": { + "actions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "checks": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "contents": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "deployments": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "discussions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "issues": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "packages": { + "type": "string", + "enum": [ + "read" + ] + } + } + }, + { + "properties": { + "pages": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "pull_requests": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "repository_projects": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "statuses": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "workflows": { + "type": "string", + "enum": [ + "write" + ] + } + } + } + ] } - ], - "additionalProperties": false - } - } - }, - { - "properties": { - "permissions": { - "type": "string", - "enum": [ - "read-all", - "write-all" - ] + } + }, + { + "properties": { + "permissions": { + "type": "string", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "enum": [ + "read-all", + "write-all" + ] + } + } } - } + ] } - ], + }, "additionalProperties": false } }, "additionalProperties": false } }, - "additionalProperties": { - "type": "object", - "additionalProperties": true - }, - "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations." + "additionalProperties": false + }, + "additionalProperties": { + "type": "object", + "additionalProperties": true } }, "required": [ @@ -1983,6 +2142,7 @@ }, "customizations": { "type": "object", + "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations.", "properties": { "vscode": { "type": "object", @@ -2009,131 +2169,183 @@ }, "codespaces": { "type": "object", + "description": "Customizations specific to GitHub Codespaces", "properties": { "repositories": { "type": "object", - "description": "Configuration relative to a GitHub repository", - "pattern": "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$", - "errorMessage": "Expected format: 'owner/repo' (eg: 'microsoft/vscode'). A wildcard (*) is permitted for the repo name. (eg: 'microsoft/*').", - "oneOf": [ - { - "properties": { - "permissions": { - "type": "object", - "description": "Addional repository permissions. See https://aka.ms/ghcs/multi-repo-auth for more info.", - "anyOf": [ - { - "actions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "checks": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "contents": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "deployments": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "discussions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "issues": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "packages": { - "type": "string", - "enum": [ - "read" - ] - }, - "pages": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "pull_requests": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "repository_projects": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "statuses": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "workflows": { - "type": "string", - "enum": [ - "write" - ] - } + "description": "Configuration relative to the given repositories, following the format 'owner/repo'.\n A wildcard (*) is permitted for the repo name (eg: 'microsoft/*')", + "patternProperties": { + "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$": { + "type": "object", + "additionalProperties": true, + "oneOf": [ + { + "properties": { + "permissions": { + "type": "object", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "additionalProperties": true, + "anyOf": [ + { + "properties": { + "actions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "checks": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "contents": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "deployments": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "discussions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "issues": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "packages": { + "type": "string", + "enum": [ + "read" + ] + } + } + }, + { + "properties": { + "pages": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "pull_requests": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "repository_projects": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "statuses": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "workflows": { + "type": "string", + "enum": [ + "write" + ] + } + } + } + ] } - ], - "additionalProperties": false - } - } - }, - { - "properties": { - "permissions": { - "type": "string", - "enum": [ - "read-all", - "write-all" - ] + } + }, + { + "properties": { + "permissions": { + "type": "string", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "enum": [ + "read-all", + "write-all" + ] + } + } } - } + ] } - ], + }, "additionalProperties": false } }, "additionalProperties": false } }, - "additionalProperties": { - "type": "object", - "additionalProperties": true - }, - "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations." + "additionalProperties": false + }, + "additionalProperties": { + "type": "object", + "additionalProperties": true } }, "required": [ @@ -2445,6 +2657,7 @@ }, "customizations": { "type": "object", + "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations.", "properties": { "vscode": { "type": "object", @@ -2471,131 +2684,183 @@ }, "codespaces": { "type": "object", + "description": "Customizations specific to GitHub Codespaces", "properties": { "repositories": { "type": "object", - "description": "Configuration relative to a GitHub repository", - "pattern": "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$", - "errorMessage": "Expected format: 'owner/repo' (eg: 'microsoft/vscode'). A wildcard (*) is permitted for the repo name. (eg: 'microsoft/*').", - "oneOf": [ - { - "properties": { - "permissions": { - "type": "object", - "description": "Addional repository permissions. See https://aka.ms/ghcs/multi-repo-auth for more info.", - "anyOf": [ - { - "actions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "checks": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "contents": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "deployments": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "discussions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "issues": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "packages": { - "type": "string", - "enum": [ - "read" - ] - }, - "pages": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "pull_requests": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "repository_projects": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "statuses": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "workflows": { - "type": "string", - "enum": [ - "write" - ] - } + "description": "Configuration relative to the given repositories, following the format 'owner/repo'.\n A wildcard (*) is permitted for the repo name (eg: 'microsoft/*')", + "patternProperties": { + "^[a-zA-Z0-9-_.]+[.]*/[a-zA-Z0-9-_*]+[.]*$": { + "type": "object", + "additionalProperties": true, + "oneOf": [ + { + "properties": { + "permissions": { + "type": "object", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "additionalProperties": true, + "anyOf": [ + { + "properties": { + "actions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "checks": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "contents": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "deployments": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "discussions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "issues": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "packages": { + "type": "string", + "enum": [ + "read" + ] + } + } + }, + { + "properties": { + "pages": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "pull_requests": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "repository_projects": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "statuses": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "workflows": { + "type": "string", + "enum": [ + "write" + ] + } + } + } + ] } - ], - "additionalProperties": false - } - } - }, - { - "properties": { - "permissions": { - "type": "string", - "enum": [ - "read-all", - "write-all" - ] + } + }, + { + "properties": { + "permissions": { + "type": "string", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "enum": [ + "read-all", + "write-all" + ] + } + } } - } + ] } - ], + }, "additionalProperties": false } }, "additionalProperties": false } }, - "additionalProperties": { - "type": "object", - "additionalProperties": true - }, - "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations." + "additionalProperties": false + }, + "additionalProperties": { + "type": "object", + "additionalProperties": true } }, "additionalProperties": false diff --git a/extensions/configuration-editing/schemas/devContainer.schema.src.json b/extensions/configuration-editing/schemas/devContainer.schema.src.json index db0c3822e7c..73456101bb9 100644 --- a/extensions/configuration-editing/schemas/devContainer.schema.src.json +++ b/extensions/configuration-editing/schemas/devContainer.schema.src.json @@ -309,6 +309,7 @@ }, "customizations": { "type": "object", + "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations.", "properties": { "vscode": { "type": "object", @@ -334,128 +335,180 @@ }, "codespaces": { "type": "object", + "description": "Customizations specific to GitHub Codespaces", "properties": { "repositories": { "type": "object", - "description": "Configuration relative to a GitHub repository", - "pattern": "^[a-zA-Z0-9-_.]+[.]*\/[a-zA-Z0-9-_*]+[.]*$", - "errorMessage": "Expected format: 'owner/repo' (eg: 'microsoft/vscode'). A wildcard (*) is permitted for the repo name. (eg: 'microsoft/*').", - "oneOf": [ - { - "properties": { - "permissions": { - "type": "object", - "description": "Addional repository permissions. See https://aka.ms/ghcs/multi-repo-auth for more info.", - "anyOf": [ - { - "actions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "checks": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "contents": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "deployments": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "discussions": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "issues": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "packages": { - "type": "string", - "enum": [ - "read" - ] - }, - "pages": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "pull_requests": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "repository_projects": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "statuses": { - "type": "string", - "enum": [ - "read", - "write" - ] - }, - "workflows": { - "type": "string", - "enum": [ - "write" - ] - } + "description": "Configuration relative to the given repositories, following the format 'owner/repo'.\n A wildcard (*) is permitted for the repo name (eg: 'microsoft/*')", + "patternProperties": { + "^[a-zA-Z0-9-_.]+[.]*\/[a-zA-Z0-9-_*]+[.]*$": { + "type": "object", + "additionalProperties": true, + "oneOf": [ + { + "properties": { + "permissions": { + "type": "object", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "additionalProperties": true, + "anyOf": [ + { + "properties": { + "actions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "checks": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "contents": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "deployments": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "discussions": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "issues": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "packages": { + "type": "string", + "enum": [ + "read" + ] + } + } + }, + { + "properties": { + "pages": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "pull_requests": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "repository_projects": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "statuses": { + "type": "string", + "enum": [ + "read", + "write" + ] + } + } + }, + { + "properties": { + "workflows": { + "type": "string", + "enum": [ + "write" + ] + } + } + } + ] } - ] - } - } - }, - { - "properties": { - "permissions": { - "type": "string", - "enum": [ - "read-all", - "write-all" - ] + } + }, + { + "properties": { + "permissions": { + "type": "string", + "description": "Additional repository permissions.\n See https://aka.ms/ghcs/multi-repo-auth for more info.", + "enum": [ + "read-all", + "write-all" + ] + } + } } - } + ] } - ] + } } } } - }, - "additionalProperties": { - "type": "object", - "additionalProperties": true - }, - "description": "Tool-specific configuration. Each tool should use a JSON object subproperty with a unique name to group its customizations." + } + }, + "additionalProperties": { + "type": "object", + "additionalProperties": true } } }, |