OpenDSC Resources
OpenDSC provides built-in DSC Resources for managing Windows systems, SQL Server, and cross-platform components. Resources are packaged into a single executable per platform and work with the standard DSC v3 CLI.
Resource architecture
Unlike traditional DSC Resources that each ship as a separate executable with their own resource manifest, OpenDSC bundles all resources into a single platform-specific executable. This executable implements the DSC multi-resource manifest format, allowing DSC to discover and invoke all OpenDSC resources through one binary.
The executable is:
OpenDsc.Resources.exeon WindowsOpenDsc.Resourceson Linux and macOS
On Windows, the executable includes all Windows-specific, SQL Server, and cross-platform resources. On Linux and macOS, it includes only cross-platform and POSIX resources.
Resource type names
Every OpenDSC resource has a fully qualified type name following this syntax:
The area component groups related resources by platform or domain:
| Area prefix | Domain | Platform |
|---|---|---|
OpenDsc.Windows |
Windows system management | Windows only |
OpenDsc.SqlServer |
SQL Server management | All platforms |
OpenDsc.FileSystem |
File and directory ops | All platforms |
OpenDsc.Json |
JSON file manipulation | All platforms |
OpenDsc.Xml |
XML file manipulation | All platforms |
OpenDsc.Archive.Zip |
ZIP archive operations | All platforms |
OpenDsc.Posix.FileSystem |
POSIX file permissions | Linux, macOS |
Some resources have a sub-area for further organization:
OpenDsc.Windows.FileSystem/AccessControlList— file system ACL managementOpenDsc.Archive.Zip/CompressandOpenDsc.Archive.Zip/Expand— ZIP operations
Resource capabilities
Each resource implements one or more capability interfaces:
| Capability | Operation | Description |
|---|---|---|
| Get | get |
Retrieve the current state of a resource instance |
| Set | set |
Apply the desired state to a resource instance |
| Test | test |
Check whether an instance matches the desired state |
| Delete | delete |
Remove a resource instance |
| Export | export |
Enumerate all instances of the resource on the system |
Not every resource implements all capabilities. Use dsc resource list to see
which capabilities
each resource supports.
Canonical properties
OpenDSC resources use DSC canonical properties to participate in shared semantics:
_exist— indicates whether a resource instance should exist. When_existisfalse, DSC invokes the Delete operation instead of Set._purge— controls whether a list-management resource operates in additive mode (only add specified items) or exact mode (remove items not in the list)._inDesiredState— a read-only property returned by the Test operation indicating whether the instance is in the desired state.
Available resources
For a complete list of OpenDSC resources with their properties and examples, see the resource reference.