Skip to content

Commit 8724b76

Browse files
(SCHEMA) Fix extension schemas
Prior to this change, the extension schemas were erroneously placed in the `extensions` folder instead of the `extension` folder. The schema for the output from `dsc extension list` was missing as was the schema for extension capabilities. This change renames the folder and adds the missing schemas.
1 parent 5938a18 commit 8724b76

File tree

5 files changed

+84
-0
lines changed

5 files changed

+84
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema
2+
$schema: https://json-schema.org/draft/2020-12/schema
3+
$id: <HOST>/<PREFIX>/<VERSION>/definitions/extensionCapabilities.yaml
4+
5+
title: Resource capabilities
6+
description: >-
7+
Define the operations DSC can invoke for an extension and how the extension behaves when invoked.
8+
9+
markdownDescription: |-
10+
***
11+
[_Online Documentation_][00]
12+
***
13+
14+
DSC extensions always have at least one capability. Extension capabilities define the operations
15+
DSC can invoke for an extension and how the extension behaves when invoked.
16+
17+
<!-- Link reference definitions -->
18+
[00]: <DOCS_BASE_URL>/reference/schemas/definitions/extensionCapabilities?<DOCS_VERSION_PIN>
19+
20+
type: array
21+
items:
22+
type: string
23+
enum:
24+
- discover
25+
markdownEnumDescriptions:
26+
- |- # discover
27+
***
28+
[_Online Documentation_][00]
29+
***
30+
31+
An extension with the `discover` capability supports retrieving the path to DSC resource
32+
manifests that aren't included in the `PATH` or `DSC_RESOURCE_PATH`, like manifests for
33+
software installed as AppX packages.
34+
35+
An extension has this capability when its manifest defines the [discover][02]
36+
property.
37+
38+
<!-- Link reference definitions -->
39+
[00]: <DOCS_BASE_URL>/reference/schemas/definitions/extensionCapabilities?<DOCS_VERSION_PIN>#discover
40+
[02]: <DOCS_BASE_URL>/reference/schemas/extension/manifest/discover?<DOCS_VERSION_PIN>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema
2+
$schema: https://json-schema.org/draft/2020-12/schema
3+
$id: <HOST>/<PREFIX>/<VERSION>/outputs/extension/list.yaml
4+
5+
title: dsc extension list result
6+
description: >-
7+
Describes the return data for a DSC extension instance from the
8+
`dsc extension list` command.
9+
10+
type: object
11+
properties:
12+
type:
13+
$ref: /<PREFIX>/<VERSION>/definitions/extensionType.yaml
14+
version:
15+
$ref: /<PREFIX>/<VERSION>/definitions/semver.yaml
16+
capabilities:
17+
$ref: /<PREFIX>/<VERSION>/definitions/extensionCapabilities.yaml
18+
description:
19+
title: Extension description
20+
description: >-
21+
A short synopsis of the DSC extension's purpose.
22+
# Should this include a maximum length or a pattern that forbids newlines?
23+
type: string
24+
path:
25+
title: Path
26+
description: >-
27+
Indicates the path to the DSC extension on the file system.
28+
type: string
29+
directory:
30+
title: Directory
31+
description: >-
32+
Indicates the path to the folder containing the DSC extension on the file
33+
system.
34+
type: string
35+
author:
36+
title: Author
37+
description: >-
38+
Indicates the name of the person or organization that developed and
39+
maintains the DSC extension.
40+
type:
41+
- string
42+
- 'null'
43+
manifest:
44+
$ref: /<PREFIX>/<VERSION>/extension/manifest.yaml

0 commit comments

Comments
 (0)