@@ -28,6 +28,7 @@ DSC supports three kinds of command-based DSC Resources:
28
28
- ` group` - Indicates that the manifest is for a [group resource](#group-resources).
29
29
- ` adapter` - Indicates that the manifest is for an [adapter resource](#adapter-resources).
30
30
- ` importer` - Indicates that the manifest is for an [importer resource](#importer-resources).
31
+ - ` exporter` - Indicates that the manifest is for an [exporter resource](#exporter-resources).
31
32
32
33
When `kind` isn't defined in the resource manifest, DSC infers the value for the property. If the
33
34
` adapter` property is defined in the resource manifest, DSC infers the value of `kind` as
@@ -73,6 +74,18 @@ manifest.
73
74
For example, the `Microsoft.DSC/Import` importer resource resolves instances from an external
74
75
configuration document, enabling you to compose configurations from multiple files.
75
76
77
+ # ## Exporter resources
78
+
79
+ Exporter resources implement the **Export** operation to return full resource instances for DSC to
80
+ recursively export. This allows an exporter resource to help users quickly export the current
81
+ configuration of a system without having to know every available resource.
82
+
83
+ For example, an exporter resource might discover whether Apache is installed and then return an
84
+ instance for every supported resource to fully export the configuration for Apache.
85
+
86
+ An exporter resource must always define the [kind][03] and [export][06] properties in the resource
87
+ manifest.
88
+
76
89
# ## Nested resource instances
77
90
78
91
The resource instances declared in adapter and group resources or resolved by importer resources
@@ -144,7 +157,7 @@ The following matrix defines the relations of each instance in the configuration
144
157
# ## Referencing nested instances
145
158
146
159
Nested resource instances have limitations for the [dependsOn][04] property and the
147
- [reference()][06 ] configuration function.
160
+ [reference()][07 ] configuration function.
148
161
149
162
1. You can only reference adjacent instances. You can't reference a nested instance from outside of
150
163
the instance that declares or resolves it. You can't use a reference to a resource outside of the
@@ -386,4 +399,5 @@ resources:
386
399
[03] : ../resource/manifest/root.md#kind
387
400
[04] : ../config/resource.md#dependson
388
401
[05] : ../resource/manifest/resolve.md
389
- [06] : ../config/functions/reference.md
402
+ [06] : ../resource/manifest/export.md
403
+ [07] : ../config/functions/reference.md
0 commit comments