diff --git a/docs/reference/schemas/definitions/functions/builtin/dataTypes.md b/docs/reference/schemas/definitions/functions/builtin/dataTypes.md index 2496cba7a..8a149999e 100644 --- a/docs/reference/schemas/definitions/functions/builtin/dataTypes.md +++ b/docs/reference/schemas/definitions/functions/builtin/dataTypes.md @@ -1,6 +1,6 @@ --- description: JSON schema reference for the data types that DSC functions operate on. -ms.date: 07/03/2025 +ms.date: 09/01/2026 ms.topic: reference title: Function data types schema reference --- @@ -14,24 +14,28 @@ Defines the available data types that DSC functions operate on. ## Metadata ```yaml -SchemaDialect : https://json-schema.org/draft/2020-12/schema -SchemaID : https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.2.0/definitions/functions/builtin/dataTypes.json -Type : string -ValidValues : [ - 'array' - 'boolean' - 'lambda' - 'null' - 'number' - 'object' - 'string' - ] +SchemaDialect: https://json-schema.org/draft/2020-12/schema +SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/functions/builtin/argKind.json +Type: string +ValidValues: [ + array, + boolean, + lambda, + null, + number, + object, + string + ] ``` ## Description Functions in DSC only support a subset of possible data types for input arguments and output -values. The supported data types are: +values. The `dsc function list` command reports these data types in the `acceptedArgOrderedTypes`, +`remainingArgAcceptedTypes`, and `returnTypes` properties for each function. For more information, +see [dsc function list result schema reference][01]. + +The supported data types are: - `array` - A collection of items - `boolean` - Either `true` or `false` @@ -40,3 +44,6 @@ values. The supported data types are: - `number` - A 64-bit integer - `object` - A collection of key-value pairs - `string` - UTF-8 text + + +[01]: ../../../outputs/function/list.md diff --git a/docs/reference/schemas/definitions/message.md b/docs/reference/schemas/definitions/message.md index 6b5a3e084..63cdee72d 100644 --- a/docs/reference/schemas/definitions/message.md +++ b/docs/reference/schemas/definitions/message.md @@ -1,6 +1,6 @@ --- description: JSON schema reference for a structured message returned from a 'dsc config' command. -ms.date: 07/03/2025 +ms.date: 09/01/2026 ms.topic: reference title: Structured message schema reference --- @@ -21,6 +21,11 @@ Type: object ## Description +When DSC invokes a resource during a `dsc config` command, it captures any messages the resource +emits and returns them in the `messages` array of the command's output. Each message is an object +that identifies the resource instance the message came from, the text of the message, and its +severity. + ## Required properties Every message must be an object that defines these properties: @@ -50,7 +55,7 @@ type names, see [DSC Resource fully qualified type name schema reference][01]. ```yaml Type: string Required: true -Pattern: ^\w+(\.\w+){0,2}\/\w+$ +Pattern: ^\w+(\.\w+)*\/\w+$ ``` ### message diff --git a/docs/reference/schemas/definitions/parameters/dataTypes.md b/docs/reference/schemas/definitions/parameters/dataTypes.md index 388f07167..62898f882 100644 --- a/docs/reference/schemas/definitions/parameters/dataTypes.md +++ b/docs/reference/schemas/definitions/parameters/dataTypes.md @@ -1,6 +1,6 @@ --- description: JSON schema reference for valid parameter data types in a configuration document. -ms.date: 07/03/2025 +ms.date: 09/01/2026 ms.topic: reference title: DSC configuration parameter data type schema reference --- @@ -17,7 +17,7 @@ Defines valid data types for a DSC configuration parameter SchemaDialect: https://json-schema.org/draft/2020-12/schema SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/definitions/parameters/dataTypes.json Type: string -ValidValues: [array, bool, int, object, string, secureobject, securestring] +ValidValues: [array, bool, int, object, string, secureObject, secureString] ``` ## Description @@ -31,8 +31,11 @@ The valid data types for a parameter are: - `int` for integers - `object` for objects - `string` for strings -- `secureobject` for secure objects -- `securestring` for secure strings +- `secureObject` for secure objects +- `secureString` for secure strings + +The data type names are case-sensitive. For example, DSC raises an error for a parameter that +defines its `type` as `securestring` instead of `secureString`. Access parameters in a configuration using this syntax: @@ -244,9 +247,9 @@ secure object parameters. ```yaml parameters: password: - type: securestring + type: secureString sensitiveOptions: - type: secureobject + type: secureObject ``` [01]: ../../config/document.md diff --git a/docs/reference/schemas/definitions/resourceCapabilities.md b/docs/reference/schemas/definitions/resourceCapabilities.md index 4e671e3bd..502eaf3f2 100644 --- a/docs/reference/schemas/definitions/resourceCapabilities.md +++ b/docs/reference/schemas/definitions/resourceCapabilities.md @@ -1,6 +1,6 @@ --- description: JSON schema reference for resource capabilities -ms.date: 07/03/2025 +ms.date: 09/01/2026 ms.topic: reference title: DSC Resource capabilities schema reference --- @@ -15,7 +15,7 @@ Defines the operations you can invoke for a resource and how the resource behave ```yaml SchemaDialect: https://json-schema.org/draft/2020-12/schema -SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/definitions/resourceKind.json +SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/definitions/resourceCapabilities.json Type: array Required: true ItemsMustBeUnique: true @@ -24,9 +24,10 @@ ItemsValidValues: [ get, set, setHandlesExist, - whatIf, + setWhatIf, test, delete, + deleteWhatIf, export, resolve ] @@ -35,21 +36,53 @@ ItemsValidValues: [ ## Description DSC resources always have at least one capability. Resource capabilities define the operations you -can invoke for a resource and how the resource behaves when invoked. +can invoke for a resource and how the resource behaves when invoked. DSC reports the capabilities +of every discovered resource in the output of the `dsc resource list` command. DSC resources may have the following capabilities: -- `get` - The resource can retrieve the current state of an instance. -- `set` - The resource can enforce the desired state for an instance. -- `setHandlesExist` - The resource handles deleting an instance during a **Set** operation. -- `whatIf` - The resource can report how it would change state for an instance during a **Set** operation. +- `get` - The resource supports retrieving the current state of an instance. +- `set` - The resource supports enforcing the desired state for an instance. +- `setHandlesExist` - The resource handles the `_exist` canonical property directly during a + **Set** operation, including removing an instance when `_exist` is `false`. +- `setWhatIf` - The resource supports simulating the **Set** operation directly, reporting how it + would change the state of an instance without changing it. This capability was added in DSC + version 3.3.0. Through DSC version 3.2.x, this capability was reported as `whatIf`. - `test` - The resource implements the **Test** operation and doesn't rely on synthetic testing. -- `delete` - The resource can remove an instance. -- `export` - The resource can enumerate every instance. -- `resolve` - The resource can resolve nested instances from an external source. +- `delete` - The resource supports removing an instance. +- `deleteWhatIf` - The resource supports simulating the **Delete** operation directly, reporting + how it would remove an instance without removing it. This capability was added in DSC version + 3.3.0. +- `export` - The resource supports enumerating every instance. +- `resolve` - The resource supports resolving nested instances from an external source. -For more information about resource capabilities, see [DSC resource capabilities][01]. For more -information about the operations you can invoke for a resource, see [DSC resource operations][02]. +### Capabilities for command resources -[01]: ../../../concepts/resources/capabilities.md -[02]: ../../../concepts/resources/operations.md +DSC infers the capabilities of a command resource from the properties defined in its resource +manifest: + +| Capability | Manifest properties | +|:------------------|:---------------------------------------------------------------------| +| `get` | [get][01] | +| `set` | [set][02] | +| `setHandlesExist` | [set][02] with `handlesExist` set to `true` | +| `setWhatIf` | [set][02] with a `whatIfArg` item in `args`, or [whatIf][03] | +| `test` | [test][04] | +| `delete` | [delete][05] | +| `deleteWhatIf` | [delete][05] with a `whatIfArg` item in `args` | +| `export` | [export][06] | +| `resolve` | [resolve][07] | + +For more information about resource capabilities, see [DSC resource capabilities][08]. For more +information about the operations you can invoke for a resource, see [DSC resource operations][09]. + + +[01]: ../resource/manifest/get.md +[02]: ../resource/manifest/set.md +[03]: ../resource/manifest/whatif.md +[04]: ../resource/manifest/test.md +[05]: ../resource/manifest/delete.md +[06]: ../resource/manifest/export.md +[07]: ../resource/manifest/resolve.md +[08]: ../../../concepts/resources/capabilities.md +[09]: ../../../concepts/resources/operations.md diff --git a/docs/reference/schemas/definitions/resourceKind.md b/docs/reference/schemas/definitions/resourceKind.md index 2589bdc17..564663050 100644 --- a/docs/reference/schemas/definitions/resourceKind.md +++ b/docs/reference/schemas/definitions/resourceKind.md @@ -1,6 +1,6 @@ --- description: JSON schema reference for resource kind -ms.date: 07/03/2025 +ms.date: 09/01/2026 ms.topic: reference title: DSC Resource kind schema reference --- @@ -9,7 +9,8 @@ title: DSC Resource kind schema reference ## Synopsis -Identifies whether a resource is an adapter resource, a group resource, an importer resource, an exporter resource, or a normal resource. +Identifies whether a resource is an adapter resource, a group resource, an importer resource, an +exporter resource, or a normal resource. ## Metadata @@ -35,7 +36,8 @@ the property. If the `adapter` property is defined in the resource manifest, DSC of `kind` as `adapter`. If the `adapter` property isn't defined, DSC infers the value of `kind` as `resource`. DSC can't infer whether a manifest is for a group, importer, or exporter resource. -When defining a group, importer, or exporter resource with a resource manifest, always explicitly define `kind`. +When defining a group, importer, or exporter resource with a resource manifest, always explicitly +define `kind`. ### Adapter resources @@ -172,13 +174,13 @@ The following examples show valid and invalid references and dependencies. The e This example configuration defines several valid references and dependencies. It also defines two instances of the `Microsoft.DSC/Group` resource, one nested inside the other. -The top level instance of the `Microsoft.DSC.Debug/Echo` resource references and depends on the top-level instance -of the `Microsoft/OSInfo` resource. The top-level instances of the `Microsoft.DSC.Debug/Echo` and -`Microsoft/OSInfo` resources both depend on the top-level instance of the `Microsoft.DSC/Group` -resource. +The top level instance of the `Microsoft.DSC.Debug/Echo` resource references and depends on the +top-level instance of the `Microsoft/OSInfo` resource. The top-level instances of the +`Microsoft.DSC.Debug/Echo` and `Microsoft/OSInfo` resources both depend on the top-level instance +of the `Microsoft.DSC/Group` resource. ```yaml -# yaml-language-server: $schema=https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json +# yaml-language-server: $schema=https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json resources: # The top level echo references and depends on the top-level OSInfo. # It also depends on the top-level Group. @@ -204,9 +206,10 @@ resources: ``` The top-level instance of `Microsoft.DSC/Group` defines three nested resource instances: -`Microsoft.DSC.Debug/Echo`, `Microsoft/OSInfo`, and `Microsoft.DSC/Group`. As at the top-level, the `Microsoft.DSC.Debug/Echo` -instance references and depends on the adjacent nested`Microsoft/OSInfo` instance and that instance -depends on the adjacent nested `Microsoft.DSC/Group` instance. +`Microsoft.DSC.Debug/Echo`, `Microsoft/OSInfo`, and `Microsoft.DSC/Group`. As at the top-level, the +`Microsoft.DSC.Debug/Echo` instance references and depends on the adjacent nested +`Microsoft/OSInfo` instance and that instance depends on the adjacent nested `Microsoft.DSC/Group` +instance. ```yaml # Other top-level instances snipped for brevity @@ -235,8 +238,8 @@ depends on the adjacent nested `Microsoft.DSC/Group` instance. ``` Finally, the nested instance of `Microsoft.DSC/Group` defines two nested instances. The deeply -nested instance of `Microsoft.DSC.Debug/Echo` references and depends on the deeply nested instance of -`Microsoft/OSInfo`. +nested instance of `Microsoft.DSC.Debug/Echo` references and depends on the deeply nested instance +of `Microsoft/OSInfo`. ```yaml - name: Top level group @@ -262,7 +265,7 @@ nested instance of `Microsoft.DSC.Debug/Echo` references and depends on the deep dependsOn: - "[resourceId('Microsoft/OSInfo', 'Deeply nested OSInfo')]" - name: Deeply nested OSInfo - type: Microsoft.OSInfo + type: Microsoft/OSInfo properties: {} ``` @@ -275,7 +278,7 @@ nested instances in the same group. Putting the configuration together, you get this full document: ```yaml -# yaml-language-server: $schema=https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json +# yaml-language-server: $schema=https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json $schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json resources: # The top level echo references and depends on the top-level OSInfo. @@ -330,18 +333,18 @@ resources: dependsOn: - "[resourceId('Microsoft/OSInfo', 'Deeply nested OSInfo')]" - name: Deeply nested OSInfo - type: Microsoft.OSInfo + type: Microsoft/OSInfo properties: {} ``` #### Example 2 - Invalid reference and dependency on a nested instance -This example configuration is invalid, because the top-level instance of the `Microsoft.DSC.Debug/Echo` resource -references and depends on the nested `Microsoft/OSInfo` instance. The nested instance is external -to the top-level instance, not adjacent. +This example configuration is invalid, because the top-level instance of the +`Microsoft.DSC.Debug/Echo` resource references and depends on the nested `Microsoft/OSInfo` +instance. The nested instance is external to the top-level instance, not adjacent. ```yaml -# yaml-language-server: $schema=https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json +# yaml-language-server: $schema=https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json $schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json resources: - name: Top level echo @@ -365,12 +368,12 @@ resources: #### Example 3 - Invalid reference and dependency on an external instance -This example configuration is invalid, because the nested instance of the `Microsoft.DSC.Debug/Echo` resource -references and depends on the top-level `Microsoft/OSInfo` instance. The top-level instance is -external to the nested instance, not adjacent. +This example configuration is invalid, because the nested instance of the +`Microsoft.DSC.Debug/Echo` resource references and depends on the top-level `Microsoft/OSInfo` +instance. The top-level instance is external to the nested instance, not adjacent. ```yaml -# yaml-language-server: $schema=https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json +# yaml-language-server: $schema=https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json $schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json resources: - name: Top level OSInfo diff --git a/docs/reference/schemas/definitions/resourceType.md b/docs/reference/schemas/definitions/resourceType.md index de466c5a2..4e3a9f13e 100644 --- a/docs/reference/schemas/definitions/resourceType.md +++ b/docs/reference/schemas/definitions/resourceType.md @@ -1,6 +1,6 @@ --- description: JSON schema reference for a resource instance type name -ms.date: 07/03/2025 +ms.date: 09/01/2026 ms.topic: reference title: DSC Resource fully qualified type name schema reference --- @@ -17,25 +17,32 @@ Identifies a DSC Resource. SchemaDialect: https://json-schema.org/draft/2020-12/schema SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/definitions/resourceType.json Type: string -Pattern: ^\w+(\.\w+){0,2}\/\w+$ +Pattern: ^\w+(\.\w+)*\/\w+$ ``` ## Description DSC Resources are identified by their fully qualified type name. Values of this type are used to specify a resource in configuration documents and as the value of the `--resource` flag when -using the `dsc resource *` commands. +using the `dsc resource *` commands. DSC extensions use the same syntax for their type names. The fully qualified type name of a resource uses the following syntax: ```text -`[.][.]/` +[.]*/ ``` -Each segment must be string of alphanumeric characters and underscores. No other characters are -permitted. Every resource must define an `owner` and a `name`. Use the `group` and `area` -components to organize resources into related namespaces. For example: +The portion of the type name before the forward slash (`/`) is the namespace. It consists of one +or more segments separated by a single period (`.`). The first segment is always the owner. Any +following segments organize related resources into groups and areas. The portion after the `/` is +the name. +Each segment must be a string of alphanumeric characters and underscores. No other characters are +permitted. Periods can't appear at the start or end of the namespace, and two periods can't appear +consecutively. Every resource must define an `owner` and a `name`. DSC doesn't limit the number of +segments in the namespace. For example: + +- `Microsoft/OSInfo` - `Microsoft.SqlServer/Database` - `Microsoft.SqlServer.Database/Role` - `Microsoft.SqlServer.Database/User` @@ -44,24 +51,32 @@ components to organize resources into related namespaces. For example: - `Microsoft.SqlServer/Login` - `Microsoft.SqlServer/MaxDop` +DSC compares fully qualified type names without regard to case. For example, DSC treats +`Microsoft/OSInfo` and `microsoft/osinfo` as the same type name. + +Earlier versions of the schema limited the number of namespace segments. The schemas published for +DSC 3.0 allow up to three segments and the schemas published for DSC 3.1 allow up to four. Starting +with DSC 3.2.0, the number of segments is unlimited. + ## Type name segments ### Owner -The owner segment of the type name is mandatory. It identifies the person or organization that -owns, develops and maintains the resource. +The owner segment of the type name is mandatory. It's always the first segment of the namespace. +It identifies the person or organization that owns, develops, and maintains the resource. -### Group +### Group and area -The group segment of the type name is optional. It defines a logical grouping for a collection of -resources. For example, resources that manage SQL Server might use the `SqlServer` group in their -type name. +The segments after the owner are optional. Use them to organize resources into related namespaces. +By convention, the first segment after the owner is the _group_. It defines a logical grouping for +a collection of resources. For example, resources that manage SQL Server might use the `SqlServer` +group in their type name. -### Area +The next segment is the _area_. It defines a grouping for a collection of resources by purpose or +higher-level component. For example, resources that manage components of a SQL Server database +might use the `Database` area in their type name. -The area segment of the type name is optional. It defines a grouping for a collection of resources -by purpose or higher-level component. For example, resources that manage components of a SQL Server -database might use the `Database` area in their type name. +You can add further segments after the area when you need to subdivide a namespace further. ### Name diff --git a/docs/reference/schemas/metadata/Microsoft.DSC/properties.md b/docs/reference/schemas/metadata/Microsoft.DSC/properties.md index ecd32e444..07f905bcd 100644 --- a/docs/reference/schemas/metadata/Microsoft.DSC/properties.md +++ b/docs/reference/schemas/metadata/Microsoft.DSC/properties.md @@ -1,6 +1,6 @@ --- description: JSON schema reference for the metadata field Microsoft.DSC -ms.date: 07/03/2025 +ms.date: 09/01/2026 ms.topic: reference title: Microsoft.DSC metadata property schema reference --- @@ -13,19 +13,27 @@ Metadata properties used and returned by DSC for configuration and resource oper ## Description -The `Microsoft.DSC` metadata object captures execution details that DSC adds to -command output and, when applicable, to resource results. It describes what -operation ran, when it started and finished, how long it took, the security -context DSC ran under, and the DSC version that produced the output. These -properties are informational and help with diagnostics, auditing, and tooling. +The `Microsoft.DSC` metadata object captures execution details that DSC adds to command output and, +when applicable, to resource results. It describes what operation ran, when it started and +finished, how long it took, the security context DSC ran under, the DSC version that produced the +output, and any restarts that resources reported as required. These properties are informational +and help with diagnostics, auditing, and tooling. -Not every property is present for every operation. For example, `executionType` -is only meaningful for `Set` (and is `WhatIf` when you invoke DSC with -`--whatIf`), while `operation` is always provided. Timestamps use RFC 3339 -`date-time` format, and durations use the ISO 8601 `duration` format. +Every property is optional. Which properties DSC includes depends on the context. The top-level +metadata for a configuration operation includes the operation, execution type, timestamps, +duration, security context, version, and any required restarts. The metadata for an individual +resource instance result includes only the duration of that instance's operation. Timestamps use +RFC 3339 `date-time` format, and durations use the ISO 8601 `duration` format. -Consumers should tolerate additional, future metadata fields. Producers should -preserve unknown metadata they do not interpret. +Starting with DSC version 3.2.0, DSC returns the same execution information in the top-level +`executionInformation` property of command output and in the `executionInformation` property of +each resource instance result. The `metadata.Microsoft.DSC` property is retained for backwards +compatibility with tools and scripts that process DSC output. In DSC version 4.0.0, command output +will no longer include the `metadata.Microsoft.DSC` property. Prefer `executionInformation` when +writing new tools and scripts. + +Consumers should tolerate additional, future metadata fields. Producers should preserve unknown +metadata they do not interpret. ## Properties @@ -43,7 +51,7 @@ Type: string Format: duration ``` -### endDateTime +### endDatetime Defines the end date and time for the DSC operation as a timestamp following the format defined in [RFC3339, section 5.6 (see `date-time`)][02]. @@ -52,48 +60,84 @@ For example: `2024-04-14T08:49:51.395686600-07:00` ```yaml SchemaDialect: https://json-schema.org/draft/2020-12/schema -SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/metadata/Microsoft.DSC/endDateTime.json +SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/metadata/Microsoft.DSC/endDatetime.json Type: string Format: date-time ``` ### executionType -Defines whether DSC actually applied an operation to the configuration or was run in `WhatIf` mode. -This property is always `Actual` for `Get`, `Test`, and `Export` operations. For `Set` operations, -this value is `WhatIf` when DSC is invoked with the `--whatIf` argument. +Defines whether DSC actually applied an operation to the configuration or was run in what-if mode. +This property is always `actual` for `get`, `test`, and `export` operations. For `set` operations, +this value is `whatIf` when DSC is invoked with the `--what-if` argument. ```yaml SchemaDialect: https://json-schema.org/draft/2020-12/schema SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/metadata/Microsoft.DSC/executionType.json Type: string -ValidValues: [Actual, WhatIf] +ValidValues: [actual, whatIf] ``` ### operation -Defines the operation that DSC applied to the configuration document: `Get`, `Set`, `Test`, or -`Export`. +Defines the operation that DSC applied to the configuration document: `get`, `set`, `test`, or +`export`. ```yaml SchemaDialect: https://json-schema.org/draft/2020-12/schema SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/metadata/Microsoft.DSC/operation.json Type: string -ValidValues: [Get, Set, Test, Export] +ValidValues: [get, set, test, export] +``` + +### restartRequired + +Defines the list of restarts that resources reported as required after the operation. DSC collects +this information from the `_restartRequired` property that a resource returns in its result. The +top-level metadata for a configuration operation includes the entries reported by every instance in +the document. DSC only includes this property when at least one resource reported a required +restart. + +Each item in the list is an object with exactly one of the following properties: + +- `system` - A string that identifies the system that requires a restart. +- `service` - The name of a service that requires a restart. +- `process` - An object with the `name` (string) and `id` (integer) of a process that requires a + restart. + +Use the [restartRequired()][03] configuration function to check for required restarts in the +outputs of a configuration document. + +```yaml +Type: array +ItemsType: object +ValidItemSchema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/executionInformation/restartRequired.json +``` + +### copyLoops + +Defines the copy loop context for a resource instance that DSC expanded from a copy loop. When DSC +expands a copy loop, it adds this property to the metadata of each expanded instance. The value is +an object where each key is the name of a copy loop and the value is the zero-based iteration index +of the instance in that loop. DSC uses this information to resolve the `copyIndex()` function when +it evaluates the instance's properties. DSC doesn't include this property in command output. + +```yaml +Type: object ``` ### securityContext Defines the security context that DSC was run under. If the value for this metadata property is -`Elevated`, DSC was run as `root` (non-Windows) or an elevated session with Administrator -privileges (on Windows). If the value is `Restricted`, DSC was run as a normal user or account in a +`elevated`, DSC was run as `root` (non-Windows) or an elevated session with Administrator +privileges (on Windows). If the value is `restricted`, DSC was run as a normal user or account in a non-elevated session. ```yaml SchemaDialect: https://json-schema.org/draft/2020-12/schema SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/metadata/Microsoft.DSC/securityContext.json Type: string -ValidValues: [Current, Elevated, Restricted] +ValidValues: [current, elevated, restricted] ``` ### startDatetime @@ -118,9 +162,10 @@ DSC command, like `3.0.0-preview.7`. ```yaml SchemaDialect: https://json-schema.org/draft/2020-12/schema SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/metadata/Microsoft.DSC/version.json -Type: object +Type: string ``` [01]: https://datatracker.ietf.org/doc/html/rfc3339#appendix-A [02]: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6 +[03]: ../../config/functions/restartRequired.md