Skip to content

Commit 012258b

Browse files
(DOCS) Scaffold resource authoring docs
This change adds empty documents to suggest the structure and content of a resource authoring guide. It is intended to convey high-level design guidance and implementation-agnostic guidance for authoring resource manifests and instance schemas. It doesn't cover any specifics for defining commands or the resource in a particular language. Those concerns are better covered in the resource development kits or the sample resource tutorials, not the conceptual guide.
1 parent 22b64f6 commit 012258b

File tree

8 files changed

+348
-0
lines changed

8 files changed

+348
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
---
2+
description: >-
3+
Considerations and guidance for authoring the document that defines an adapter resource.
4+
ms.date: 08/15/2025
5+
title: Authoring a DSC adapter resource manifest
6+
---
7+
8+
# Authoring a DSC adapter resource manifest
9+
10+
<!-- Introduction -->
11+
12+
## Defining the initial manifest
13+
14+
<!--
15+
Provide an overview of the resource manifest structure with a copy-pastable example to start
16+
from and guidance for defining the resource metadata.
17+
-->
18+
19+
## Defining operations
20+
21+
<!--
22+
Explain how DSC invokes resource operations from manifest definitions and provide guidance on
23+
which operations a resource can or should support and how to define those manifest fields.
24+
-->
25+
26+
### Defining validate
27+
28+
<!--
29+
Provide guidance for defining the validate operation.
30+
-->
31+
32+
### Defining get
33+
34+
<!--
35+
Provide guidance for defining the get operation.
36+
-->
37+
38+
### Defining set
39+
40+
<!--
41+
Provide guidance for defining the set operation.
42+
-->
43+
44+
### Defining whatIf
45+
46+
<!--
47+
Provide guidance for defining the whatIf operation.
48+
-->
49+
50+
### Defining test
51+
52+
<!--
53+
Provide guidance for defining the test operation.
54+
-->
55+
56+
### Defining export
57+
58+
<!--
59+
Provide guidance for defining the export operation.
60+
-->
61+
62+
### Defining delete
63+
64+
<!--
65+
Provide guidance for defining the delete operation.
66+
-->
67+
68+
## Defining exit codes
69+
70+
<!--
71+
Provide guidance on defining exit codes for a manifest to improve UX.
72+
-->
73+
74+
## Best practices
75+
76+
<!--
77+
Provide a list of best practices to follow with reasoning for each.
78+
-->
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
description: >-
3+
Considerations and guidance for emitting messages from a DSC resource.
4+
ms.date: 08/15/2025
5+
title: Emitting messages from a DSC resource
6+
---
7+
8+
# Emitting messages from a DSC resource
9+
10+
<!-- Introduction -->
11+
12+
## Emitting trace messages
13+
14+
<!-- Guidance on when to emit trace messages with example message data -->
15+
16+
## Emitting debug messages
17+
18+
<!-- Guidance on when to emit debug messages with example message data -->
19+
20+
## Emitting info messages
21+
22+
<!-- Guidance on when to emit info messages with example message data -->
23+
24+
## Emitting warning messages
25+
26+
<!-- Guidance on when to emit warning messages with example message data -->
27+
28+
## Emitting error messages
29+
30+
<!-- Guidance on when to emit error messages with example message data -->
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
description: >-
3+
Considerations and guidance for defining exit codes for a resource.
4+
ms.date: 08/15/2025
5+
title: Defining exit codes for a DSC resource
6+
---
7+
8+
# Defining exit codes for a DSC resource
9+
10+
<!-- Introduction -->
11+
12+
## Minimal exit codes
13+
14+
<!-- Overview of default exit codes 0 and 1 -->
15+
16+
## Defining useful exit codes
17+
18+
<!-- Overview of whether and how to define discrete exit codes for a resource -->
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
description: >-
3+
Considerations and guidance for authoring the document that defines an exporter resource.
4+
ms.date: 08/15/2025
5+
title: Authoring a DSC exporter resource manifest
6+
---
7+
8+
# Authoring a DSC exporter resource manifest
9+
10+
<!-- Introduction -->
11+
12+
## Defining the initial manifest
13+
14+
<!--
15+
Provide an overview of the resource manifest structure with a copy-pastable example to start
16+
from and guidance for defining the resource metadata.
17+
-->
18+
19+
## Defining operations
20+
21+
<!--
22+
Explain how DSC invokes resource operations from manifest definitions and provide guidance on
23+
which operations a resource can or should support and how to define those manifest fields.
24+
-->
25+
26+
### Defining export
27+
28+
<!--
29+
Provide guidance for defining the validate operation.
30+
-->
31+
32+
## Defining exit codes
33+
34+
<!--
35+
Provide guidance on defining exit codes for a manifest to improve UX.
36+
-->
37+
38+
## Best practices
39+
40+
<!--
41+
Provide a list of best practices to follow with reasoning for each.
42+
-->
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
description: >-
3+
Overview of the process and considerations for authoring a DSC resource.
4+
ms.date: 03/25/2025
5+
title: Authoring a DSC resource
6+
---
7+
8+
# Authoring a DSC resource
9+
10+
<!-- Introduction -->
11+
12+
## Choosing a resource kind
13+
14+
<!--
15+
Provide guidance on how to choose a resource kind
16+
-->
17+
18+
## Defining resource metadata
19+
20+
<!--
21+
Provide guidance on defining the resource metadata fields.
22+
-->
23+
24+
## Defining exit codes
25+
26+
<!--
27+
Provide guidance on defining specific exit codes for a resource and link to
28+
specific document.
29+
-->
30+
31+
## Resource messaging
32+
33+
<!--
34+
Provide overview of emitting messages from a resource and link to specific
35+
document.
36+
-->
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
items:
2+
- name: Overview
3+
href: index.md
4+
- name: Typical resources
5+
items:
6+
- name: Resource manifest
7+
href: typical/resource-manifest.md
8+
- name: Resource instance schema
9+
href: typical/resource-instance-schema.md
10+
- name: Adapter resources
11+
items:
12+
- name: Resource manifest
13+
href: adapter/resource-manifest.md
14+
- name: Exporter resources
15+
items:
16+
- name: Resource manifest
17+
href: exporter/resource-manifest.md
18+
- name: Emitting messages
19+
href: emitting-messages.md
20+
- name: Defining exit codes
21+
href: exit-codes.md
22+
-
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
description: >-
3+
Considerations and guidance for defining the JSON Schema that represents an instance of a typical
4+
DSC resource.
5+
ms.date: 08/15/2025
6+
title: Authoring a typical DSC resource instance JSON Schema
7+
---
8+
9+
# Authoring a DSC resource instance JSON Schema
10+
11+
<!-- Introduction -->
12+
13+
## Defining the initial schema
14+
15+
<!-- Provide copy-pastable snippet to use as scaffold with explanation -->
16+
17+
## Handling whether an instance exists
18+
19+
<!-- Provide overview of `_exist` and how to add it to the instance schema if needed -->
20+
21+
## Defining configurable properties
22+
23+
<!-- Provide overview of data types and how to define them for the instance schema -->
24+
25+
## Defining read-only properties
26+
27+
<!--
28+
Provide overview of how DSC handles read-only properties, when to use them, and how to define
29+
them in the schema.
30+
-->
31+
32+
## Defining write-only properties
33+
34+
<!--
35+
Provide overview of how DSC handles write-only properties, when to use them, and how to define
36+
them in the schema.
37+
-->
38+
39+
## Handling complex schemas
40+
41+
<!--
42+
Provide overview of how to add handling for complex cases to a schema, including schema
43+
composition and conditionals, and guidance for when to use them or decompose a resource.
44+
-->
45+
46+
## Best practices
47+
48+
<!--
49+
Provide a list of best practices with reasoning.
50+
-->
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
description: >-
3+
Considerations and guidance for defining the document that defines a typical DSC resource.
4+
ms.date: 08/15/2025
5+
title: Authoring a typical DSC resource manifest
6+
---
7+
8+
# Authoring a typical DSC resource manifest
9+
10+
<!-- Introduction -->
11+
12+
## Defining the initial manifest
13+
14+
<!--
15+
Provide an overview of the resource manifest structure with a copy-pastable example to start
16+
from and guidance for defining the resource metadata.
17+
-->
18+
19+
## Defining operations
20+
21+
<!--
22+
Explain how DSC invokes resource operations from manifest definitions and provide guidance on
23+
which operations a resource can or should support and how to define those manifest fields.
24+
-->
25+
26+
### Defining get
27+
28+
<!--
29+
Provide guidance for defining the get operation.
30+
-->
31+
32+
### Defining set
33+
34+
<!--
35+
Provide guidance for defining the set operation.
36+
-->
37+
38+
### Defining whatIf
39+
40+
<!--
41+
Provide guidance for defining the whatIf operation.
42+
-->
43+
44+
### Defining test
45+
46+
<!--
47+
Provide guidance for defining the test operation.
48+
-->
49+
50+
### Defining export
51+
52+
<!--
53+
Provide guidance for defining the export operation.
54+
-->
55+
56+
### Defining delete
57+
58+
<!--
59+
Provide guidance for defining the delete operation.
60+
-->
61+
62+
## Defining exit codes
63+
64+
<!--
65+
Provide guidance on defining exit codes for a manifest to improve UX.
66+
-->
67+
68+
## Best practices
69+
70+
<!--
71+
Provide a list of best practices to follow with reasoning for each.
72+
-->

0 commit comments

Comments
 (0)