@@ -28,6 +28,7 @@ DSC supports three kinds of command-based DSC Resources:
2828- ` group` - Indicates that the manifest is for a [group resource](#group-resources).
2929- ` adapter` - Indicates that the manifest is for an [adapter resource](#adapter-resources).
3030- ` 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).
3132
3233When `kind` isn't defined in the resource manifest, DSC infers the value for the property. If the
3334` adapter` property is defined in the resource manifest, DSC infers the value of `kind` as
@@ -73,6 +74,18 @@ manifest.
7374For example, the `Microsoft.DSC/Import` importer resource resolves instances from an external
7475configuration document, enabling you to compose configurations from multiple files.
7576
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+
7689# ## Nested resource instances
7790
7891The 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
144157# ## Referencing nested instances
145158
146159Nested resource instances have limitations for the [dependsOn][04] property and the
147- [reference()][06 ] configuration function.
160+ [reference()][07 ] configuration function.
148161
1491621. You can only reference adjacent instances. You can't reference a nested instance from outside of
150163 the instance that declares or resolves it. You can't use a reference to a resource outside of the
@@ -386,4 +399,5 @@ resources:
386399[03] : ../resource/manifest/root.md#kind
387400[04] : ../config/resource.md#dependson
388401[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