From 97c2418d62345c3967747e536a19582bc15d51b5 Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Tue, 1 Apr 2025 14:47:50 -0500 Subject: [PATCH 01/13] (SCHEMA) Update schema source for terminology This change updates casing and terms to match the glossary. These changes are colocated to make reviewing actual schema changes simpler. --- schemas/src/config/document.parameter.yaml | 4 +- schemas/src/config/document.resource.yaml | 24 ++++---- schemas/src/config/document.yaml | 20 +++---- schemas/src/definitions/hadErrors.yaml | 2 +- schemas/src/definitions/instanceName.yaml | 6 +- schemas/src/definitions/message.yaml | 6 +- schemas/src/definitions/messages.yaml | 2 +- .../src/definitions/parameters/dataTypes.yaml | 2 +- .../parameters/validValueTypes.yaml | 2 +- schemas/src/definitions/resourceKind.yaml | 2 +- schemas/src/definitions/resourceType.yaml | 8 +-- schemas/src/outputs/config/get.yaml | 6 +- schemas/src/outputs/config/set.yaml | 6 +- schemas/src/outputs/config/test.yaml | 6 +- schemas/src/outputs/resource/get.simple.yaml | 6 +- schemas/src/outputs/resource/get.yaml | 2 +- schemas/src/outputs/resource/list.yaml | 30 +++++----- schemas/src/outputs/resource/schema.yaml | 6 +- schemas/src/outputs/resource/set.simple.yaml | 12 ++-- schemas/src/outputs/resource/set.yaml | 2 +- schemas/src/outputs/resource/test.simple.yaml | 12 ++-- schemas/src/outputs/resource/test.yaml | 2 +- schemas/src/outputs/schema.yaml | 4 +- schemas/src/resource/manifest.adapter.yaml | 10 ++-- schemas/src/resource/manifest.delete.yaml | 4 +- schemas/src/resource/manifest.export.yaml | 4 +- schemas/src/resource/manifest.get.yaml | 4 +- schemas/src/resource/manifest.resolve.yaml | 2 +- schemas/src/resource/manifest.schema.yaml | 58 +++++++++---------- schemas/src/resource/manifest.set.yaml | 36 ++++++------ schemas/src/resource/manifest.test.yaml | 12 ++-- schemas/src/resource/manifest.validate.yaml | 8 +-- schemas/src/resource/manifest.whatIf.yaml | 36 ++++++------ schemas/src/resource/manifest.yaml | 35 ++++++----- schemas/src/resource/properties/exist.yaml | 4 +- schemas/src/resource/properties/purge.yaml | 12 ++-- 36 files changed, 199 insertions(+), 198 deletions(-) diff --git a/schemas/src/config/document.parameter.yaml b/schemas/src/config/document.parameter.yaml index f543cfb56..c187708e0 100644 --- a/schemas/src/config/document.parameter.yaml +++ b/schemas/src/config/document.parameter.yaml @@ -2,14 +2,14 @@ $schema: https://json-schema.org/draft/2020-12/schema $id: ///config/document.parameter.yaml title: Parameter -description: Defines a runtime option for a DSC Configuration Document. +description: Defines a runtime option for a DSC configuration document. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines a runtime option for a DSC Configuration Document. + Defines a runtime option for a DSC configuration document. [01]: /reference/schemas/config/parameter? diff --git a/schemas/src/config/document.resource.yaml b/schemas/src/config/document.resource.yaml index 9f83e6a1c..80b49473d 100644 --- a/schemas/src/config/document.resource.yaml +++ b/schemas/src/config/document.resource.yaml @@ -1,8 +1,8 @@ # yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema $schema: https://json-schema.org/draft/2020-12/schema $id: ///config/document.resource.yaml -title: DSC Resource instance -description: Defines an instance of a DSC Resource in a configuration. +title: DSC resource instance +description: Defines an instance of a DSC resource in a configuration. type: object required: @@ -16,7 +16,7 @@ properties: dependsOn: title: Instance depends on description: >- - Defines a list of DSC Resource instances that DSC must successfully process before processing + Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property. @@ -47,7 +47,7 @@ properties: [_Online Documentation_][01] *** - Defines a list of DSC Resource instances that DSC must successfully process before processing + Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property. @@ -67,8 +67,8 @@ properties: properties: title: Managed instance properties description: >- - Defines the properties of the DSC Resource this instance manages. This property's value must - be an object. DSC validates the property's value against the DSC Resource's schema. + Defines the properties of the DSC resource this instance manages. This property's value must + be an object. DSC validates the property's value against the DSC resource's schema. type: object # VS Code only markdownDescription: | @@ -76,8 +76,8 @@ properties: [_Online Documentation_][01] *** - Defines the properties of the DSC Resource this instance manages. This property's value must - be an object. DSC validates the property's value against the DSC Resource's schema. + Defines the properties of the DSC resource this instance manages. This property's value must + be an object. DSC validates the property's value against the DSC resource's schema. [01]: /reference/schemas/config/resource?#properties-1 @@ -87,9 +87,9 @@ markdownDescription: | [_Online Documentation_][01] *** - Defines an instance of a DSC Resource in a configuration. + Defines an instance of a DSC resource in a configuration. - The `resources` property of a DSC Configuration document always includes at least one DSC Resource + The `resources` property of a DSC configuration document always includes at least one DSC resource instance. Together, the instances in a configuration define the desired state that DSC can get, test, and set on a machine. @@ -98,7 +98,7 @@ markdownDescription: | defaultSnippets: - label: ' New resource instance' markdownDescription: |- - Defines a new instance of a DSC Resource for the configuration. + Defines a new instance of a DSC resource for the configuration. ```yaml type: owner[.group][.area]/name @@ -114,7 +114,7 @@ defaultSnippets: - label: ' New dependent resource instance' markdownDescription: |- - Defines a new instance of a DSC Resource for the configuration that depends on another + Defines a new instance of a DSC resource for the configuration that depends on another instance. ```yaml diff --git a/schemas/src/config/document.yaml b/schemas/src/config/document.yaml index ebb39ba97..777a2f221 100644 --- a/schemas/src/config/document.yaml +++ b/schemas/src/config/document.yaml @@ -1,17 +1,17 @@ # yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema $schema: https://json-schema.org/draft/2020-12/schema $id: ///config/document.yaml -title: DSC Configuration Document schema -description: Describes a valid DSC Configuration Document. +title: DSC configuration document schema +description: Describes a valid DSC configuration document. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Describes a valid DSC Configuration Document. + Describes a valid DSC configuration document. - DSC Configurations enable users to define state by combining different DSC Resources. A + DSC configurations enable users to define state by combining different DSC resources. A configuration document uses parameters and variables to pass to a set of one or more resources that define a desired state. @@ -26,7 +26,7 @@ properties: $schema: title: Schema description: >- - This property must be the canonical URL of the DSC Configuration Document schema that the + This property must be the canonical URL of the DSC configuration document schema that the document is implemented for. type: string format: uri @@ -46,7 +46,7 @@ properties: [_Online Documentation_][01] *** - This property must be the canonical URL of the DSC Configuration Document schema that the + This property must be the canonical URL of the DSC configuration document schema that the document is implemented for. For every version of the schema, there are three valid urls: @@ -206,7 +206,7 @@ properties: > unexpected ways. parameters: - title: DSC Configuration document parameters + title: DSC configuration document parameters description: >- Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration. @@ -318,8 +318,8 @@ properties: - ${3:secondValue} resources: - title: DSC Configuration document resources - description: Defines a list of DSC Resource instances for the configuration to manage. + title: DSC configuration document resources + description: Defines a list of DSC resource instances for the configuration to manage. type: array minItems: 1 items: @@ -330,7 +330,7 @@ properties: [_Online Documentation_][01] *** - Defines a list of DSC Resource instances for the configuration to manage. + Defines a list of DSC resource instances for the configuration to manage. [01]: /reference/schemas/config/document?#resources diff --git a/schemas/src/definitions/hadErrors.yaml b/schemas/src/definitions/hadErrors.yaml index f5ab2b407..ca9352b55 100644 --- a/schemas/src/definitions/hadErrors.yaml +++ b/schemas/src/definitions/hadErrors.yaml @@ -4,5 +4,5 @@ $id: ///definitions/hadErrors.yaml title: Had Errors description: >- - Indicates whether any of the DSC Resources returned a non-zero exit code. + Indicates whether any of the DSC resources returned a non-zero exit code. type: boolean \ No newline at end of file diff --git a/schemas/src/definitions/instanceName.yaml b/schemas/src/definitions/instanceName.yaml index 9ec752eda..616fb6d09 100644 --- a/schemas/src/definitions/instanceName.yaml +++ b/schemas/src/definitions/instanceName.yaml @@ -4,7 +4,7 @@ $id: ///definitions/instanceName.yaml title: Instance name description: >- - The short, human-readable name for a DSC Resource instance. Must be unique within a DSC + The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces. type: string pattern: ^[a-zA-Z0-9 ]+$ @@ -19,8 +19,8 @@ markdownDescription: | [_Online Documentation_][01] *** - Defines the short, human-readable name for a DSC Resource instance. This property must be unique - within a DSC Configuration document. If any resource instances share the same name, DSC raises an + Defines the short, human-readable name for a DSC resource instance. This property must be unique + within a DSC configuration document. If any resource instances share the same name, DSC raises an error. The instance name must be a non-empty string containing only letters, numbers, and spaces. diff --git a/schemas/src/definitions/message.yaml b/schemas/src/definitions/message.yaml index 722c5e0ac..0e3007b97 100644 --- a/schemas/src/definitions/message.yaml +++ b/schemas/src/definitions/message.yaml @@ -4,7 +4,7 @@ $id: ///definitions/message.yaml title: Message description: >- - A message emitted by a DSC Resource with associated metadata. + A message emitted by a DSC resource with associated metadata. type: object required: @@ -17,14 +17,14 @@ properties: title: Message source instance name description: >- The short, human-readable name for the instance that emitted the message, - as defined in the DSC Configuration Document. + as defined in the DSC configuration document. type: string type: $ref: ///definitions/resourceType.yaml message: title: Message content description: >- - The actual content of the message as emitted by the DSC Resource. + The actual content of the message as emitted by the DSC resource. type: string minLength: 1 level: diff --git a/schemas/src/definitions/messages.yaml b/schemas/src/definitions/messages.yaml index 24663794f..78e43df5a 100644 --- a/schemas/src/definitions/messages.yaml +++ b/schemas/src/definitions/messages.yaml @@ -4,7 +4,7 @@ $id: ///definitions/messages.yaml title: Messages description: >- - A list of structured messages emitted by the DSC Resources during an + A list of structured messages emitted by the DSC resources during an operation. type: array diff --git a/schemas/src/definitions/parameters/dataTypes.yaml b/schemas/src/definitions/parameters/dataTypes.yaml index da25c9573..19284f946 100644 --- a/schemas/src/definitions/parameters/dataTypes.yaml +++ b/schemas/src/definitions/parameters/dataTypes.yaml @@ -75,7 +75,7 @@ markdownEnumDescriptions: - | # int _Integer values are numbers without a fractional part._ - > Integer values may be limited by integrating tools or the DSC Resources they're used with. + > Integer values may be limited by integrating tools or the DSC resources they're used with. > DSC itself supports integer values between `-9223372036854775808` and `9223372036854775807`. > > For more information, see the [_Online Documentation_][01]. diff --git a/schemas/src/definitions/parameters/validValueTypes.yaml b/schemas/src/definitions/parameters/validValueTypes.yaml index d6419fdef..8aff1ad62 100644 --- a/schemas/src/definitions/parameters/validValueTypes.yaml +++ b/schemas/src/definitions/parameters/validValueTypes.yaml @@ -4,7 +4,7 @@ $id: ///definitions/parameters/validValueTypes.yaml $comment: | This schema fragment makes it a little easier to compose the valid properties - for DSC Configuration document parameters. As-written, values must be one of + for DSC configuration document parameters. As-written, values must be one of those on this list - the schema definition for dataType excludes `null` and numbers with fractional parts, like `3.5`. diff --git a/schemas/src/definitions/resourceKind.yaml b/schemas/src/definitions/resourceKind.yaml index 953b07601..1b1180f7b 100644 --- a/schemas/src/definitions/resourceKind.yaml +++ b/schemas/src/definitions/resourceKind.yaml @@ -4,7 +4,7 @@ $id: ///definitions/resourceKind.yaml title: Resource kind description: >- - Defines whether the resource is a normal DSC Resource, a group resource, or an adapter + Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources. type: string diff --git a/schemas/src/definitions/resourceType.yaml b/schemas/src/definitions/resourceType.yaml index f993f1e18..4ad448929 100644 --- a/schemas/src/definitions/resourceType.yaml +++ b/schemas/src/definitions/resourceType.yaml @@ -2,9 +2,9 @@ $schema: https://json-schema.org/draft/2020-12/schema $id: ///definitions/resourceType.yaml -title: DSC Resource fully qualified type name +title: DSC resource fully qualified type name description: | - The namespaced name of the DSC Resource, using the syntax: + The namespaced name of the DSC resource, using the syntax: owner[.group][.area]/name @@ -22,7 +22,7 @@ markdownDescription: | [_Online Documentation_][01] *** - The namespaced name of the DSC Resource, using the syntax: + The namespaced name of the DSC resource, using the syntax: ```yaml owner[.group][.area]/name @@ -37,4 +37,4 @@ markdownDescription: | patternErrorMessage: | Invalid type name. Valid resource type names always define an owner and a name separated by a slash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace - the resource under the owner, like `Microsoft.Windows/Registry`. \ No newline at end of file + the resource under the owner, like `Microsoft.Windows/Registry`. diff --git a/schemas/src/outputs/config/get.yaml b/schemas/src/outputs/config/get.yaml index f1786b65f..a90b50e44 100644 --- a/schemas/src/outputs/config/get.yaml +++ b/schemas/src/outputs/config/get.yaml @@ -2,7 +2,7 @@ $schema: https://json-schema.org/draft/2020-12/schema $id: ///outputs/config/get.yaml -title: DSC Configuration get command result +title: Result for `dsc config get` command description: >- Represents the data structure returned by the `dsc config get` command. @@ -18,8 +18,8 @@ properties: results: title: Results description: >- - The results of the `get` method for every DSC Resource instance in the - DSC Configuration Document with the instance's name and type. + The results of the `get` method for every DSC resource instance in the + DSC configuration document with the instance's name and type. type: array items: $ref: ///outputs/resource/get.full.yaml diff --git a/schemas/src/outputs/config/set.yaml b/schemas/src/outputs/config/set.yaml index 3482c6d28..22837c938 100644 --- a/schemas/src/outputs/config/set.yaml +++ b/schemas/src/outputs/config/set.yaml @@ -2,7 +2,7 @@ $schema: https://json-schema.org/draft/2020-12/schema $id: ///outputs/config/set.yaml -title: DSC Configuration set command result +title: Result for `dsc config set` command description: >- Represents the data structure returned by the `dsc config set` command. @@ -18,8 +18,8 @@ properties: results: title: Results description: >- - The results of the `set` method for every DSC Resource instance in the - DSC Configuration Document with the instance's name and type. + The results of the `set` method for every DSC resource instance in the + DSC configuration document with the instance's name and type. type: array items: $ref: ///outputs/resource/set.full.yaml diff --git a/schemas/src/outputs/config/test.yaml b/schemas/src/outputs/config/test.yaml index 1134b8cff..709b3a8b6 100644 --- a/schemas/src/outputs/config/test.yaml +++ b/schemas/src/outputs/config/test.yaml @@ -2,7 +2,7 @@ $schema: https://json-schema.org/draft/2020-12/schema $id: ///outputs/config/test.yaml -title: DSC Configuration test command result +title: Result for `dsc config test` command description: >- Represents the data structure returned by the `dsc config test` command. @@ -18,8 +18,8 @@ properties: results: title: Results description: >- - The results of the `test` method for every DSC Resource instance in the - DSC Configuration Document with the instance's name and type. + The results of the `test` method for every DSC resource instance in the + DSC configuration document with the instance's name and type. type: array items: $ref: ///outputs/resource/test.full.yaml diff --git a/schemas/src/outputs/resource/get.simple.yaml b/schemas/src/outputs/resource/get.simple.yaml index 5dd357a96..448fe3858 100644 --- a/schemas/src/outputs/resource/get.simple.yaml +++ b/schemas/src/outputs/resource/get.simple.yaml @@ -3,7 +3,7 @@ $id: ///outputs/resource/get.simple.yaml title: dsc resource get result (simple) description: >- - Describes the return data for a single DSC Resource instance from the + Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource. @@ -19,7 +19,7 @@ properties: actualState: title: Actual state description: >- - This property always represents the current state of the DSC Resource + This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value - against the DSC Resource's schema. + against the DSC resource's schema. type: object \ No newline at end of file diff --git a/schemas/src/outputs/resource/get.yaml b/schemas/src/outputs/resource/get.yaml index 79d12d466..6ac2a9c27 100644 --- a/schemas/src/outputs/resource/get.yaml +++ b/schemas/src/outputs/resource/get.yaml @@ -4,7 +4,7 @@ $id: ///outputs/resource/get.yaml title: dsc resource get result description: >- - Describes the return data for a DSC Resource instance from the + Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter diff --git a/schemas/src/outputs/resource/list.yaml b/schemas/src/outputs/resource/list.yaml index 90838aaf2..20971ca8e 100644 --- a/schemas/src/outputs/resource/list.yaml +++ b/schemas/src/outputs/resource/list.yaml @@ -4,7 +4,7 @@ $id: ///outputs/resource/list.yaml title: dsc resource list result description: >- - Describes the return data for a DSC Resource instance from the + Describes the return data for a DSC resource instance from the `dsc resource list` command. type: object @@ -40,32 +40,32 @@ properties: - export - resolve description: - title: Resource Description + title: Resource description description: >- - A short synopsis of the DSC Resource's purpose. + A short synopsis of the DSC resource's purpose. # Should this include a maximum length or a pattern that forbids newlines? type: string path: # This value seems to mean something different for the Test* resources title: Path description: >- - Indicates the path to the DSC Resource on the file system. + Indicates the path to the DSC resource on the file system. type: string directory: # This value seems to mean something different for the Test* resources title: Directory description: >- - Indicates the path to the folder containing the DSC Resource on the file + Indicates the path to the folder containing the DSC resource on the file system. type: string implementedAs: title: Implemented as description: >- - Indicates how the DSC Resource was implemented. + Indicates how the DSC resource was implemented. oneOf: - title: Standard implementation description: >- - Indicates that the DSC Resource is implemented as one of the standard + Indicates that the DSC resource is implemented as one of the standard implementations built into DSC. type: string enum: @@ -74,7 +74,8 @@ properties: # Need to understand how this works to document it more usefully - title: Custom implementation description: >- - Indicates that the DSC Resource uses a custom implementation. + Indicates that the DSC resource uses a custom implementation. Only + adapted resources define this value. type: object required: - custom @@ -82,14 +83,15 @@ properties: custom: title: Custom implementation name description: >- - The name of the custom implementation. + The name of the custom implementation. This name is determined by + the resource adapter. type: string author: # Only the Test* resources seem to have this field populated. title: Author description: >- Indicates the name of the person or organization that developed and - maintains the DSC Resource. + maintains the DSC resource. type: - string - 'null' @@ -97,16 +99,16 @@ properties: # Only the Test* resources seem to have this field populated. title: Properties description: >- - Defines the DSC Resource's property names. + Defines the DSC resource's property names. type: array items: type: string pattern: ^\w+$ requireAdapter: - title: Required DSC Resource Adapter + title: Required DSC resource adapter description: >- - Defines the fully qualified type name of the DSC Resource Adapter the - DSC Resource depends on. + Defines the fully qualified type name of the DSC resource adapter the + DSC resource depends on. oneOf: - $ref: ///definitions/resourceType.yaml - type: 'null' diff --git a/schemas/src/outputs/resource/schema.yaml b/schemas/src/outputs/resource/schema.yaml index d010ff516..3f3c25765 100644 --- a/schemas/src/outputs/resource/schema.yaml +++ b/schemas/src/outputs/resource/schema.yaml @@ -2,9 +2,9 @@ $schema: https://json-schema.org/draft/2020-12/schema $id: ///outputs/resource/schema.yaml -title: DSC Resource schema result +title: DSC resource schema result description: >- - Describes the return data for a DSC Resource from the `dsc resource schema` - command. This command always returns the DSC Resource's JSON schema document. + Describes the return data for a DSC resource from the `dsc resource schema` + command. This command always returns the DSC resource's JSON schema document. type: object diff --git a/schemas/src/outputs/resource/set.simple.yaml b/schemas/src/outputs/resource/set.simple.yaml index 46ddccf1a..8f1144632 100644 --- a/schemas/src/outputs/resource/set.simple.yaml +++ b/schemas/src/outputs/resource/set.simple.yaml @@ -4,7 +4,7 @@ $id: ///outputs/resource/set.simple.yaml title: dsc resource set result (simple) description: >- - Describes the return data for a DSC Resource instance from the + Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource. @@ -22,22 +22,22 @@ properties: beforeState: title: State before enforcing description: >- - This property always represents the desired state of the DSC Resource + This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value - against the DSC Resource's schema. + against the DSC resource's schema. type: object afterState: title: State after enforcing description: >- - This property always represents the current state of the DSC Resource + This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired - state. DSC validates this return value against the DSC Resource's schema. + state. DSC validates this return value against the DSC resource's schema. type: object changedProperties: title: Changed properties description: >- This property always represents the list of property names for the DSC - Resource instance that the `set` method modified. When this value is an + resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance. type: array diff --git a/schemas/src/outputs/resource/set.yaml b/schemas/src/outputs/resource/set.yaml index 5bed8c7e8..384096fde 100644 --- a/schemas/src/outputs/resource/set.yaml +++ b/schemas/src/outputs/resource/set.yaml @@ -4,7 +4,7 @@ $id: ///outputs/resource/set.yaml title: dsc resource set result description: >- - Describes the return data for a DSC Resource instance from the + Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or diff --git a/schemas/src/outputs/resource/test.simple.yaml b/schemas/src/outputs/resource/test.simple.yaml index 717d3084a..eedff5feb 100644 --- a/schemas/src/outputs/resource/test.simple.yaml +++ b/schemas/src/outputs/resource/test.simple.yaml @@ -4,7 +4,7 @@ $id: ///outputs/resource/test.simple.yaml title: dsc resource test result (simple) description: >- - Describes the return data for a single DSC Resource instance from the + Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource. @@ -23,16 +23,16 @@ properties: desiredState: title: Desired state description: >- - This property always represents the desired state of the DSC Resource + This property always represents the desired state of the DSC resource instance as specified to DSC. type: object actualState: title: Actual state description: >- - This property always represents the current state of the DSC Resource - instance as returned by its `test` method or, if the DSC Resource doesn't + This property always represents the current state of the DSC resource + instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return - value against the DSC Resource's schema. + value against the DSC resource's schema. type: object inDesiredState: title: Instance is in the desired state @@ -43,7 +43,7 @@ properties: title: Differing properties description: >- This property always represents the list of property names for the DSC - Resource instance that aren't in the desired state. When this property + resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state. type: array default: [] diff --git a/schemas/src/outputs/resource/test.yaml b/schemas/src/outputs/resource/test.yaml index 34317d1e2..705311213 100644 --- a/schemas/src/outputs/resource/test.yaml +++ b/schemas/src/outputs/resource/test.yaml @@ -4,7 +4,7 @@ $id: ///outputs/resource/test.yaml title: dsc resource test result description: >- - Describes the return data for a DSC Resource instance from the + Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter diff --git a/schemas/src/outputs/schema.yaml b/schemas/src/outputs/schema.yaml index dd4d9a8ef..350128e5e 100644 --- a/schemas/src/outputs/schema.yaml +++ b/schemas/src/outputs/schema.yaml @@ -2,9 +2,9 @@ $schema: https://json-schema.org/draft/2020-12/schema $id: ///outputs/schema.yaml -title: DSC Resource schema result +title: DSC resource schema result description: >- - Describes the return data for a DSC Resource from the `dsc schema` + Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document. type: object diff --git a/schemas/src/resource/manifest.adapter.yaml b/schemas/src/resource/manifest.adapter.yaml index 663ae54f1..55cb096ba 100644 --- a/schemas/src/resource/manifest.adapter.yaml +++ b/schemas/src/resource/manifest.adapter.yaml @@ -4,14 +4,14 @@ $id: ///resource/manifest.adapter.yaml title: Adapter description: >- - Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to + Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to + Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC. [01]: /reference/schemas/resource/manifest/adapter? @@ -24,13 +24,13 @@ properties: list: title: List Command description: >- - Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources. + Defines how DSC must call the DSC resource adapter to list its supported DSC resources. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources. + Defines how DSC must call the DSC resource adapter to list its supported DSC resources. [01]: /reference/schemas/resource/manifest/adapter?#list type: object @@ -57,7 +57,7 @@ properties: title: Command arguments description: >- Defines the list of arguments to pass to the command to return the list of supported DSC - Resources. + resources. markdownDescription: | *** [_Online Documentation_][01] diff --git a/schemas/src/resource/manifest.delete.yaml b/schemas/src/resource/manifest.delete.yaml index 4484b5c4f..c15ecc952 100644 --- a/schemas/src/resource/manifest.delete.yaml +++ b/schemas/src/resource/manifest.delete.yaml @@ -4,7 +4,7 @@ $id: ///resource/manifest.delete.yaml title: Delete method description: >- - Defines how DSC must call the DSC Resource to delete an instance. Define this method for + Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method @@ -15,7 +15,7 @@ markdownDescription: | # VS Code only [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to delete an instance. Define this method for + Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the [`_exist`][02] property in a `set` operation, which can lead to highly complex code. If the `set` method for the resource is able to handle deleting an instance when `_exist` is `false`, set the [`handlesExist`][03] property of the set method diff --git a/schemas/src/resource/manifest.export.yaml b/schemas/src/resource/manifest.export.yaml index 28ea53875..903b0291b 100644 --- a/schemas/src/resource/manifest.export.yaml +++ b/schemas/src/resource/manifest.export.yaml @@ -4,13 +4,13 @@ $id: ///resource/manifest.export.yaml title: Export Method description: >- - Defines how DSC must call the DSC Resource to get the current state of every instance. + Defines how DSC must call the DSC resource to get the current state of every instance. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to get the current state of every instance. + Defines how DSC must call the DSC resource to get the current state of every instance. DSC sends data to the command in three ways: diff --git a/schemas/src/resource/manifest.get.yaml b/schemas/src/resource/manifest.get.yaml index 873e43673..9e972f89e 100644 --- a/schemas/src/resource/manifest.get.yaml +++ b/schemas/src/resource/manifest.get.yaml @@ -4,13 +4,13 @@ $id: ///resource/manifest.get.yaml title: Get Method description: >- - Defines how DSC must call the DSC Resource to get the current state of an instance. + Defines how DSC must call the DSC resource to get the current state of an instance. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to get the current state of an instance. + Defines how DSC must call the DSC resource to get the current state of an instance. DSC sends data to the command in three ways: diff --git a/schemas/src/resource/manifest.resolve.yaml b/schemas/src/resource/manifest.resolve.yaml index a856dd65a..ff7ede94c 100644 --- a/schemas/src/resource/manifest.resolve.yaml +++ b/schemas/src/resource/manifest.resolve.yaml @@ -4,7 +4,7 @@ $id: ///resource/manifest.resolve.yaml title: Resolve method description: >- - Defines how DSC must call the DSC Resource to resolve a nested configuration document from an + Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`. diff --git a/schemas/src/resource/manifest.schema.yaml b/schemas/src/resource/manifest.schema.yaml index dfba50912..a78b70201 100644 --- a/schemas/src/resource/manifest.schema.yaml +++ b/schemas/src/resource/manifest.schema.yaml @@ -4,12 +4,12 @@ $id: ///resource/manifest.schema.yaml title: Instance Schema description: >- - Defines how DSC must validate a JSON blob representing an instance of the DSC Resource. + Defines how DSC must validate a JSON blob representing an instance of the DSC resource. # While the current implementation is somewhat confusing in the schema, I # think it's actually easier to document. Mainly, the complexity comes from # the expected object having exactly one property with exclusive key names. -# If a DSC Resource could specify a combination of these values, the schema +# If a DSC resource could specify a combination of these values, the schema # would be less complex. type: object oneOf: @@ -19,8 +19,8 @@ properties: command: title: Instance Schema Command description: >- - Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob - representing an instance of the DSC Resource. + Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob + representing an instance of the DSC resource. type: object required: - executable @@ -77,8 +77,8 @@ properties: [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob - representing an instance of the DSC Resource. + Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob + representing an instance of the DSC resource. [01]: /reference/schemas/resource/manifest/schema/property?#command defaultSnippets: @@ -100,14 +100,14 @@ properties: title: Embedded Instance Schema description: >- Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the - DSC Resource. + DSC resource. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the - DSC Resource. + DSC resource. [01]: /reference/schemas/resource/manifest/schema/embedded? type: object @@ -119,24 +119,24 @@ properties: type: title: Instance Type description: >- - Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always + Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type. - # Ensures the DSC Resource is always an object + # Ensures the DSC resource is always an object const: object markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always + Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type. [01]: /reference/schemas/resource/manifest/schema/embedded?#type $schema: - # Ensures the DSC Resource always uses a schema we can understand - title: DSC Resource instance schema dialect + # Ensures the DSC resource always uses a schema we can understand + title: DSC resource instance schema dialect description: >- - Defines which dialect of JSON Schema the DSC Resource is using to validate instances. + Defines which dialect of JSON Schema the DSC resource is using to validate instances. type: string format: uri-reference enum: @@ -149,7 +149,7 @@ properties: [_Online Documentation_][01] *** - Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always + Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type. DSC only supports JSON Schema Draft 07 and later. [01]: /reference/schemas/resource/manifest/schema/embedded?#type @@ -185,9 +185,9 @@ properties: [01]: https://json-schema.org/specification-links.html#draft-7 $id: - title: DSC Resource instance schema ID + title: DSC resource instance schema ID description: >- - Defines the unique ID for the DSC Resource's instance schema. If the instance schema is + Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI. # Currently optional - maybe we should require this? type: string @@ -197,7 +197,7 @@ properties: [_Online Documentation_][01] *** - Defines the unique ID for the DSC Resource's instance schema. If the instance schema is + Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI. [01]: /reference/schemas/resource/manifest/schema/property?#id @@ -339,7 +339,7 @@ properties: _exist: title: 'Standard Property: _exist' description: >- - Indicates that the DSC Resource uses the standard `_exist` property to specify + Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`. const: $ref: ///resource/properties/exist.yaml @@ -367,9 +367,9 @@ properties: _inDesiredState: title: 'Standard Property: _inDesiredState' description: >- - Indicates that the DSC Resource returns this value for it's own `test` method. This + Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It - shouldn't be included if the DSC Resource relies on DSC's synthetic testing. + shouldn't be included if the DSC resource relies on DSC's synthetic testing. const: $ref: ///resource/properties/inDesiredState.yaml # VS Code only @@ -378,16 +378,16 @@ properties: [_Online Documentation_][01] *** - Indicates that the DSC Resource returns this value for it's own `test` method. This + Indicates that the DSC resource returns this value for it's own `test` method. This property is mandatory when the manifest defines the `test` property. It shouldn't - be included if the DSC Resource relies on DSC's synthetic testing. + be included if the DSC resource relies on DSC's synthetic testing. [01]: /reference/schemas/resource/properties/indesiredstate? _purge: title: 'Standard Property: _purge' description: >- - Indicates that the DSC Resource uses the standard `_purge` property to specify - whether the DSC Resource should remove all non-specified members when it manages + Indicates that the DSC resource uses the standard `_purge` property to specify + whether the DSC resource should remove all non-specified members when it manages an array of members or values. const: $ref: ///resource/properties/purge.yaml @@ -397,8 +397,8 @@ properties: [_Online Documentation_][01] *** - Indicates that the DSC Resource uses the standard `_purge` property to specify - whether the DSC Resource should remove all non-specified members when it manages + Indicates that the DSC resource uses the standard `_purge` property to specify + whether the DSC resource should remove all non-specified members when it manages an array of members or values. [01]: /reference/schemas/resource/properties/purge? @@ -416,7 +416,7 @@ properties: [_Online Documentation_][01] *** - Indicates that the DSC Resource uses the standard `_rebootRequested` property to + Indicates that the DSC resource uses the standard `_rebootRequested` property to report whether the machine should be rebooted after the `set` method executes. [01]: /reference/schemas/resource/properties/rebootrequested? @@ -469,7 +469,7 @@ markdownDescription: | [_Online Documentation_][01] *** - Defines how DSC must validate a JSON blob representing an instance of the DSC Resource. + Defines how DSC must validate a JSON blob representing an instance of the DSC resource. The JSON schema can be defined dynamically with the `command` property or statically with the `embedded` property. diff --git a/schemas/src/resource/manifest.set.yaml b/schemas/src/resource/manifest.set.yaml index 93a6fadb8..4b92ce615 100644 --- a/schemas/src/resource/manifest.set.yaml +++ b/schemas/src/resource/manifest.set.yaml @@ -4,15 +4,15 @@ $id: ///resource/manifest.set.yaml title: Set Method description: >- - Defines how DSC must call the DSC Resource to set the desired state of an instance and how to - process the output from the DSC Resource. + Defines how DSC must call the DSC resource to set the desired state of an instance and how to + process the output from the DSC resource. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to set the desired state of an instance and how to - process the output from the DSC Resource. + Defines how DSC must call the DSC resource to set the desired state of an instance and how to + process the output from the DSC resource. DSC sends data to the command in three ways: @@ -127,10 +127,10 @@ properties: [01]: /reference/schemas/resource/manifest/set?#input implementsPretest: - title: Resource Performs Pre-Test + title: Resource performs pre-test description: >- - Defines whether the DSC Resource performs its own test to ensure idempotency when calling the - `set` command. Set this value to `true` if the DSC Resource tests input before modifying + Defines whether the DSC resource performs its own test to ensure idempotency when calling the + `set` command. Set this value to `true` if the DSC resource tests input before modifying system state. type: boolean default: false @@ -140,16 +140,16 @@ properties: [_Online Documentation_][01] *** - Defines whether the DSC Resource performs its own test to ensure idempotency when calling the - `set` command. Set this value to `true` if the DSC Resource tests input before modifying + Defines whether the DSC resource performs its own test to ensure idempotency when calling the + `set` command. Set this value to `true` if the DSC resource tests input before modifying system state. [01]: /reference/schemas/resource/manifest/set?#implementspretest handlesExist: - title: Resource handles _exist property + title: Resource handles `_exist` property description: >- - Defines whether the DSC Resource has its own built-in handling for the `_exist` common - property. Set this value to `true` if the DSC Resource handles instance deletion internally + Defines whether the DSC resource has its own built-in handling for the `_exist` common + property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`. type: boolean default: false @@ -159,16 +159,16 @@ properties: [_Online Documentation_][01] *** - Defines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common - property. Set this value to `true` if the DSC Resource handles instance deletion internally + Defines whether the DSC resource has its own built-in handling for the [`_exist`][02] common + property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`. [01]: /reference/schemas/resource/manifest/set?#handlesExist [02]: /reference/schemas/resource/properties/exist? return: description: >- - Defines whether the command returns a JSON blob of the DSC Resource's state after the set - operation or the state and an array of the properties the DSC Resource modified. + Defines whether the command returns a JSON blob of the DSC resource's state after the set + operation or the state and an array of the properties the DSC resource modified. $ref: ///definitions/returnKind.yaml # VS Code only markdownDescription: | @@ -176,8 +176,8 @@ properties: [_Online Documentation_][01] *** - Defines whether the command returns a JSON blob of the DSC Resource's state after the set - operation or the state and an array of the properties the DSC Resource modified. + Defines whether the command returns a JSON blob of the DSC resource's state after the set + operation or the state and an array of the properties the DSC resource modified. [01]: /reference/schemas/resource/manifest/set?#return markdownEnumDescriptions: diff --git a/schemas/src/resource/manifest.test.yaml b/schemas/src/resource/manifest.test.yaml index d0325a1e2..918442441 100644 --- a/schemas/src/resource/manifest.test.yaml +++ b/schemas/src/resource/manifest.test.yaml @@ -4,15 +4,15 @@ $id: ///resource/manifest.test.yaml title: Test Method description: >- - Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how - to process the output from the DSC Resource. + Defines how DSC must call the DSC resource to test if an instance is in the desired state and how + to process the output from the DSC resource. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how - to process the output from the DSC Resource. + Defines how DSC must call the DSC resource to test if an instance is in the desired state and how + to process the output from the DSC resource. DSC sends data to the command in three ways: @@ -130,7 +130,7 @@ properties: return: title: Test Command Return Type description: >- - Defines whether the command returns a JSON blob of the DSC Resource's current state or the + Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state. $ref: ///definitions/returnKind.yaml # VS Code only @@ -139,7 +139,7 @@ properties: [_Online Documentation_][01] *** - Defines whether the command returns a JSON blob of the DSC Resource's current state or the + Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state. [01]: /reference/schemas/resource/manifest/test?#return diff --git a/schemas/src/resource/manifest.validate.yaml b/schemas/src/resource/manifest.validate.yaml index 764f8bdae..2aec765c2 100644 --- a/schemas/src/resource/manifest.validate.yaml +++ b/schemas/src/resource/manifest.validate.yaml @@ -4,16 +4,16 @@ $id: ///resource/manifest.validate.yaml title: Validate Method description: >- - Defines how DSC must call the DSC Resource to validate the state of an instance. This method is - mandatory for DSC Group Resources. It's ignored for all other DSC Resources. + Defines how DSC must call the DSC resource to validate the state of an instance. This method is + mandatory for DSC group resources. It's ignored for all other DSC resources. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to validate the state of an instance. This method is - mandatory for DSC Group Resources. It's ignored for all other DSC Resources. + Defines how DSC must call the DSC resource to validate the state of an instance. This method is + mandatory for DSC group resources. It's ignored for all other DSC resources. DSC sends data to the command in three ways: diff --git a/schemas/src/resource/manifest.whatIf.yaml b/schemas/src/resource/manifest.whatIf.yaml index 711c86024..5d0cd4da8 100644 --- a/schemas/src/resource/manifest.whatIf.yaml +++ b/schemas/src/resource/manifest.whatIf.yaml @@ -4,15 +4,15 @@ $id: ///resource/manifest.whatIf.yaml title: What-if method description: >- - Defines how DSC must call the DSC Resource to indicate whether and how the set command will - modify an instance and how to process the output from the DSC Resource. + Defines how DSC must call the DSC resource to indicate whether and how the set command will + modify an instance and how to process the output from the DSC resource. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to indicate whether and how the set command will - modify an instance and how to process the output from the DSC Resource. If a resource doesn't + Defines how DSC must call the DSC resource to indicate whether and how the set command will + modify an instance and how to process the output from the DSC resource. If a resource doesn't define this method in the manifest, DSC synthesizes this behavior by converting the result of the test operation for the resource into the [set result][02]. @@ -134,10 +134,10 @@ properties: [01]: /reference/schemas/resource/manifest/whatif?#input implementsPretest: - title: Resource Performs Pre-Test + title: Resource performs pre-test description: >- - Defines whether the DSC Resource performs its own test to ensure idempotency when calling the - `set --what-if` command. Set this value to `true` if the DSC Resource tests input before + Defines whether the DSC resource performs its own test to ensure idempotency when calling the + `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state. type: boolean default: false @@ -147,16 +147,16 @@ properties: [_Online Documentation_][01] *** - Defines whether the DSC Resource performs its own test to ensure idempotency when calling the - `set --what-if` command . Set this value to `true` if the DSC Resource tests input before + Defines whether the DSC resource performs its own test to ensure idempotency when calling the + `set --what-if` command . Set this value to `true` if the DSC resource tests input before processing how it will modify system state. [01]: /reference/schemas/resource/manifest/whatif?#implementspretest handlesExist: - title: Resource handles _exist property + title: Resource handles `_exist` property description: >- - Defines whether the DSC Resource has its own built-in handling for the `_exist` common - property. Set this value to `true` if the DSC Resource handles instance deletion internally + Defines whether the DSC resource has its own built-in handling for the `_exist` common + property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`. type: boolean @@ -167,8 +167,8 @@ properties: [_Online Documentation_][01] *** - Defines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common - property. Set this value to `true` if the DSC Resource handles instance deletion internally + Defines whether the DSC resource has its own built-in handling for the [`_exist`][02] common + property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`. @@ -176,8 +176,8 @@ properties: [02]: /reference/schemas/resource/properties/exist? return: description: >- - Defines whether the command returns a JSON blob of the DSC Resource's expected state after a - set operation in what-if mode or the state and an array of the properties the DSC Resource + Defines whether the command returns a JSON blob of the DSC resource's expected state after a + set operation in what-if mode or the state and an array of the properties the DSC resource would modify. $ref: ///definitions/returnKind.yaml # VS Code only @@ -186,8 +186,8 @@ properties: [_Online Documentation_][01] *** - Defines whether the command returns a JSON blob of the DSC Resource's expected state after a - set operation in what-if mode or the state and an array of the properties the DSC Resource + Defines whether the command returns a JSON blob of the DSC resource's expected state after a + set operation in what-if mode or the state and an array of the properties the DSC resource would modify. [01]: /reference/schemas/resource/manifest/whatif?#return diff --git a/schemas/src/resource/manifest.yaml b/schemas/src/resource/manifest.yaml index 1139f6adc..bf4c6a882 100644 --- a/schemas/src/resource/manifest.yaml +++ b/schemas/src/resource/manifest.yaml @@ -2,17 +2,16 @@ $schema: https://json-schema.org/draft/2020-12/schema $id: ///resource/manifest.yaml -title: Command-based DSC Resource Manifest +title: DSC resource manifest description: >- - Defines the information DSC and integrating require to process and call a command-based DSC - Resource. + Defines the information DSC and integrating require to process and call a DSC command resource. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines the information DSC and integrating require to process and call a command-based DSC - Resource. For DSC to use a manifest on a system, the manifest file must: + Defines the information DSC and integrating require to process and call a DSC command resource. + For DSC to use a manifest on a system, the manifest file must: 1. Be discoverable in the `PATH` environment variable. 1. Follow the naming convention `.dsc.resource.json`. @@ -96,8 +95,8 @@ defaultSnippets: - label: ' Define a resource (adapter)' markdownDescription: |- - Defines an adapter resource that enables users to define non-command-based DSC Resources in - the configuration. + Defines an adapter resource that enables users to define non-command DSC resources in the + configuration. body: ${escape_dollar:$}schema: ///bundled/resource/manifest.yaml type: '${1:owner.area.group}/${2:${TM_FILENAME_BASE/^(.*?)[\.]dsc[\.]resource/$1/}}' @@ -197,7 +196,7 @@ properties: $schema: title: Manifest Schema description: >- - This property must be the canonical URL of the Command-based DSC Resource Manifest schema + This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for. type: string format: uri @@ -217,8 +216,8 @@ properties: [_Online Documentation_][01] *** - This property must be one of the canonical URLs for the version of the Command-based DSC - Resource Manifest schema that the manifest is implemented for. + This property must be one of the canonical URLs for the version of the DSC resource manifest + schema that the manifest is implemented for. For every version of the schema, there are three valid urls: @@ -379,7 +378,7 @@ properties: version: title: Resource Semantic Version description: >- - The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, + The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages. $ref: ///definitions/semver.yaml markdownDescription: | # VS Code only @@ -387,7 +386,7 @@ properties: [_Online Documentation_][01] *** - The semantic version ([semver][02]) of the DSC Resource. This version identifies the DSC + The semantic version ([semver][02]) of the DSC resource. This version identifies the DSC Resource, not the version of the application it manages. This value uses the [suggested regular expression][03] to validate whether the string is valid @@ -411,14 +410,14 @@ properties: description: title: Resource Description description: >- - A short synopsis of the DSC Resource's purpose. + A short synopsis of the DSC resource's purpose. type: string markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines a short synopsis of the DSC Resource's purpose. + Defines a short synopsis of the DSC resource's purpose. [01]: /reference/schemas/resource/manifest/root?#description-1 kind: @@ -468,9 +467,9 @@ properties: # command/method objects too? title: Exit Codes description: >- - This property defines a map of valid exit codes for the DSC Resource. DSC always interprets + This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this - property to indicate human-readable semantic meanings for the DSC Resource's exit codes. + property to indicate human-readable semantic meanings for the DSC resource's exit codes. type: object propertyNames: pattern: "^-?[0-9]+$" @@ -495,9 +494,9 @@ properties: [_Online Documentation_][01] *** - This property defines a map of valid exit codes for the DSC Resource. DSC always interprets + This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this - property to indicate human-readable semantic meanings for the DSC Resource's exit codes. + property to indicate human-readable semantic meanings for the DSC resource's exit codes. Define the keys in this property as strings representing a valid 32-bit signed integer. You can't use alternate formats for the exit code. For example, instead of the hexadecimal value diff --git a/schemas/src/resource/properties/exist.yaml b/schemas/src/resource/properties/exist.yaml index 7fad6b4a0..b226365ef 100644 --- a/schemas/src/resource/properties/exist.yaml +++ b/schemas/src/resource/properties/exist.yaml @@ -4,7 +4,7 @@ $id: ///resource/properties/exist.yaml title: Instance should exist description: >- - Indicates whether the DSC Resource instance should exist. + Indicates whether the DSC resource instance should exist. type: boolean default: true @@ -16,7 +16,7 @@ markdownDescription: | [_Online Documentation_][01] *** - Indicates whether the DSC Resource instance should exist. For DSC Resources that define the + Indicates whether the DSC resource instance should exist. For DSC resources that define the [delete method in their manifest][02], DSC calls the `delete` method for the resource when an instance defines `_exist` as `false` and the instance exists. diff --git a/schemas/src/resource/properties/purge.yaml b/schemas/src/resource/properties/purge.yaml index 9ba4330ef..db9a03484 100644 --- a/schemas/src/resource/properties/purge.yaml +++ b/schemas/src/resource/properties/purge.yaml @@ -4,9 +4,9 @@ $id: ///resource/properties/purge.yaml title: Purge description: >- - Indicates that only the components described in the DSC Resource should exist. If other - components exist, the DSC Resource is out of the desired state. When enforcing desired state, the - DSC Resource removes unmanaged components. + Indicates that only the components described in the DSC resource should exist. If other + components exist, the DSC resource is out of the desired state. When enforcing desired state, the + DSC resource removes unmanaged components. type: - boolean @@ -19,8 +19,8 @@ markdownDescription: | [_Online Documentation_][01] *** - Indicates that only the components described in the DSC Resource should exist. If other - components exist, the DSC Resource is out of the desired state. When enforcing desired state, the - DSC Resource removes unmanaged components. + Indicates that only the components described in the DSC resource should exist. If other + components exist, the DSC resource is out of the desired state. When enforcing desired state, the + DSC resource removes unmanaged components. [01]: /reference/schemas/resource/properties/purge? From 4ef25bc64768c4ce24f260aa8cc072d8899c5af7 Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Tue, 1 Apr 2025 14:53:38 -0500 Subject: [PATCH 02/13] (GH-717) Fix minimum item counts for `resources` in config doc This change sets the `minItems` keyword to `0` for the `resources` property of a configuration document. Prior to this change, the schema specified a value of `1`, which was inaccurate. This change fixes #717 --- schemas/src/config/document.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/src/config/document.yaml b/schemas/src/config/document.yaml index 777a2f221..acdd140c3 100644 --- a/schemas/src/config/document.yaml +++ b/schemas/src/config/document.yaml @@ -321,7 +321,7 @@ properties: title: DSC configuration document resources description: Defines a list of DSC resource instances for the configuration to manage. type: array - minItems: 1 + minItems: 0 items: $ref: ///config/document.resource.yaml # VS Code only From 9f36ab409c15a50f3218889a13fd2e6a04eaae78 Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Tue, 1 Apr 2025 14:56:56 -0500 Subject: [PATCH 03/13] (GH-708) Fix enums for `kind` Prior to this change, the enums in the schema source for the `kind` property of a DSC resource wasn't updated to reflect the change for camelCasing and naming. This change updates the enumeration values and the associated documentation keywords and fixes #708. --- schemas/src/definitions/resourceKind.yaml | 41 ++++++++++++---------- schemas/src/resource/manifest.resolve.yaml | 8 ++--- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/schemas/src/definitions/resourceKind.yaml b/schemas/src/definitions/resourceKind.yaml index 1b1180f7b..e111ef5ea 100644 --- a/schemas/src/definitions/resourceKind.yaml +++ b/schemas/src/definitions/resourceKind.yaml @@ -9,10 +9,10 @@ description: >- type: string enum: - - Resource - - Adapter - - Group - - Import + - resource + - adapter + - group + - importer # VS Code only @@ -21,35 +21,38 @@ markdownDescription: | [_Online Documentation_][01] *** - Defines whether the resource is a normal DSC Resource, a group resource, or an adapter - resource. This property is only required for group resources. + Defines how DSC should interpret the resource - as a typical resource, an adapter, a group, or an + importer. This property is required for group, exporter, and importer resources. DSC infers the default value for this property based on whether the [adapter][02] property is defined in the manifest: - - If the `adapter` property is defined in the manifest, the default `kind` is `Adapter`. - - If the `adapter` property is not defined in the manifest, the default `kind` is `Resource`. + - If the `adapter` property is defined in the manifest, the default `kind` is `adapter`. + - If the `adapter` property is not defined in the manifest, the default `kind` is `resource`. + + For more information about the different kinds of DSC resources, see [DSC resource kinds][01] [01]: /reference/schemas/resource/manifest/root?#kind + [01]: /concepts/resources/kinds? markdownEnumDescriptions: - - | # Resource + - | # resource - Indicates that the manifest is for a standard command-based DSC Resource. - - | # Adapter + Indicates that the manifest is for a typical DSC command resource. + - | # adapter - Indicates that the manifest is for an adapter resource that enables the use of - non-command-based resources with DSC. - - | # Group + Indicates that the manifest is for a resource that enables the use of non-command resources + with DSC. + - | # group - Indicates that the manifest is for a group resource that processes an array of nested - resource instances. - - | # Import + Indicates that the manifest is for a resource that processes an array of nested resource + instances. + - | # importer - Indicates that the manifest is for an import resource that resolves an external source to DSC - resource instances. The resolved instances are processed as nested instances for the import + Indicates that the manifest is for a resource that resolves an external source to DSC + resource instances. DSC processes the resolved instances as nested instances for the importer resource. diff --git a/schemas/src/resource/manifest.resolve.yaml b/schemas/src/resource/manifest.resolve.yaml index ff7ede94c..84e0c5a00 100644 --- a/schemas/src/resource/manifest.resolve.yaml +++ b/schemas/src/resource/manifest.resolve.yaml @@ -6,16 +6,16 @@ title: Resolve method description: >- Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to - `Import`. + `importer`. markdownDescription: | # VS Code only *** [_Online Documentation_][01] *** - Defines how DSC must call the DSC Resource to resolve an external source to nested DSC - Configuration Document. Define this method for [importer resources][02] and set the [kind][03] - property in the manifest root to `Import`. + Defines how DSC must call the DSC resource to resolve an external source to nested DSC + configuration document. Define this method for [importer resources][02] and set the [kind][03] + property in the manifest root to `importer`. DSC sends data to the command in three ways: From 135837ed24c4ef2ec0c81f1ef5cfef04a8709043 Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Tue, 1 Apr 2025 14:59:21 -0500 Subject: [PATCH 04/13] (SCHEMA) Decompose capabilities into separate schema for reuse This change breaks out the capabilities schema from the `dsc resource list` output schema into a separate definition file. This enables us to reference the schema without using a JSON Pointer and provides us with a page for documenting the capabilities directly. This is a required precursor for a future change that defines stdout schemas for resource operations. --- .../src/definitions/resourceCapabilities.yaml | 244 ++++++++++++++++++ schemas/src/outputs/resource/list.yaml | 19 +- 2 files changed, 245 insertions(+), 18 deletions(-) create mode 100644 schemas/src/definitions/resourceCapabilities.yaml diff --git a/schemas/src/definitions/resourceCapabilities.yaml b/schemas/src/definitions/resourceCapabilities.yaml new file mode 100644 index 000000000..bb3f5cd4d --- /dev/null +++ b/schemas/src/definitions/resourceCapabilities.yaml @@ -0,0 +1,244 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///definitions/resourceCapabilities.yaml + +title: Resource capabilities +description: >- + Define the operations you can invoke for a resource and how the resource behaves when invoked. + +markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + 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. + + For more information about the operations you can invoke for a resource, see + [DSC resource operations][01]. + + + [00]: /reference/schemas/definitions/resourceCapabilities? + [00]: /concepts/resources/operations? + +type: array +items: + type: string + enum: + - get + - set + - setHandlesExist + - whatIf + - test + - delete + - export + - resolve + markdownEnumDescriptions: + - |- # get + *** + [_Online Documentation_][00] + *** + + A resource with the `get` capability supports retrieving the current state of an instance + with the [Get][01] operation. + + A command resource has this capability when its resource manifest defines the [get][02] + property. + + + [00]: /reference/schemas/definitions/resourceCapabilities?#get + [01]: /concepts/resources/operations?#get-operation + [02]: /reference/schemas/resource/manifest/get? + + - |- # set + *** + [_Online Documentation_][00] + *** + + A resource with the `set` capability supports enforcing the desired state of an instance with + the [Set][01] operation. Resources without this capability can't be used with the + [dsc resource set][02] or [dsc config set][03] commands unless they're defined in a + `Microsoft.DSC/Assertion` group as a nested instance. + + A command resource has this capability when its resource manifest defines the [set][04] + property. + + + [00]: /reference/schemas/definitions/resourceCapabilities?#set + [01]: /concepts/resources/operations?#set-operation + [02]: /reference/cli/resource/set? + [03]: /reference/cli/config/set? + [04]: /reference/schemas/resource/manifest/set? + + - |- # setHandlesExist + *** + [_Online Documentation_][00] + *** + + A resource with the `setHandlesExist` capability indicates that you can use the [Set][01] + operation to delete an instance. Resources with this capability must have the [_exist][02] + canonical resource property. Resources that don't have the `_exist` property never have this + capability. + + When a resource has the `_exist` property but not the `setHandlesExist` capability: + + - If the resource has the `delete` capability, DSC invokes the [Delete][03] operation instead + of **Set** when the desired state for an instance defines `_exist` as false. + - If the resource doesn't have the `delete` capability, DSC raises an error during a **Set** + operation when the desired state for an instance defines `_exist` as false. + + A command resource has this capability when its resource manifest defines the + [set.handlesExist][04] subproperty as `true`. + + + [00]: /reference/schemas/definitions/resourceCapabilities?#sethandlesexist + [01]: /concepts/resources/operations#set-operation + [02]: /reference/schemas/resource/properties/exist + [03]: /concepts/resources/operations#delete-operation + [04]: /reference/schemas/resource/manifest/set#handlesexist + + - |- # whatIf + *** + [_Online Documentation_][00] + *** + + A resource with the `whatIf` capability indicates that you can use the [Set][01] operation in + what-if mode to have the resource return explicit information about how it would modify state + in an actual **Set** operation. + + When a resource doesn't have this capability, DSC synthesizes how the resource would change + an instance by converting the **Test** result for the instance into a **Set** result. The + synthetic operation can't indicate potential issues or changes that can't be determined by + comparing the result of the **Test** operation against the resource's desired state. For + example, the credentials used to test a resource might be valid for that operation, but not + have permissions to actually modify the system state. Only a resource with this capability + can fully report whether and how the resource would change system state. + + A resource has this capability when it defines the [whatIf][02] property. + + + [00]: /reference/schemas/definitions/resourceCapabilities?#whatif + [01]: /concepts/resources/operations?#set-operation + [02]: /reference/schemas/resource/manifest/whatif? + + - |- # test + *** + [_Online Documentation_][00] + *** + + A resource with the `test` capability indicates that it implements the [Test][01] operation + directly. Resources with this capability must have the [_inDesiredState][02] canonical + resource property. Resources that don't have the `_inDesiredState` property never have this + capability. + + When a resource doesn't have this capability, DSC uses a synthetic test for instances of the + resource. DSC performs the synthetic test by: + + 1. Invoking the **Get** operation on the resource to retrieve the actual state of the + instance. + 1. Synthetically testing each property for the desired state of an instance against the + actual state returned. The synthetic test uses strict, case-sensitive equivalence. + 1. If the desired state for a property and the actual state aren't the same, DSC marks the + property as out of the desired state. + 1. If any properties are out of the desired state, DSC reports the entire instance as not + being in the desired state. + + Synthetic testing can't account for all resource behaviors. For example, if a package + resource allows users to define a version range for the package, the **Get** operation + returns the actual version of the package, like `1.2.3`. If the user specified the version + range `~1` (NPM syntax indicating the package should be latest released semantic version with + major version `1`), DSC would compare the desired state `~1` against the actual state `1.2.3` + and consider the package to be in the incorrect state, even if `1.2.3` is actually the latest + release matching the version pin. + + Any resource that has properties which can't use a strict case-sensitive comparison check + should have this capability. + + A command resource has this capability when its resource manifest defines the [test][03] + property. + + + [00]: /reference/schemas/definitions/resourceCapabilities?#test + [01]: /concepts/resources/operations?#test-operation + [02]: /reference/schemas/resource/properties/inDesiredState? + [03]: /reference/schemas/resource/manifest/test? + + - |- # delete + *** + [_Online Documentation_][00] + *** + + A resource with the `delete` capability supports removing an instance with the [Delete][01] + operation and the [dsc resource delete][02] command. + + This capability isn't mutually exclusive with the `setHandlesExist` property. A resource can handle + the `_exist` property in **Set** operations and be called directly with `dsc resource delete` to + remove an instance. + + For resources with the `delete` capability and the [_exist][03] canonical resource property: + + - If the resource doesn't have the `setHandlesExist` capability, DSC invokes the **Delete** + operation for the resource instead of **Set** when the desired state defines `_exist` as + `false`. + - If the resource does have the `setHandlesExist` capability, DSC invokes the **Set** operation for + the resource when the desired state defines `_exist` as `false`. + + Resources with the `delete` capability that don't have the `_exist` canonical resource property + must implement their **Set** operation to handle removing instances. DSC can't infer existence + semantics without the `_exist` property. + + A command resource has this capability when its resource manifest defines the [delete][04] + property. + + + [00]: /reference/schemas/definitions/resourceCapabilities?#delete + [01]: /concepts/resources/operations?#delete-operation + [02]: /reference/cli/resource/delete? + [03]: /reference/schemas/resource/properties/exist? + [04]: /reference/schemas/resource/manifest/delete? + + + - |- # export + *** + [_Online Documentation_][00] + *** + + A resource with the `export` capability supports enumerating every instance of the resource + with the [Export][01] operation. + + You can use resources with this capability with the following commands: + + - [dsc config export][02] to return a configuration document representing the actual state + for every instance of each resource defined in the input document. + - [dsc resource export][03] to return a configuration document representing the actual state + for every instance of the input resource. + - `dsc resource get` with the [--all][04] option to return the actual state of every instance + of the input resource. + + A command resource has this capability when its resource manifest defines the [export][05] + property. + + + [00]: /reference/schemas/definitions/resourceCapabilities?#export + [01]: /concepts/resources/operations#export-operation + [02]: /reference/cli/config/export? + [03]: /reference/cli/resource/export? + [04]: /reference/cli/resource/get?#--all + [05]: /reference/schemas/resource/manifest/export? + + - |- # resolve + *** + [_Online Documentation_][00] + *** + + A resource with the `resolve` capability supports resolving nested resource instances from an + external source. This capability is primarily used by [importer resources][01] to enable users to + compose configuration documents. + + A command resource has this capability when its resource manifest defines the [resolve][0220] + property. + + + [00]: /reference/schemas/definitions/resourceCapabilities?#resolve + [01]: /concepts/resources/kinds?#importer-resources + [02]: /reference/schemas/resource/manifest/resolve? diff --git a/schemas/src/outputs/resource/list.yaml b/schemas/src/outputs/resource/list.yaml index 20971ca8e..407f01cca 100644 --- a/schemas/src/outputs/resource/list.yaml +++ b/schemas/src/outputs/resource/list.yaml @@ -21,24 +21,7 @@ properties: # Only the Test* resources seem to have this field populated. $ref: ///definitions/semver.yaml capabilities: - title: Resource capabilities - description: >- - Defines the list of DSC operations the resource is compatible with. If the resource doesn't - list a given operation, like `set` or `export`, the resource can't be used for those - operations. The exception to this is `test` - DSC uses synthetic testing for resources that - don't have the `test` capability. - type: array - items: - type: string - enum: - - get - - set - - setHandlesExist - - whatIf - - test - - delete - - export - - resolve + $ref: ///definitions/resourceCapabilities.yaml description: title: Resource description description: >- From b1b42639268f77bac889cc850b0faa2111dd0f30 Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Tue, 1 Apr 2025 16:27:57 -0500 Subject: [PATCH 05/13] (SCHEMA) Update `returnKind` and associated properties Prior to this change, the `returnKind` shared definition set a default value. This was inaccurate, because `set.return` has different behavior when `return` isn't defined - DSC invokes the **Get** operation to construct the result after the **Set** operation for the resource concludes. This change removes the default from the shared definition, adds it to the `test.return` property, and clarifies the behavior for the `set.return` property. Finally, this change also makes `whatIf.return` mandatory, as the synthetic after-state doesn't make sense for this operation, even if DSC will technically accept it. --- schemas/src/definitions/returnKind.yaml | 1 - schemas/src/resource/manifest.set.yaml | 4 ++++ schemas/src/resource/manifest.test.yaml | 1 + schemas/src/resource/manifest.whatIf.yaml | 10 ++++++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/schemas/src/definitions/returnKind.yaml b/schemas/src/definitions/returnKind.yaml index 30085de24..250250296 100644 --- a/schemas/src/definitions/returnKind.yaml +++ b/schemas/src/definitions/returnKind.yaml @@ -7,7 +7,6 @@ type: string enum: - state - stateAndDiff -default: state $comment: |- While the enumeration for return kind is the same for the `set` and `test` diff --git a/schemas/src/resource/manifest.set.yaml b/schemas/src/resource/manifest.set.yaml index 4b92ce615..77cbf15c6 100644 --- a/schemas/src/resource/manifest.set.yaml +++ b/schemas/src/resource/manifest.set.yaml @@ -179,6 +179,10 @@ properties: Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified. + When a manifest doesn't define `set.return`, DSC doesn't expect the resource to emit any + JSON to stdout. Instead, DSC invokes the **Get** operation for the resource to construct + the result object, retrieving the actual state of the resource after the **Set** operation. + [01]: /reference/schemas/resource/manifest/set?#return markdownEnumDescriptions: - | # state diff --git a/schemas/src/resource/manifest.test.yaml b/schemas/src/resource/manifest.test.yaml index 918442441..f6e647579 100644 --- a/schemas/src/resource/manifest.test.yaml +++ b/schemas/src/resource/manifest.test.yaml @@ -133,6 +133,7 @@ properties: Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state. $ref: ///definitions/returnKind.yaml + default: state # VS Code only markdownDescription: | *** diff --git a/schemas/src/resource/manifest.whatIf.yaml b/schemas/src/resource/manifest.whatIf.yaml index 5d0cd4da8..59a0bab2c 100644 --- a/schemas/src/resource/manifest.whatIf.yaml +++ b/schemas/src/resource/manifest.whatIf.yaml @@ -40,6 +40,7 @@ markdownDescription: | # VS Code only type: object required: - executable + - return properties: executable: $ref: ///definitions/commandExecutable.yaml @@ -190,6 +191,15 @@ properties: set operation in what-if mode or the state and an array of the properties the DSC resource would modify. + Unlike the `set.return` property, you must specify a value for `whatIf.return` for the + resource to function correctly. When you don't define `set.return` in your resource manifest, + DSC invokes the **Get** operation on the resource after the **Set** operation to construct + the result with the final state of the resource. + + For what-if operations, the resource doesn't actually change the system, so invoking the + **Get** operation after the what-if command executes will always show the final state to + be the same as the before state. + [01]: /reference/schemas/resource/manifest/whatif?#return markdownEnumDescriptions: - | # state From 958f67cf2b4e9d177a4e36e6be22fe9b015fa77c Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Tue, 1 Apr 2025 16:30:06 -0500 Subject: [PATCH 06/13] (SCHEMA) Add stdout schemas for resource operation commands Prior to this change, the instructions and information about how resources should return data to DSC for any given operation was somewhat vague and not always helpful. This change defines a new set of schemas for the various operations, so resource authors can review their implementations and validate them against these schemas. --- schemas/src/resource/stdout/delete.yaml | 17 ++++ schemas/src/resource/stdout/export.yaml | 30 ++++++ schemas/src/resource/stdout/get.yaml | 30 ++++++ schemas/src/resource/stdout/list.yaml | 86 +++++++++++++++++ schemas/src/resource/stdout/resolve.yaml | 58 ++++++++++++ schemas/src/resource/stdout/schema.yaml | 31 +++++++ schemas/src/resource/stdout/set.yaml | 107 ++++++++++++++++++++++ schemas/src/resource/stdout/test.yaml | 89 ++++++++++++++++++ schemas/src/resource/stdout/validate.yaml | 49 ++++++++++ schemas/src/resource/stdout/whatIf.yaml | 88 ++++++++++++++++++ 10 files changed, 585 insertions(+) create mode 100644 schemas/src/resource/stdout/delete.yaml create mode 100644 schemas/src/resource/stdout/export.yaml create mode 100644 schemas/src/resource/stdout/get.yaml create mode 100644 schemas/src/resource/stdout/list.yaml create mode 100644 schemas/src/resource/stdout/resolve.yaml create mode 100644 schemas/src/resource/stdout/schema.yaml create mode 100644 schemas/src/resource/stdout/set.yaml create mode 100644 schemas/src/resource/stdout/test.yaml create mode 100644 schemas/src/resource/stdout/validate.yaml create mode 100644 schemas/src/resource/stdout/whatIf.yaml diff --git a/schemas/src/resource/stdout/delete.yaml b/schemas/src/resource/stdout/delete.yaml new file mode 100644 index 000000000..8577904a5 --- /dev/null +++ b/schemas/src/resource/stdout/delete.yaml @@ -0,0 +1,17 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/get.yaml + +title: Delete resource operation stdout +description: >- + DSC does not expect the **Delete** operation for a resource to return any JSON to stdout. +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + DSC does not expect the **Delete** operation for a resource to return any JSON to stdout. + + [00]: /reference/schemas/resource/stdout/delete? + +type: 'null' \ No newline at end of file diff --git a/schemas/src/resource/stdout/export.yaml b/schemas/src/resource/stdout/export.yaml new file mode 100644 index 000000000..e605413fc --- /dev/null +++ b/schemas/src/resource/stdout/export.yaml @@ -0,0 +1,30 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/export.yaml + +title: Export resource operation stdout +description: >- + Represents the actual state of a resource instance in DSC. DSC expects every JSON Line emitted to + stdout for the **Export** operation to adhere to this schema. +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Represents the actual state of a resource instance in DSC. DSC expects every JSON Line emitted to + stdout for the **Export** operation to adhere to this schema. + + The output must be a JSON object. The object must be a valid representation of an instance of the + resource. + + Command resources define their instance schema with the [schema.command][01] or + [schema.embedded][02] fields in their resource manifest. If a command resource returns JSON that + is invalid against the resource instance schema, DSC raises an error. + + Adapted resource instances are validated by their adapter when the adapter invokes them. + + [00]: /reference/schemas/resource/stdout/export? + [01]: /reference/schemas/resource/manifest/schema/command? + [02]: /reference/schemas/resource/manifest/schema/embedded? + +type: object diff --git a/schemas/src/resource/stdout/get.yaml b/schemas/src/resource/stdout/get.yaml new file mode 100644 index 000000000..8568e904e --- /dev/null +++ b/schemas/src/resource/stdout/get.yaml @@ -0,0 +1,30 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/get.yaml + +title: Get resource operation stdout +description: >- + Represents the actual state of a resource instance in DSC. DSC expects the JSON Line emitted to + stdout for the **Get** operation to adhere to this schema. +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Represents the actual state of a resource instance in DSC. DSC expects the JSON Line emitted to + stdout for the **Get** operation to adhere to this schema. + + The output must be a JSON object. The object must be a valid representation of an instance of the + resource. + + Command resources define their instance schema with the [schema.command][01] or + [schema.embedded][02] fields in their resource manifest. If a command resource returns JSON that + is invalid against the resource instance schema, DSC raises an error. + + Adapted resource instances are validated by their adapter when the adapter invokes them. + + [00]: /reference/schemas/resource/stdout/get? + [01]: /reference/schemas/resource/manifest/schema/command? + [02]: /reference/schemas/resource/manifest/schema/embedded? + +type: object diff --git a/schemas/src/resource/stdout/list.yaml b/schemas/src/resource/stdout/list.yaml new file mode 100644 index 000000000..16cc96fe9 --- /dev/null +++ b/schemas/src/resource/stdout/list.yaml @@ -0,0 +1,86 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/list.yaml + +title: List resource operation stdout +description: >- + Defines the representation of an adapted resource in DSC. DSC expects every JSON Line emitted to + stdout for the **List** operation to adhere to this schema. +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Defines the representation of an adapted resource in DSC. DSC expects every JSON Line emitted to + stdout for the **List** operation to adhere to this schema. + + DSC includes the following adapter resources: + + - `Microsoft.DSC/PowerShell` run PowerShell and enables you to use PowerShell DSC (PSDSC) + resources implemented as PowerShell classes in DSC. + - `Microsoft.Windows/WindowsPowerShell` runs Windows PowerShell and enables you to use any + available PSDSC resources in DSC. This adapter is only available when you install DSC on + Windows. + - `Microsoft.Windows/WMI` enables you to use WMI classes as resources in DSC. This adapter is + only available when you install DSC on Windows. + + [00]: /reference/schemas/resource/stdout/list? + +type: object +required: + - type + - kind + - version + - capabilities + - path + - directory + - implementedAs + - properties + - requireAdapter +properties: + type: + $ref: ///definitions/resourceType.yaml + kind: + $ref: ///definitions/resourceKind.yaml + version: + $ref: ///definitions/semver.yaml + capabilities: + $ref: ///definitions/resourceCapabilities.yaml + path: + title: Path + description: >- + Indicates the path to the adapted resource on the file system. + type: string + directory: + title: Directory + description: >- + Indicates the path to the folder containing the adapted resource on the file system. + implementedAs: + title: Custom implementation name + description: >- + Indicates that the adapted resource uses a custom implementation. The name can be used to + distinguish between different implementations for the adapted resources. + type: string + author: + title: Author + description: >- + Indicates the name of the person or organization that developed and maintains the adapted + Resource. + type: + - string + - 'null' + pattern: ^\w+( \w+)* + properties: + title: Properties + description: >- + Defines the adapted resource's property names. + type: array + items: + type: string + pattern: ^\w+$ + requireAdapter: + title: Required adapter + description: >- + Defines the fully qualified type name of the adapter that the adapted resource depends on. An + adapter should always set this value to its own fully qualified resource type name. + $ref: ///definitions/resourceType.yaml diff --git a/schemas/src/resource/stdout/resolve.yaml b/schemas/src/resource/stdout/resolve.yaml new file mode 100644 index 000000000..18ddca4ec --- /dev/null +++ b/schemas/src/resource/stdout/resolve.yaml @@ -0,0 +1,58 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/resolve.yaml + +title: Resolve resource operation stdout +description: >- + Defines the representation of a resolved configuration document. DSC expects the JSON Line emitted to + stdout for the **Resolve** operation to adhere to this schema. +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Defines the representation of a resolved configuration document. DSC expects the JSON Line + emitted to stdout for the **Resolve** operation to adhere to this schema. + + [00]: /reference/schemas/resource/stdout/resolve? + +type: object +required: [configuration] + +properties: + configuration: + title: Resolved configuration document + description: >- + Defines the resolved configuration document. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + Defines the resolved configuration document. If the configuration document defines any + parameters, values for those parameters may be retrieved from the `parameters` property of + the **Resolve** operation output. + + [00]: /reference/schemas/resource/stdout/resolve?#configuration + $ref: ///config/document.yaml + parameters: + title: Resolved parameters + description: >- + The `parameters` property defines the set of resolved parameter values for the resolved + configuration document. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + The `parameters` property defines the set of resolved parameter values for the resolved + configuration document. If the `parameters` property is omitted from the output for the + **Resolve** operation, DSC doesn't pass any parameters to the resolved configuration + when invoking operations on it. + + Each property of this object represents a different resolved parameter. The property name + identifies the name of a parameter. The property value is the resolved value for the + parameter. + + [00]: /reference/schemas/resource/stdout/resolve?#parameters + type: object \ No newline at end of file diff --git a/schemas/src/resource/stdout/schema.yaml b/schemas/src/resource/stdout/schema.yaml new file mode 100644 index 000000000..510b941d2 --- /dev/null +++ b/schemas/src/resource/stdout/schema.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/schema.yaml + +title: Schema resource command stdout +description: >- + Represents the JSON Schema that validates instances of the resource. DSC expects a resource that + defines the `schema.command` field in its resource manifest to return this value for that + command. +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Represents the JSON Schema that validates instances of the resource. DSC expects a resource that + defines the [`schema.command`][01] field in its resource manifest to return this value for that + command. + + The output must be a JSON object. The object must be a valid JSON Schema. For more information + about what DSC expects for resource instance JSON Schemas, see + [DSC Resource manifest embedded schema reference][02], which describes the expectations in full. + + [00]: /reference/schemas/resource/stdout/export? + [01]: /reference/schemas/resource/manifest/schema/command? + [02]: /reference/schemas/resource/manifest/schema/embedded? + +type: object +required: + - $schema + - type + - properties \ No newline at end of file diff --git a/schemas/src/resource/stdout/set.yaml b/schemas/src/resource/stdout/set.yaml new file mode 100644 index 000000000..48ff9889e --- /dev/null +++ b/schemas/src/resource/stdout/set.yaml @@ -0,0 +1,107 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/set.yaml + +title: Set resource operation stdout +description: >- + Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation. + +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation. + + DSC expects this output for both actual **Set** operations and **Set** operations in `whatIf` + mode. If the resource has the `whatIf` capability, the output should be the same for both modes. + + DSC expects different output from the command resource depending on the definition of + [set.return][01] in the resource manifest: + + - If the field isn't defined, DSC doesn't expect the resource to return any JSON to stdout. + Instead, DSC invokes the **Get** operation on the resource after the **Set** operation + concludes and synthesizes the **Set** result, including the after state of the resource and + the list of changed properties. + - If the field is defined as `state`, DSC expects the resource to emit a JSON Line to stdout + representing the actual state of the resource instance after the **Set** operation changes the + system. + - If the field is defined as `stateAndDiff`, DSC expects the resource to emit two JSON Lines. The + first JSON Line should be an object representing the actual state of the resource after the + **Set** operation. The second JSON Line should be an array representing the names of the + resource properties that the operation changed on the system. + + [00]: /reference/schemas/resource/stdout/set? + [01]: /reference/schemas/resource/manifest/set?#return + +oneOf: + - title: Null output + description: >- + When a command resource doesn't define `set.return` in its resource manifest, DSC doesn't + expect the resource to emit any JSON to stdout for the **Set** operation. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + When a command resource doesn't define [set.return][01] in its resource manifest, DSC doesn't expect + the resource to emit any JSON to stdout for the **Set** operation. + + [00]: /reference/schemas/resource/stdout/set?#null-output + [01]: /reference/schemas/resource/manifest/set?#return + type: 'null' + - title: state output + description: >- + When a resource defines `set.return` in its manifest as `state` or `stateAndDiff`, DSC + expects the resource to emit a JSON Line to stdout representing the actual state of the + resource instance after the **Set** operation changes the system. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + When a command resource defines [set.return][01] in its manifest as `state` or + `stateAndDiff`, DSC expects the resource to emit a JSON Line to stdout representing the + actual state of the resource instance after the **Set** operation changes the system. + + The output must be a JSON object. The object must be a valid representation of an instance of + the resource. + + Command resources define their instance schema with the [schema.command][02] or + [schema.embedded][03] fields in their resource manifest. If a command resource returns JSON + that is invalid against the resource instance schema, DSC raises an error. + + Adapted resource instances are validated by their adapter when the adapter invokes them. + + [00]: /reference/schemas/resource/stdout/set?#state-output + [01]: /reference/schemas/resource/manifest/set?#return + [02]: /reference/schemas/resource/manifest/schema/command? + [03]: /reference/schemas/resource/manifest/schema/embedded? + type: object + - title: diff output + description: >- + When a command resource defines `set.return` in its manifest as `stateAndDiff`, DSC expects + the resource to emit a second JSON Line to stdout representing the names of the resource + properties that the operation changed on the system. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + When a command resource defines [set.return][01] in its manifest as `stateAndDiff`, DSC + expects the resource to emit a second JSON Line to stdout representing the names of the + resource properties that the operation changed on the system. + + This output must be emitted after the JSON Line representing the state of the resource + instance after the operation changes the system. + + The output must be a JSON array. The array may be empty, or it may contain one or more + strings. Each string in the array must be the name of one of the resource's properties. Each + string in the array must be unique. + + [00]: /reference/schemas/resource/stdout/set?#diff-output + [01]: /reference/schemas/resource/manifest/set?#return + type: array + uniqueItems: true + items: + type: string \ No newline at end of file diff --git a/schemas/src/resource/stdout/test.yaml b/schemas/src/resource/stdout/test.yaml new file mode 100644 index 000000000..1144b8193 --- /dev/null +++ b/schemas/src/resource/stdout/test.yaml @@ -0,0 +1,89 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/test.yaml + +title: Test resource operation stdout +description: >- + Defines the JSON DSC expects a resource to emit to stdout for the **Test** operation. + +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Defines the JSON DSC expects a resource to emit to stdout for the **Test** operation. + + DSC expects different output from the command resource depending on the definition of + [test.return][01] in the resource manifest: + + - If the field is omitted or defined as `state` (the default value), DSC expects the resource to + emit a JSON Line to stdout representing the actual state of the resource instance with the + [_inDesiredState][02] canonical resource property included in the returned object. + - If the field is defined as `stateAndDiff`, DSC expects the resource to emit two JSON Lines. The + first JSON Line should be an object representing the actual state of the resource instance with + the `_inDesiredState` included in the returned object. The second JSON Line should be an array + representing the names of the resource properties that aren't in the desired state. + + [00]: /reference/schemas/resource/stdout/test? + [01]: /reference/schemas/resource/manifest/test?#return + +oneOf: + - title: state output + description: >- + For the **Test** operation, DSC always expects the resource to emit a JSON Line to stdout + representing the actual state of the resource instance with the `_inDesiredState` canonical + resource property included in the returned object. + + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + For the **Test** operation, DSC always expects the resource to emit a JSON Line to stdout + representing the actual state of the resource instance with the [_inDesiredState][01] + canonical resource property included in the returned object. + + The output must be a JSON object. The object must be a valid representation of an instance of + the resource. + + Command resources define their instance schema with the [schema.command][02] or + [schema.embedded][03] fields in their resource manifest. If a command resource returns JSON + that is invalid against the resource instance schema, DSC raises an error. + + Adapted resource instances are validated by their adapter when the adapter invokes them. + + [00]: /reference/schemas/resource/stdout/test?#state-output + [01]: /reference/schemas/resource/properties/inDesiredState? + [02]: /reference/schemas/resource/manifest/schema/command? + [03]: /reference/schemas/resource/manifest/schema/embedded? + type: object + - title: diff output + description: >- + When a command resource defines `test.return` in its manifest as `stateAndDiff`, DSC expects + the resource to emit a second JSON Line to stdout representing the names of the resource + properties that the operation changed on the system. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + When a command resource defines [test.return][01] in its manifest as `stateAndDiff`, DSC + expects the resource to emit a second JSON Line to stdout representing the names of the + resource properties that aren't in the desired state. + + This output must be emitted after the JSON Line representing the actual state of the resource + instance with the [_inDesiredState][02] canonical resource property included in the returned + object. + + The output must be a JSON array. The array may be empty, or it may contain one or more + strings. Each string in the array must be the name of one of the resource's properties. Each + string in the array must be unique. The array should never include the `_inDesiredState` + property. + + [00]: /reference/schemas/resource/stdout/test?#diff-output + [01]: /reference/schemas/resource/manifest/test?#return + [02]: /reference/schemas/resource/properties/inDesiredState? + type: array + uniqueItems: true + items: + type: string \ No newline at end of file diff --git a/schemas/src/resource/stdout/validate.yaml b/schemas/src/resource/stdout/validate.yaml new file mode 100644 index 000000000..a913bc301 --- /dev/null +++ b/schemas/src/resource/stdout/validate.yaml @@ -0,0 +1,49 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/validate.yaml + +title: Validate resource operation stdout +description: >- + Defines the JSON DSC expects a resource to emit to stdout for the **Validate** operation. +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Defines the JSON DSC expects a resource to emit to stdout for the **Validate** operation. + + DSC expects the resource to return a JSON object that indicates whether the instance is valid and + optionally a string indicating how the resource is invalid. + + [00]: /reference/schemas/resource/stdout/validate? + +type: object +required: [valid] +properties: + valid: + title: Instance validity + description: >- + Indicates whether the instance is valid for the resource. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + Indicates whether the instance is valid for the resource. When the value is `true`, the + instance is valid for the resource. + + [00]: /reference/schemas/resource/stdout/validate?#valid + reason: + title: Reason instance is invalid + description: >- + Describes how and why the instance is invalid for the resource. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + Describes how and why the instance is invalid for the resource. Always define this property + in the output object when `valid` is `false`. Don't define this property in the output object + when `valid` is `true`. + + [00]: /reference/schemas/resource/stdout/validate?#reason \ No newline at end of file diff --git a/schemas/src/resource/stdout/whatIf.yaml b/schemas/src/resource/stdout/whatIf.yaml new file mode 100644 index 000000000..1465f99d4 --- /dev/null +++ b/schemas/src/resource/stdout/whatIf.yaml @@ -0,0 +1,88 @@ +# yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema +$schema: https://json-schema.org/draft/2020-12/schema +$id: ///resource/stdout/set.yaml + +title: Set (what-if mode) resource operation stdout +description: >- + Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation in what-if + mode. + +markdownDescription: | # VS Code only + *** + [_Online Documentation_][00] + *** + + Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation in what-if + mode. + + DSC expects different output from the command resource depending on the definition of + [whatIf.return][01] in the resource manifest: + + - If the field is defined as `state`, DSC expects the resource to emit a JSON Line to stdout + representing the actual state of the resource instance after the **Set** operation changes the + system. + - If the field is defined as `stateAndDiff`, DSC expects the resource to emit two JSON Lines. The + first JSON Line should be an object representing the actual state of the resource after the + **Set** operation. The second JSON Line should be an array representing the names of the + resource properties that the operation changed on the system. + + [00]: /reference/schemas/resource/stdout/whatIf? + [01]: /reference/schemas/resource/manifest/whatif?#return + +oneOf: + - title: state output + description: >- + When a resource defines `whatIf.return` in its manifest as `state` or `stateAndDiff`, DSC + expects the resource to emit a JSON Line to stdout representing the predicted actual state of + the resource instance after the **Set** operation changes the system. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + When a command resource defines [whatIf.return][01] in its manifest as `state` or + `stateAndDiff`, DSC expects the resource to emit a JSON Line to stdout representing the + expected actual state of the resource instance after the **Set** operation changes the + system. + + The output must be a JSON object. The object must be a valid representation of an instance of + the resource. + + Command resources define their instance schema with the [schema.command][02] or + [schema.embedded][03] fields in their resource manifest. If a command resource returns JSON + that is invalid against the resource instance schema, DSC raises an error. + + Adapted resource instances are validated by their adapter when the adapter invokes them. + + [00]: /reference/schemas/resource/stdout/whatIf?#state-output + [01]: /reference/schemas/resource/manifest/whatif?#return + [02]: /reference/schemas/resource/manifest/schema/command? + [03]: /reference/schemas/resource/manifest/schema/embedded? + type: object + - title: diff output + description: >- + When a command resource defines `whatIf.return` in its manifest as `stateAndDiff`, DSC expects + the resource to emit a second JSON Line to stdout representing the names of the resource + properties that the operation changed on the system. + markdownDescription: |- + *** + [_Online Documentation_][00] + *** + + When a command resource defines [whatIf.return][01] in its manifest as `stateAndDiff`, DSC + expects the resource to emit a second JSON Line to stdout representing the names of the + resource properties that the operation changed on the system. + + This output must be emitted after the JSON Line representing the state of the resource + instance after the operation changes the system. + + The output must be a JSON array. The array may be empty, or it may contain one or more + strings. Each string in the array must be the name of one of the resource's properties. Each + string in the array must be unique. + + [00]: /reference/schemas/resource/stdout/whatIf?#diff-output + [01]: /reference/schemas/resource/manifest/whatif?#return + type: array + uniqueItems: true + items: + type: string \ No newline at end of file From 279e8f949995acd49e9d8531f64e6f25b411cb00 Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Tue, 1 Apr 2025 17:01:40 -0500 Subject: [PATCH 07/13] (SCHEMA) Update command doc keywords to point to new stdout schemas This change updates the documentation keywords for the various resource commands to point to the newly defined stdout JSON Schemas. This change was kept separate from the implementation of those schemas to simplify review. --- schemas/src/resource/manifest.adapter.yaml | 8 ++++++-- schemas/src/resource/manifest.delete.yaml | 18 ++++++++++-------- schemas/src/resource/manifest.export.yaml | 8 ++++++-- schemas/src/resource/manifest.get.yaml | 8 ++++++-- schemas/src/resource/manifest.resolve.yaml | 8 ++++++-- schemas/src/resource/manifest.schema.yaml | 8 ++++++-- schemas/src/resource/manifest.set.yaml | 8 ++++++-- schemas/src/resource/manifest.test.yaml | 8 ++++++-- schemas/src/resource/manifest.validate.yaml | 8 ++++++-- schemas/src/resource/manifest.whatIf.yaml | 18 +++++++++++------- 10 files changed, 69 insertions(+), 31 deletions(-) diff --git a/schemas/src/resource/manifest.adapter.yaml b/schemas/src/resource/manifest.adapter.yaml index 55cb096ba..4fab1d514 100644 --- a/schemas/src/resource/manifest.adapter.yaml +++ b/schemas/src/resource/manifest.adapter.yaml @@ -27,12 +27,16 @@ properties: Defines how DSC must call the DSC resource adapter to list its supported DSC resources. markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource adapter to list its supported DSC resources. - [01]: /reference/schemas/resource/manifest/adapter?#list + For more information about the output DSC expects from the resource for this command, + see [List resource operation stdout][01]. + + [00]: /reference/schemas/resource/manifest/adapter?#list + [01]: /reference/schemas/resource/stdout/list? type: object required: - executable diff --git a/schemas/src/resource/manifest.delete.yaml b/schemas/src/resource/manifest.delete.yaml index c15ecc952..749d85bc0 100644 --- a/schemas/src/resource/manifest.delete.yaml +++ b/schemas/src/resource/manifest.delete.yaml @@ -12,17 +12,19 @@ description: >- markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to delete an instance. Define this method for - resources as an alternative to handling the [`_exist`][02] property in a `set` operation, which + resources as an alternative to handling the [`_exist`][01] property in a `set` operation, which can lead to highly complex code. If the `set` method for the resource is able to handle deleting - an instance when `_exist` is `false`, set the [`handlesExist`][03] property of the set method + an instance when `_exist` is `false`, set the [`handlesExist`][02] property of the set method definition to `true` instead. If you define the delete method in a resource manifest, ensure that you also define the - [`_exist`][02] property in the [JSON schema for the resource's properties][04]. + [`_exist`][01] property in the [JSON schema for the resource's properties][03]. + + DSC doesn't expect this command to return any output to stdout. DSC sends data to the command in three ways: @@ -39,10 +41,10 @@ markdownDescription: | # VS Code only You must define the `input` property, one JSON input argument in the `args` property array, or both. - [01]: /reference/schemas/resource/manifest/delete? - [02]: /reference/schemas/resource/properties/exist? - [03]: /reference/schemas/resource/manifest/set?#handlesExist - [04]: /reference/schemas/resource/manifest/schema/property? + [00]: /reference/schemas/resource/manifest/delete? + [01]: /reference/schemas/resource/properties/exist? + [02]: /reference/schemas/resource/manifest/set?#handlesExist + [03]: /reference/schemas/resource/manifest/schema/property? type: object required: diff --git a/schemas/src/resource/manifest.export.yaml b/schemas/src/resource/manifest.export.yaml index 903b0291b..d33a1b048 100644 --- a/schemas/src/resource/manifest.export.yaml +++ b/schemas/src/resource/manifest.export.yaml @@ -7,11 +7,14 @@ description: >- Defines how DSC must call the DSC resource to get the current state of every instance. markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to get the current state of every instance. + For more information about the output DSC expects the resource to emit for this command, see + [Export resource operation stdout][01]. + DSC sends data to the command in three ways: 1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed @@ -27,7 +30,8 @@ markdownDescription: | # VS Code only You must define the `input` property, one JSON input argument in the `args` property array, or both. - [01]: /reference/schemas/resource/manifest/export? + [00]: /reference/schemas/resource/manifest/export? + [01]: /reference/schemas/resource/stdout/export? type: object required: diff --git a/schemas/src/resource/manifest.get.yaml b/schemas/src/resource/manifest.get.yaml index 9e972f89e..5bf8d9000 100644 --- a/schemas/src/resource/manifest.get.yaml +++ b/schemas/src/resource/manifest.get.yaml @@ -7,10 +7,13 @@ description: >- Defines how DSC must call the DSC resource to get the current state of an instance. markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to get the current state of an instance. + + For more information about the output DSC expects the resource to emit for this command, see + [Get resource operation stdout][01]. DSC sends data to the command in three ways: @@ -27,7 +30,8 @@ markdownDescription: | # VS Code only You must define the `input` property, one JSON input argument in the `args` property array, or both. - [01]: /reference/schemas/resource/manifest/get? + [00]: /reference/schemas/resource/manifest/get? + [00]: /reference/schemas/resource/stdout/get? type: object required: diff --git a/schemas/src/resource/manifest.resolve.yaml b/schemas/src/resource/manifest.resolve.yaml index 84e0c5a00..6f3be496d 100644 --- a/schemas/src/resource/manifest.resolve.yaml +++ b/schemas/src/resource/manifest.resolve.yaml @@ -10,13 +10,16 @@ description: >- markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to resolve an external source to nested DSC configuration document. Define this method for [importer resources][02] and set the [kind][03] property in the manifest root to `importer`. + For more information about the output DSC expects the resource to emit for this command, see + [Resolve resource operation stdout][01]. + DSC sends data to the command in three ways: 1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed @@ -32,7 +35,8 @@ markdownDescription: | # VS Code only You must define the `input` property, one JSON input argument in the `args` property array, or both. - [01]: /reference/schemas/resource/manifest/resolve? + [00]: /reference/schemas/resource/manifest/resolve? + [01]: /reference/schemas/resource/stdout/resolve? [02]: /reference/schemas/definitions/resourceKind?#importer-resources [03]: /reference/schemas/resource/manifest/root?#kind diff --git a/schemas/src/resource/manifest.schema.yaml b/schemas/src/resource/manifest.schema.yaml index a78b70201..65e7bbb08 100644 --- a/schemas/src/resource/manifest.schema.yaml +++ b/schemas/src/resource/manifest.schema.yaml @@ -74,13 +74,17 @@ properties: # VS Code only markdownDescription: | *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource. - [01]: /reference/schemas/resource/manifest/schema/property?#command + For more information about the output DSC expects the resource to emit for this command, see + [Schema resource command stdout][01]. + + [00]: /reference/schemas/resource/manifest/schema/property?#command + [01]: /reference/schemas/resource/stdout/schema? defaultSnippets: - label: ' Define without arguments' markdownDescription: | diff --git a/schemas/src/resource/manifest.set.yaml b/schemas/src/resource/manifest.set.yaml index 77cbf15c6..1c022a725 100644 --- a/schemas/src/resource/manifest.set.yaml +++ b/schemas/src/resource/manifest.set.yaml @@ -8,12 +8,15 @@ description: >- process the output from the DSC resource. markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource. + For more information about the output DSC expects the resource to emit for this command, see + [Set resource operation stdout][01]. + DSC sends data to the command in three ways: 1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed @@ -29,7 +32,8 @@ markdownDescription: | # VS Code only You must define the `input` property, one JSON input argument in the `args` property array, or both. - [01]: /reference/schemas/resource/manifest/set? + [00]: /reference/schemas/resource/manifest/set? + [01]: /reference/schemas/resource/stdout/set? type: object required: diff --git a/schemas/src/resource/manifest.test.yaml b/schemas/src/resource/manifest.test.yaml index f6e647579..ab780081a 100644 --- a/schemas/src/resource/manifest.test.yaml +++ b/schemas/src/resource/manifest.test.yaml @@ -8,12 +8,15 @@ description: >- to process the output from the DSC resource. markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource. + For more information about the output DSC expects the resource to emit for this command, see + [Test resource operation stdout][01]. + DSC sends data to the command in three ways: 1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed @@ -29,7 +32,8 @@ markdownDescription: | # VS Code only You must define the `input` property, one JSON input argument in the `args` property array, or both. - [01]: /reference/schemas/resource/manifest/test? + [00]: /reference/schemas/resource/manifest/test? + [01]: /reference/schemas/resource/stdout/test? type: object diff --git a/schemas/src/resource/manifest.validate.yaml b/schemas/src/resource/manifest.validate.yaml index 2aec765c2..76a929c30 100644 --- a/schemas/src/resource/manifest.validate.yaml +++ b/schemas/src/resource/manifest.validate.yaml @@ -9,12 +9,15 @@ description: >- markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources. + For more information about the output DSC expects the resource to emit for this command, see + [Validate resource operation stdout][01]. + DSC sends data to the command in three ways: 1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed @@ -30,7 +33,8 @@ markdownDescription: | # VS Code only You must define the `input` property, one JSON input argument in the `args` property array, or both. - [01]: /reference/schemas/resource/manifest/validate? + [00]: /reference/schemas/resource/manifest/validate? + [01]: /reference/schemas/resource/stdout/validate? type: object required: diff --git a/schemas/src/resource/manifest.whatIf.yaml b/schemas/src/resource/manifest.whatIf.yaml index 59a0bab2c..fc6f450e0 100644 --- a/schemas/src/resource/manifest.whatIf.yaml +++ b/schemas/src/resource/manifest.whatIf.yaml @@ -8,15 +8,18 @@ description: >- modify an instance and how to process the output from the DSC resource. markdownDescription: | # VS Code only *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource. If a resource doesn't - define this method in the manifest, DSC synthesizes this behavior by converting the result of - the test operation for the resource into the [set result][02]. + define this command in the manifest, DSC synthesizes this behavior by converting the result of + the test operation for the resource into the [set result][01]. - This method definition has the same structure as the [set method][03] in the resource manifest. + This command definition has the same structure as the [set command][02] in the resource manifest. + + For more information about the output DSC expects the resource to emit for this command, see + [What-if resource operation stdout][03]. DSC sends data to the command in three ways: @@ -33,9 +36,10 @@ markdownDescription: | # VS Code only You must define the `input` property, one JSON input argument in the `args` property array, or both. - [01]: /reference/schemas/resource/manifest/whatif? - [02]: /reference/schemas/outputs/resource/set? - [03]: /reference/schemas/resource/manifest/set? + [00]: /reference/schemas/resource/manifest/whatif? + [01]: /reference/schemas/outputs/resource/set? + [02]: /reference/schemas/resource/manifest/set? + [03]: /reference/schemas/resource/stdout/whatif? type: object required: From ebadf89961df0d18d18de8580872ff13ef8d594b Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Wed, 2 Apr 2025 09:55:10 -0500 Subject: [PATCH 08/13] (SCHEMA) FIx URIs for `$schema` in config document and resource manifest Prior to this change, the schemas erroneously included URIs for the preview schemas and didn't include URIs for the various version folders or `aka.ms` short link options. This change corrects the enumeration values and accompanying documentation keywords. --- schemas/src/config/document.yaml | 322 ++++++++++++++++++++++------ schemas/src/resource/manifest.yaml | 329 +++++++++++++++++++++++------ 2 files changed, 512 insertions(+), 139 deletions(-) diff --git a/schemas/src/config/document.yaml b/schemas/src/config/document.yaml index acdd140c3..c8d6e44e0 100644 --- a/schemas/src/config/document.yaml +++ b/schemas/src/config/document.yaml @@ -26,28 +26,45 @@ properties: $schema: title: Schema description: >- - This property must be the canonical URL of the DSC configuration document schema that the - document is implemented for. + Indicates the URI that resolves to the version of this schema that the document adheres to. + DSC uses this property when validating and processing the configuration document. type: string format: uri enum: - - ///config/document.yaml - - ///bundled/config/document.yaml - - ///bundled/config/document.vscode.yaml - - //2023/10/config/document.yaml - - //2023/10/bundled/config/document.yaml - - //2023/10/bundled/config/document.vscode.yaml - - //2023/08/config/document.yaml - - //2023/08/bundled/config/document.yaml - - //2023/08/bundled/config/document.vscode.yaml + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json + - https://aka.ms/dsc/schemas/v3/config/document.json + - https://aka.ms/dsc/schemas/v3/bundled/config/document.json + - https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json + - https://aka.ms/dsc/schemas/v3.0/config/document.json + - https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json + - https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json + - https://aka.ms/dsc/schemas/v3.0.0/config/document.json + - https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json + - https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json # VS Code only: markdownDescription: | *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** - This property must be the canonical URL of the DSC configuration document schema that the - document is implemented for. + The `$schema` property indicates the URI that resolves to the version of this schema that the + document adheres to. DSC uses this property when validating and processing the configuration + document. + + The JSON schemas for DSC are published in multiple versions and forms. This documentation is + for the latest version of the schema. As a convenience, you can specify either the full URI + for the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema + for a specific semantic version, the latest schema for a minor version, or the latest schema + for a major version of DSC. For more information about schema URIs and versioning, see + [DSC JSON Schema URIs][01]. For every version of the schema, there are three valid urls: @@ -81,34 +98,43 @@ properties: > validate the document when it uses this schema, other tools may error or behave in > unexpected ways. - [01]: /reference/schemas/config/document?#schema + [00]: /reference/schemas/config/document?#schema + [01]: /reference/schemas/schema-uris? markdownEnumDescriptions: - - | # ///config/document.yaml + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json - > #### `` non-bundled + > #### `v3` non-bundled > - > Indicates that the configuration document adheres to the `` schema. This URL + > Indicates that the configuration document adheres to the `v3` schema. This URL > points to the canonical non-bundled schema. When it's used for validation, the > validating client needs to retrieve this schema and every schema it references. - - | # ///bundled/config/document.yaml + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json - > #### `` bundled + > #### `v3` bundled > - > Indicates that the configuration document adheres to the `` schema. This URL + > Indicates that the configuration document adheres to the `v3` schema. This URL > points to the bundled schema. When it's used for validation, the validating client > only needs to retrieve this schema. > > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can > still validate the document when it uses this schema, other tools may error or behave > in unexpected ways. - - | # ///bundled/config/document.vscode.yaml + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json - > #### `` enhanced authoring + > #### `v3` enhanced authoring > - > Indicates that the configuration document adheres to the `` schema. This URL + > Indicates that the configuration document adheres to the `v3` schema. This URL > points to the enhanced authoring schema. This schema is much larger than the other > schemas, as it includes additional definitions that provide contextual help and > snippets that the others don't include. @@ -116,95 +142,253 @@ properties: > This schema uses keywords that are only recognized by VS Code. While DSC can still > validate the document when it uses this schema, other tools may error or behave in > unexpected ways. - - | # //2023/10/config/document.yaml + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.yaml - > #### `2023/10` non-bundled - > - > Indicates that the configuration document adheres to the `2023/10` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.5` and earlier. - > Migrate to using the `` of the schema + > #### `v3.0` non-bundled, canonical URI > - > This URL points to the canonical non-bundled schema. When it's used for validation, the + > Indicates that the configuration document adheres to the `v3.0` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the > validating client needs to retrieve this schema and every schema it references. + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.yaml + - - | # //2023/10/bundled/config/document.yaml + > #### `v3.0` bundled, canonical URI + > + > Indicates that the configuration document adheres to the `v3.0` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. + > + > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can + > still validate the document when it uses this schema, other tools may error or behave + > in unexpected ways. + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.yaml + + + > #### `v3.0` enhanced authoring, canonical URI + > + > Indicates that the configuration document adheres to the `v3.0` schema. This URL points + > to the enhanced authoring schema. This schema is much larger than the other schemas, as + > it includes additional definitions that provide contextual help and snippets that the + > others don't include. + > + > This schema uses keywords that are only recognized by VS Code. While DSC can still + > validate the document when it uses this schema, other tools may error or behave in + > unexpected ways. + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.yaml - > #### `2023/10` bundled + > #### `v3.0.0` non-bundled, canonical URI + > + > Indicates that the configuration document adheres to the `v3.0.0` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the + > validating client needs to retrieve this schema and every schema it references. > - > Indicates that the configuration document adheres to the `2023/10` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.5` and earlier. - > Migrate to using the `` of the schema + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.yaml + + + > #### `v3.0.0` bundled, canonical URI > - > This URL points to the bundled schema. When it's used for validation, the validating - > client only needs to retrieve this schema. + > Indicates that the configuration document adheres to the `v3.0.0` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. > > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can > still validate the document when it uses this schema, other tools may error or behave > in unexpected ways. - - | # //2023/10/bundled/config/document.vscode.yaml + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.yaml - > #### `2023/10` enhanced authoring - > - > Indicates that the configuration document adheres to the `2023/10` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.5` and earlier. - > Migrate to using the `` of the schema + > #### `v3.0.0` enhanced authoring, canonical URI > - > This URL points to the enhanced authoring schema. This schema is much larger than the - > other schemas, as it includes additional definitions that provide contextual help and + > Indicates that the configuration document adheres to the `v3.0.0` schema. This URL + > points to the enhanced authoring schema. This schema is much larger than the other + > schemas, as it includes additional definitions that provide contextual help and > snippets that the others don't include. > > This schema uses keywords that are only recognized by VS Code. While DSC can still > validate the document when it uses this schema, other tools may error or behave in > unexpected ways. + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://aka.ms/dsc/schemas/v3/config/document.yaml + -# Old Schema - - | # //2023/08/config/document.yaml + > #### `v3` non-bundled, short URI + > + > Indicates that the configuration document adheres to the `v3` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the + > validating client needs to retrieve this schema and every schema it references. + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://aka.ms/dsc/schemas/v3/bundled/config/document.yaml - > #### `2023/08` non-bundled + > #### `v3` bundled, short URI > - > Indicates that the configuration document adheres to the `2023/08` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.3` and earlier. - > Migrate to using the `` of the schema + > Indicates that the configuration document adheres to the `v3` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. > - > This URL points to the canonical non-bundled schema. When it's used for validation, the - > validating client needs to retrieve this schema and every schema it references. + > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can + > still validate the document when it uses this schema, other tools may error or behave + > in unexpected ways. + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.yaml + - - | # //2023/08/bundled/config/document.yaml + > #### `v3` enhanced authoring, short URI + > + > Indicates that the configuration document adheres to the `v3` schema. This URL points + > to the enhanced authoring schema. This schema is much larger than the other schemas, as + > it includes additional definitions that provide contextual help and snippets that the + > others don't include. + > + > This schema uses keywords that are only recognized by VS Code. While DSC can still + > validate the document when it uses this schema, other tools may error or behave in + > unexpected ways. + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://aka.ms/dsc/schemas/v3.0/config/document.yaml - > #### `2023/08` bundled + > #### `v3.0` non-bundled, short URI > - > Indicates that the configuration document adheres to the `2023/08` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.3` and earlier. - > Migrate to using the `` of the schema + > Indicates that the configuration document adheres to the `v3.0` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the + > validating client needs to retrieve this schema and every schema it references. > - > This URL points to the bundled schema. When it's used for validation, the validating - > client only needs to retrieve this schema. + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://aka.ms/dsc/schemas/v3.0/bundled/config/document.yaml + + + > #### `v3.0` bundled, short URI + > + > Indicates that the configuration document adheres to the `v3.0` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. > > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can > still validate the document when it uses this schema, other tools may error or behave > in unexpected ways. - - | # //2023/08/bundled/config/document.vscode.yaml + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.yaml - > #### `2023/08` enhanced authoring + > #### `v3.0` enhanced authoring, short URI > - > Indicates that the configuration document adheres to the `2023/08` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.3` and earlier. - > Migrate to using the `` of the schema + > Indicates that the configuration document adheres to the `v3.0` schema. This URL points + > to the enhanced authoring schema. This schema is much larger than the other schemas, as + > it includes additional definitions that provide contextual help and snippets that the + > others don't include. > - > This URL points to the enhanced authoring schema. This schema is much larger than the - > other schemas, as it includes additional definitions that provide contextual help and + > This schema uses keywords that are only recognized by VS Code. While DSC can still + > validate the document when it uses this schema, other tools may error or behave in + > unexpected ways. + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://aka.ms/dsc/schemas/v3.0.0/config/document.yaml + + + > #### `v3.0.0` non-bundled, short URI + > + > Indicates that the configuration document adheres to the `v3.0.0` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the + > validating client needs to retrieve this schema and every schema it references. + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.yaml + + + > #### `v3.0.0` bundled, short URI + > + > Indicates that the configuration document adheres to the `v3.0.0` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. + > + > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can + > still validate the document when it uses this schema, other tools may error or behave + > in unexpected ways. + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.yaml + + + > #### `v3.0.0` enhanced authoring, short URI + > + > Indicates that the configuration document adheres to the `v3.0.0` schema. This URL + > points to the enhanced authoring schema. This schema is much larger than the other + > schemas, as it includes additional definitions that provide contextual help and > snippets that the others don't include. > > This schema uses keywords that are only recognized by VS Code. While DSC can still > validate the document when it uses this schema, other tools may error or behave in > unexpected ways. - + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. parameters: title: DSC configuration document parameters description: >- diff --git a/schemas/src/resource/manifest.yaml b/schemas/src/resource/manifest.yaml index bf4c6a882..020e1293f 100644 --- a/schemas/src/resource/manifest.yaml +++ b/schemas/src/resource/manifest.yaml @@ -201,23 +201,40 @@ properties: type: string format: uri enum: - - ///resource/manifest.yaml - - ///bundled/resource/manifest.yaml - - ///bundled/resource/manifest.vscode.yaml - - //2023/10/resource/manifest.yaml - - //2023/10/bundled/resource/manifest.yaml - - //2023/10/bundled/resource/manifest.vscode.yaml - - //2023/08/resource/manifest.yaml - - //2023/08/bundled/resource/manifest.yaml - - //2023/08/bundled/resource/manifest.vscode.yaml + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json + - https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json + - https://aka.ms/dsc/schemas/v3/resource/manifest.json + - https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json + - https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json + - https://aka.ms/dsc/schemas/v3.0/resource/manifest.json + - https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json + - https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json + - https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json + - https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json + - https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json # VS Code Only markdownDescription: | *** - [_Online Documentation_][01] + [_Online Documentation_][00] *** - This property must be one of the canonical URLs for the version of the DSC resource manifest - schema that the manifest is implemented for. + The `$schema` property indicates the canonical URI of this schema that the manifest validates + against. This property is mandatory. DSC uses this value to validate the manifest against the + correct JSON schema. + + The JSON schemas for DSC are published in multiple versions and forms. This documentation is + for the latest version of the schema. As a convenience, you can specify either the full URI + for the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema + for a specific semantic version, the latest schema for a minor version, or the latest schema + for a major version of DSC. For more information about schema URIs and versioning, see + [DSC JSON Schema URIs][01]. For every version of the schema, there are three valid urls: @@ -251,128 +268,300 @@ properties: > validate the document when it uses this schema, other tools may error or behave in > unexpected ways. - [01]: /reference/schemas/resource/manifest/root?#schema + [00]: /reference/schemas/resource/manifest/root?#schema + [01]: /reference/schemas/schema-uris? markdownEnumDescriptions: - - | # ///resource/manifest.yaml + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.yaml - > #### `` non-bundled + > #### `v3` non-bundled, canonical URI > - > Indicates that the resource manifest adheres to the `` schema. This URL + > Indicates that the resource manifest adheres to the `v3` schema. This URL > points to the canonical non-bundled schema. When it's used for validation, the > validating client needs to retrieve this schema and every schema it references. - - | # ///bundled/resource/manifest.yaml + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.yaml - > #### `` bundled + > #### `v3` bundled, canonical URI > - > Indicates that the resource manifest adheres to the `` schema. This URL + > Indicates that the resource manifest adheres to the `v3` schema. This URL > points to the bundled schema. When it's used for validation, the validating client > only needs to retrieve this schema. > > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can > still validate the document when it uses this schema, other tools may error or behave > in unexpected ways. - - | # ///bundled/resource/manifest.vscode.yaml + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.yaml - > #### `` enhanced authoring + > #### `v3` enhanced authoring, canonical URI > - > Indicates that the resource manifest adheres to the `` schema. This URL - > points to the enhanced authoring schema. This schema is much larger than the other - > schemas, as it includes additional definitions that provide contextual help and - > snippets that the others don't include. + > Indicates that the resource manifest adheres to the `v3` schema. This URL points to the + > enhanced authoring schema. This schema is much larger than the other schemas, as it + > includes additional definitions that provide contextual help and snippets that the + > others don't include. > > This schema uses keywords that are only recognized by VS Code. While DSC can still > validate the document when it uses this schema, other tools may error or behave in > unexpected ways. + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.yaml + - - | # //2023/10/resource/manifest.yaml + > #### `v3.0` non-bundled, canonical URI + > + > Indicates that the resource manifest adheres to the `v3.0` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the + > validating client needs to retrieve this schema and every schema it references. + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.yaml - > #### `2023/10` non-bundled + > #### `v3.0` bundled, canonical URI + > + > Indicates that the resource manifest adheres to the `v3.0` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. > - > Indicates that the resource manifest adheres to the `2023/10` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.5` and earlier. - > Migrate to using the `` of the schema + > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can + > still validate the document when it uses this schema, other tools may error or behave + > in unexpected ways. > - > This URL points to the canonical non-bundled schema. When it's used for validation, the - > validating client needs to retrieve this schema and every schema it references. + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.yaml + - - | # //2023/10/bundled/resource/manifest.yaml + > #### `v3.0` enhanced authoring, canonical URI + > + > Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to + > the enhanced authoring schema. This schema is much larger than the other schemas, as it + > includes additional definitions that provide contextual help and snippets that the + > others don't include. + > + > This schema uses keywords that are only recognized by VS Code. While DSC can still + > validate the document when it uses this schema, other tools may error or behave in + > unexpected ways. + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.yaml - > #### `2023/10` bundled + > #### `v3.0.0` non-bundled, canonical URI > - >Indicates that the resource manifest adheres to the `2023/10` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.5` and earlier. - > Migrate to using the `` of the schema. + > Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the + > validating client needs to retrieve this schema and every schema it references. > - > This URL points to the bundled schema. When it's used for validation, the validating - > client only needs to retrieve this schema. + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.yaml + + + > #### `v3.0.0` bundled, canonical URI + > + > Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. > > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can > still validate the document when it uses this schema, other tools may error or behave > in unexpected ways. - - | # //2023/10/bundled/resource/manifest.vscode.yaml + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.yaml - > #### `2023/10` enhanced authoring - > - >Indicates that the resource manifest adheres to the `2023/10` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.5` and earlier. - > Migrate to using the `` of the schema. + > #### `v3.0.0` enhanced authoring, canonical URI > - > This URL points to the enhanced authoring schema. This schema is much larger than the - > other schemas, as it includes additional definitions that provide contextual help and - > snippets that the others don't include. + + > Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to + > the enhanced authoring schema. This schema is much larger than the other schemas, as it + > includes additional definitions that provide contextual help and snippets that the + > others don't include. > > This schema uses keywords that are only recognized by VS Code. While DSC can still > validate the document when it uses this schema, other tools may error or behave in > unexpected ways. - - | # //2023/08/resource/manifest.yaml + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + + + - | # https://aka.ms/dsc/schemas/v3/resource/manifest.yaml - > #### `2023/08` non-bundled + > #### `v3` non-bundled, short URI > - > Indicates that the resource manifest adheres to the `2023/08` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.3` and earlier. - > Migrate to using the `` of the schema - > - > This URL points to the canonical non-bundled schema. When it's used for validation, the + > Indicates that the resource manifest adheres to the `v3` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the > validating client needs to retrieve this schema and every schema it references. + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.yaml + + + > #### `v3` bundled, short URI + > + > Indicates that the resource manifest adheres to the `v3` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. + > + > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can + > still validate the document when it uses this schema, other tools may error or behave + > in unexpected ways. + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.yaml + - - | # //2023/08/bundled/resource/manifest.yaml + > #### `v3` enhanced authoring, short URI + > + > Indicates that the resource manifest adheres to the `v3` schema. This URL points to the + > enhanced authoring schema. This schema is much larger than the other schemas, as it + > includes additional definitions that provide contextual help and snippets that the + > others don't include. + > + > This schema uses keywords that are only recognized by VS Code. While DSC can still + > validate the document when it uses this schema, other tools may error or behave in + > unexpected ways. + > + > This URI is for the schemas in a major version folder. If you pin to a major version + > folder, like `v3`, the schemas you use will update with every nonbreaking release. You + > can use those schemas until you want or need to migrate to a new major version of DSC. + - | # https://aka.ms/dsc/schemas/v3.0/resource/manifest.yaml - > #### `2023/08` bundled + > #### `v3.0` non-bundled, short URI > - > Indicates that the resource manifest adheres to the `2023/08` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.3` and earlier. - > Migrate to using the `` of the schema + > Indicates that the resource manifest adheres to the `v3.0` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the + > validating client needs to retrieve this schema and every schema it references. > - > This URL points to the bundled schema. When it's used for validation, the validating - > client only needs to retrieve this schema. + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.yaml + + + > #### `v3.0` bundled, short URI + > + > Indicates that the resource manifest adheres to the `v3.0` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. > > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can > still validate the document when it uses this schema, other tools may error or behave > in unexpected ways. - - | # //2023/08/bundled/resource/manifest.vscode.yaml + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.yaml + + + > #### `v3.0` enhanced authoring, short URI + > + > Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to + > the enhanced authoring schema. This schema is much larger than the other schemas, as it + > includes additional definitions that provide contextual help and snippets that the + > others don't include. + > + > This schema uses keywords that are only recognized by VS Code. While DSC can still + > validate the document when it uses this schema, other tools may error or behave in + > unexpected ways. + > + > This URI is for the schemas in a minor version folder. If you pin to a minor version + > folder, like `v3.0`, the schemas you use will update with every patch release. Pinning + > to a minor version folder enables you to take advantage of fixes to the schemas without + > continually updating your schema URIs. However, to take advantage of any improvements + > or new features, you need to update the URI whenever a new minor version is released. + - | # https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.yaml + + + > #### `v3.0.0` non-bundled, short URI + > + > Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL + > points to the canonical non-bundled schema. When it's used for validation, the + > validating client needs to retrieve this schema and every schema it references. + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.yaml - > #### `2023/08` enhanced authoring + > #### `v3.0.0` bundled, short URI > - > Indicates that the resource manifest adheres to the `2023/08` schema. This version - > is deprecated, and should only be used for compatibility with `alpha.3` and earlier. - > Migrate to using the `` of the schema + > Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL + > points to the bundled schema. When it's used for validation, the validating client + > only needs to retrieve this schema. > - > This URL points to the enhanced authoring schema. This schema is much larger than the - > other schemas, as it includes additional definitions that provide contextual help and - > snippets that the others don't include. + > This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can + > still validate the document when it uses this schema, other tools may error or behave + > in unexpected ways. + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. + - | # https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.yaml + + + > #### `v3.0.0` enhanced authoring, short URI + > + > Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to + > the enhanced authoring schema. This schema is much larger than the other schemas, as it + > includes additional definitions that provide contextual help and snippets that the + > others don't include. > > This schema uses keywords that are only recognized by VS Code. While DSC can still > validate the document when it uses this schema, other tools may error or behave in > unexpected ways. + > + > This URI is for the schemas in a full semantic version folder. If you pin to a full + > semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change. + > However, to take advantage of any improvements or fixes to the schemas, you need to + > update the URI with each release. type: $ref: ///definitions/resourceType.yaml version: From 72fbe6913714e51a9191b36b50d7df6229338b2f Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Fri, 9 May 2025 11:15:04 -0500 Subject: [PATCH 09/13] (SCHEMA) Fix ID for stdout schemas --- schemas/src/resource/stdout/delete.yaml | 2 +- schemas/src/resource/stdout/whatIf.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/src/resource/stdout/delete.yaml b/schemas/src/resource/stdout/delete.yaml index 8577904a5..158a8e901 100644 --- a/schemas/src/resource/stdout/delete.yaml +++ b/schemas/src/resource/stdout/delete.yaml @@ -1,6 +1,6 @@ # yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema $schema: https://json-schema.org/draft/2020-12/schema -$id: ///resource/stdout/get.yaml +$id: ///resource/stdout/delete.yaml title: Delete resource operation stdout description: >- diff --git a/schemas/src/resource/stdout/whatIf.yaml b/schemas/src/resource/stdout/whatIf.yaml index 1465f99d4..cf65b6f34 100644 --- a/schemas/src/resource/stdout/whatIf.yaml +++ b/schemas/src/resource/stdout/whatIf.yaml @@ -1,6 +1,6 @@ # yaml-language-server: $schema=https://json-schema.org/draft/2020-12/schema $schema: https://json-schema.org/draft/2020-12/schema -$id: ///resource/stdout/set.yaml +$id: ///resource/stdout/whatIf.yaml title: Set (what-if mode) resource operation stdout description: >- From be38da08b8b14bf0e5c42692df2f9a6595778117 Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Fri, 9 May 2025 12:09:23 -0500 Subject: [PATCH 10/13] (SCHEMA) Fix metadata for `dsc config` output Prior to this change, the output metadata erroneously required the `context` property, which is sent _to_ resources but not returned for configuration operations themselves. --- schemas/src/metadata/configurationDocumentResult.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/schemas/src/metadata/configurationDocumentResult.yaml b/schemas/src/metadata/configurationDocumentResult.yaml index d4de48df1..c21b31bbb 100644 --- a/schemas/src/metadata/configurationDocumentResult.yaml +++ b/schemas/src/metadata/configurationDocumentResult.yaml @@ -30,7 +30,6 @@ properties: - endDatetime - duration - securityContext - - context properties: version: $ref: ///metadata/Microsoft.DSC/version.yaml @@ -46,5 +45,3 @@ properties: $ref: ///metadata/Microsoft.DSC/duration.yaml securityContext: $ref: ///metadata/Microsoft.DSC/securityContext.yaml - context: - $ref: ///metadata/Microsoft.DSC/context.yaml From 86f0f748685b1307bed6f62f29aa485524e7b697 Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Mon, 12 May 2025 11:22:15 -0500 Subject: [PATCH 11/13] (SCHEMA) Fix schema bundling for self-reference Prior to this change, the bundling function for schemas would sometimes include a self-reference in the definitions, which is invalid per the JSON Schema specification. This change ensures self-references are skipped instead of inserted. --- schemas/build.ps1 | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/schemas/build.ps1 b/schemas/build.ps1 index 66a55f6cb..a6e718551 100644 --- a/schemas/build.ps1 +++ b/schemas/build.ps1 @@ -4,7 +4,7 @@ using namespace System.Collections <# .SYNOPSIS Build the DSC schema files from the source YAML files. - + .DESCRIPTION This build script composes the JSON Schema files from the source YAML files, creating new files in the specified output directory. It creates a schema registry to analyze the source @@ -15,11 +15,11 @@ using namespace System.Collections param( [string] $OutputDirectory = "$PSScriptRoot", - + [Parameter(ParameterSetName='ByPath')] [string[]] $ConfigFilePath, - + [string[]] [ValidateSet('Json', 'JsonVSCode', 'Yaml', 'YamlVSCode')] $OutputFormat = @( @@ -40,7 +40,7 @@ begin { [Specialized.OrderedDictionary] $Map - + [Generic.List[Specialized.OrderedDictionary]] $List @@ -102,7 +102,7 @@ begin { # Need to ensure single-item returns get correctly handled as arays, # not munged into scalars. if ( - ($MungedKeyValue.Count -eq 1) -or + ($MungedKeyValue.Count -eq 1) -or ($MungedKeyValue -is [Specialized.OrderedDictionary]) ) { $MungedSchema.Add($_.Key, [object[]]$MungedKeyValue) @@ -308,18 +308,18 @@ begin { [Parameter(ParameterSetName='FromPath', Mandatory)] [string] $Path, - + [Parameter(ParameterSetName='FromSchema', Mandatory)] [Specialized.OrderedDictionary] $Schema, - + [Parameter(ParameterSetName='FromPreset', Mandatory)] [ValidateSet('ConfigDocument', 'ResourceManifest')] [string] $Preset, [LocalJsonSchemaRegistry] $SchemaRegistry, - + [switch]$ForVSCode, [switch]$WithoutComments, [switch]$WithoutExamples @@ -379,9 +379,14 @@ begin { continue } + if ($ID -match "$Reference`$") { + Write-Verbose "$ID`n`tSkipping adding self ($Reference) to `$defs" + continue + } + $ReferenceSegments = $Reference.Trim('/') -split '/' $Working = $MergedSchema.'$defs' - + for ($i = 0; $i -lt $ReferenceSegments.Count; $i++) { $Segment = $ReferenceSegments[$i] @@ -390,7 +395,7 @@ begin { $Working = $Working.$Segment continue } - + # Add an empty dictionary for non-final segments if ($i -ne ($ReferenceSegments.Count - 1)) { $Working.Add($Segment, [Specialized.OrderedDictionary]::new()) @@ -446,6 +451,11 @@ begin { continue } + if ($ID -match "$Reference`$") { + Write-Verbose "$ID`n`tSkipping adding self ($Reference) to `$defs" + continue + } + if ($Reference -notin $Schema.'$defs'.Keys) { Write-Verbose "$ID`n`tAdding reference to `$defs: '$Reference'" $MergedSchema.'$defs'.Add($ReferenceSchema.'$id', $ReferenceSchema) @@ -524,7 +534,7 @@ begin { [string] $OutputDirectory = $PWD, - + [string[]] [ValidateSet('Json', 'JsonVSCode', 'Yaml', 'YamlVSCode')] $OutputFormat = @( @@ -567,7 +577,7 @@ begin { Path = $ConfigFilePath SchemaRegistry = $SchemaRegistry } - + if ($MergeForNormal) { $Bundled = Merge-JsonSchema @SharedMergeParams | Set-BundledSchemaID -BundledName $Name @@ -716,7 +726,7 @@ process { foreach ($VSCodeKeyword in $VSCodeKeywords) { $SchemaData = Remove-JsonSchemaKey -Schema $SchemaData -KeyName $VSCodeKeyword } - + $SchemaData | ConvertTo-Json -Depth 99 | ForEach-Object { $_ -replace '\r\n', "`n" } From 68b05755bb4bd7d0c8fa11eeca6a2ce2fc146f1d Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Mon, 12 May 2025 12:03:25 -0500 Subject: [PATCH 12/13] (SCHEMA) Regenerate schemas --- schemas/v3.0.0/bundled/config/document.json | 53 ++-- .../bundled/config/document.vscode.json | 104 +++--- .../v3.0.0/bundled/outputs/config/get.json | 43 +-- .../bundled/outputs/config/get.vscode.json | 48 +-- .../v3.0.0/bundled/outputs/config/set.json | 47 +-- .../bundled/outputs/config/set.vscode.json | 52 ++- .../v3.0.0/bundled/outputs/config/test.json | 47 +-- .../bundled/outputs/config/test.vscode.json | 52 ++- .../v3.0.0/bundled/outputs/resource/get.json | 29 +- .../bundled/outputs/resource/get.vscode.json | 33 +- .../v3.0.0/bundled/outputs/resource/list.json | 187 ++++++----- .../bundled/outputs/resource/list.vscode.json | 295 ++++++++++-------- .../bundled/outputs/resource/schema.json | 4 +- .../outputs/resource/schema.vscode.json | 4 +- .../v3.0.0/bundled/outputs/resource/set.json | 33 +- .../bundled/outputs/resource/set.vscode.json | 37 +-- .../v3.0.0/bundled/outputs/resource/test.json | 33 +- .../bundled/outputs/resource/test.vscode.json | 37 +-- schemas/v3.0.0/bundled/outputs/schema.json | 4 +- .../v3.0.0/bundled/outputs/schema.vscode.json | 4 +- schemas/v3.0.0/bundled/resource/manifest.json | 124 ++++---- .../bundled/resource/manifest.vscode.json | 221 +++++++------ schemas/v3.0.0/config/document.json | 35 ++- schemas/v3.0.0/config/document.parameter.json | 2 +- schemas/v3.0.0/config/document.resource.json | 8 +- schemas/v3.0.0/definitions/hadErrors.json | 2 +- schemas/v3.0.0/definitions/instanceName.json | 2 +- schemas/v3.0.0/definitions/message.json | 6 +- schemas/v3.0.0/definitions/messages.json | 2 +- .../parameters/validValueTypes.json | 2 +- .../definitions/resourceCapabilities.json | 20 ++ schemas/v3.0.0/definitions/resourceKind.json | 10 +- schemas/v3.0.0/definitions/resourceType.json | 4 +- schemas/v3.0.0/definitions/returnKind.json | 1 - .../metadata/configurationDocumentResult.json | 6 +- schemas/v3.0.0/outputs/config/get.json | 4 +- schemas/v3.0.0/outputs/config/set.json | 4 +- schemas/v3.0.0/outputs/config/test.json | 4 +- schemas/v3.0.0/outputs/resource/get.json | 2 +- .../v3.0.0/outputs/resource/get.simple.json | 4 +- schemas/v3.0.0/outputs/resource/list.json | 43 +-- schemas/v3.0.0/outputs/resource/schema.json | 4 +- schemas/v3.0.0/outputs/resource/set.json | 2 +- .../v3.0.0/outputs/resource/set.simple.json | 8 +- schemas/v3.0.0/outputs/resource/test.json | 2 +- .../v3.0.0/outputs/resource/test.simple.json | 8 +- schemas/v3.0.0/outputs/schema.json | 4 +- schemas/v3.0.0/resource/manifest.adapter.json | 6 +- schemas/v3.0.0/resource/manifest.delete.json | 2 +- schemas/v3.0.0/resource/manifest.export.json | 2 +- schemas/v3.0.0/resource/manifest.get.json | 2 +- schemas/v3.0.0/resource/manifest.json | 33 +- schemas/v3.0.0/resource/manifest.resolve.json | 2 +- schemas/v3.0.0/resource/manifest.schema.json | 22 +- schemas/v3.0.0/resource/manifest.set.json | 12 +- schemas/v3.0.0/resource/manifest.test.json | 7 +- .../v3.0.0/resource/manifest.validate.json | 2 +- schemas/v3.0.0/resource/manifest.whatIf.json | 15 +- schemas/v3.0.0/resource/properties/exist.json | 2 +- schemas/v3.0.0/resource/properties/purge.json | 2 +- schemas/v3.0.0/resource/stdout/delete.json | 7 + schemas/v3.0.0/resource/stdout/export.json | 7 + schemas/v3.0.0/resource/stdout/get.json | 7 + schemas/v3.0.0/resource/stdout/list.json | 69 ++++ schemas/v3.0.0/resource/stdout/resolve.json | 22 ++ schemas/v3.0.0/resource/stdout/schema.json | 12 + schemas/v3.0.0/resource/stdout/set.json | 27 ++ schemas/v3.0.0/resource/stdout/test.json | 22 ++ schemas/v3.0.0/resource/stdout/validate.json | 20 ++ schemas/v3.0.0/resource/stdout/whatIf.json | 22 ++ schemas/v3.0/bundled/config/document.json | 53 ++-- .../v3.0/bundled/config/document.vscode.json | 104 +++--- schemas/v3.0/bundled/outputs/config/get.json | 43 +-- .../bundled/outputs/config/get.vscode.json | 48 +-- schemas/v3.0/bundled/outputs/config/set.json | 47 +-- .../bundled/outputs/config/set.vscode.json | 52 ++- schemas/v3.0/bundled/outputs/config/test.json | 47 +-- .../bundled/outputs/config/test.vscode.json | 52 ++- .../v3.0/bundled/outputs/resource/get.json | 29 +- .../bundled/outputs/resource/get.vscode.json | 33 +- .../v3.0/bundled/outputs/resource/list.json | 187 ++++++----- .../bundled/outputs/resource/list.vscode.json | 295 ++++++++++-------- .../v3.0/bundled/outputs/resource/schema.json | 4 +- .../outputs/resource/schema.vscode.json | 4 +- .../v3.0/bundled/outputs/resource/set.json | 33 +- .../bundled/outputs/resource/set.vscode.json | 37 +-- .../v3.0/bundled/outputs/resource/test.json | 33 +- .../bundled/outputs/resource/test.vscode.json | 37 +-- schemas/v3.0/bundled/outputs/schema.json | 4 +- .../v3.0/bundled/outputs/schema.vscode.json | 4 +- schemas/v3.0/bundled/resource/manifest.json | 124 ++++---- .../bundled/resource/manifest.vscode.json | 221 +++++++------ schemas/v3.0/config/document.json | 35 ++- schemas/v3.0/config/document.parameter.json | 2 +- schemas/v3.0/config/document.resource.json | 8 +- schemas/v3.0/definitions/hadErrors.json | 2 +- schemas/v3.0/definitions/instanceName.json | 2 +- schemas/v3.0/definitions/message.json | 6 +- schemas/v3.0/definitions/messages.json | 2 +- .../parameters/validValueTypes.json | 2 +- .../definitions/resourceCapabilities.json | 20 ++ schemas/v3.0/definitions/resourceKind.json | 10 +- schemas/v3.0/definitions/resourceType.json | 4 +- schemas/v3.0/definitions/returnKind.json | 1 - .../metadata/configurationDocumentResult.json | 6 +- schemas/v3.0/outputs/config/get.json | 4 +- schemas/v3.0/outputs/config/set.json | 4 +- schemas/v3.0/outputs/config/test.json | 4 +- schemas/v3.0/outputs/resource/get.json | 2 +- schemas/v3.0/outputs/resource/get.simple.json | 4 +- schemas/v3.0/outputs/resource/list.json | 43 +-- schemas/v3.0/outputs/resource/schema.json | 4 +- schemas/v3.0/outputs/resource/set.json | 2 +- schemas/v3.0/outputs/resource/set.simple.json | 8 +- schemas/v3.0/outputs/resource/test.json | 2 +- .../v3.0/outputs/resource/test.simple.json | 8 +- schemas/v3.0/outputs/schema.json | 4 +- schemas/v3.0/resource/manifest.adapter.json | 6 +- schemas/v3.0/resource/manifest.delete.json | 2 +- schemas/v3.0/resource/manifest.export.json | 2 +- schemas/v3.0/resource/manifest.get.json | 2 +- schemas/v3.0/resource/manifest.json | 33 +- schemas/v3.0/resource/manifest.resolve.json | 2 +- schemas/v3.0/resource/manifest.schema.json | 22 +- schemas/v3.0/resource/manifest.set.json | 12 +- schemas/v3.0/resource/manifest.test.json | 7 +- schemas/v3.0/resource/manifest.validate.json | 2 +- schemas/v3.0/resource/manifest.whatIf.json | 15 +- schemas/v3.0/resource/properties/exist.json | 2 +- schemas/v3.0/resource/properties/purge.json | 2 +- schemas/v3.0/resource/stdout/delete.json | 7 + schemas/v3.0/resource/stdout/export.json | 7 + schemas/v3.0/resource/stdout/get.json | 7 + schemas/v3.0/resource/stdout/list.json | 69 ++++ schemas/v3.0/resource/stdout/resolve.json | 22 ++ schemas/v3.0/resource/stdout/schema.json | 12 + schemas/v3.0/resource/stdout/set.json | 27 ++ schemas/v3.0/resource/stdout/test.json | 22 ++ schemas/v3.0/resource/stdout/validate.json | 20 ++ schemas/v3.0/resource/stdout/whatIf.json | 22 ++ schemas/v3/bundled/config/document.json | 53 ++-- .../v3/bundled/config/document.vscode.json | 104 +++--- schemas/v3/bundled/outputs/config/get.json | 43 +-- .../v3/bundled/outputs/config/get.vscode.json | 48 +-- schemas/v3/bundled/outputs/config/set.json | 47 +-- .../v3/bundled/outputs/config/set.vscode.json | 52 ++- schemas/v3/bundled/outputs/config/test.json | 47 +-- .../bundled/outputs/config/test.vscode.json | 52 ++- schemas/v3/bundled/outputs/resource/get.json | 29 +- .../bundled/outputs/resource/get.vscode.json | 33 +- schemas/v3/bundled/outputs/resource/list.json | 187 ++++++----- .../bundled/outputs/resource/list.vscode.json | 295 ++++++++++-------- .../v3/bundled/outputs/resource/schema.json | 4 +- .../outputs/resource/schema.vscode.json | 4 +- schemas/v3/bundled/outputs/resource/set.json | 33 +- .../bundled/outputs/resource/set.vscode.json | 37 +-- schemas/v3/bundled/outputs/resource/test.json | 33 +- .../bundled/outputs/resource/test.vscode.json | 37 +-- schemas/v3/bundled/outputs/schema.json | 4 +- schemas/v3/bundled/outputs/schema.vscode.json | 4 +- schemas/v3/bundled/resource/manifest.json | 124 ++++---- .../v3/bundled/resource/manifest.vscode.json | 221 +++++++------ schemas/v3/config/document.json | 35 ++- schemas/v3/config/document.parameter.json | 2 +- schemas/v3/config/document.resource.json | 8 +- schemas/v3/definitions/hadErrors.json | 2 +- schemas/v3/definitions/instanceName.json | 2 +- schemas/v3/definitions/message.json | 6 +- schemas/v3/definitions/messages.json | 2 +- .../parameters/validValueTypes.json | 2 +- .../v3/definitions/resourceCapabilities.json | 20 ++ schemas/v3/definitions/resourceKind.json | 10 +- schemas/v3/definitions/resourceType.json | 4 +- schemas/v3/definitions/returnKind.json | 1 - .../metadata/configurationDocumentResult.json | 6 +- schemas/v3/outputs/config/get.json | 4 +- schemas/v3/outputs/config/set.json | 4 +- schemas/v3/outputs/config/test.json | 4 +- schemas/v3/outputs/resource/get.json | 2 +- schemas/v3/outputs/resource/get.simple.json | 4 +- schemas/v3/outputs/resource/list.json | 43 +-- schemas/v3/outputs/resource/schema.json | 4 +- schemas/v3/outputs/resource/set.json | 2 +- schemas/v3/outputs/resource/set.simple.json | 8 +- schemas/v3/outputs/resource/test.json | 2 +- schemas/v3/outputs/resource/test.simple.json | 8 +- schemas/v3/outputs/schema.json | 4 +- schemas/v3/resource/manifest.adapter.json | 6 +- schemas/v3/resource/manifest.delete.json | 2 +- schemas/v3/resource/manifest.export.json | 2 +- schemas/v3/resource/manifest.get.json | 2 +- schemas/v3/resource/manifest.json | 33 +- schemas/v3/resource/manifest.resolve.json | 2 +- schemas/v3/resource/manifest.schema.json | 22 +- schemas/v3/resource/manifest.set.json | 12 +- schemas/v3/resource/manifest.test.json | 7 +- schemas/v3/resource/manifest.validate.json | 2 +- schemas/v3/resource/manifest.whatIf.json | 15 +- schemas/v3/resource/properties/exist.json | 2 +- schemas/v3/resource/properties/purge.json | 2 +- schemas/v3/resource/stdout/delete.json | 7 + schemas/v3/resource/stdout/export.json | 7 + schemas/v3/resource/stdout/get.json | 7 + schemas/v3/resource/stdout/list.json | 69 ++++ schemas/v3/resource/stdout/resolve.json | 22 ++ schemas/v3/resource/stdout/schema.json | 12 + schemas/v3/resource/stdout/set.json | 27 ++ schemas/v3/resource/stdout/test.json | 22 ++ schemas/v3/resource/stdout/validate.json | 20 ++ schemas/v3/resource/stdout/whatIf.json | 22 ++ 210 files changed, 3225 insertions(+), 2787 deletions(-) create mode 100644 schemas/v3.0.0/definitions/resourceCapabilities.json create mode 100644 schemas/v3.0.0/resource/stdout/delete.json create mode 100644 schemas/v3.0.0/resource/stdout/export.json create mode 100644 schemas/v3.0.0/resource/stdout/get.json create mode 100644 schemas/v3.0.0/resource/stdout/list.json create mode 100644 schemas/v3.0.0/resource/stdout/resolve.json create mode 100644 schemas/v3.0.0/resource/stdout/schema.json create mode 100644 schemas/v3.0.0/resource/stdout/set.json create mode 100644 schemas/v3.0.0/resource/stdout/test.json create mode 100644 schemas/v3.0.0/resource/stdout/validate.json create mode 100644 schemas/v3.0.0/resource/stdout/whatIf.json create mode 100644 schemas/v3.0/definitions/resourceCapabilities.json create mode 100644 schemas/v3.0/resource/stdout/delete.json create mode 100644 schemas/v3.0/resource/stdout/export.json create mode 100644 schemas/v3.0/resource/stdout/get.json create mode 100644 schemas/v3.0/resource/stdout/list.json create mode 100644 schemas/v3.0/resource/stdout/resolve.json create mode 100644 schemas/v3.0/resource/stdout/schema.json create mode 100644 schemas/v3.0/resource/stdout/set.json create mode 100644 schemas/v3.0/resource/stdout/test.json create mode 100644 schemas/v3.0/resource/stdout/validate.json create mode 100644 schemas/v3.0/resource/stdout/whatIf.json create mode 100644 schemas/v3/definitions/resourceCapabilities.json create mode 100644 schemas/v3/resource/stdout/delete.json create mode 100644 schemas/v3/resource/stdout/export.json create mode 100644 schemas/v3/resource/stdout/get.json create mode 100644 schemas/v3/resource/stdout/list.json create mode 100644 schemas/v3/resource/stdout/resolve.json create mode 100644 schemas/v3/resource/stdout/schema.json create mode 100644 schemas/v3/resource/stdout/set.json create mode 100644 schemas/v3/resource/stdout/test.json create mode 100644 schemas/v3/resource/stdout/validate.json create mode 100644 schemas/v3/resource/stdout/whatIf.json diff --git a/schemas/v3.0.0/bundled/config/document.json b/schemas/v3.0.0/bundled/config/document.json index d079e24f8..c453b023f 100644 --- a/schemas/v3.0.0/bundled/config/document.json +++ b/schemas/v3.0.0/bundled/config/document.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", "type": "object", "required": [ "$schema", @@ -11,23 +11,32 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -40,10 +49,10 @@ "type": "object" }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/config/document.resource.json" } @@ -57,7 +66,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", + "description": "Defines a runtime option for a DSC configuration document.", "type": "object", "required": [ "type" @@ -284,8 +293,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.resource.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -300,7 +309,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -310,7 +319,7 @@ }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object" } } @@ -356,7 +365,7 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/parameters/validValueTypes.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", @@ -368,8 +377,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -377,7 +386,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 diff --git a/schemas/v3.0.0/bundled/config/document.vscode.json b/schemas/v3.0.0/bundled/config/document.vscode.json index 39e897a74..849e06904 100644 --- a/schemas/v3.0.0/bundled/config/document.vscode.json +++ b/schemas/v3.0.0/bundled/config/document.vscode.json @@ -1,9 +1,9 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDescribes a valid DSC Configuration Document.\n\nDSC Configurations enable users to define state by combining different DSC Resources. A\nconfiguration document uses parameters and variables to pass to a set of one or more resources\nthat define a desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true\n", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDescribes a valid DSC configuration document.\n\nDSC configurations enable users to define state by combining different DSC resources. A\nconfiguration document uses parameters and variables to pass to a set of one or more resources\nthat define a desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -12,35 +12,53 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be the canonical URL of the DSC Configuration Document schema that the\ndocument is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../config/document.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n \n```yaml\n.../bundled/config/document.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/config/document.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the URI that resolves to the version of this schema that the\ndocument adheres to. DSC uses this property when validating and processing the configuration\ndocument.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../config/document.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n \n```yaml\n.../bundled/config/document.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/config/document.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3.0.0` non-bundled\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3.0.0` bundled\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3.0.0` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -112,14 +130,14 @@ ] }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/config/document.resource.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC Resource instances for the configuration to manage.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#resources\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC resource instances for the configuration to manage.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#resources\n" }, "metadata": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/config/document.metadata.json" @@ -136,8 +154,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a runtime option for a DSC Configuration Document.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/parameter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines a runtime option for a DSC configuration document.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a runtime option for a DSC configuration document.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/parameter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "type" @@ -400,8 +418,8 @@ "document.resource.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -416,7 +434,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -431,20 +449,20 @@ } ] }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC Resource instances that DSC must successfully process before processing\nthis instance. Each value for this property must be the `resourceID()` lookup for another\ninstance in the configuration. Multiple instances can depend on the same instance, but every\ndependency for an instance must be unique in that instance's `dependsOn` property.\n\nThe `resourceID()` function uses this syntax:\n\n```yaml\n\"[resourceId('', '']\"\n```\n\nThe `` value is the `type` property of the dependent resource and\n`` is the dependency's `name` property. When adding a dependency in a\nYAML-format configuration document, always wrap the `resourceID()` lookup in double quotes\n(`\"`).\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC resource instances that DSC must successfully process before processing\nthis instance. Each value for this property must be the `resourceID()` lookup for another\ninstance in the configuration. Multiple instances can depend on the same instance, but every\ndependency for an instance must be unique in that instance's `dependsOn` property.\n\nThe `resourceID()` function uses this syntax:\n\n```yaml\n\"[resourceId('', '']\"\n```\n\nThe `` value is the `type` property of the dependent resource and\n`` is the dependency's `name` property. When adding a dependency in a\nYAML-format configuration document, always wrap the `resourceID()` lookup in double quotes\n(`\"`).\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the properties of the DSC Resource this instance manages. This property's value must\nbe an object. DSC validates the property's value against the DSC Resource's schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the properties of the DSC resource this instance manages. This property's value must\nbe an object. DSC validates the property's value against the DSC resource's schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an instance of a DSC Resource in a configuration.\n\nThe `resources` property of a DSC Configuration document always includes at least one DSC Resource\ninstance. Together, the instances in a configuration define the desired state that DSC can get,\ntest, and set on a machine.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an instance of a DSC resource in a configuration.\n\nThe `resources` property of a DSC configuration document always includes at least one DSC resource\ninstance. Together, the instances in a configuration define the desired state that DSC can get,\ntest, and set on a machine.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " New resource instance", - "markdownDescription": "Defines a new instance of a DSC Resource for the configuration.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\nproperties:\n propertyName: propertyValue\n```", + "markdownDescription": "Defines a new instance of a DSC resource for the configuration.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\nproperties:\n propertyName: propertyValue\n```", "body": { "type": "${1:owner[.group][.area]/name}", "name": "${2:instance_name}", @@ -455,7 +473,7 @@ }, { "label": " New dependent resource instance", - "markdownDescription": "Defines a new instance of a DSC Resource for the configuration that depends on another\ninstance.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\ndependsOn:\n - \"[resourceId('dependencyInstance/Type', 'dependencyInstanceName')]\"\nproperties:\n propertyName: propertyValue\n```", + "markdownDescription": "Defines a new instance of a DSC resource for the configuration that depends on another\ninstance.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\ndependsOn:\n - \"[resourceId('dependencyInstance/Type', 'dependencyInstanceName')]\"\nproperties:\n propertyName: propertyValue\n```", "body": { "type": "${1:owner[.group][.area]/name}", "name": "${2:instance_name}", @@ -549,7 +567,7 @@ "markdownEnumDescriptions": [ "_Strings are an arbitrary set of text._\n\n> To define a long strings in YAML, use the folded block syntax or literal block syntax by\n> adding a `>` or `|` and a line break after the key. Then, indent the next line. Every line\n> in the string must start at the same level of indentation. You can trim the trailing\n> whitespace by using `>-` or `|-` instead.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#strings\n", "_Secure strings are text that needs to be handled securely._\n\n> Secure strings are an arbitrary set of text that DSC and integrating tools shouldn't log or\n> record. If a secure data type parameter is used for a resource instance property that doesn't\n> expect a secure value, the resource may still log or record the value. If the resource has\n> independent logging or recording that isn't handled by DSC, the value may be stored\n> insecurely.\n>\n> Use secure strings for passwords and secrets. Never define a default value for secure string\n> parameters.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#secure-strings-and-objects\n", - "_Integer values are numbers without a fractional part._\n\n> Integer values may be limited by integrating tools or the DSC Resources they're used with.\n> DSC itself supports integer values between `-9223372036854775808` and `9223372036854775807`.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#integers\n", + "_Integer values are numbers without a fractional part._\n\n> Integer values may be limited by integrating tools or the DSC resources they're used with.\n> DSC itself supports integer values between `-9223372036854775808` and `9223372036854775807`.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#integers\n", "_Boolean values are either `true` or `false`._\n\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#booleans\n", "_Objects define a set of key-value pairs._\n\n> The value for each key can be any valid data type. The values can be the same type or\n> different types.\n>\n> Access keys in the object using dot-notation. Dot-notation uses this syntax:\n>\n> ```yaml\n> \"[parameters('').]\n> ```\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#objects\n", "_Secure objects are key-value pairs that need to be handled securely._\n\n> Secure objects define a set of key-value pairs that DSC and integrating tools shouldn't log\n> or record. If a secure data type parameter is used for a resource instance property that\n> doesn't expect a secure value, the resource may still log or record the value. If the\n> resource has independent logging or recording that isn't handled by DSC, the value may be\n> stored insecurely.\n>\n> Never define a default value for secure object parameters.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#secure-strings-and-objects\n", @@ -559,7 +577,7 @@ "validValueTypes.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", @@ -572,23 +590,23 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "instanceName.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" } }, "metadata": { diff --git a/schemas/v3.0.0/bundled/outputs/config/get.json b/schemas/v3.0.0/bundled/outputs/config/get.json index 87fb0dcb4..836ee6b0a 100644 --- a/schemas/v3.0.0/bundled/outputs/config/get.json +++ b/schemas/v3.0.0/bundled/outputs/config/get.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -285,7 +270,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -294,7 +279,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -305,7 +290,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -313,7 +298,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0.0/bundled/outputs/config/get.vscode.json b/schemas/v3.0.0/bundled/outputs/config/get.vscode.json index 3ffa6bee5..153504d26 100644 --- a/schemas/v3.0.0/bundled/outputs/config/get.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/config/get.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -263,7 +247,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -275,7 +259,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json" @@ -285,7 +269,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -302,28 +286,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -334,7 +318,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -342,7 +326,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0.0/bundled/outputs/config/set.json b/schemas/v3.0.0/bundled/outputs/config/set.json index fca92e4c9..2e9e76ade 100644 --- a/schemas/v3.0.0/bundled/outputs/config/set.json +++ b/schemas/v3.0.0/bundled/outputs/config/set.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -287,17 +272,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -310,7 +295,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -321,7 +306,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -329,7 +314,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0.0/bundled/outputs/config/set.vscode.json b/schemas/v3.0.0/bundled/outputs/config/set.vscode.json index 783547b10..17d22d002 100644 --- a/schemas/v3.0.0/bundled/outputs/config/set.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/config/set.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -265,17 +249,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -291,7 +275,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json" @@ -301,7 +285,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -318,28 +302,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -350,7 +334,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -358,7 +342,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0.0/bundled/outputs/config/test.json b/schemas/v3.0.0/bundled/outputs/config/test.json index 4f5af4996..c3a52e407 100644 --- a/schemas/v3.0.0/bundled/outputs/config/test.json +++ b/schemas/v3.0.0/bundled/outputs/config/test.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -288,12 +273,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -303,7 +288,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -316,7 +301,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -327,7 +312,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -335,7 +320,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0.0/bundled/outputs/config/test.vscode.json b/schemas/v3.0.0/bundled/outputs/config/test.vscode.json index 48023b4b1..1afa06f2d 100644 --- a/schemas/v3.0.0/bundled/outputs/config/test.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/config/test.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -266,12 +250,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -281,7 +265,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -297,7 +281,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json" @@ -307,7 +291,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -324,28 +308,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -356,7 +340,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -364,7 +348,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0.0/bundled/outputs/resource/get.json b/schemas/v3.0.0/bundled/outputs/resource/get.json index 9e09a67a7..fa06a34e4 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/get.json +++ b/schemas/v3.0.0/bundled/outputs/resource/get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -27,7 +27,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -88,7 +88,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -96,28 +96,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json", - "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3.0.0/bundled/outputs/resource/get.vscode.json b/schemas/v3.0.0/bundled/outputs/resource/get.vscode.json index 8c5a2a9de..92e371fd0 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/get.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/resource/get.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -34,7 +34,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -65,23 +65,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json" } } - }, - "get.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json", - "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.full.json" - } - } - ] } } }, @@ -129,21 +112,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3.0.0/bundled/outputs/resource/list.json b/schemas/v3.0.0/bundled/outputs/resource/list.json index 3fb4b23eb..f58c873d5 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/list.json +++ b/schemas/v3.0.0/bundled/outputs/resource/list.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json" @@ -113,8 +98,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -122,13 +107,13 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json": { @@ -140,11 +125,31 @@ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "$comment": "A valid semantic version ([semver][01]) string.\n\nThis value uses the [suggested regular expression][02] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://semver.org/\n[02]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceCapabilities.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ] + } + }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -154,19 +159,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -174,12 +188,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -224,7 +238,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" @@ -299,7 +313,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" @@ -366,7 +380,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -382,19 +396,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" } }, @@ -449,10 +463,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -465,19 +480,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" } }, @@ -532,7 +547,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -549,8 +564,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ @@ -604,7 +620,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" @@ -671,7 +687,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" @@ -738,7 +754,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" @@ -805,7 +821,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" @@ -872,7 +888,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -881,7 +897,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -896,7 +912,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, @@ -930,7 +946,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -947,7 +963,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -968,7 +984,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -978,12 +994,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -993,8 +1009,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -1020,21 +1036,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/purge.json" } @@ -1186,14 +1202,13 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ @@ -1216,7 +1231,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3.0.0/bundled/outputs/resource/list.vscode.json b/schemas/v3.0.0/bundled/outputs/resource/list.vscode.json index 872d2295e..c76a3d60c 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/list.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/resource/list.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json" @@ -119,31 +104,31 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "resourceKind.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the resource is a normal DSC Resource, a group resource, or an adapter\nresource. This property is only required for group resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `Adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `Resource`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should interpret the resource - as a typical resource, an adapter, a group, or an\nimporter. This property is required for group, exporter, and importer resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `resource`.\n\nFor more information about the different kinds of DSC resources, see [DSC resource kinds][01]\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\nIndicates that the manifest is for a standard command-based DSC Resource.\n", - "\n\nIndicates that the manifest is for an adapter resource that enables the use of\nnon-command-based resources with DSC.\n", - "\n\nIndicates that the manifest is for a group resource that processes an array of nested\nresource instances.\n", - "\n\nIndicates that the manifest is for an import resource that resolves an external source to DSC\nresource instances. The resolved instances are processed as nested instances for the import\nresource.\n" + "\n\nIndicates that the manifest is for a typical DSC command resource.\n", + "\n\nIndicates that the manifest is for a resource that enables the use of non-command resources\nwith DSC.\n", + "\n\nIndicates that the manifest is for a resource that processes an array of nested resource\ninstances.\n", + "\n\nIndicates that the manifest is for a resource that resolves an external source to DSC\nresource instances. DSC processes the resolved instances as nested instances for the importer\nresource.\n" ] }, "semver.json": { @@ -156,6 +141,37 @@ "patternErrorMessage": "Invalid value, must be a semantic version like `..`, such as `1.2.3`.\n\nThe value may also include pre-release version information and build metadata.\n", "$comment": "A valid semantic version ([semver][01]) string.\n\nThis value uses the [suggested regular expression][02] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://semver.org/\n[02]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, + "resourceCapabilities.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDSC resources always have at least one capability. Resource capabilities define the operations\nyou can invoke for a resource and how the resource behaves when invoked.\n\nFor more information about the operations you can invoke for a resource, see\n[DSC resource operations][01].\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ], + "markdownEnumDescriptions": [ + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `get` capability supports retrieving the current state of an instance\nwith the [Get][01] operation.\n\nA command resource has this capability when its resource manifest defines the [get][02]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#get\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#get-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `set` capability supports enforcing the desired state of an instance with\nthe [Set][01] operation. Resources without this capability can't be used with the\n[dsc resource set][02] or [dsc config set][03] commands unless they're defined in a\n`Microsoft.DSC/Assertion` group as a nested instance.\n\nA command resource has this capability when its resource manifest defines the [set][04]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#set\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/cli/config/set?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `setHandlesExist` capability indicates that you can use the [Set][01]\noperation to delete an instance. Resources with this capability must have the [_exist][02]\ncanonical resource property. Resources that don't have the `_exist` property never have this\ncapability.\n\nWhen a resource has the `_exist` property but not the `setHandlesExist` capability:\n\n- If the resource has the `delete` capability, DSC invokes the [Delete][03] operation instead\n of **Set** when the desired state for an instance defines `_exist` as false.\n- If the resource doesn't have the `delete` capability, DSC raises an error during a **Set**\n operation when the desired state for an instance defines `_exist` as false.\n\nA command resource has this capability when its resource manifest defines the\n[set.handlesExist][04] subproperty as `true`.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#sethandlesexist\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/existview=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#delete-operation\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/setview=dsc-3.0&preserve-view=true#handlesexist", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `whatIf` capability indicates that you can use the [Set][01] operation in\nwhat-if mode to have the resource return explicit information about how it would modify state\nin an actual **Set** operation.\n\nWhen a resource doesn't have this capability, DSC synthesizes how the resource would change\nan instance by converting the **Test** result for the instance into a **Set** result. The\nsynthetic operation can't indicate potential issues or changes that can't be determined by\ncomparing the result of the **Test** operation against the resource's desired state. For\nexample, the credentials used to test a resource might be valid for that operation, but not\nhave permissions to actually modify the system state. Only a resource with this capability\ncan fully report whether and how the resource would change system state.\n\nA resource has this capability when it defines the [whatIf][02] property.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#whatif\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `test` capability indicates that it implements the [Test][01] operation\ndirectly. Resources with this capability must have the [_inDesiredState][02] canonical\nresource property. Resources that don't have the `_inDesiredState` property never have this\ncapability.\n\nWhen a resource doesn't have this capability, DSC uses a synthetic test for instances of the\nresource. DSC performs the synthetic test by:\n\n1. Invoking the **Get** operation on the resource to retrieve the actual state of the\n instance.\n1. Synthetically testing each property for the desired state of an instance against the\n actual state returned. The synthetic test uses strict, case-sensitive equivalence.\n1. If the desired state for a property and the actual state aren't the same, DSC marks the\n property as out of the desired state.\n1. If any properties are out of the desired state, DSC reports the entire instance as not\n being in the desired state.\n\nSynthetic testing can't account for all resource behaviors. For example, if a package\nresource allows users to define a version range for the package, the **Get** operation\nreturns the actual version of the package, like `1.2.3`. If the user specified the version\nrange `~1` (NPM syntax indicating the package should be latest released semantic version with\nmajor version `1`), DSC would compare the desired state `~1` against the actual state `1.2.3`\nand consider the package to be in the incorrect state, even if `1.2.3` is actually the latest\nrelease matching the version pin.\n\nAny resource that has properties which can't use a strict case-sensitive comparison check\nshould have this capability.\n\nA command resource has this capability when its resource manifest defines the [test][03]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#test\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#test-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/inDesiredState?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `delete` capability supports removing an instance with the [Delete][01]\noperation and the [dsc resource delete][02] command.\n\nThis capability isn't mutually exclusive with the `setHandlesExist` property. A resource can handle\nthe `_exist` property in **Set** operations and be called directly with `dsc resource delete` to\nremove an instance.\n\nFor resources with the `delete` capability and the [_exist][03] canonical resource property:\n\n- If the resource doesn't have the `setHandlesExist` capability, DSC invokes the **Delete**\n operation for the resource instead of **Set** when the desired state defines `_exist` as\n `false`.\n- If the resource does have the `setHandlesExist` capability, DSC invokes the **Set** operation for\n the resource when the desired state defines `_exist` as `false`.\n\nResources with the `delete` capability that don't have the `_exist` canonical resource property\nmust implement their **Set** operation to handle removing instances. DSC can't infer existence\nsemantics without the `_exist` property.\n\nA command resource has this capability when its resource manifest defines the [delete][04]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#delete\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#delete-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/delete?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `export` capability supports enumerating every instance of the resource\nwith the [Export][01] operation.\n\nYou can use resources with this capability with the following commands:\n\n- [dsc config export][02] to return a configuration document representing the actual state\n for every instance of each resource defined in the input document.\n- [dsc resource export][03] to return a configuration document representing the actual state\n for every instance of the input resource.\n- `dsc resource get` with the [--all][04] option to return the actual state of every instance\n of the input resource.\n\nA command resource has this capability when its resource manifest defines the [export][05]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#export\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#export-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/config/export?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/export?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/get?view=dsc-3.0&preserve-view=true#--all\n[05]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `resolve` capability supports resolving nested resource instances from an\nexternal source. This capability is primarily used by [importer resources][01] to enable users to\ncompose configuration documents.\n\nA command resource has this capability when its resource manifest defines the [resolve][0220]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#resolve\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true#importer-resources\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true" + ] + } + }, "commandExecutable.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/commandExecutable.json", @@ -244,7 +260,6 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } }, @@ -252,9 +267,9 @@ "manifest.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a command-based DSC\nResource. For DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a DSC command resource.\nFor DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define a resource", @@ -353,7 +368,7 @@ }, { "label": " Define a resource (adapter)", - "markdownDescription": "Defines an adapter resource that enables users to define non-command-based DSC Resources in\nthe configuration.", + "markdownDescription": "Defines an adapter resource that enables users to define non-command DSC resources in the\nconfiguration.", "body": { "${escape_dollar:$}schema": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", "type": "${1:owner.area.group}/${2:${TM_FILENAME_BASE/^(.*?)[\\.]dsc[\\.]resource/$1/}}", @@ -487,31 +502,49 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be one of the canonical URLs for the version of the Command-based DSC\nResource Manifest schema that the manifest is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the canonical URI of this schema that the manifest validates\nagainst. This property is mandatory. DSC uses this value to validate the manifest against the\ncorrect JSON schema.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3.0.0` non-bundled\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3.0.0` bundled\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3.0.0` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema.\n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema.\n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "type": { @@ -519,15 +552,15 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC Resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC Resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" }, "kind": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceKind.json" @@ -573,7 +606,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$", @@ -598,7 +631,7 @@ "4": "JSON serialization failed" } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC Resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC Resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", "defaultSnippets": [ { "label": " Defined exit codes", @@ -661,8 +694,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of an instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of an instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Get resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/get?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -768,8 +801,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to set the desired state of an instance and how to\nprocess the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to set the desired state of an instance and how to\nprocess the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Set resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/set?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -788,23 +821,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC Resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's state after the set\noperation or the state and an array of the properties the DSC Resource modified.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's state after the set\noperation or the state and an array of the properties the DSC resource modified.\n\nWhen a manifest doesn't define `set.return`, DSC doesn't expect the resource to emit any\nJSON to stdout. Instead, DSC invokes the **Get** operation for the resource to construct\nthe result object, retrieving the actual state of the resource after the **Set** operation.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's final state after the set\n> operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's final state and an array of property\n> names that the resource modified.\n" @@ -904,11 +937,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC Resource. If a resource doesn't\ndefine this method in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][02].\n\nThis method definition has the same structure as the [set method][03] in the resource manifest.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC resource. If a resource doesn't\ndefine this command in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][01].\n\nThis command definition has the same structure as the [set command][02] in the resource manifest.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[What-if resource operation stdout][03].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/whatif?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -924,23 +958,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC Resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC Resource\nwould modify.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC resource\nwould modify.\n\nUnlike the `set.return` property, you must specify a value for `whatIf.return` for the\nresource to function correctly. When you don't define `set.return` in your resource manifest,\nDSC invokes the **Get** operation on the resource after the **Set** operation to construct\nthe result with the final state of the resource.\n\nFor what-if operations, the resource doesn't actually change the system, so invoking the\n**Get** operation after the what-if command executes will always show the final state to\nbe the same as the before state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's expected final state after the\n> set operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's expected final state and an array of\n> property names that the resource would modify.\n" @@ -1040,8 +1074,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to test if an instance is in the desired state and how\nto process the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to test if an instance is in the desired state and how\nto process the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Test resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/test?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1061,9 +1095,10 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", + "default": "state", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Actual state only_\n\n> Indicates that the resource returns only the instance's actual state as a JSON blob.\n", "_Actual state and differing properties_\n\n> Indicates that the resource returns the instance's actual state and an array of\n> property names that are out of the desired state.\n" @@ -1160,8 +1195,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][02] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][03] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][02] property in the [JSON schema for the resource's properties][04].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][01] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][02] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][01] property in the [JSON schema for the resource's properties][03].\n\nDSC doesn't expect this command to return any output to stdout.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1267,8 +1302,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of every instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of every instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Export resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/export?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1374,8 +1409,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to validate the state of an instance. This method is\nmandatory for DSC Group Resources. It's ignored for all other DSC Resources.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to validate the state of an instance. This method is\nmandatory for DSC group resources. It's ignored for all other DSC resources.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Validate resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/validate?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1481,8 +1516,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to resolve an external source to nested DSC\nConfiguration Document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `Import`.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to resolve an external source to nested DSC\nconfiguration document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `importer`.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Resolve resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", "type": "object", "required": [ "executable" @@ -1588,8 +1623,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "list", @@ -1598,8 +1633,8 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource adapter to list its supported DSC resources.\n\nFor more information about the output DSC expects from the resource for this command,\nsee [List resource operation stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/list?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1615,7 +1650,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources.", + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources.", "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"registry\",\n \"args\": [\"resources\", \"list\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nregistry resources list\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#args\n" } } @@ -1680,7 +1715,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -1697,7 +1732,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -1717,7 +1752,7 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"myresource\",\n \"args\": [\"schema\", \"show\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nmyresource schema show\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#args\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Schema resource command stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/schema?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define without arguments", @@ -1740,8 +1775,8 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -1751,13 +1786,13 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -1765,7 +1800,7 @@ "https://json-schema.org/draft/2019-09/schema", "http://json-schema.org/draft-07/schema#" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", "markdownEnumDescriptions": [ "_Draft 2020-12 (recommended)_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2020-12][01].\n>\n> This is the latest published draft of JSON Schema and is the draft future drafts\n> will be most compatible with.\n\n[01]: https://json-schema.org/specification-links.html#2020-12\n", "_Draft 2019-09_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2019-09][01].\n>\n> This is the previous published draft of JSON Schema. It's mostly compatible with\n> 2020-12, but less extensible and can't be bundled.\n\n[01]: https://json-schema.org/specification-links.html#draft-2019-09-formerly-known-as-draft-8\n", @@ -1773,11 +1808,11 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC Resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" }, "properties": { "title": "Instance Properties", @@ -1899,7 +1934,7 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json" }, @@ -1907,19 +1942,19 @@ }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/inDesiredState.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC Resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/purge.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_purge` property to specify\nwhether the DSC Resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_purge` property to specify\nwhether the DSC resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" }, "_rebootRequested": { "title": "Standard property: _rebootRequested", @@ -1927,7 +1962,7 @@ "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/rebootRequested.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" } }, "defaultSnippets": [ @@ -2016,7 +2051,7 @@ } } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC Resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define as command without arguments", diff --git a/schemas/v3.0.0/bundled/outputs/resource/schema.json b/schemas/v3.0.0/bundled/outputs/resource/schema.json index cba18d360..7ca074aa1 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/schema.json +++ b/schemas/v3.0.0/bundled/outputs/resource/schema.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3.0.0/bundled/outputs/resource/schema.vscode.json b/schemas/v3.0.0/bundled/outputs/resource/schema.vscode.json index cba18d360..7ca074aa1 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/schema.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/resource/schema.vscode.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3.0.0/bundled/outputs/resource/set.json b/schemas/v3.0.0/bundled/outputs/resource/set.json index ce971ca11..f8ec5f5ba 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/set.json +++ b/schemas/v3.0.0/bundled/outputs/resource/set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -29,17 +29,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -104,7 +104,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -112,28 +112,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json", - "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3.0.0/bundled/outputs/resource/set.vscode.json b/schemas/v3.0.0/bundled/outputs/resource/set.vscode.json index 24f8add5d..e354740d2 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/set.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/resource/set.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -36,17 +36,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -81,23 +81,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json" } } - }, - "set.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json", - "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.full.json" - } - } - ] } } }, @@ -145,21 +128,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3.0.0/bundled/outputs/resource/test.json b/schemas/v3.0.0/bundled/outputs/resource/test.json index 89117e9b1..60287874a 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/test.json +++ b/schemas/v3.0.0/bundled/outputs/resource/test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -30,12 +30,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -45,7 +45,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -110,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -118,28 +118,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json", - "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3.0.0/bundled/outputs/resource/test.vscode.json b/schemas/v3.0.0/bundled/outputs/resource/test.vscode.json index f7c649446..6961855b1 100644 --- a/schemas/v3.0.0/bundled/outputs/resource/test.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/resource/test.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -37,12 +37,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -52,7 +52,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -87,23 +87,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json" } } - }, - "test.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json", - "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.full.json" - } - } - ] } } }, @@ -151,21 +134,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3.0.0/bundled/outputs/schema.json b/schemas/v3.0.0/bundled/outputs/schema.json index 5d69840e8..93b1f5864 100644 --- a/schemas/v3.0.0/bundled/outputs/schema.json +++ b/schemas/v3.0.0/bundled/outputs/schema.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3.0.0/bundled/outputs/schema.vscode.json b/schemas/v3.0.0/bundled/outputs/schema.vscode.json index 5d69840e8..93b1f5864 100644 --- a/schemas/v3.0.0/bundled/outputs/schema.vscode.json +++ b/schemas/v3.0.0/bundled/outputs/schema.vscode.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3.0.0/bundled/resource/manifest.json b/schemas/v3.0.0/bundled/resource/manifest.json index 1e2c7edd7..3cf7cf559 100644 --- a/schemas/v3.0.0/bundled/resource/manifest.json +++ b/schemas/v3.0.0/bundled/resource/manifest.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -12,19 +12,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -32,12 +41,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -82,7 +91,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" @@ -156,8 +165,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -174,20 +183,20 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.get.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" @@ -254,7 +263,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -270,19 +279,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" } }, @@ -337,10 +346,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -353,19 +363,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" } }, @@ -420,7 +430,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -437,8 +447,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ @@ -492,7 +503,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" @@ -559,7 +570,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" @@ -626,7 +637,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" @@ -693,7 +704,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" @@ -760,7 +771,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -769,7 +780,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -784,7 +795,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, @@ -818,7 +829,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -835,7 +846,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -856,7 +867,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -866,12 +877,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -881,8 +892,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -908,21 +919,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/purge.json" } @@ -1074,14 +1085,13 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ @@ -1104,7 +1114,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3.0.0/bundled/resource/manifest.vscode.json b/schemas/v3.0.0/bundled/resource/manifest.vscode.json index e9d65f3e2..30bdb1dd7 100644 --- a/schemas/v3.0.0/bundled/resource/manifest.vscode.json +++ b/schemas/v3.0.0/bundled/resource/manifest.vscode.json @@ -1,9 +1,9 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a command-based DSC\nResource. For DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a DSC command resource.\nFor DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define a resource", @@ -102,7 +102,7 @@ }, { "label": " Define a resource (adapter)", - "markdownDescription": "Defines an adapter resource that enables users to define non-command-based DSC Resources in\nthe configuration.", + "markdownDescription": "Defines an adapter resource that enables users to define non-command DSC resources in the\nconfiguration.", "body": { "${escape_dollar:$}schema": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", "type": "${1:owner.area.group}/${2:${TM_FILENAME_BASE/^(.*?)[\\.]dsc[\\.]resource/$1/}}", @@ -236,31 +236,49 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be one of the canonical URLs for the version of the Command-based DSC\nResource Manifest schema that the manifest is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the canonical URI of this schema that the manifest validates\nagainst. This property is mandatory. DSC uses this value to validate the manifest against the\ncorrect JSON schema.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3.0.0` non-bundled\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3.0.0` bundled\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3.0.0` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema.\n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0.0` of the schema.\n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0.0` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "type": { @@ -268,15 +286,15 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC Resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC Resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" }, "kind": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceKind.json" @@ -322,7 +340,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$", @@ -347,7 +365,7 @@ "4": "JSON serialization failed" } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC Resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC Resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", "defaultSnippets": [ { "label": " Defined exit codes", @@ -415,11 +433,11 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "semver.json": { @@ -436,20 +454,20 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the resource is a normal DSC Resource, a group resource, or an adapter\nresource. This property is only required for group resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `Adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `Resource`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should interpret the resource - as a typical resource, an adapter, a group, or an\nimporter. This property is required for group, exporter, and importer resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `resource`.\n\nFor more information about the different kinds of DSC resources, see [DSC resource kinds][01]\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\nIndicates that the manifest is for a standard command-based DSC Resource.\n", - "\n\nIndicates that the manifest is for an adapter resource that enables the use of\nnon-command-based resources with DSC.\n", - "\n\nIndicates that the manifest is for a group resource that processes an array of nested\nresource instances.\n", - "\n\nIndicates that the manifest is for an import resource that resolves an external source to DSC\nresource instances. The resolved instances are processed as nested instances for the import\nresource.\n" + "\n\nIndicates that the manifest is for a typical DSC command resource.\n", + "\n\nIndicates that the manifest is for a resource that enables the use of non-command resources\nwith DSC.\n", + "\n\nIndicates that the manifest is for a resource that processes an array of nested resource\ninstances.\n", + "\n\nIndicates that the manifest is for a resource that resolves an external source to DSC\nresource instances. DSC processes the resolved instances as nested instances for the importer\nresource.\n" ] }, "commandExecutable.json": { @@ -540,7 +558,6 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } }, @@ -549,8 +566,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of an instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of an instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Get resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/get?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -656,8 +673,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to set the desired state of an instance and how to\nprocess the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to set the desired state of an instance and how to\nprocess the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Set resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/set?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -676,23 +693,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC Resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's state after the set\noperation or the state and an array of the properties the DSC Resource modified.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's state after the set\noperation or the state and an array of the properties the DSC resource modified.\n\nWhen a manifest doesn't define `set.return`, DSC doesn't expect the resource to emit any\nJSON to stdout. Instead, DSC invokes the **Get** operation for the resource to construct\nthe result object, retrieving the actual state of the resource after the **Set** operation.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's final state after the set\n> operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's final state and an array of property\n> names that the resource modified.\n" @@ -792,11 +809,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC Resource. If a resource doesn't\ndefine this method in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][02].\n\nThis method definition has the same structure as the [set method][03] in the resource manifest.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC resource. If a resource doesn't\ndefine this command in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][01].\n\nThis command definition has the same structure as the [set command][02] in the resource manifest.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[What-if resource operation stdout][03].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/whatif?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -812,23 +830,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC Resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC Resource\nwould modify.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC resource\nwould modify.\n\nUnlike the `set.return` property, you must specify a value for `whatIf.return` for the\nresource to function correctly. When you don't define `set.return` in your resource manifest,\nDSC invokes the **Get** operation on the resource after the **Set** operation to construct\nthe result with the final state of the resource.\n\nFor what-if operations, the resource doesn't actually change the system, so invoking the\n**Get** operation after the what-if command executes will always show the final state to\nbe the same as the before state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's expected final state after the\n> set operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's expected final state and an array of\n> property names that the resource would modify.\n" @@ -928,8 +946,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to test if an instance is in the desired state and how\nto process the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to test if an instance is in the desired state and how\nto process the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Test resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/test?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -949,9 +967,10 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", + "default": "state", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Actual state only_\n\n> Indicates that the resource returns only the instance's actual state as a JSON blob.\n", "_Actual state and differing properties_\n\n> Indicates that the resource returns the instance's actual state and an array of\n> property names that are out of the desired state.\n" @@ -1048,8 +1067,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][02] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][03] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][02] property in the [JSON schema for the resource's properties][04].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][01] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][02] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][01] property in the [JSON schema for the resource's properties][03].\n\nDSC doesn't expect this command to return any output to stdout.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1155,8 +1174,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of every instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of every instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Export resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/export?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1262,8 +1281,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to validate the state of an instance. This method is\nmandatory for DSC Group Resources. It's ignored for all other DSC Resources.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to validate the state of an instance. This method is\nmandatory for DSC group resources. It's ignored for all other DSC resources.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Validate resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/validate?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1369,8 +1388,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to resolve an external source to nested DSC\nConfiguration Document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `Import`.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to resolve an external source to nested DSC\nconfiguration document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `importer`.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Resolve resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", "type": "object", "required": [ "executable" @@ -1476,8 +1495,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "list", @@ -1486,8 +1505,8 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource adapter to list its supported DSC resources.\n\nFor more information about the output DSC expects from the resource for this command,\nsee [List resource operation stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/list?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1503,7 +1522,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources.", + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources.", "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"registry\",\n \"args\": [\"resources\", \"list\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nregistry resources list\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#args\n" } } @@ -1568,7 +1587,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -1585,7 +1604,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -1605,7 +1624,7 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"myresource\",\n \"args\": [\"schema\", \"show\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nmyresource schema show\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#args\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Schema resource command stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/schema?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define without arguments", @@ -1628,8 +1647,8 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -1639,13 +1658,13 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -1653,7 +1672,7 @@ "https://json-schema.org/draft/2019-09/schema", "http://json-schema.org/draft-07/schema#" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", "markdownEnumDescriptions": [ "_Draft 2020-12 (recommended)_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2020-12][01].\n>\n> This is the latest published draft of JSON Schema and is the draft future drafts\n> will be most compatible with.\n\n[01]: https://json-schema.org/specification-links.html#2020-12\n", "_Draft 2019-09_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2019-09][01].\n>\n> This is the previous published draft of JSON Schema. It's mostly compatible with\n> 2020-12, but less extensible and can't be bundled.\n\n[01]: https://json-schema.org/specification-links.html#draft-2019-09-formerly-known-as-draft-8\n", @@ -1661,11 +1680,11 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC Resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" }, "properties": { "title": "Instance Properties", @@ -1787,7 +1806,7 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json" }, @@ -1795,19 +1814,19 @@ }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/inDesiredState.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC Resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/purge.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_purge` property to specify\nwhether the DSC Resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_purge` property to specify\nwhether the DSC resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" }, "_rebootRequested": { "title": "Standard property: _rebootRequested", @@ -1815,7 +1834,7 @@ "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/rebootRequested.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" } }, "defaultSnippets": [ @@ -1904,7 +1923,7 @@ } } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC Resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define as command without arguments", diff --git a/schemas/v3.0.0/config/document.json b/schemas/v3.0.0/config/document.json index 4ffff0c22..6d6eb74fd 100644 --- a/schemas/v3.0.0/config/document.json +++ b/schemas/v3.0.0/config/document.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", "type": "object", "required": [ "$schema", @@ -11,23 +11,32 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -40,10 +49,10 @@ "type": "object" }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/config/document.resource.json" } diff --git a/schemas/v3.0.0/config/document.parameter.json b/schemas/v3.0.0/config/document.parameter.json index a70ba1ac0..243d96011 100644 --- a/schemas/v3.0.0/config/document.parameter.json +++ b/schemas/v3.0.0/config/document.parameter.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", + "description": "Defines a runtime option for a DSC configuration document.", "type": "object", "required": [ "type" diff --git a/schemas/v3.0.0/config/document.resource.json b/schemas/v3.0.0/config/document.resource.json index ed9cabff8..11e62facb 100644 --- a/schemas/v3.0.0/config/document.resource.json +++ b/schemas/v3.0.0/config/document.resource.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -17,7 +17,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -27,7 +27,7 @@ }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object" } } diff --git a/schemas/v3.0.0/definitions/hadErrors.json b/schemas/v3.0.0/definitions/hadErrors.json index af1e485c0..7bdeee46e 100644 --- a/schemas/v3.0.0/definitions/hadErrors.json +++ b/schemas/v3.0.0/definitions/hadErrors.json @@ -2,6 +2,6 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" } diff --git a/schemas/v3.0.0/definitions/instanceName.json b/schemas/v3.0.0/definitions/instanceName.json index 32ab3d9cc..8c1af22f7 100644 --- a/schemas/v3.0.0/definitions/instanceName.json +++ b/schemas/v3.0.0/definitions/instanceName.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 diff --git a/schemas/v3.0.0/definitions/message.json b/schemas/v3.0.0/definitions/message.json index 88d0517bd..5de7ea0b9 100644 --- a/schemas/v3.0.0/definitions/message.json +++ b/schemas/v3.0.0/definitions/message.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -13,7 +13,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -21,7 +21,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0.0/definitions/messages.json b/schemas/v3.0.0/definitions/messages.json index 7af6f5551..0e3363ca1 100644 --- a/schemas/v3.0.0/definitions/messages.json +++ b/schemas/v3.0.0/definitions/messages.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/message.json" diff --git a/schemas/v3.0.0/definitions/parameters/validValueTypes.json b/schemas/v3.0.0/definitions/parameters/validValueTypes.json index d85872aaf..46ddde8a3 100644 --- a/schemas/v3.0.0/definitions/parameters/validValueTypes.json +++ b/schemas/v3.0.0/definitions/parameters/validValueTypes.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", diff --git a/schemas/v3.0.0/definitions/resourceCapabilities.json b/schemas/v3.0.0/definitions/resourceCapabilities.json new file mode 100644 index 000000000..fb31d9253 --- /dev/null +++ b/schemas/v3.0.0/definitions/resourceCapabilities.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ] + } +} diff --git a/schemas/v3.0.0/definitions/resourceKind.json b/schemas/v3.0.0/definitions/resourceKind.json index 9f0a64e95..b402ee49c 100644 --- a/schemas/v3.0.0/definitions/resourceKind.json +++ b/schemas/v3.0.0/definitions/resourceKind.json @@ -2,12 +2,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] } diff --git a/schemas/v3.0.0/definitions/resourceType.json b/schemas/v3.0.0/definitions/resourceType.json index cc9ae8688..8313b45c2 100644 --- a/schemas/v3.0.0/definitions/resourceType.json +++ b/schemas/v3.0.0/definitions/resourceType.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" } diff --git a/schemas/v3.0.0/definitions/returnKind.json b/schemas/v3.0.0/definitions/returnKind.json index 4d7bb6073..072f124f9 100644 --- a/schemas/v3.0.0/definitions/returnKind.json +++ b/schemas/v3.0.0/definitions/returnKind.json @@ -7,6 +7,5 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } diff --git a/schemas/v3.0.0/metadata/configurationDocumentResult.json b/schemas/v3.0.0/metadata/configurationDocumentResult.json index 09f48fb9f..f4bd83a5b 100644 --- a/schemas/v3.0.0/metadata/configurationDocumentResult.json +++ b/schemas/v3.0.0/metadata/configurationDocumentResult.json @@ -19,8 +19,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -43,9 +42,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/metadata/Microsoft.DSC/context.json" } } } diff --git a/schemas/v3.0.0/outputs/config/get.json b/schemas/v3.0.0/outputs/config/get.json index 7a3afbbd9..1088decf0 100644 --- a/schemas/v3.0.0/outputs/config/get.json +++ b/schemas/v3.0.0/outputs/config/get.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.full.json" diff --git a/schemas/v3.0.0/outputs/config/set.json b/schemas/v3.0.0/outputs/config/set.json index 385badc24..32a984e38 100644 --- a/schemas/v3.0.0/outputs/config/set.json +++ b/schemas/v3.0.0/outputs/config/set.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.full.json" diff --git a/schemas/v3.0.0/outputs/config/test.json b/schemas/v3.0.0/outputs/config/test.json index 2a8b37a8e..8bd9b98ae 100644 --- a/schemas/v3.0.0/outputs/config/test.json +++ b/schemas/v3.0.0/outputs/config/test.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.full.json" diff --git a/schemas/v3.0.0/outputs/resource/get.json b/schemas/v3.0.0/outputs/resource/get.json index c23f50c61..af95dabba 100644 --- a/schemas/v3.0.0/outputs/resource/get.json +++ b/schemas/v3.0.0/outputs/resource/get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json" diff --git a/schemas/v3.0.0/outputs/resource/get.simple.json b/schemas/v3.0.0/outputs/resource/get.simple.json index 59d2eec14..12e50bb0d 100644 --- a/schemas/v3.0.0/outputs/resource/get.simple.json +++ b/schemas/v3.0.0/outputs/resource/get.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -10,7 +10,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } diff --git a/schemas/v3.0.0/outputs/resource/list.json b/schemas/v3.0.0/outputs/resource/list.json index ab733465b..f0df50586 100644 --- a/schemas/v3.0.0/outputs/resource/list.json +++ b/schemas/v3.0.0/outputs/resource/list.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json" diff --git a/schemas/v3.0.0/outputs/resource/schema.json b/schemas/v3.0.0/outputs/resource/schema.json index 5d5972346..9e4f661a6 100644 --- a/schemas/v3.0.0/outputs/resource/schema.json +++ b/schemas/v3.0.0/outputs/resource/schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object" } diff --git a/schemas/v3.0.0/outputs/resource/set.json b/schemas/v3.0.0/outputs/resource/set.json index ce930bf93..4a654ec86 100644 --- a/schemas/v3.0.0/outputs/resource/set.json +++ b/schemas/v3.0.0/outputs/resource/set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json" diff --git a/schemas/v3.0.0/outputs/resource/set.simple.json b/schemas/v3.0.0/outputs/resource/set.simple.json index 588c787aa..7f340edc5 100644 --- a/schemas/v3.0.0/outputs/resource/set.simple.json +++ b/schemas/v3.0.0/outputs/resource/set.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -12,17 +12,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { diff --git a/schemas/v3.0.0/outputs/resource/test.json b/schemas/v3.0.0/outputs/resource/test.json index 21ed8a8fc..50c9e4185 100644 --- a/schemas/v3.0.0/outputs/resource/test.json +++ b/schemas/v3.0.0/outputs/resource/test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json" diff --git a/schemas/v3.0.0/outputs/resource/test.simple.json b/schemas/v3.0.0/outputs/resource/test.simple.json index 5837b7503..2f6a1fa0d 100644 --- a/schemas/v3.0.0/outputs/resource/test.simple.json +++ b/schemas/v3.0.0/outputs/resource/test.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -13,12 +13,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -28,7 +28,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { diff --git a/schemas/v3.0.0/outputs/schema.json b/schemas/v3.0.0/outputs/schema.json index 62826b6cf..b908e34f6 100644 --- a/schemas/v3.0.0/outputs/schema.json +++ b/schemas/v3.0.0/outputs/schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object" } diff --git a/schemas/v3.0.0/resource/manifest.adapter.json b/schemas/v3.0.0/resource/manifest.adapter.json index 62ced41e8..7e3075b0f 100644 --- a/schemas/v3.0.0/resource/manifest.adapter.json +++ b/schemas/v3.0.0/resource/manifest.adapter.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -11,7 +11,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -26,7 +26,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, diff --git a/schemas/v3.0.0/resource/manifest.delete.json b/schemas/v3.0.0/resource/manifest.delete.json index 7ab5cfc00..bcf9ca3dc 100644 --- a/schemas/v3.0.0/resource/manifest.delete.json +++ b/schemas/v3.0.0/resource/manifest.delete.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0.0/resource/manifest.export.json b/schemas/v3.0.0/resource/manifest.export.json index f1bc815fa..e8b7f928c 100644 --- a/schemas/v3.0.0/resource/manifest.export.json +++ b/schemas/v3.0.0/resource/manifest.export.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0.0/resource/manifest.get.json b/schemas/v3.0.0/resource/manifest.get.json index 7b2d3b1b5..d3d06e55b 100644 --- a/schemas/v3.0.0/resource/manifest.get.json +++ b/schemas/v3.0.0/resource/manifest.get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0.0/resource/manifest.json b/schemas/v3.0.0/resource/manifest.json index 65ab83e3d..7d12a2d32 100644 --- a/schemas/v3.0.0/resource/manifest.json +++ b/schemas/v3.0.0/resource/manifest.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -12,19 +12,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -32,12 +41,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -82,7 +91,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" diff --git a/schemas/v3.0.0/resource/manifest.resolve.json b/schemas/v3.0.0/resource/manifest.resolve.json index feb600fd2..5c204fddd 100644 --- a/schemas/v3.0.0/resource/manifest.resolve.json +++ b/schemas/v3.0.0/resource/manifest.resolve.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0.0/resource/manifest.schema.json b/schemas/v3.0.0/resource/manifest.schema.json index 753869287..064150584 100644 --- a/schemas/v3.0.0/resource/manifest.schema.json +++ b/schemas/v3.0.0/resource/manifest.schema.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -19,7 +19,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -40,7 +40,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -50,12 +50,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -65,8 +65,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -92,21 +92,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/purge.json" } diff --git a/schemas/v3.0.0/resource/manifest.set.json b/schemas/v3.0.0/resource/manifest.set.json index 264f44aeb..2d125927f 100644 --- a/schemas/v3.0.0/resource/manifest.set.json +++ b/schemas/v3.0.0/resource/manifest.set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -18,19 +18,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" } }, diff --git a/schemas/v3.0.0/resource/manifest.test.json b/schemas/v3.0.0/resource/manifest.test.json index 7c6da6813..061e41241 100644 --- a/schemas/v3.0.0/resource/manifest.test.json +++ b/schemas/v3.0.0/resource/manifest.test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -19,8 +19,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ diff --git a/schemas/v3.0.0/resource/manifest.validate.json b/schemas/v3.0.0/resource/manifest.validate.json index ce02469f4..730c96d6d 100644 --- a/schemas/v3.0.0/resource/manifest.validate.json +++ b/schemas/v3.0.0/resource/manifest.validate.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0.0/resource/manifest.whatIf.json b/schemas/v3.0.0/resource/manifest.whatIf.json index 4cb1122d5..a8a68627e 100644 --- a/schemas/v3.0.0/resource/manifest.whatIf.json +++ b/schemas/v3.0.0/resource/manifest.whatIf.json @@ -2,10 +2,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -18,19 +19,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/returnKind.json" } }, diff --git a/schemas/v3.0.0/resource/properties/exist.json b/schemas/v3.0.0/resource/properties/exist.json index f2f3232ed..6e03c1f15 100644 --- a/schemas/v3.0.0/resource/properties/exist.json +++ b/schemas/v3.0.0/resource/properties/exist.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ diff --git a/schemas/v3.0.0/resource/properties/purge.json b/schemas/v3.0.0/resource/properties/purge.json index 24d01c9ce..131451a20 100644 --- a/schemas/v3.0.0/resource/properties/purge.json +++ b/schemas/v3.0.0/resource/properties/purge.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3.0.0/resource/stdout/delete.json b/schemas/v3.0.0/resource/stdout/delete.json new file mode 100644 index 000000000..e122aff65 --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/delete.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/delete.json", + "title": "Delete resource operation stdout", + "description": "DSC does not expect the **Delete** operation for a resource to return any JSON to stdout.", + "type": "null" +} diff --git a/schemas/v3.0.0/resource/stdout/export.json b/schemas/v3.0.0/resource/stdout/export.json new file mode 100644 index 000000000..d66ebdd14 --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/export.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/export.json", + "title": "Export resource operation stdout", + "description": "Represents the actual state of a resource instance in DSC. DSC expects every JSON Line emitted to stdout for the **Export** operation to adhere to this schema.", + "type": "object" +} diff --git a/schemas/v3.0.0/resource/stdout/get.json b/schemas/v3.0.0/resource/stdout/get.json new file mode 100644 index 000000000..ea6487c89 --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/get.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/get.json", + "title": "Get resource operation stdout", + "description": "Represents the actual state of a resource instance in DSC. DSC expects the JSON Line emitted to stdout for the **Get** operation to adhere to this schema.", + "type": "object" +} diff --git a/schemas/v3.0.0/resource/stdout/list.json b/schemas/v3.0.0/resource/stdout/list.json new file mode 100644 index 000000000..7ffdc6c76 --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/list.json @@ -0,0 +1,69 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/list.json", + "title": "List resource operation stdout", + "description": "Defines the representation of an adapted resource in DSC. DSC expects every JSON Line emitted to stdout for the **List** operation to adhere to this schema.", + "type": "object", + "required": [ + "type", + "kind", + "version", + "capabilities", + "path", + "directory", + "implementedAs", + "properties", + "requireAdapter" + ], + "properties": { + "type": { + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json" + }, + "kind": { + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceKind.json" + }, + "version": { + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/semver.json" + }, + "capabilities": { + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceCapabilities.json" + }, + "path": { + "title": "Path", + "description": "Indicates the path to the adapted resource on the file system.", + "type": "string" + }, + "directory": { + "title": "Directory", + "description": "Indicates the path to the folder containing the adapted resource on the file system." + }, + "implementedAs": { + "title": "Custom implementation name", + "description": "Indicates that the adapted resource uses a custom implementation. The name can be used to distinguish between different implementations for the adapted resources.", + "type": "string" + }, + "author": { + "title": "Author", + "description": "Indicates the name of the person or organization that developed and maintains the adapted Resource.", + "type": [ + "string", + "null" + ], + "pattern": "^\\w+( \\w+)*" + }, + "properties": { + "title": "Properties", + "description": "Defines the adapted resource's property names.", + "type": "array", + "items": { + "type": "string", + "pattern": "^\\w+$" + } + }, + "requireAdapter": { + "title": "Required adapter", + "description": "Defines the fully qualified type name of the adapter that the adapted resource depends on. An adapter should always set this value to its own fully qualified resource type name.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/definitions/resourceType.json" + } + } +} diff --git a/schemas/v3.0.0/resource/stdout/resolve.json b/schemas/v3.0.0/resource/stdout/resolve.json new file mode 100644 index 000000000..9ca4b3517 --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/resolve.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/resolve.json", + "title": "Resolve resource operation stdout", + "description": "Defines the representation of a resolved configuration document. DSC expects the JSON Line emitted to stdout for the **Resolve** operation to adhere to this schema.", + "type": "object", + "required": [ + "configuration" + ], + "properties": { + "configuration": { + "title": "Resolved configuration document", + "description": "Defines the resolved configuration document.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0.0/config/document.json" + }, + "parameters": { + "title": "Resolved parameters", + "description": "The `parameters` property defines the set of resolved parameter values for the resolved configuration document.", + "type": "object" + } + } +} diff --git a/schemas/v3.0.0/resource/stdout/schema.json b/schemas/v3.0.0/resource/stdout/schema.json new file mode 100644 index 000000000..2326dd215 --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/schema.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/schema.json", + "title": "Schema resource command stdout", + "description": "Represents the JSON Schema that validates instances of the resource. DSC expects a resource that defines the `schema.command` field in its resource manifest to return this value for that command.", + "type": "object", + "required": [ + "$schema", + "type", + "properties" + ] +} diff --git a/schemas/v3.0.0/resource/stdout/set.json b/schemas/v3.0.0/resource/stdout/set.json new file mode 100644 index 000000000..1c0dd2b1f --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/set.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/set.json", + "title": "Set resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation.", + "oneOf": [ + { + "title": "Null output", + "description": "When a command resource doesn't define `set.return` in its resource manifest, DSC doesn't expect the resource to emit any JSON to stdout for the **Set** operation.", + "type": "null" + }, + { + "title": "state output", + "description": "When a resource defines `set.return` in its manifest as `state` or `stateAndDiff`, DSC expects the resource to emit a JSON Line to stdout representing the actual state of the resource instance after the **Set** operation changes the system.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `set.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} diff --git a/schemas/v3.0.0/resource/stdout/test.json b/schemas/v3.0.0/resource/stdout/test.json new file mode 100644 index 000000000..afbd9d587 --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/test.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/test.json", + "title": "Test resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Test** operation.", + "oneOf": [ + { + "title": "state output", + "description": "For the **Test** operation, DSC always expects the resource to emit a JSON Line to stdout representing the actual state of the resource instance with the `_inDesiredState` canonical resource property included in the returned object.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `test.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} diff --git a/schemas/v3.0.0/resource/stdout/validate.json b/schemas/v3.0.0/resource/stdout/validate.json new file mode 100644 index 000000000..806100a9e --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/validate.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/validate.json", + "title": "Validate resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Validate** operation.", + "type": "object", + "required": [ + "valid" + ], + "properties": { + "valid": { + "title": "Instance validity", + "description": "Indicates whether the instance is valid for the resource." + }, + "reason": { + "title": "Reason instance is invalid", + "description": "Describes how and why the instance is invalid for the resource." + } + } +} diff --git a/schemas/v3.0.0/resource/stdout/whatIf.json b/schemas/v3.0.0/resource/stdout/whatIf.json new file mode 100644 index 000000000..ddc339ba3 --- /dev/null +++ b/schemas/v3.0.0/resource/stdout/whatIf.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/stdout/whatIf.json", + "title": "Set (what-if mode) resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation in what-if mode.", + "oneOf": [ + { + "title": "state output", + "description": "When a resource defines `whatIf.return` in its manifest as `state` or `stateAndDiff`, DSC expects the resource to emit a JSON Line to stdout representing the predicted actual state of the resource instance after the **Set** operation changes the system.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `whatIf.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} diff --git a/schemas/v3.0/bundled/config/document.json b/schemas/v3.0/bundled/config/document.json index 7982f98ef..5ce5b6d78 100644 --- a/schemas/v3.0/bundled/config/document.json +++ b/schemas/v3.0/bundled/config/document.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", "type": "object", "required": [ "$schema", @@ -11,23 +11,32 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -40,10 +49,10 @@ "type": "object" }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/config/document.resource.json" } @@ -57,7 +66,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", + "description": "Defines a runtime option for a DSC configuration document.", "type": "object", "required": [ "type" @@ -284,8 +293,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.resource.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -300,7 +309,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -310,7 +319,7 @@ }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object" } } @@ -356,7 +365,7 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/parameters/validValueTypes.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", @@ -368,8 +377,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -377,7 +386,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 diff --git a/schemas/v3.0/bundled/config/document.vscode.json b/schemas/v3.0/bundled/config/document.vscode.json index 284a0377f..901f48643 100644 --- a/schemas/v3.0/bundled/config/document.vscode.json +++ b/schemas/v3.0/bundled/config/document.vscode.json @@ -1,9 +1,9 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDescribes a valid DSC Configuration Document.\n\nDSC Configurations enable users to define state by combining different DSC Resources. A\nconfiguration document uses parameters and variables to pass to a set of one or more resources\nthat define a desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true\n", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDescribes a valid DSC configuration document.\n\nDSC configurations enable users to define state by combining different DSC resources. A\nconfiguration document uses parameters and variables to pass to a set of one or more resources\nthat define a desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -12,35 +12,53 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be the canonical URL of the DSC Configuration Document schema that the\ndocument is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../config/document.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n \n```yaml\n.../bundled/config/document.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/config/document.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the URI that resolves to the version of this schema that the\ndocument adheres to. DSC uses this property when validating and processing the configuration\ndocument.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../config/document.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n \n```yaml\n.../bundled/config/document.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/config/document.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3.0` non-bundled\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3.0` bundled\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3.0` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -112,14 +130,14 @@ ] }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/config/document.resource.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC Resource instances for the configuration to manage.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#resources\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC resource instances for the configuration to manage.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#resources\n" }, "metadata": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/config/document.metadata.json" @@ -136,8 +154,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a runtime option for a DSC Configuration Document.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/parameter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines a runtime option for a DSC configuration document.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a runtime option for a DSC configuration document.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/parameter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "type" @@ -400,8 +418,8 @@ "document.resource.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -416,7 +434,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -431,20 +449,20 @@ } ] }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC Resource instances that DSC must successfully process before processing\nthis instance. Each value for this property must be the `resourceID()` lookup for another\ninstance in the configuration. Multiple instances can depend on the same instance, but every\ndependency for an instance must be unique in that instance's `dependsOn` property.\n\nThe `resourceID()` function uses this syntax:\n\n```yaml\n\"[resourceId('', '']\"\n```\n\nThe `` value is the `type` property of the dependent resource and\n`` is the dependency's `name` property. When adding a dependency in a\nYAML-format configuration document, always wrap the `resourceID()` lookup in double quotes\n(`\"`).\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC resource instances that DSC must successfully process before processing\nthis instance. Each value for this property must be the `resourceID()` lookup for another\ninstance in the configuration. Multiple instances can depend on the same instance, but every\ndependency for an instance must be unique in that instance's `dependsOn` property.\n\nThe `resourceID()` function uses this syntax:\n\n```yaml\n\"[resourceId('', '']\"\n```\n\nThe `` value is the `type` property of the dependent resource and\n`` is the dependency's `name` property. When adding a dependency in a\nYAML-format configuration document, always wrap the `resourceID()` lookup in double quotes\n(`\"`).\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the properties of the DSC Resource this instance manages. This property's value must\nbe an object. DSC validates the property's value against the DSC Resource's schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the properties of the DSC resource this instance manages. This property's value must\nbe an object. DSC validates the property's value against the DSC resource's schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an instance of a DSC Resource in a configuration.\n\nThe `resources` property of a DSC Configuration document always includes at least one DSC Resource\ninstance. Together, the instances in a configuration define the desired state that DSC can get,\ntest, and set on a machine.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an instance of a DSC resource in a configuration.\n\nThe `resources` property of a DSC configuration document always includes at least one DSC resource\ninstance. Together, the instances in a configuration define the desired state that DSC can get,\ntest, and set on a machine.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " New resource instance", - "markdownDescription": "Defines a new instance of a DSC Resource for the configuration.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\nproperties:\n propertyName: propertyValue\n```", + "markdownDescription": "Defines a new instance of a DSC resource for the configuration.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\nproperties:\n propertyName: propertyValue\n```", "body": { "type": "${1:owner[.group][.area]/name}", "name": "${2:instance_name}", @@ -455,7 +473,7 @@ }, { "label": " New dependent resource instance", - "markdownDescription": "Defines a new instance of a DSC Resource for the configuration that depends on another\ninstance.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\ndependsOn:\n - \"[resourceId('dependencyInstance/Type', 'dependencyInstanceName')]\"\nproperties:\n propertyName: propertyValue\n```", + "markdownDescription": "Defines a new instance of a DSC resource for the configuration that depends on another\ninstance.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\ndependsOn:\n - \"[resourceId('dependencyInstance/Type', 'dependencyInstanceName')]\"\nproperties:\n propertyName: propertyValue\n```", "body": { "type": "${1:owner[.group][.area]/name}", "name": "${2:instance_name}", @@ -549,7 +567,7 @@ "markdownEnumDescriptions": [ "_Strings are an arbitrary set of text._\n\n> To define a long strings in YAML, use the folded block syntax or literal block syntax by\n> adding a `>` or `|` and a line break after the key. Then, indent the next line. Every line\n> in the string must start at the same level of indentation. You can trim the trailing\n> whitespace by using `>-` or `|-` instead.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#strings\n", "_Secure strings are text that needs to be handled securely._\n\n> Secure strings are an arbitrary set of text that DSC and integrating tools shouldn't log or\n> record. If a secure data type parameter is used for a resource instance property that doesn't\n> expect a secure value, the resource may still log or record the value. If the resource has\n> independent logging or recording that isn't handled by DSC, the value may be stored\n> insecurely.\n>\n> Use secure strings for passwords and secrets. Never define a default value for secure string\n> parameters.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#secure-strings-and-objects\n", - "_Integer values are numbers without a fractional part._\n\n> Integer values may be limited by integrating tools or the DSC Resources they're used with.\n> DSC itself supports integer values between `-9223372036854775808` and `9223372036854775807`.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#integers\n", + "_Integer values are numbers without a fractional part._\n\n> Integer values may be limited by integrating tools or the DSC resources they're used with.\n> DSC itself supports integer values between `-9223372036854775808` and `9223372036854775807`.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#integers\n", "_Boolean values are either `true` or `false`._\n\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#booleans\n", "_Objects define a set of key-value pairs._\n\n> The value for each key can be any valid data type. The values can be the same type or\n> different types.\n>\n> Access keys in the object using dot-notation. Dot-notation uses this syntax:\n>\n> ```yaml\n> \"[parameters('').]\n> ```\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#objects\n", "_Secure objects are key-value pairs that need to be handled securely._\n\n> Secure objects define a set of key-value pairs that DSC and integrating tools shouldn't log\n> or record. If a secure data type parameter is used for a resource instance property that\n> doesn't expect a secure value, the resource may still log or record the value. If the\n> resource has independent logging or recording that isn't handled by DSC, the value may be\n> stored insecurely.\n>\n> Never define a default value for secure object parameters.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#secure-strings-and-objects\n", @@ -559,7 +577,7 @@ "validValueTypes.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", @@ -572,23 +590,23 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "instanceName.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" } }, "metadata": { diff --git a/schemas/v3.0/bundled/outputs/config/get.json b/schemas/v3.0/bundled/outputs/config/get.json index de5ee45e9..b914276f2 100644 --- a/schemas/v3.0/bundled/outputs/config/get.json +++ b/schemas/v3.0/bundled/outputs/config/get.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -285,7 +270,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -294,7 +279,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -305,7 +290,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -313,7 +298,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0/bundled/outputs/config/get.vscode.json b/schemas/v3.0/bundled/outputs/config/get.vscode.json index 7569418b9..09f6eca64 100644 --- a/schemas/v3.0/bundled/outputs/config/get.vscode.json +++ b/schemas/v3.0/bundled/outputs/config/get.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -263,7 +247,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -275,7 +259,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/message.json" @@ -285,7 +269,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -302,28 +286,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -334,7 +318,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -342,7 +326,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0/bundled/outputs/config/set.json b/schemas/v3.0/bundled/outputs/config/set.json index c41d0a817..47dc93a0e 100644 --- a/schemas/v3.0/bundled/outputs/config/set.json +++ b/schemas/v3.0/bundled/outputs/config/set.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -287,17 +272,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -310,7 +295,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -321,7 +306,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -329,7 +314,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0/bundled/outputs/config/set.vscode.json b/schemas/v3.0/bundled/outputs/config/set.vscode.json index bb2a49bdd..24aba796f 100644 --- a/schemas/v3.0/bundled/outputs/config/set.vscode.json +++ b/schemas/v3.0/bundled/outputs/config/set.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -265,17 +249,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -291,7 +275,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/message.json" @@ -301,7 +285,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -318,28 +302,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -350,7 +334,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -358,7 +342,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0/bundled/outputs/config/test.json b/schemas/v3.0/bundled/outputs/config/test.json index f2b0030b1..9892bbb56 100644 --- a/schemas/v3.0/bundled/outputs/config/test.json +++ b/schemas/v3.0/bundled/outputs/config/test.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -288,12 +273,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -303,7 +288,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -316,7 +301,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -327,7 +312,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -335,7 +320,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0/bundled/outputs/config/test.vscode.json b/schemas/v3.0/bundled/outputs/config/test.vscode.json index 53a076507..a063508ca 100644 --- a/schemas/v3.0/bundled/outputs/config/test.vscode.json +++ b/schemas/v3.0/bundled/outputs/config/test.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -266,12 +250,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -281,7 +265,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -297,7 +281,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/message.json" @@ -307,7 +291,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -324,28 +308,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -356,7 +340,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -364,7 +348,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0/bundled/outputs/resource/get.json b/schemas/v3.0/bundled/outputs/resource/get.json index 46cc9cef5..274c9a07b 100644 --- a/schemas/v3.0/bundled/outputs/resource/get.json +++ b/schemas/v3.0/bundled/outputs/resource/get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -27,7 +27,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -88,7 +88,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -96,28 +96,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json", - "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3.0/bundled/outputs/resource/get.vscode.json b/schemas/v3.0/bundled/outputs/resource/get.vscode.json index 9d2904cdc..6b12e9103 100644 --- a/schemas/v3.0/bundled/outputs/resource/get.vscode.json +++ b/schemas/v3.0/bundled/outputs/resource/get.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -34,7 +34,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -65,23 +65,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json" } } - }, - "get.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json", - "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.full.json" - } - } - ] } } }, @@ -129,21 +112,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3.0/bundled/outputs/resource/list.json b/schemas/v3.0/bundled/outputs/resource/list.json index 5a4be08ca..8bc72b5e6 100644 --- a/schemas/v3.0/bundled/outputs/resource/list.json +++ b/schemas/v3.0/bundled/outputs/resource/list.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json" @@ -113,8 +98,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -122,13 +107,13 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json": { @@ -140,11 +125,31 @@ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "$comment": "A valid semantic version ([semver][01]) string.\n\nThis value uses the [suggested regular expression][02] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://semver.org/\n[02]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceCapabilities.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ] + } + }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -154,19 +159,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -174,12 +188,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -224,7 +238,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" @@ -299,7 +313,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" @@ -366,7 +380,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -382,19 +396,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" } }, @@ -449,10 +463,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -465,19 +480,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" } }, @@ -532,7 +547,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -549,8 +564,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ @@ -604,7 +620,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" @@ -671,7 +687,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" @@ -738,7 +754,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" @@ -805,7 +821,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" @@ -872,7 +888,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -881,7 +897,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -896,7 +912,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, @@ -930,7 +946,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -947,7 +963,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -968,7 +984,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -978,12 +994,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -993,8 +1009,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -1020,21 +1036,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/purge.json" } @@ -1186,14 +1202,13 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ @@ -1216,7 +1231,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3.0/bundled/outputs/resource/list.vscode.json b/schemas/v3.0/bundled/outputs/resource/list.vscode.json index 2b15a2241..c51c5ee4e 100644 --- a/schemas/v3.0/bundled/outputs/resource/list.vscode.json +++ b/schemas/v3.0/bundled/outputs/resource/list.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json" @@ -119,31 +104,31 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "resourceKind.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the resource is a normal DSC Resource, a group resource, or an adapter\nresource. This property is only required for group resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `Adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `Resource`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should interpret the resource - as a typical resource, an adapter, a group, or an\nimporter. This property is required for group, exporter, and importer resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `resource`.\n\nFor more information about the different kinds of DSC resources, see [DSC resource kinds][01]\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\nIndicates that the manifest is for a standard command-based DSC Resource.\n", - "\n\nIndicates that the manifest is for an adapter resource that enables the use of\nnon-command-based resources with DSC.\n", - "\n\nIndicates that the manifest is for a group resource that processes an array of nested\nresource instances.\n", - "\n\nIndicates that the manifest is for an import resource that resolves an external source to DSC\nresource instances. The resolved instances are processed as nested instances for the import\nresource.\n" + "\n\nIndicates that the manifest is for a typical DSC command resource.\n", + "\n\nIndicates that the manifest is for a resource that enables the use of non-command resources\nwith DSC.\n", + "\n\nIndicates that the manifest is for a resource that processes an array of nested resource\ninstances.\n", + "\n\nIndicates that the manifest is for a resource that resolves an external source to DSC\nresource instances. DSC processes the resolved instances as nested instances for the importer\nresource.\n" ] }, "semver.json": { @@ -156,6 +141,37 @@ "patternErrorMessage": "Invalid value, must be a semantic version like `..`, such as `1.2.3`.\n\nThe value may also include pre-release version information and build metadata.\n", "$comment": "A valid semantic version ([semver][01]) string.\n\nThis value uses the [suggested regular expression][02] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://semver.org/\n[02]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, + "resourceCapabilities.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDSC resources always have at least one capability. Resource capabilities define the operations\nyou can invoke for a resource and how the resource behaves when invoked.\n\nFor more information about the operations you can invoke for a resource, see\n[DSC resource operations][01].\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ], + "markdownEnumDescriptions": [ + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `get` capability supports retrieving the current state of an instance\nwith the [Get][01] operation.\n\nA command resource has this capability when its resource manifest defines the [get][02]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#get\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#get-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `set` capability supports enforcing the desired state of an instance with\nthe [Set][01] operation. Resources without this capability can't be used with the\n[dsc resource set][02] or [dsc config set][03] commands unless they're defined in a\n`Microsoft.DSC/Assertion` group as a nested instance.\n\nA command resource has this capability when its resource manifest defines the [set][04]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#set\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/cli/config/set?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `setHandlesExist` capability indicates that you can use the [Set][01]\noperation to delete an instance. Resources with this capability must have the [_exist][02]\ncanonical resource property. Resources that don't have the `_exist` property never have this\ncapability.\n\nWhen a resource has the `_exist` property but not the `setHandlesExist` capability:\n\n- If the resource has the `delete` capability, DSC invokes the [Delete][03] operation instead\n of **Set** when the desired state for an instance defines `_exist` as false.\n- If the resource doesn't have the `delete` capability, DSC raises an error during a **Set**\n operation when the desired state for an instance defines `_exist` as false.\n\nA command resource has this capability when its resource manifest defines the\n[set.handlesExist][04] subproperty as `true`.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#sethandlesexist\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/existview=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#delete-operation\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/setview=dsc-3.0&preserve-view=true#handlesexist", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `whatIf` capability indicates that you can use the [Set][01] operation in\nwhat-if mode to have the resource return explicit information about how it would modify state\nin an actual **Set** operation.\n\nWhen a resource doesn't have this capability, DSC synthesizes how the resource would change\nan instance by converting the **Test** result for the instance into a **Set** result. The\nsynthetic operation can't indicate potential issues or changes that can't be determined by\ncomparing the result of the **Test** operation against the resource's desired state. For\nexample, the credentials used to test a resource might be valid for that operation, but not\nhave permissions to actually modify the system state. Only a resource with this capability\ncan fully report whether and how the resource would change system state.\n\nA resource has this capability when it defines the [whatIf][02] property.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#whatif\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `test` capability indicates that it implements the [Test][01] operation\ndirectly. Resources with this capability must have the [_inDesiredState][02] canonical\nresource property. Resources that don't have the `_inDesiredState` property never have this\ncapability.\n\nWhen a resource doesn't have this capability, DSC uses a synthetic test for instances of the\nresource. DSC performs the synthetic test by:\n\n1. Invoking the **Get** operation on the resource to retrieve the actual state of the\n instance.\n1. Synthetically testing each property for the desired state of an instance against the\n actual state returned. The synthetic test uses strict, case-sensitive equivalence.\n1. If the desired state for a property and the actual state aren't the same, DSC marks the\n property as out of the desired state.\n1. If any properties are out of the desired state, DSC reports the entire instance as not\n being in the desired state.\n\nSynthetic testing can't account for all resource behaviors. For example, if a package\nresource allows users to define a version range for the package, the **Get** operation\nreturns the actual version of the package, like `1.2.3`. If the user specified the version\nrange `~1` (NPM syntax indicating the package should be latest released semantic version with\nmajor version `1`), DSC would compare the desired state `~1` against the actual state `1.2.3`\nand consider the package to be in the incorrect state, even if `1.2.3` is actually the latest\nrelease matching the version pin.\n\nAny resource that has properties which can't use a strict case-sensitive comparison check\nshould have this capability.\n\nA command resource has this capability when its resource manifest defines the [test][03]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#test\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#test-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/inDesiredState?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `delete` capability supports removing an instance with the [Delete][01]\noperation and the [dsc resource delete][02] command.\n\nThis capability isn't mutually exclusive with the `setHandlesExist` property. A resource can handle\nthe `_exist` property in **Set** operations and be called directly with `dsc resource delete` to\nremove an instance.\n\nFor resources with the `delete` capability and the [_exist][03] canonical resource property:\n\n- If the resource doesn't have the `setHandlesExist` capability, DSC invokes the **Delete**\n operation for the resource instead of **Set** when the desired state defines `_exist` as\n `false`.\n- If the resource does have the `setHandlesExist` capability, DSC invokes the **Set** operation for\n the resource when the desired state defines `_exist` as `false`.\n\nResources with the `delete` capability that don't have the `_exist` canonical resource property\nmust implement their **Set** operation to handle removing instances. DSC can't infer existence\nsemantics without the `_exist` property.\n\nA command resource has this capability when its resource manifest defines the [delete][04]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#delete\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#delete-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/delete?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `export` capability supports enumerating every instance of the resource\nwith the [Export][01] operation.\n\nYou can use resources with this capability with the following commands:\n\n- [dsc config export][02] to return a configuration document representing the actual state\n for every instance of each resource defined in the input document.\n- [dsc resource export][03] to return a configuration document representing the actual state\n for every instance of the input resource.\n- `dsc resource get` with the [--all][04] option to return the actual state of every instance\n of the input resource.\n\nA command resource has this capability when its resource manifest defines the [export][05]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#export\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#export-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/config/export?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/export?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/get?view=dsc-3.0&preserve-view=true#--all\n[05]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `resolve` capability supports resolving nested resource instances from an\nexternal source. This capability is primarily used by [importer resources][01] to enable users to\ncompose configuration documents.\n\nA command resource has this capability when its resource manifest defines the [resolve][0220]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#resolve\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true#importer-resources\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true" + ] + } + }, "commandExecutable.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/commandExecutable.json", @@ -244,7 +260,6 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } }, @@ -252,9 +267,9 @@ "manifest.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a command-based DSC\nResource. For DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a DSC command resource.\nFor DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define a resource", @@ -353,7 +368,7 @@ }, { "label": " Define a resource (adapter)", - "markdownDescription": "Defines an adapter resource that enables users to define non-command-based DSC Resources in\nthe configuration.", + "markdownDescription": "Defines an adapter resource that enables users to define non-command DSC resources in the\nconfiguration.", "body": { "${escape_dollar:$}schema": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", "type": "${1:owner.area.group}/${2:${TM_FILENAME_BASE/^(.*?)[\\.]dsc[\\.]resource/$1/}}", @@ -487,31 +502,49 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be one of the canonical URLs for the version of the Command-based DSC\nResource Manifest schema that the manifest is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the canonical URI of this schema that the manifest validates\nagainst. This property is mandatory. DSC uses this value to validate the manifest against the\ncorrect JSON schema.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3.0` non-bundled\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3.0` bundled\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3.0` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema.\n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema.\n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "type": { @@ -519,15 +552,15 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC Resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC Resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" }, "kind": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/resourceKind.json" @@ -573,7 +606,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$", @@ -598,7 +631,7 @@ "4": "JSON serialization failed" } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC Resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC Resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", "defaultSnippets": [ { "label": " Defined exit codes", @@ -661,8 +694,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of an instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of an instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Get resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/get?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -768,8 +801,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to set the desired state of an instance and how to\nprocess the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to set the desired state of an instance and how to\nprocess the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Set resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/set?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -788,23 +821,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC Resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's state after the set\noperation or the state and an array of the properties the DSC Resource modified.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's state after the set\noperation or the state and an array of the properties the DSC resource modified.\n\nWhen a manifest doesn't define `set.return`, DSC doesn't expect the resource to emit any\nJSON to stdout. Instead, DSC invokes the **Get** operation for the resource to construct\nthe result object, retrieving the actual state of the resource after the **Set** operation.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's final state after the set\n> operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's final state and an array of property\n> names that the resource modified.\n" @@ -904,11 +937,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC Resource. If a resource doesn't\ndefine this method in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][02].\n\nThis method definition has the same structure as the [set method][03] in the resource manifest.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC resource. If a resource doesn't\ndefine this command in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][01].\n\nThis command definition has the same structure as the [set command][02] in the resource manifest.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[What-if resource operation stdout][03].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/whatif?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -924,23 +958,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC Resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC Resource\nwould modify.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC resource\nwould modify.\n\nUnlike the `set.return` property, you must specify a value for `whatIf.return` for the\nresource to function correctly. When you don't define `set.return` in your resource manifest,\nDSC invokes the **Get** operation on the resource after the **Set** operation to construct\nthe result with the final state of the resource.\n\nFor what-if operations, the resource doesn't actually change the system, so invoking the\n**Get** operation after the what-if command executes will always show the final state to\nbe the same as the before state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's expected final state after the\n> set operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's expected final state and an array of\n> property names that the resource would modify.\n" @@ -1040,8 +1074,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to test if an instance is in the desired state and how\nto process the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to test if an instance is in the desired state and how\nto process the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Test resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/test?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1061,9 +1095,10 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", + "default": "state", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Actual state only_\n\n> Indicates that the resource returns only the instance's actual state as a JSON blob.\n", "_Actual state and differing properties_\n\n> Indicates that the resource returns the instance's actual state and an array of\n> property names that are out of the desired state.\n" @@ -1160,8 +1195,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][02] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][03] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][02] property in the [JSON schema for the resource's properties][04].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][01] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][02] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][01] property in the [JSON schema for the resource's properties][03].\n\nDSC doesn't expect this command to return any output to stdout.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1267,8 +1302,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of every instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of every instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Export resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/export?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1374,8 +1409,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to validate the state of an instance. This method is\nmandatory for DSC Group Resources. It's ignored for all other DSC Resources.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to validate the state of an instance. This method is\nmandatory for DSC group resources. It's ignored for all other DSC resources.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Validate resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/validate?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1481,8 +1516,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to resolve an external source to nested DSC\nConfiguration Document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `Import`.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to resolve an external source to nested DSC\nconfiguration document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `importer`.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Resolve resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", "type": "object", "required": [ "executable" @@ -1588,8 +1623,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "list", @@ -1598,8 +1633,8 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource adapter to list its supported DSC resources.\n\nFor more information about the output DSC expects from the resource for this command,\nsee [List resource operation stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/list?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1615,7 +1650,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources.", + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources.", "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"registry\",\n \"args\": [\"resources\", \"list\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nregistry resources list\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#args\n" } } @@ -1680,7 +1715,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -1697,7 +1732,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -1717,7 +1752,7 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"myresource\",\n \"args\": [\"schema\", \"show\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nmyresource schema show\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#args\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Schema resource command stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/schema?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define without arguments", @@ -1740,8 +1775,8 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -1751,13 +1786,13 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -1765,7 +1800,7 @@ "https://json-schema.org/draft/2019-09/schema", "http://json-schema.org/draft-07/schema#" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", "markdownEnumDescriptions": [ "_Draft 2020-12 (recommended)_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2020-12][01].\n>\n> This is the latest published draft of JSON Schema and is the draft future drafts\n> will be most compatible with.\n\n[01]: https://json-schema.org/specification-links.html#2020-12\n", "_Draft 2019-09_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2019-09][01].\n>\n> This is the previous published draft of JSON Schema. It's mostly compatible with\n> 2020-12, but less extensible and can't be bundled.\n\n[01]: https://json-schema.org/specification-links.html#draft-2019-09-formerly-known-as-draft-8\n", @@ -1773,11 +1808,11 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC Resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" }, "properties": { "title": "Instance Properties", @@ -1899,7 +1934,7 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json" }, @@ -1907,19 +1942,19 @@ }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/inDesiredState.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC Resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/purge.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_purge` property to specify\nwhether the DSC Resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_purge` property to specify\nwhether the DSC resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" }, "_rebootRequested": { "title": "Standard property: _rebootRequested", @@ -1927,7 +1962,7 @@ "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/rebootRequested.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" } }, "defaultSnippets": [ @@ -2016,7 +2051,7 @@ } } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC Resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define as command without arguments", diff --git a/schemas/v3.0/bundled/outputs/resource/schema.json b/schemas/v3.0/bundled/outputs/resource/schema.json index ce9e3aa74..c75b228c7 100644 --- a/schemas/v3.0/bundled/outputs/resource/schema.json +++ b/schemas/v3.0/bundled/outputs/resource/schema.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3.0/bundled/outputs/resource/schema.vscode.json b/schemas/v3.0/bundled/outputs/resource/schema.vscode.json index ce9e3aa74..c75b228c7 100644 --- a/schemas/v3.0/bundled/outputs/resource/schema.vscode.json +++ b/schemas/v3.0/bundled/outputs/resource/schema.vscode.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3.0/bundled/outputs/resource/set.json b/schemas/v3.0/bundled/outputs/resource/set.json index 850d3be7d..88d5349e3 100644 --- a/schemas/v3.0/bundled/outputs/resource/set.json +++ b/schemas/v3.0/bundled/outputs/resource/set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -29,17 +29,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -104,7 +104,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -112,28 +112,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json", - "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3.0/bundled/outputs/resource/set.vscode.json b/schemas/v3.0/bundled/outputs/resource/set.vscode.json index 970d73e9d..27dd4a8a0 100644 --- a/schemas/v3.0/bundled/outputs/resource/set.vscode.json +++ b/schemas/v3.0/bundled/outputs/resource/set.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -36,17 +36,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -81,23 +81,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json" } } - }, - "set.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json", - "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.full.json" - } - } - ] } } }, @@ -145,21 +128,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3.0/bundled/outputs/resource/test.json b/schemas/v3.0/bundled/outputs/resource/test.json index 3ebe16dd0..f96b10495 100644 --- a/schemas/v3.0/bundled/outputs/resource/test.json +++ b/schemas/v3.0/bundled/outputs/resource/test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -30,12 +30,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -45,7 +45,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -110,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -118,28 +118,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json", - "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3.0/bundled/outputs/resource/test.vscode.json b/schemas/v3.0/bundled/outputs/resource/test.vscode.json index 5104919c6..8fe88470b 100644 --- a/schemas/v3.0/bundled/outputs/resource/test.vscode.json +++ b/schemas/v3.0/bundled/outputs/resource/test.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -37,12 +37,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -52,7 +52,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -87,23 +87,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json" } } - }, - "test.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json", - "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.full.json" - } - } - ] } } }, @@ -151,21 +134,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3.0/bundled/outputs/schema.json b/schemas/v3.0/bundled/outputs/schema.json index 1690bf2e0..67aca4b9a 100644 --- a/schemas/v3.0/bundled/outputs/schema.json +++ b/schemas/v3.0/bundled/outputs/schema.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3.0/bundled/outputs/schema.vscode.json b/schemas/v3.0/bundled/outputs/schema.vscode.json index 1690bf2e0..67aca4b9a 100644 --- a/schemas/v3.0/bundled/outputs/schema.vscode.json +++ b/schemas/v3.0/bundled/outputs/schema.vscode.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3.0/bundled/resource/manifest.json b/schemas/v3.0/bundled/resource/manifest.json index 0b0f384bb..c74cbdb7f 100644 --- a/schemas/v3.0/bundled/resource/manifest.json +++ b/schemas/v3.0/bundled/resource/manifest.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -12,19 +12,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -32,12 +41,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -82,7 +91,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" @@ -156,8 +165,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -174,20 +183,20 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.get.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" @@ -254,7 +263,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -270,19 +279,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" } }, @@ -337,10 +346,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -353,19 +363,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" } }, @@ -420,7 +430,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -437,8 +447,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ @@ -492,7 +503,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" @@ -559,7 +570,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" @@ -626,7 +637,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" @@ -693,7 +704,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" @@ -760,7 +771,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -769,7 +780,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -784,7 +795,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, @@ -818,7 +829,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -835,7 +846,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -856,7 +867,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -866,12 +877,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -881,8 +892,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -908,21 +919,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/purge.json" } @@ -1074,14 +1085,13 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ @@ -1104,7 +1114,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3.0/bundled/resource/manifest.vscode.json b/schemas/v3.0/bundled/resource/manifest.vscode.json index da4875b24..0ec579fd7 100644 --- a/schemas/v3.0/bundled/resource/manifest.vscode.json +++ b/schemas/v3.0/bundled/resource/manifest.vscode.json @@ -1,9 +1,9 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a command-based DSC\nResource. For DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a DSC command resource.\nFor DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define a resource", @@ -102,7 +102,7 @@ }, { "label": " Define a resource (adapter)", - "markdownDescription": "Defines an adapter resource that enables users to define non-command-based DSC Resources in\nthe configuration.", + "markdownDescription": "Defines an adapter resource that enables users to define non-command DSC resources in the\nconfiguration.", "body": { "${escape_dollar:$}schema": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", "type": "${1:owner.area.group}/${2:${TM_FILENAME_BASE/^(.*?)[\\.]dsc[\\.]resource/$1/}}", @@ -236,31 +236,49 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be one of the canonical URLs for the version of the Command-based DSC\nResource Manifest schema that the manifest is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the canonical URI of this schema that the manifest validates\nagainst. This property is mandatory. DSC uses this value to validate the manifest against the\ncorrect JSON schema.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3.0` non-bundled\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3.0` bundled\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3.0` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema.\n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3.0` of the schema.\n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3.0` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "type": { @@ -268,15 +286,15 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC Resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC Resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" }, "kind": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/resourceKind.json" @@ -322,7 +340,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$", @@ -347,7 +365,7 @@ "4": "JSON serialization failed" } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC Resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC Resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", "defaultSnippets": [ { "label": " Defined exit codes", @@ -415,11 +433,11 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "semver.json": { @@ -436,20 +454,20 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the resource is a normal DSC Resource, a group resource, or an adapter\nresource. This property is only required for group resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `Adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `Resource`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should interpret the resource - as a typical resource, an adapter, a group, or an\nimporter. This property is required for group, exporter, and importer resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `resource`.\n\nFor more information about the different kinds of DSC resources, see [DSC resource kinds][01]\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\nIndicates that the manifest is for a standard command-based DSC Resource.\n", - "\n\nIndicates that the manifest is for an adapter resource that enables the use of\nnon-command-based resources with DSC.\n", - "\n\nIndicates that the manifest is for a group resource that processes an array of nested\nresource instances.\n", - "\n\nIndicates that the manifest is for an import resource that resolves an external source to DSC\nresource instances. The resolved instances are processed as nested instances for the import\nresource.\n" + "\n\nIndicates that the manifest is for a typical DSC command resource.\n", + "\n\nIndicates that the manifest is for a resource that enables the use of non-command resources\nwith DSC.\n", + "\n\nIndicates that the manifest is for a resource that processes an array of nested resource\ninstances.\n", + "\n\nIndicates that the manifest is for a resource that resolves an external source to DSC\nresource instances. DSC processes the resolved instances as nested instances for the importer\nresource.\n" ] }, "commandExecutable.json": { @@ -540,7 +558,6 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } }, @@ -549,8 +566,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of an instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of an instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Get resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/get?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -656,8 +673,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to set the desired state of an instance and how to\nprocess the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to set the desired state of an instance and how to\nprocess the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Set resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/set?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -676,23 +693,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC Resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's state after the set\noperation or the state and an array of the properties the DSC Resource modified.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's state after the set\noperation or the state and an array of the properties the DSC resource modified.\n\nWhen a manifest doesn't define `set.return`, DSC doesn't expect the resource to emit any\nJSON to stdout. Instead, DSC invokes the **Get** operation for the resource to construct\nthe result object, retrieving the actual state of the resource after the **Set** operation.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's final state after the set\n> operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's final state and an array of property\n> names that the resource modified.\n" @@ -792,11 +809,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC Resource. If a resource doesn't\ndefine this method in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][02].\n\nThis method definition has the same structure as the [set method][03] in the resource manifest.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC resource. If a resource doesn't\ndefine this command in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][01].\n\nThis command definition has the same structure as the [set command][02] in the resource manifest.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[What-if resource operation stdout][03].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/whatif?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -812,23 +830,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC Resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC Resource\nwould modify.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC resource\nwould modify.\n\nUnlike the `set.return` property, you must specify a value for `whatIf.return` for the\nresource to function correctly. When you don't define `set.return` in your resource manifest,\nDSC invokes the **Get** operation on the resource after the **Set** operation to construct\nthe result with the final state of the resource.\n\nFor what-if operations, the resource doesn't actually change the system, so invoking the\n**Get** operation after the what-if command executes will always show the final state to\nbe the same as the before state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's expected final state after the\n> set operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's expected final state and an array of\n> property names that the resource would modify.\n" @@ -928,8 +946,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to test if an instance is in the desired state and how\nto process the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to test if an instance is in the desired state and how\nto process the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Test resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/test?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -949,9 +967,10 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", + "default": "state", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Actual state only_\n\n> Indicates that the resource returns only the instance's actual state as a JSON blob.\n", "_Actual state and differing properties_\n\n> Indicates that the resource returns the instance's actual state and an array of\n> property names that are out of the desired state.\n" @@ -1048,8 +1067,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][02] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][03] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][02] property in the [JSON schema for the resource's properties][04].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][01] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][02] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][01] property in the [JSON schema for the resource's properties][03].\n\nDSC doesn't expect this command to return any output to stdout.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1155,8 +1174,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of every instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of every instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Export resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/export?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1262,8 +1281,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to validate the state of an instance. This method is\nmandatory for DSC Group Resources. It's ignored for all other DSC Resources.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to validate the state of an instance. This method is\nmandatory for DSC group resources. It's ignored for all other DSC resources.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Validate resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/validate?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1369,8 +1388,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to resolve an external source to nested DSC\nConfiguration Document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `Import`.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to resolve an external source to nested DSC\nconfiguration document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `importer`.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Resolve resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", "type": "object", "required": [ "executable" @@ -1476,8 +1495,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "list", @@ -1486,8 +1505,8 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource adapter to list its supported DSC resources.\n\nFor more information about the output DSC expects from the resource for this command,\nsee [List resource operation stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/list?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1503,7 +1522,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources.", + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources.", "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"registry\",\n \"args\": [\"resources\", \"list\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nregistry resources list\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#args\n" } } @@ -1568,7 +1587,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -1585,7 +1604,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -1605,7 +1624,7 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"myresource\",\n \"args\": [\"schema\", \"show\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nmyresource schema show\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#args\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Schema resource command stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/schema?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define without arguments", @@ -1628,8 +1647,8 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -1639,13 +1658,13 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -1653,7 +1672,7 @@ "https://json-schema.org/draft/2019-09/schema", "http://json-schema.org/draft-07/schema#" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", "markdownEnumDescriptions": [ "_Draft 2020-12 (recommended)_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2020-12][01].\n>\n> This is the latest published draft of JSON Schema and is the draft future drafts\n> will be most compatible with.\n\n[01]: https://json-schema.org/specification-links.html#2020-12\n", "_Draft 2019-09_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2019-09][01].\n>\n> This is the previous published draft of JSON Schema. It's mostly compatible with\n> 2020-12, but less extensible and can't be bundled.\n\n[01]: https://json-schema.org/specification-links.html#draft-2019-09-formerly-known-as-draft-8\n", @@ -1661,11 +1680,11 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC Resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" }, "properties": { "title": "Instance Properties", @@ -1787,7 +1806,7 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json" }, @@ -1795,19 +1814,19 @@ }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/inDesiredState.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC Resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/purge.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_purge` property to specify\nwhether the DSC Resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_purge` property to specify\nwhether the DSC resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" }, "_rebootRequested": { "title": "Standard property: _rebootRequested", @@ -1815,7 +1834,7 @@ "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/rebootRequested.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" } }, "defaultSnippets": [ @@ -1904,7 +1923,7 @@ } } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC Resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define as command without arguments", diff --git a/schemas/v3.0/config/document.json b/schemas/v3.0/config/document.json index b27100bbf..3186d8063 100644 --- a/schemas/v3.0/config/document.json +++ b/schemas/v3.0/config/document.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", "type": "object", "required": [ "$schema", @@ -11,23 +11,32 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -40,10 +49,10 @@ "type": "object" }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/config/document.resource.json" } diff --git a/schemas/v3.0/config/document.parameter.json b/schemas/v3.0/config/document.parameter.json index 4e9240bb5..ef444400e 100644 --- a/schemas/v3.0/config/document.parameter.json +++ b/schemas/v3.0/config/document.parameter.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", + "description": "Defines a runtime option for a DSC configuration document.", "type": "object", "required": [ "type" diff --git a/schemas/v3.0/config/document.resource.json b/schemas/v3.0/config/document.resource.json index 14c9341f6..09a077184 100644 --- a/schemas/v3.0/config/document.resource.json +++ b/schemas/v3.0/config/document.resource.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -17,7 +17,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -27,7 +27,7 @@ }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object" } } diff --git a/schemas/v3.0/definitions/hadErrors.json b/schemas/v3.0/definitions/hadErrors.json index 68c4024ab..6c0a05aba 100644 --- a/schemas/v3.0/definitions/hadErrors.json +++ b/schemas/v3.0/definitions/hadErrors.json @@ -2,6 +2,6 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" } diff --git a/schemas/v3.0/definitions/instanceName.json b/schemas/v3.0/definitions/instanceName.json index fb9151a90..9a591bdf1 100644 --- a/schemas/v3.0/definitions/instanceName.json +++ b/schemas/v3.0/definitions/instanceName.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 diff --git a/schemas/v3.0/definitions/message.json b/schemas/v3.0/definitions/message.json index ece7e676e..919bf4504 100644 --- a/schemas/v3.0/definitions/message.json +++ b/schemas/v3.0/definitions/message.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -13,7 +13,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -21,7 +21,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3.0/definitions/messages.json b/schemas/v3.0/definitions/messages.json index 95c2c412b..b07bdecc7 100644 --- a/schemas/v3.0/definitions/messages.json +++ b/schemas/v3.0/definitions/messages.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/message.json" diff --git a/schemas/v3.0/definitions/parameters/validValueTypes.json b/schemas/v3.0/definitions/parameters/validValueTypes.json index fb9295f89..e5e5f6c1c 100644 --- a/schemas/v3.0/definitions/parameters/validValueTypes.json +++ b/schemas/v3.0/definitions/parameters/validValueTypes.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", diff --git a/schemas/v3.0/definitions/resourceCapabilities.json b/schemas/v3.0/definitions/resourceCapabilities.json new file mode 100644 index 000000000..c216affd6 --- /dev/null +++ b/schemas/v3.0/definitions/resourceCapabilities.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ] + } +} diff --git a/schemas/v3.0/definitions/resourceKind.json b/schemas/v3.0/definitions/resourceKind.json index ac8417b2c..91389a6ab 100644 --- a/schemas/v3.0/definitions/resourceKind.json +++ b/schemas/v3.0/definitions/resourceKind.json @@ -2,12 +2,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] } diff --git a/schemas/v3.0/definitions/resourceType.json b/schemas/v3.0/definitions/resourceType.json index e3670520f..1a649fffe 100644 --- a/schemas/v3.0/definitions/resourceType.json +++ b/schemas/v3.0/definitions/resourceType.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" } diff --git a/schemas/v3.0/definitions/returnKind.json b/schemas/v3.0/definitions/returnKind.json index ebe474f15..191d6dfd5 100644 --- a/schemas/v3.0/definitions/returnKind.json +++ b/schemas/v3.0/definitions/returnKind.json @@ -7,6 +7,5 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } diff --git a/schemas/v3.0/metadata/configurationDocumentResult.json b/schemas/v3.0/metadata/configurationDocumentResult.json index ff8ff11ce..b225f03e6 100644 --- a/schemas/v3.0/metadata/configurationDocumentResult.json +++ b/schemas/v3.0/metadata/configurationDocumentResult.json @@ -19,8 +19,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -43,9 +42,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3.0/metadata/Microsoft.DSC/context.json" } } } diff --git a/schemas/v3.0/outputs/config/get.json b/schemas/v3.0/outputs/config/get.json index a1fafd7c7..9f8eb3f82 100644 --- a/schemas/v3.0/outputs/config/get.json +++ b/schemas/v3.0/outputs/config/get.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.full.json" diff --git a/schemas/v3.0/outputs/config/set.json b/schemas/v3.0/outputs/config/set.json index e61b7d822..9606e1112 100644 --- a/schemas/v3.0/outputs/config/set.json +++ b/schemas/v3.0/outputs/config/set.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.full.json" diff --git a/schemas/v3.0/outputs/config/test.json b/schemas/v3.0/outputs/config/test.json index 6c6548771..606e7fafb 100644 --- a/schemas/v3.0/outputs/config/test.json +++ b/schemas/v3.0/outputs/config/test.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.full.json" diff --git a/schemas/v3.0/outputs/resource/get.json b/schemas/v3.0/outputs/resource/get.json index 3ec064fe9..66e62f7d8 100644 --- a/schemas/v3.0/outputs/resource/get.json +++ b/schemas/v3.0/outputs/resource/get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json" diff --git a/schemas/v3.0/outputs/resource/get.simple.json b/schemas/v3.0/outputs/resource/get.simple.json index 1438571dc..1c21fe7ed 100644 --- a/schemas/v3.0/outputs/resource/get.simple.json +++ b/schemas/v3.0/outputs/resource/get.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -10,7 +10,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } diff --git a/schemas/v3.0/outputs/resource/list.json b/schemas/v3.0/outputs/resource/list.json index 15696a69d..f52a407cd 100644 --- a/schemas/v3.0/outputs/resource/list.json +++ b/schemas/v3.0/outputs/resource/list.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json" diff --git a/schemas/v3.0/outputs/resource/schema.json b/schemas/v3.0/outputs/resource/schema.json index f44300146..26349ddbb 100644 --- a/schemas/v3.0/outputs/resource/schema.json +++ b/schemas/v3.0/outputs/resource/schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object" } diff --git a/schemas/v3.0/outputs/resource/set.json b/schemas/v3.0/outputs/resource/set.json index ea1617779..a2f0a1018 100644 --- a/schemas/v3.0/outputs/resource/set.json +++ b/schemas/v3.0/outputs/resource/set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json" diff --git a/schemas/v3.0/outputs/resource/set.simple.json b/schemas/v3.0/outputs/resource/set.simple.json index 2196c7ab1..e19773a32 100644 --- a/schemas/v3.0/outputs/resource/set.simple.json +++ b/schemas/v3.0/outputs/resource/set.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -12,17 +12,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { diff --git a/schemas/v3.0/outputs/resource/test.json b/schemas/v3.0/outputs/resource/test.json index 201600f26..8438600b3 100644 --- a/schemas/v3.0/outputs/resource/test.json +++ b/schemas/v3.0/outputs/resource/test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json" diff --git a/schemas/v3.0/outputs/resource/test.simple.json b/schemas/v3.0/outputs/resource/test.simple.json index 03911f828..be2dae864 100644 --- a/schemas/v3.0/outputs/resource/test.simple.json +++ b/schemas/v3.0/outputs/resource/test.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -13,12 +13,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -28,7 +28,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { diff --git a/schemas/v3.0/outputs/schema.json b/schemas/v3.0/outputs/schema.json index 68f0cd35d..254cbd2a0 100644 --- a/schemas/v3.0/outputs/schema.json +++ b/schemas/v3.0/outputs/schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object" } diff --git a/schemas/v3.0/resource/manifest.adapter.json b/schemas/v3.0/resource/manifest.adapter.json index a953943a4..f4fbe9072 100644 --- a/schemas/v3.0/resource/manifest.adapter.json +++ b/schemas/v3.0/resource/manifest.adapter.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -11,7 +11,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -26,7 +26,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, diff --git a/schemas/v3.0/resource/manifest.delete.json b/schemas/v3.0/resource/manifest.delete.json index 576bc3ca0..04c73abfd 100644 --- a/schemas/v3.0/resource/manifest.delete.json +++ b/schemas/v3.0/resource/manifest.delete.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0/resource/manifest.export.json b/schemas/v3.0/resource/manifest.export.json index f8aaac6b4..a69a2bdb0 100644 --- a/schemas/v3.0/resource/manifest.export.json +++ b/schemas/v3.0/resource/manifest.export.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0/resource/manifest.get.json b/schemas/v3.0/resource/manifest.get.json index e453cae92..1b7bfbbf3 100644 --- a/schemas/v3.0/resource/manifest.get.json +++ b/schemas/v3.0/resource/manifest.get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0/resource/manifest.json b/schemas/v3.0/resource/manifest.json index 9ded2158f..1c5864fb6 100644 --- a/schemas/v3.0/resource/manifest.json +++ b/schemas/v3.0/resource/manifest.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -12,19 +12,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -32,12 +41,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -82,7 +91,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" diff --git a/schemas/v3.0/resource/manifest.resolve.json b/schemas/v3.0/resource/manifest.resolve.json index 03a0ee907..d34f4b465 100644 --- a/schemas/v3.0/resource/manifest.resolve.json +++ b/schemas/v3.0/resource/manifest.resolve.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0/resource/manifest.schema.json b/schemas/v3.0/resource/manifest.schema.json index 575b95f0f..443ca0d10 100644 --- a/schemas/v3.0/resource/manifest.schema.json +++ b/schemas/v3.0/resource/manifest.schema.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -19,7 +19,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -40,7 +40,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -50,12 +50,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -65,8 +65,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -92,21 +92,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/purge.json" } diff --git a/schemas/v3.0/resource/manifest.set.json b/schemas/v3.0/resource/manifest.set.json index 1112a6331..4d4bd0050 100644 --- a/schemas/v3.0/resource/manifest.set.json +++ b/schemas/v3.0/resource/manifest.set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -18,19 +18,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" } }, diff --git a/schemas/v3.0/resource/manifest.test.json b/schemas/v3.0/resource/manifest.test.json index c1bac714f..cc5769c98 100644 --- a/schemas/v3.0/resource/manifest.test.json +++ b/schemas/v3.0/resource/manifest.test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -19,8 +19,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ diff --git a/schemas/v3.0/resource/manifest.validate.json b/schemas/v3.0/resource/manifest.validate.json index 8bb8e3ca9..cc81e20a2 100644 --- a/schemas/v3.0/resource/manifest.validate.json +++ b/schemas/v3.0/resource/manifest.validate.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" diff --git a/schemas/v3.0/resource/manifest.whatIf.json b/schemas/v3.0/resource/manifest.whatIf.json index a264d8561..eba39439c 100644 --- a/schemas/v3.0/resource/manifest.whatIf.json +++ b/schemas/v3.0/resource/manifest.whatIf.json @@ -2,10 +2,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -18,19 +19,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/returnKind.json" } }, diff --git a/schemas/v3.0/resource/properties/exist.json b/schemas/v3.0/resource/properties/exist.json index 43be775e2..73f809e4b 100644 --- a/schemas/v3.0/resource/properties/exist.json +++ b/schemas/v3.0/resource/properties/exist.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ diff --git a/schemas/v3.0/resource/properties/purge.json b/schemas/v3.0/resource/properties/purge.json index 7181b6d58..162228b1f 100644 --- a/schemas/v3.0/resource/properties/purge.json +++ b/schemas/v3.0/resource/properties/purge.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3.0/resource/stdout/delete.json b/schemas/v3.0/resource/stdout/delete.json new file mode 100644 index 000000000..68dc3e032 --- /dev/null +++ b/schemas/v3.0/resource/stdout/delete.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/delete.json", + "title": "Delete resource operation stdout", + "description": "DSC does not expect the **Delete** operation for a resource to return any JSON to stdout.", + "type": "null" +} diff --git a/schemas/v3.0/resource/stdout/export.json b/schemas/v3.0/resource/stdout/export.json new file mode 100644 index 000000000..06272c093 --- /dev/null +++ b/schemas/v3.0/resource/stdout/export.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/export.json", + "title": "Export resource operation stdout", + "description": "Represents the actual state of a resource instance in DSC. DSC expects every JSON Line emitted to stdout for the **Export** operation to adhere to this schema.", + "type": "object" +} diff --git a/schemas/v3.0/resource/stdout/get.json b/schemas/v3.0/resource/stdout/get.json new file mode 100644 index 000000000..104dc3ceb --- /dev/null +++ b/schemas/v3.0/resource/stdout/get.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/get.json", + "title": "Get resource operation stdout", + "description": "Represents the actual state of a resource instance in DSC. DSC expects the JSON Line emitted to stdout for the **Get** operation to adhere to this schema.", + "type": "object" +} diff --git a/schemas/v3.0/resource/stdout/list.json b/schemas/v3.0/resource/stdout/list.json new file mode 100644 index 000000000..991d6f19d --- /dev/null +++ b/schemas/v3.0/resource/stdout/list.json @@ -0,0 +1,69 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/list.json", + "title": "List resource operation stdout", + "description": "Defines the representation of an adapted resource in DSC. DSC expects every JSON Line emitted to stdout for the **List** operation to adhere to this schema.", + "type": "object", + "required": [ + "type", + "kind", + "version", + "capabilities", + "path", + "directory", + "implementedAs", + "properties", + "requireAdapter" + ], + "properties": { + "type": { + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json" + }, + "kind": { + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/resourceKind.json" + }, + "version": { + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/semver.json" + }, + "capabilities": { + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/resourceCapabilities.json" + }, + "path": { + "title": "Path", + "description": "Indicates the path to the adapted resource on the file system.", + "type": "string" + }, + "directory": { + "title": "Directory", + "description": "Indicates the path to the folder containing the adapted resource on the file system." + }, + "implementedAs": { + "title": "Custom implementation name", + "description": "Indicates that the adapted resource uses a custom implementation. The name can be used to distinguish between different implementations for the adapted resources.", + "type": "string" + }, + "author": { + "title": "Author", + "description": "Indicates the name of the person or organization that developed and maintains the adapted Resource.", + "type": [ + "string", + "null" + ], + "pattern": "^\\w+( \\w+)*" + }, + "properties": { + "title": "Properties", + "description": "Defines the adapted resource's property names.", + "type": "array", + "items": { + "type": "string", + "pattern": "^\\w+$" + } + }, + "requireAdapter": { + "title": "Required adapter", + "description": "Defines the fully qualified type name of the adapter that the adapted resource depends on. An adapter should always set this value to its own fully qualified resource type name.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0/definitions/resourceType.json" + } + } +} diff --git a/schemas/v3.0/resource/stdout/resolve.json b/schemas/v3.0/resource/stdout/resolve.json new file mode 100644 index 000000000..5c2ef28d7 --- /dev/null +++ b/schemas/v3.0/resource/stdout/resolve.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/resolve.json", + "title": "Resolve resource operation stdout", + "description": "Defines the representation of a resolved configuration document. DSC expects the JSON Line emitted to stdout for the **Resolve** operation to adhere to this schema.", + "type": "object", + "required": [ + "configuration" + ], + "properties": { + "configuration": { + "title": "Resolved configuration document", + "description": "Defines the resolved configuration document.", + "$ref": "/PowerShell/DSC/main/schemas/v3.0/config/document.json" + }, + "parameters": { + "title": "Resolved parameters", + "description": "The `parameters` property defines the set of resolved parameter values for the resolved configuration document.", + "type": "object" + } + } +} diff --git a/schemas/v3.0/resource/stdout/schema.json b/schemas/v3.0/resource/stdout/schema.json new file mode 100644 index 000000000..0e394e4ff --- /dev/null +++ b/schemas/v3.0/resource/stdout/schema.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/schema.json", + "title": "Schema resource command stdout", + "description": "Represents the JSON Schema that validates instances of the resource. DSC expects a resource that defines the `schema.command` field in its resource manifest to return this value for that command.", + "type": "object", + "required": [ + "$schema", + "type", + "properties" + ] +} diff --git a/schemas/v3.0/resource/stdout/set.json b/schemas/v3.0/resource/stdout/set.json new file mode 100644 index 000000000..f5cf9be20 --- /dev/null +++ b/schemas/v3.0/resource/stdout/set.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/set.json", + "title": "Set resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation.", + "oneOf": [ + { + "title": "Null output", + "description": "When a command resource doesn't define `set.return` in its resource manifest, DSC doesn't expect the resource to emit any JSON to stdout for the **Set** operation.", + "type": "null" + }, + { + "title": "state output", + "description": "When a resource defines `set.return` in its manifest as `state` or `stateAndDiff`, DSC expects the resource to emit a JSON Line to stdout representing the actual state of the resource instance after the **Set** operation changes the system.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `set.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} diff --git a/schemas/v3.0/resource/stdout/test.json b/schemas/v3.0/resource/stdout/test.json new file mode 100644 index 000000000..4700a0d25 --- /dev/null +++ b/schemas/v3.0/resource/stdout/test.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/test.json", + "title": "Test resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Test** operation.", + "oneOf": [ + { + "title": "state output", + "description": "For the **Test** operation, DSC always expects the resource to emit a JSON Line to stdout representing the actual state of the resource instance with the `_inDesiredState` canonical resource property included in the returned object.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `test.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} diff --git a/schemas/v3.0/resource/stdout/validate.json b/schemas/v3.0/resource/stdout/validate.json new file mode 100644 index 000000000..2603b303a --- /dev/null +++ b/schemas/v3.0/resource/stdout/validate.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/validate.json", + "title": "Validate resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Validate** operation.", + "type": "object", + "required": [ + "valid" + ], + "properties": { + "valid": { + "title": "Instance validity", + "description": "Indicates whether the instance is valid for the resource." + }, + "reason": { + "title": "Reason instance is invalid", + "description": "Describes how and why the instance is invalid for the resource." + } + } +} diff --git a/schemas/v3.0/resource/stdout/whatIf.json b/schemas/v3.0/resource/stdout/whatIf.json new file mode 100644 index 000000000..56c4293d2 --- /dev/null +++ b/schemas/v3.0/resource/stdout/whatIf.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/stdout/whatIf.json", + "title": "Set (what-if mode) resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation in what-if mode.", + "oneOf": [ + { + "title": "state output", + "description": "When a resource defines `whatIf.return` in its manifest as `state` or `stateAndDiff`, DSC expects the resource to emit a JSON Line to stdout representing the predicted actual state of the resource instance after the **Set** operation changes the system.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `whatIf.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} diff --git a/schemas/v3/bundled/config/document.json b/schemas/v3/bundled/config/document.json index c370a2e67..4cc2c2577 100644 --- a/schemas/v3/bundled/config/document.json +++ b/schemas/v3/bundled/config/document.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", "type": "object", "required": [ "$schema", @@ -11,23 +11,32 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -40,10 +49,10 @@ "type": "object" }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/config/document.resource.json" } @@ -57,7 +66,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", + "description": "Defines a runtime option for a DSC configuration document.", "type": "object", "required": [ "type" @@ -284,8 +293,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.resource.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -300,7 +309,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -310,7 +319,7 @@ }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object" } } @@ -356,7 +365,7 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/parameters/validValueTypes.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", @@ -368,8 +377,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -377,7 +386,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 diff --git a/schemas/v3/bundled/config/document.vscode.json b/schemas/v3/bundled/config/document.vscode.json index f6e5222b8..644a99e9c 100644 --- a/schemas/v3/bundled/config/document.vscode.json +++ b/schemas/v3/bundled/config/document.vscode.json @@ -1,9 +1,9 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDescribes a valid DSC Configuration Document.\n\nDSC Configurations enable users to define state by combining different DSC Resources. A\nconfiguration document uses parameters and variables to pass to a set of one or more resources\nthat define a desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true\n", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDescribes a valid DSC configuration document.\n\nDSC configurations enable users to define state by combining different DSC resources. A\nconfiguration document uses parameters and variables to pass to a set of one or more resources\nthat define a desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -12,35 +12,53 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be the canonical URL of the DSC Configuration Document schema that the\ndocument is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../config/document.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n \n```yaml\n.../bundled/config/document.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/config/document.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the URI that resolves to the version of this schema that the\ndocument adheres to. DSC uses this property when validating and processing the configuration\ndocument.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../config/document.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n \n```yaml\n.../bundled/config/document.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/config/document.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3` non-bundled\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3` bundled\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0` schema. This URL points\n> to the enhanced authoring schema. This schema is much larger than the other schemas, as\n> it includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the configuration document adheres to the `v3.0.0` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -112,14 +130,14 @@ ] }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/config/document.resource.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC Resource instances for the configuration to manage.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#resources\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC resource instances for the configuration to manage.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/document?view=dsc-3.0&preserve-view=true#resources\n" }, "metadata": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/config/document.metadata.json" @@ -136,8 +154,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a runtime option for a DSC Configuration Document.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/parameter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines a runtime option for a DSC configuration document.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a runtime option for a DSC configuration document.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/parameter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "type" @@ -400,8 +418,8 @@ "document.resource.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -416,7 +434,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -431,20 +449,20 @@ } ] }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC Resource instances that DSC must successfully process before processing\nthis instance. Each value for this property must be the `resourceID()` lookup for another\ninstance in the configuration. Multiple instances can depend on the same instance, but every\ndependency for an instance must be unique in that instance's `dependsOn` property.\n\nThe `resourceID()` function uses this syntax:\n\n```yaml\n\"[resourceId('', '']\"\n```\n\nThe `` value is the `type` property of the dependent resource and\n`` is the dependency's `name` property. When adding a dependency in a\nYAML-format configuration document, always wrap the `resourceID()` lookup in double quotes\n(`\"`).\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a list of DSC resource instances that DSC must successfully process before processing\nthis instance. Each value for this property must be the `resourceID()` lookup for another\ninstance in the configuration. Multiple instances can depend on the same instance, but every\ndependency for an instance must be unique in that instance's `dependsOn` property.\n\nThe `resourceID()` function uses this syntax:\n\n```yaml\n\"[resourceId('', '']\"\n```\n\nThe `` value is the `type` property of the dependent resource and\n`` is the dependency's `name` property. When adding a dependency in a\nYAML-format configuration document, always wrap the `resourceID()` lookup in double quotes\n(`\"`).\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the properties of the DSC Resource this instance manages. This property's value must\nbe an object. DSC validates the property's value against the DSC Resource's schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the properties of the DSC resource this instance manages. This property's value must\nbe an object. DSC validates the property's value against the DSC resource's schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#properties-1\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an instance of a DSC Resource in a configuration.\n\nThe `resources` property of a DSC Configuration document always includes at least one DSC Resource\ninstance. Together, the instances in a configuration define the desired state that DSC can get,\ntest, and set on a machine.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an instance of a DSC resource in a configuration.\n\nThe `resources` property of a DSC configuration document always includes at least one DSC resource\ninstance. Together, the instances in a configuration define the desired state that DSC can get,\ntest, and set on a machine.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " New resource instance", - "markdownDescription": "Defines a new instance of a DSC Resource for the configuration.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\nproperties:\n propertyName: propertyValue\n```", + "markdownDescription": "Defines a new instance of a DSC resource for the configuration.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\nproperties:\n propertyName: propertyValue\n```", "body": { "type": "${1:owner[.group][.area]/name}", "name": "${2:instance_name}", @@ -455,7 +473,7 @@ }, { "label": " New dependent resource instance", - "markdownDescription": "Defines a new instance of a DSC Resource for the configuration that depends on another\ninstance.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\ndependsOn:\n - \"[resourceId('dependencyInstance/Type', 'dependencyInstanceName')]\"\nproperties:\n propertyName: propertyValue\n```", + "markdownDescription": "Defines a new instance of a DSC resource for the configuration that depends on another\ninstance.\n\n```yaml\ntype: owner[.group][.area]/name\nname: instance_name\ndependsOn:\n - \"[resourceId('dependencyInstance/Type', 'dependencyInstanceName')]\"\nproperties:\n propertyName: propertyValue\n```", "body": { "type": "${1:owner[.group][.area]/name}", "name": "${2:instance_name}", @@ -549,7 +567,7 @@ "markdownEnumDescriptions": [ "_Strings are an arbitrary set of text._\n\n> To define a long strings in YAML, use the folded block syntax or literal block syntax by\n> adding a `>` or `|` and a line break after the key. Then, indent the next line. Every line\n> in the string must start at the same level of indentation. You can trim the trailing\n> whitespace by using `>-` or `|-` instead.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#strings\n", "_Secure strings are text that needs to be handled securely._\n\n> Secure strings are an arbitrary set of text that DSC and integrating tools shouldn't log or\n> record. If a secure data type parameter is used for a resource instance property that doesn't\n> expect a secure value, the resource may still log or record the value. If the resource has\n> independent logging or recording that isn't handled by DSC, the value may be stored\n> insecurely.\n>\n> Use secure strings for passwords and secrets. Never define a default value for secure string\n> parameters.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#secure-strings-and-objects\n", - "_Integer values are numbers without a fractional part._\n\n> Integer values may be limited by integrating tools or the DSC Resources they're used with.\n> DSC itself supports integer values between `-9223372036854775808` and `9223372036854775807`.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#integers\n", + "_Integer values are numbers without a fractional part._\n\n> Integer values may be limited by integrating tools or the DSC resources they're used with.\n> DSC itself supports integer values between `-9223372036854775808` and `9223372036854775807`.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#integers\n", "_Boolean values are either `true` or `false`._\n\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#booleans\n", "_Objects define a set of key-value pairs._\n\n> The value for each key can be any valid data type. The values can be the same type or\n> different types.\n>\n> Access keys in the object using dot-notation. Dot-notation uses this syntax:\n>\n> ```yaml\n> \"[parameters('').]\n> ```\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#objects\n", "_Secure objects are key-value pairs that need to be handled securely._\n\n> Secure objects define a set of key-value pairs that DSC and integrating tools shouldn't log\n> or record. If a secure data type parameter is used for a resource instance property that\n> doesn't expect a secure value, the resource may still log or record the value. If the\n> resource has independent logging or recording that isn't handled by DSC, the value may be\n> stored insecurely.\n>\n> Never define a default value for secure object parameters.\n>\n> For more information, see the [_Online Documentation_][01].\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/parameters/datatypes?view=dsc-3.0&preserve-view=true#secure-strings-and-objects\n", @@ -559,7 +577,7 @@ "validValueTypes.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", @@ -572,23 +590,23 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "instanceName.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" } }, "metadata": { diff --git a/schemas/v3/bundled/outputs/config/get.json b/schemas/v3/bundled/outputs/config/get.json index 96d9e8221..4ed4df5b5 100644 --- a/schemas/v3/bundled/outputs/config/get.json +++ b/schemas/v3/bundled/outputs/config/get.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/get.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -285,7 +270,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -294,7 +279,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -305,7 +290,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -313,7 +298,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3/bundled/outputs/config/get.vscode.json b/schemas/v3/bundled/outputs/config/get.vscode.json index 2ea5fd3d7..cce39f552 100644 --- a/schemas/v3/bundled/outputs/config/get.vscode.json +++ b/schemas/v3/bundled/outputs/config/get.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/get.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -263,7 +247,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -275,7 +259,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/message.json" @@ -285,7 +269,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -302,28 +286,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -334,7 +318,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -342,7 +326,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3/bundled/outputs/config/set.json b/schemas/v3/bundled/outputs/config/set.json index e4b26f034..517b68e3b 100644 --- a/schemas/v3/bundled/outputs/config/set.json +++ b/schemas/v3/bundled/outputs/config/set.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/set.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -287,17 +272,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -310,7 +295,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -321,7 +306,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -329,7 +314,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3/bundled/outputs/config/set.vscode.json b/schemas/v3/bundled/outputs/config/set.vscode.json index bfa064001..679ccc922 100644 --- a/schemas/v3/bundled/outputs/config/set.vscode.json +++ b/schemas/v3/bundled/outputs/config/set.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/set.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -265,17 +249,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -291,7 +275,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/message.json" @@ -301,7 +285,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -318,28 +302,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -350,7 +334,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -358,7 +342,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3/bundled/outputs/config/test.json b/schemas/v3/bundled/outputs/config/test.json index b12dd2c82..0deb36cc2 100644 --- a/schemas/v3/bundled/outputs/config/test.json +++ b/schemas/v3/bundled/outputs/config/test.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/test.full.json" @@ -51,8 +51,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -75,9 +74,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json" } } } @@ -114,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/message.json" @@ -124,7 +120,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/version.json": { @@ -194,17 +190,6 @@ "restricted" ] }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/semver.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/semver.json", @@ -243,7 +228,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -251,8 +236,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -260,7 +245,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json" @@ -277,7 +262,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -288,12 +273,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -303,7 +288,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -316,7 +301,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -327,7 +312,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -335,7 +320,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3/bundled/outputs/config/test.vscode.json b/schemas/v3/bundled/outputs/config/test.vscode.json index a9bf861df..70eb607b4 100644 --- a/schemas/v3/bundled/outputs/config/test.vscode.json +++ b/schemas/v3/bundled/outputs/config/test.vscode.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/test.full.json" @@ -58,8 +58,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -82,9 +81,6 @@ }, "securityContext": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json" } } } @@ -164,18 +160,6 @@ "elevated", "restricted" ] - }, - "context.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json", - "title": "Operation context", - "description": "Defines whether the operation was for a configuration or a resource. If the value for this metadata property is `configuration`, DSC was run through the `dsc config` command. If the value is `resource`, DSC was run with the `dsc resource` command.", - "markdownDescription": "Defines whether the operation was for a configuration or a resource. If the value for this\nmetadata property is `configuration`, DSC was run through the `dsc config` command. If the value\nis `resource`, DSC was run with the `dsc resource` command.", - "type": "string", - "enum": [ - "resource", - "configuration" - ] } }, "resourceInstanceResult.json": { @@ -238,7 +222,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json" @@ -255,7 +239,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -266,12 +250,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -281,7 +265,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -297,7 +281,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/message.json" @@ -307,7 +291,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" }, "semver.json": { @@ -324,28 +308,28 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "message.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -356,7 +340,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -364,7 +348,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3/bundled/outputs/resource/get.json b/schemas/v3/bundled/outputs/resource/get.json index fcbd57103..afc1836e9 100644 --- a/schemas/v3/bundled/outputs/resource/get.json +++ b/schemas/v3/bundled/outputs/resource/get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -27,7 +27,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -88,7 +88,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -96,28 +96,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json", - "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/get.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3/bundled/outputs/resource/get.vscode.json b/schemas/v3/bundled/outputs/resource/get.vscode.json index 6e1fb6dac..d1221b111 100644 --- a/schemas/v3/bundled/outputs/resource/get.vscode.json +++ b/schemas/v3/bundled/outputs/resource/get.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -34,7 +34,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } @@ -65,23 +65,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json" } } - }, - "get.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json", - "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/get.full.json" - } - } - ] } } }, @@ -129,21 +112,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3/bundled/outputs/resource/list.json b/schemas/v3/bundled/outputs/resource/list.json index 9816219cc..1d24c8bc3 100644 --- a/schemas/v3/bundled/outputs/resource/list.json +++ b/schemas/v3/bundled/outputs/resource/list.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json" @@ -113,8 +98,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -122,13 +107,13 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/semver.json": { @@ -140,11 +125,31 @@ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "$comment": "A valid semantic version ([semver][01]) string.\n\nThis value uses the [suggested regular expression][02] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://semver.org/\n[02]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceCapabilities.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ] + } + }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -154,19 +159,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -174,12 +188,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -224,7 +238,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" @@ -299,7 +313,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" @@ -366,7 +380,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -382,19 +396,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" } }, @@ -449,10 +463,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -465,19 +480,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" } }, @@ -532,7 +547,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -549,8 +564,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ @@ -604,7 +620,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" @@ -671,7 +687,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" @@ -738,7 +754,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" @@ -805,7 +821,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" @@ -872,7 +888,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -881,7 +897,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -896,7 +912,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, @@ -930,7 +946,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -947,7 +963,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -968,7 +984,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -978,12 +994,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -993,8 +1009,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -1020,21 +1036,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/purge.json" } @@ -1186,14 +1202,13 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ @@ -1216,7 +1231,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3/bundled/outputs/resource/list.vscode.json b/schemas/v3/bundled/outputs/resource/list.vscode.json index c16ce89d5..6fb4e669f 100644 --- a/schemas/v3/bundled/outputs/resource/list.vscode.json +++ b/schemas/v3/bundled/outputs/resource/list.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json" @@ -119,31 +104,31 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "resourceKind.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the resource is a normal DSC Resource, a group resource, or an adapter\nresource. This property is only required for group resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `Adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `Resource`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should interpret the resource - as a typical resource, an adapter, a group, or an\nimporter. This property is required for group, exporter, and importer resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `resource`.\n\nFor more information about the different kinds of DSC resources, see [DSC resource kinds][01]\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\nIndicates that the manifest is for a standard command-based DSC Resource.\n", - "\n\nIndicates that the manifest is for an adapter resource that enables the use of\nnon-command-based resources with DSC.\n", - "\n\nIndicates that the manifest is for a group resource that processes an array of nested\nresource instances.\n", - "\n\nIndicates that the manifest is for an import resource that resolves an external source to DSC\nresource instances. The resolved instances are processed as nested instances for the import\nresource.\n" + "\n\nIndicates that the manifest is for a typical DSC command resource.\n", + "\n\nIndicates that the manifest is for a resource that enables the use of non-command resources\nwith DSC.\n", + "\n\nIndicates that the manifest is for a resource that processes an array of nested resource\ninstances.\n", + "\n\nIndicates that the manifest is for a resource that resolves an external source to DSC\nresource instances. DSC processes the resolved instances as nested instances for the importer\nresource.\n" ] }, "semver.json": { @@ -156,6 +141,37 @@ "patternErrorMessage": "Invalid value, must be a semantic version like `..`, such as `1.2.3`.\n\nThe value may also include pre-release version information and build metadata.\n", "$comment": "A valid semantic version ([semver][01]) string.\n\nThis value uses the [suggested regular expression][02] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://semver.org/\n[02]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, + "resourceCapabilities.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDSC resources always have at least one capability. Resource capabilities define the operations\nyou can invoke for a resource and how the resource behaves when invoked.\n\nFor more information about the operations you can invoke for a resource, see\n[DSC resource operations][01].\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ], + "markdownEnumDescriptions": [ + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `get` capability supports retrieving the current state of an instance\nwith the [Get][01] operation.\n\nA command resource has this capability when its resource manifest defines the [get][02]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#get\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#get-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `set` capability supports enforcing the desired state of an instance with\nthe [Set][01] operation. Resources without this capability can't be used with the\n[dsc resource set][02] or [dsc config set][03] commands unless they're defined in a\n`Microsoft.DSC/Assertion` group as a nested instance.\n\nA command resource has this capability when its resource manifest defines the [set][04]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#set\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/cli/config/set?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `setHandlesExist` capability indicates that you can use the [Set][01]\noperation to delete an instance. Resources with this capability must have the [_exist][02]\ncanonical resource property. Resources that don't have the `_exist` property never have this\ncapability.\n\nWhen a resource has the `_exist` property but not the `setHandlesExist` capability:\n\n- If the resource has the `delete` capability, DSC invokes the [Delete][03] operation instead\n of **Set** when the desired state for an instance defines `_exist` as false.\n- If the resource doesn't have the `delete` capability, DSC raises an error during a **Set**\n operation when the desired state for an instance defines `_exist` as false.\n\nA command resource has this capability when its resource manifest defines the\n[set.handlesExist][04] subproperty as `true`.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#sethandlesexist\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/existview=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#delete-operation\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/setview=dsc-3.0&preserve-view=true#handlesexist", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `whatIf` capability indicates that you can use the [Set][01] operation in\nwhat-if mode to have the resource return explicit information about how it would modify state\nin an actual **Set** operation.\n\nWhen a resource doesn't have this capability, DSC synthesizes how the resource would change\nan instance by converting the **Test** result for the instance into a **Set** result. The\nsynthetic operation can't indicate potential issues or changes that can't be determined by\ncomparing the result of the **Test** operation against the resource's desired state. For\nexample, the credentials used to test a resource might be valid for that operation, but not\nhave permissions to actually modify the system state. Only a resource with this capability\ncan fully report whether and how the resource would change system state.\n\nA resource has this capability when it defines the [whatIf][02] property.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#whatif\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#set-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `test` capability indicates that it implements the [Test][01] operation\ndirectly. Resources with this capability must have the [_inDesiredState][02] canonical\nresource property. Resources that don't have the `_inDesiredState` property never have this\ncapability.\n\nWhen a resource doesn't have this capability, DSC uses a synthetic test for instances of the\nresource. DSC performs the synthetic test by:\n\n1. Invoking the **Get** operation on the resource to retrieve the actual state of the\n instance.\n1. Synthetically testing each property for the desired state of an instance against the\n actual state returned. The synthetic test uses strict, case-sensitive equivalence.\n1. If the desired state for a property and the actual state aren't the same, DSC marks the\n property as out of the desired state.\n1. If any properties are out of the desired state, DSC reports the entire instance as not\n being in the desired state.\n\nSynthetic testing can't account for all resource behaviors. For example, if a package\nresource allows users to define a version range for the package, the **Get** operation\nreturns the actual version of the package, like `1.2.3`. If the user specified the version\nrange `~1` (NPM syntax indicating the package should be latest released semantic version with\nmajor version `1`), DSC would compare the desired state `~1` against the actual state `1.2.3`\nand consider the package to be in the incorrect state, even if `1.2.3` is actually the latest\nrelease matching the version pin.\n\nAny resource that has properties which can't use a strict case-sensitive comparison check\nshould have this capability.\n\nA command resource has this capability when its resource manifest defines the [test][03]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#test\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#test-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/inDesiredState?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `delete` capability supports removing an instance with the [Delete][01]\noperation and the [dsc resource delete][02] command.\n\nThis capability isn't mutually exclusive with the `setHandlesExist` property. A resource can handle\nthe `_exist` property in **Set** operations and be called directly with `dsc resource delete` to\nremove an instance.\n\nFor resources with the `delete` capability and the [_exist][03] canonical resource property:\n\n- If the resource doesn't have the `setHandlesExist` capability, DSC invokes the **Delete**\n operation for the resource instead of **Set** when the desired state defines `_exist` as\n `false`.\n- If the resource does have the `setHandlesExist` capability, DSC invokes the **Set** operation for\n the resource when the desired state defines `_exist` as `false`.\n\nResources with the `delete` capability that don't have the `_exist` canonical resource property\nmust implement their **Set** operation to handle removing instances. DSC can't infer existence\nsemantics without the `_exist` property.\n\nA command resource has this capability when its resource manifest defines the [delete][04]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#delete\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operations?view=dsc-3.0&preserve-view=true#delete-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/delete?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `export` capability supports enumerating every instance of the resource\nwith the [Export][01] operation.\n\nYou can use resources with this capability with the following commands:\n\n- [dsc config export][02] to return a configuration document representing the actual state\n for every instance of each resource defined in the input document.\n- [dsc resource export][03] to return a configuration document representing the actual state\n for every instance of the input resource.\n- `dsc resource get` with the [--all][04] option to return the actual state of every instance\n of the input resource.\n\nA command resource has this capability when its resource manifest defines the [export][05]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#export\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/operationsview=dsc-3.0&preserve-view=true#export-operation\n[02]: https://learn.microsoft.com/powershell/dsc/reference/cli/config/export?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/export?view=dsc-3.0&preserve-view=true\n[04]: https://learn.microsoft.com/powershell/dsc/reference/cli/resource/get?view=dsc-3.0&preserve-view=true#--all\n[05]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true", + "***\n[_Online Documentation_][00]\n***\n\nA resource with the `resolve` capability supports resolving nested resource instances from an\nexternal source. This capability is primarily used by [importer resources][01] to enable users to\ncompose configuration documents.\n\nA command resource has this capability when its resource manifest defines the [resolve][0220]\nproperty.\n\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceCapabilities?view=dsc-3.0&preserve-view=true#resolve\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true#importer-resources\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true" + ] + } + }, "commandExecutable.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/commandExecutable.json", @@ -244,7 +260,6 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } }, @@ -252,9 +267,9 @@ "manifest.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a command-based DSC\nResource. For DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a DSC command resource.\nFor DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define a resource", @@ -353,7 +368,7 @@ }, { "label": " Define a resource (adapter)", - "markdownDescription": "Defines an adapter resource that enables users to define non-command-based DSC Resources in\nthe configuration.", + "markdownDescription": "Defines an adapter resource that enables users to define non-command DSC resources in the\nconfiguration.", "body": { "${escape_dollar:$}schema": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", "type": "${1:owner.area.group}/${2:${TM_FILENAME_BASE/^(.*?)[\\.]dsc[\\.]resource/$1/}}", @@ -487,31 +502,49 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be one of the canonical URLs for the version of the Command-based DSC\nResource Manifest schema that the manifest is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the canonical URI of this schema that the manifest validates\nagainst. This property is mandatory. DSC uses this value to validate the manifest against the\ncorrect JSON schema.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3` non-bundled\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3` bundled\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema.\n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema.\n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "type": { @@ -519,15 +552,15 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/semver.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC Resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC Resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" }, "kind": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/resourceKind.json" @@ -573,7 +606,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$", @@ -598,7 +631,7 @@ "4": "JSON serialization failed" } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC Resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC Resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", "defaultSnippets": [ { "label": " Defined exit codes", @@ -661,8 +694,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of an instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of an instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Get resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/get?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -768,8 +801,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to set the desired state of an instance and how to\nprocess the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to set the desired state of an instance and how to\nprocess the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Set resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/set?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -788,23 +821,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC Resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's state after the set\noperation or the state and an array of the properties the DSC Resource modified.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's state after the set\noperation or the state and an array of the properties the DSC resource modified.\n\nWhen a manifest doesn't define `set.return`, DSC doesn't expect the resource to emit any\nJSON to stdout. Instead, DSC invokes the **Get** operation for the resource to construct\nthe result object, retrieving the actual state of the resource after the **Set** operation.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's final state after the set\n> operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's final state and an array of property\n> names that the resource modified.\n" @@ -904,11 +937,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC Resource. If a resource doesn't\ndefine this method in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][02].\n\nThis method definition has the same structure as the [set method][03] in the resource manifest.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC resource. If a resource doesn't\ndefine this command in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][01].\n\nThis command definition has the same structure as the [set command][02] in the resource manifest.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[What-if resource operation stdout][03].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/whatif?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -924,23 +958,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC Resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC Resource\nwould modify.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC resource\nwould modify.\n\nUnlike the `set.return` property, you must specify a value for `whatIf.return` for the\nresource to function correctly. When you don't define `set.return` in your resource manifest,\nDSC invokes the **Get** operation on the resource after the **Set** operation to construct\nthe result with the final state of the resource.\n\nFor what-if operations, the resource doesn't actually change the system, so invoking the\n**Get** operation after the what-if command executes will always show the final state to\nbe the same as the before state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's expected final state after the\n> set operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's expected final state and an array of\n> property names that the resource would modify.\n" @@ -1040,8 +1074,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to test if an instance is in the desired state and how\nto process the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to test if an instance is in the desired state and how\nto process the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Test resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/test?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1061,9 +1095,10 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", + "default": "state", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Actual state only_\n\n> Indicates that the resource returns only the instance's actual state as a JSON blob.\n", "_Actual state and differing properties_\n\n> Indicates that the resource returns the instance's actual state and an array of\n> property names that are out of the desired state.\n" @@ -1160,8 +1195,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][02] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][03] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][02] property in the [JSON schema for the resource's properties][04].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][01] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][02] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][01] property in the [JSON schema for the resource's properties][03].\n\nDSC doesn't expect this command to return any output to stdout.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1267,8 +1302,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of every instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of every instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Export resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/export?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1374,8 +1409,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to validate the state of an instance. This method is\nmandatory for DSC Group Resources. It's ignored for all other DSC Resources.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to validate the state of an instance. This method is\nmandatory for DSC group resources. It's ignored for all other DSC resources.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Validate resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/validate?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1481,8 +1516,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to resolve an external source to nested DSC\nConfiguration Document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `Import`.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to resolve an external source to nested DSC\nconfiguration document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `importer`.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Resolve resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", "type": "object", "required": [ "executable" @@ -1588,8 +1623,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "list", @@ -1598,8 +1633,8 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource adapter to list its supported DSC resources.\n\nFor more information about the output DSC expects from the resource for this command,\nsee [List resource operation stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/list?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1615,7 +1650,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources.", + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources.", "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"registry\",\n \"args\": [\"resources\", \"list\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nregistry resources list\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#args\n" } } @@ -1680,7 +1715,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -1697,7 +1732,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -1717,7 +1752,7 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"myresource\",\n \"args\": [\"schema\", \"show\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nmyresource schema show\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#args\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Schema resource command stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/schema?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define without arguments", @@ -1740,8 +1775,8 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -1751,13 +1786,13 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -1765,7 +1800,7 @@ "https://json-schema.org/draft/2019-09/schema", "http://json-schema.org/draft-07/schema#" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", "markdownEnumDescriptions": [ "_Draft 2020-12 (recommended)_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2020-12][01].\n>\n> This is the latest published draft of JSON Schema and is the draft future drafts\n> will be most compatible with.\n\n[01]: https://json-schema.org/specification-links.html#2020-12\n", "_Draft 2019-09_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2019-09][01].\n>\n> This is the previous published draft of JSON Schema. It's mostly compatible with\n> 2020-12, but less extensible and can't be bundled.\n\n[01]: https://json-schema.org/specification-links.html#draft-2019-09-formerly-known-as-draft-8\n", @@ -1773,11 +1808,11 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC Resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" }, "properties": { "title": "Instance Properties", @@ -1899,7 +1934,7 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json" }, @@ -1907,19 +1942,19 @@ }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/inDesiredState.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC Resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/purge.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_purge` property to specify\nwhether the DSC Resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_purge` property to specify\nwhether the DSC resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" }, "_rebootRequested": { "title": "Standard property: _rebootRequested", @@ -1927,7 +1962,7 @@ "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/rebootRequested.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" } }, "defaultSnippets": [ @@ -2016,7 +2051,7 @@ } } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC Resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define as command without arguments", diff --git a/schemas/v3/bundled/outputs/resource/schema.json b/schemas/v3/bundled/outputs/resource/schema.json index 53c32d5f5..eb9ef5a88 100644 --- a/schemas/v3/bundled/outputs/resource/schema.json +++ b/schemas/v3/bundled/outputs/resource/schema.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3/bundled/outputs/resource/schema.vscode.json b/schemas/v3/bundled/outputs/resource/schema.vscode.json index 53c32d5f5..eb9ef5a88 100644 --- a/schemas/v3/bundled/outputs/resource/schema.vscode.json +++ b/schemas/v3/bundled/outputs/resource/schema.vscode.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3/bundled/outputs/resource/set.json b/schemas/v3/bundled/outputs/resource/set.json index b88d4cd00..d9cdb2a8c 100644 --- a/schemas/v3/bundled/outputs/resource/set.json +++ b/schemas/v3/bundled/outputs/resource/set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -29,17 +29,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -104,7 +104,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -112,28 +112,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json", - "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/set.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3/bundled/outputs/resource/set.vscode.json b/schemas/v3/bundled/outputs/resource/set.vscode.json index 3cd37ab89..cc2e7c299 100644 --- a/schemas/v3/bundled/outputs/resource/set.vscode.json +++ b/schemas/v3/bundled/outputs/resource/set.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -36,17 +36,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { @@ -81,23 +81,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json" } } - }, - "set.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json", - "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/set.full.json" - } - } - ] } } }, @@ -145,21 +128,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3/bundled/outputs/resource/test.json b/schemas/v3/bundled/outputs/resource/test.json index 1cf746379..26e382e17 100644 --- a/schemas/v3/bundled/outputs/resource/test.json +++ b/schemas/v3/bundled/outputs/resource/test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json" @@ -19,7 +19,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -30,12 +30,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -45,7 +45,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -110,7 +110,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 @@ -118,28 +118,11 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json", - "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/test.full.json" - } - } - ] - }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/duration.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/duration.json", diff --git a/schemas/v3/bundled/outputs/resource/test.vscode.json b/schemas/v3/bundled/outputs/resource/test.vscode.json index 1340fd24d..f074591ec 100644 --- a/schemas/v3/bundled/outputs/resource/test.vscode.json +++ b/schemas/v3/bundled/outputs/resource/test.vscode.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json" @@ -26,7 +26,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -37,12 +37,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -52,7 +52,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { @@ -87,23 +87,6 @@ "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json" } } - }, - "test.json": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json", - "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", - "anyOf": [ - { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json" - }, - { - "type": "array", - "items": { - "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/outputs/resource/test.full.json" - } - } - ] } } }, @@ -151,21 +134,21 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1, "patternErrorMessage": "Invalid value for instance name. An instance name must be a non-empty string containing only\nletters, numbers, and spaces.\n", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC Resource instance. This property must be unique\nwithin a DSC Configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the short, human-readable name for a DSC resource instance. This property must be unique\nwithin a DSC configuration document. If any resource instances share the same name, DSC raises an\nerror.\n\nThe instance name must be a non-empty string containing only letters, numbers, and spaces.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/config/resource?view=dsc-3.0&preserve-view=true#name\n" }, "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" } } diff --git a/schemas/v3/bundled/outputs/schema.json b/schemas/v3/bundled/outputs/schema.json index 646a2f669..d9ff48b40 100644 --- a/schemas/v3/bundled/outputs/schema.json +++ b/schemas/v3/bundled/outputs/schema.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3/bundled/outputs/schema.vscode.json b/schemas/v3/bundled/outputs/schema.vscode.json index 646a2f669..d9ff48b40 100644 --- a/schemas/v3/bundled/outputs/schema.vscode.json +++ b/schemas/v3/bundled/outputs/schema.vscode.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object", "$defs": {} } diff --git a/schemas/v3/bundled/resource/manifest.json b/schemas/v3/bundled/resource/manifest.json index 60b17bd15..fa5de584b 100644 --- a/schemas/v3/bundled/resource/manifest.json +++ b/schemas/v3/bundled/resource/manifest.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -12,19 +12,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -32,12 +41,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -82,7 +91,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" @@ -156,8 +165,8 @@ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" }, @@ -174,20 +183,20 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.get.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" @@ -254,7 +263,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -270,19 +279,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" } }, @@ -337,10 +346,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -353,19 +363,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" } }, @@ -420,7 +430,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -437,8 +447,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ @@ -492,7 +503,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" @@ -559,7 +570,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" @@ -626,7 +637,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" @@ -693,7 +704,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" @@ -760,7 +771,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -769,7 +780,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -784,7 +795,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, @@ -818,7 +829,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -835,7 +846,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -856,7 +867,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -866,12 +877,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -881,8 +892,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -908,21 +919,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/purge.json" } @@ -1074,14 +1085,13 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." }, "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ @@ -1104,7 +1114,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3/bundled/resource/manifest.vscode.json b/schemas/v3/bundled/resource/manifest.vscode.json index 0ac749506..099c80dd7 100644 --- a/schemas/v3/bundled/resource/manifest.vscode.json +++ b/schemas/v3/bundled/resource/manifest.vscode.json @@ -1,9 +1,9 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a command-based DSC\nResource. For DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the information DSC and integrating require to process and call a DSC command resource.\nFor DSC to use a manifest on a system, the manifest file must:\n\n1. Be discoverable in the `PATH` environment variable.\n1. Follow the naming convention `.dsc.resource.json`.\n1. Be valid for this schema.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define a resource", @@ -102,7 +102,7 @@ }, { "label": " Define a resource (adapter)", - "markdownDescription": "Defines an adapter resource that enables users to define non-command-based DSC Resources in\nthe configuration.", + "markdownDescription": "Defines an adapter resource that enables users to define non-command DSC resources in the\nconfiguration.", "body": { "${escape_dollar:$}schema": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", "type": "${1:owner.area.group}/${2:${TM_FILENAME_BASE/^(.*?)[\\.]dsc[\\.]resource/$1/}}", @@ -236,31 +236,49 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property must be one of the canonical URLs for the version of the Command-based DSC\nResource Manifest schema that the manifest is implemented for.\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nThe `$schema` property indicates the canonical URI of this schema that the manifest validates\nagainst. This property is mandatory. DSC uses this value to validate the manifest against the\ncorrect JSON schema.\n\nThe JSON schemas for DSC are published in multiple versions and forms. This documentation is\nfor the latest version of the schema. As a convenience, you can specify either the full URI\nfor the schema hosted in GitHub or use the shorter `aka.ms` URI. You can specify the schema\nfor a specific semantic version, the latest schema for a minor version, or the latest schema\nfor a major version of DSC. For more information about schema URIs and versioning, see\n[DSC JSON Schema URIs][01].\n\nFor every version of the schema, there are three valid urls:\n\n```yaml\n.../resource/manifest.json\n```\n\n> The URL to the canonical non-bundled schema. When it's used for validation, the validating\n> client needs to retrieve this schema and every schema it references.\n\n```yaml\n.../bundled/resource/manifest.json\n```\n\n> The URL to the bundled schema. When it's used for validation, the validating client only\n> needs to retrieve this schema.\n> \n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n\n```yaml\n.../bundled/resource/manifest.vscode.json\n```\n\n> The URL to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and snippets\n> that the others don't include.\n> \n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#schema\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/schema-uris?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\n> #### `v3` non-bundled\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `v3` bundled\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `v3` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the enhanced authoring schema. This schema is much larger than the other\n> schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/10` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/10` bundled\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema.\n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/10` enhanced authoring\n>\n>Indicates that the resource manifest adheres to the `2023/10` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.5` and earlier.\n> Migrate to using the `v3` of the schema.\n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n", - "\n\n> #### `2023/08` non-bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n", - "\n\n> #### `2023/08` bundled\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the bundled schema. When it's used for validation, the validating\n> client only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n", - "\n\n> #### `2023/08` enhanced authoring\n>\n> Indicates that the resource manifest adheres to the `2023/08` schema. This version\n> is deprecated, and should only be used for compatibility with `alpha.3` and earlier.\n> Migrate to using the `v3` of the schema \n>\n> This URL points to the enhanced authoring schema. This schema is much larger than the\n> other schemas, as it includes additional definitions that provide contextual help and\n> snippets that the others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n" + "\n\n> #### `v3` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, canonical URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, canonical URI\n>\n\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3` schema. This URL points to the\n> enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a major version folder. If you pin to a major version\n> folder, like `v3`, the schemas you use will update with every nonbreaking release. You\n> can use those schemas until you want or need to migrate to a new major version of DSC.\n", + "\n\n> #### `v3.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a minor version folder. If you pin to a minor version\n> folder, like `v3.0`, the schemas you use will update with every patch release. Pinning\n> to a minor version folder enables you to take advantage of fixes to the schemas without\n> continually updating your schema URIs. However, to take advantage of any improvements\n> or new features, you need to update the URI whenever a new minor version is released.\n", + "\n\n> #### `v3.0.0` non-bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the canonical non-bundled schema. When it's used for validation, the\n> validating client needs to retrieve this schema and every schema it references.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` bundled, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL\n> points to the bundled schema. When it's used for validation, the validating client\n> only needs to retrieve this schema.\n>\n> This schema uses the bundling model introduced for JSON Schema 2020-12. While DSC can\n> still validate the document when it uses this schema, other tools may error or behave\n> in unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n", + "\n\n> #### `v3.0.0` enhanced authoring, short URI\n>\n> Indicates that the resource manifest adheres to the `v3.0.0` schema. This URL points to\n> the enhanced authoring schema. This schema is much larger than the other schemas, as it\n> includes additional definitions that provide contextual help and snippets that the\n> others don't include.\n>\n> This schema uses keywords that are only recognized by VS Code. While DSC can still\n> validate the document when it uses this schema, other tools may error or behave in\n> unexpected ways.\n>\n> This URI is for the schemas in a full semantic version folder. If you pin to a full\n> semantic version folder, like `v3.0.0`, you're pinning to schemas that won't change.\n> However, to take advantage of any improvements or fixes to the schemas, you need to\n> update the URI with each release.\n" ] }, "type": { @@ -268,15 +286,15 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/semver.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC Resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe semantic version ([semver][02]) of the DSC resource. This version identifies the DSC\nResource, not the version of the application it manages.\n\nThis value uses the [suggested regular expression][03] to validate whether the string is valid\nsemver. This is the same pattern, made multi-line for easier readability:\n\n```regex\n^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\n(?:-(\n (?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)\n (?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))\n*))?\n(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$\n```\n\nThe first line matches the `major.minor.patch` components of the version. The middle lines match\nthe pre-release components. The last line matches the build metadata component.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#version\n[02]: https://semver.org/\n[03]: https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\n" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC Resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines a short synopsis of the DSC resource's purpose.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#description-1\n" }, "kind": { "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/resourceKind.json" @@ -322,7 +340,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$", @@ -347,7 +365,7 @@ "4": "JSON serialization failed" } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC Resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC Resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThis property defines a map of valid exit codes for the DSC resource. DSC always interprets\nexit code `0` as a successful operation and any other exit code as an error. Use this\nproperty to indicate human-readable semantic meanings for the DSC resource's exit codes.\n\nDefine the keys in this property as strings representing a valid 32-bit signed integer. You\ncan't use alternate formats for the exit code. For example, instead of the hexadecimal value\n`0x80070005` for \"Access denied\", specify the exit code as `-2147024891`. If you're authoring\nyour resource manifest in yaml, be sure to wrap the exit code in single quotes, like\n`'0': Success` instead of `0: Success` to ensure the YAML file can be parsed correctly.\n\nDefine the value for each key as a string explaining what the exit code indicates.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#exitcodes\n", "defaultSnippets": [ { "label": " Defined exit codes", @@ -415,11 +433,11 @@ "resourceType.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC Resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nThe namespaced name of the DSC resource, using the syntax:\n\n```yaml\nowner[.group][.area]/name\n```\n\nFor example:\n\n- `Microsoft.SqlServer/Database`\n- `Microsoft.SqlServer.Database/User`\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourcetype?view=dsc-3.0&preserve-view=true\n", "patternErrorMessage": "Invalid type name. Valid resource type names always define an owner and a name separated by a\nslash, like `Microsoft/OSInfo`. Type names may optionally include a group and area to namespace\nthe resource under the owner, like `Microsoft.Windows/Registry`.\n" }, "semver.json": { @@ -436,20 +454,20 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the resource is a normal DSC Resource, a group resource, or an adapter\nresource. This property is only required for group resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `Adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `Resource`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should interpret the resource - as a typical resource, an adapter, a group, or an\nimporter. This property is required for group, exporter, and importer resources.\n\nDSC infers the default value for this property based on whether the [adapter][02] property is\ndefined in the manifest:\n\n- If the `adapter` property is defined in the manifest, the default `kind` is `adapter`.\n- If the `adapter` property is not defined in the manifest, the default `kind` is `resource`.\n\nFor more information about the different kinds of DSC resources, see [DSC resource kinds][01]\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n[01]: https://learn.microsoft.com/powershell/dsc/concepts/resources/kinds?view=dsc-3.0&preserve-view=true\n", "markdownEnumDescriptions": [ - "\n\nIndicates that the manifest is for a standard command-based DSC Resource.\n", - "\n\nIndicates that the manifest is for an adapter resource that enables the use of\nnon-command-based resources with DSC.\n", - "\n\nIndicates that the manifest is for a group resource that processes an array of nested\nresource instances.\n", - "\n\nIndicates that the manifest is for an import resource that resolves an external source to DSC\nresource instances. The resolved instances are processed as nested instances for the import\nresource.\n" + "\n\nIndicates that the manifest is for a typical DSC command resource.\n", + "\n\nIndicates that the manifest is for a resource that enables the use of non-command resources\nwith DSC.\n", + "\n\nIndicates that the manifest is for a resource that processes an array of nested resource\ninstances.\n", + "\n\nIndicates that the manifest is for a resource that resolves an external source to DSC\nresource instances. DSC processes the resolved instances as nested instances for the importer\nresource.\n" ] }, "commandExecutable.json": { @@ -540,7 +558,6 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } }, @@ -549,8 +566,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of an instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of an instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Get resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/get?view=dsc-3.0&preserve-view=true\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/get?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -656,8 +673,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to set the desired state of an instance and how to\nprocess the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to set the desired state of an instance and how to\nprocess the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Set resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/set?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -676,23 +693,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC Resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set` command. Set this value to `true` if the DSC resource tests input before modifying\nsystem state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set` command where the instance defines the `_exist` property as `false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's state after the set\noperation or the state and an array of the properties the DSC Resource modified.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's state after the set\noperation or the state and an array of the properties the DSC resource modified.\n\nWhen a manifest doesn't define `set.return`, DSC doesn't expect the resource to emit any\nJSON to stdout. Instead, DSC invokes the **Get** operation for the resource to construct\nthe result object, retrieving the actual state of the resource after the **Set** operation.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's final state after the set\n> operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's final state and an array of property\n> names that the resource modified.\n" @@ -792,11 +809,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC Resource. If a resource doesn't\ndefine this method in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][02].\n\nThis method definition has the same structure as the [set method][03] in the resource manifest.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to indicate whether and how the set command will\nmodify an instance and how to process the output from the DSC resource. If a resource doesn't\ndefine this command in the manifest, DSC synthesizes this behavior by converting the result of\nthe test operation for the resource into the [set result][01].\n\nThis command definition has the same structure as the [set command][02] in the resource manifest.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[What-if resource operation stdout][03].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/outputs/resource/set?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/whatif?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -812,23 +830,23 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC should pass input to the command, either as environment variables or JSON\nover `stdin`. This property is optional when you define an object in the `args` list. If\nyou define a JSON input argument and an `input`, DSC sends the JSON data both ways:\n\n- If you define `input` as `env` and a JSON input argument, DSC sets an environment variable\n for each property in the JSON input and passes the JSON input object as a string to the\n defined argument.\n- If you define `input` as `stdin` and a JSON input argument, DSC passes the JSON input over\n stdin and as a string to the defined argument.\n- If you define a JSON input argument without defining the `input` property, DSC only passes\n the JSON input as a string to the defined argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't\npass the input JSON to the resource. This makes the manifest invalid. You must define the\n`input` property, a JSON input argument in the `args` property array, or both.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#input\n" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC Resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource performs its own test to ensure idempotency when calling the\n`set --what-if` command . Set this value to `true` if the DSC resource tests input before\nprocessing how it will modify system state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#implementspretest\n" }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC Resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC Resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the DSC resource has its own built-in handling for the [`_exist`][02] common\nproperty. Set this value to `true` if the DSC resource handles instance deletion internally\nwhen receiving a `set --what-if` command where the instance defines the `_exist` property as\n`false`.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#handlesExist\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n" }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC Resource\nwould modify.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's expected state after a\nset operation in what-if mode or the state and an array of the properties the DSC resource\nwould modify.\n\nUnlike the `set.return` property, you must specify a value for `whatIf.return` for the\nresource to function correctly. When you don't define `set.return` in your resource manifest,\nDSC invokes the **Get** operation on the resource after the **Set** operation to construct\nthe result with the final state of the resource.\n\nFor what-if operations, the resource doesn't actually change the system, so invoking the\n**Get** operation after the what-if command executes will always show the final state to\nbe the same as the before state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/whatif?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Final state only_\n\n> Indicates that the resource returns only the instance's expected final state after the\n> set operation as a JSON blob.\n", "_Final state and changed properties_\n\n> Indicates that the resource returns the instance's expected final state and an array of\n> property names that the resource would modify.\n" @@ -928,8 +946,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to test if an instance is in the desired state and how\nto process the output from the DSC Resource.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to test if an instance is in the desired state and how\nto process the output from the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Test resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/test?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -949,9 +967,10 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", "$ref": "#/$defs/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC Resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", + "default": "state", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines whether the command returns a JSON blob of the DSC resource's current state or the\nstate and an array of the properties that are out of the desired state.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/test?view=dsc-3.0&preserve-view=true#return\n", "markdownEnumDescriptions": [ "_Actual state only_\n\n> Indicates that the resource returns only the instance's actual state as a JSON blob.\n", "_Actual state and differing properties_\n\n> Indicates that the resource returns the instance's actual state and an array of\n> property names that are out of the desired state.\n" @@ -1048,8 +1067,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][02] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][03] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][02] property in the [JSON schema for the resource's properties][04].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[04]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to delete an instance. Define this method for\nresources as an alternative to handling the [`_exist`][01] property in a `set` operation, which\ncan lead to highly complex code. If the `set` method for the resource is able to handle deleting\nan instance when `_exist` is `false`, set the [`handlesExist`][02] property of the set method\ndefinition to `true` instead.\n\nIf you define the delete method in a resource manifest, ensure that you also define the\n[`_exist`][01] property in the [JSON schema for the resource's properties][03].\n\nDSC doesn't expect this command to return any output to stdout.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/delete?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/exist?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/set?view=dsc-3.0&preserve-view=true#handlesExist\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1155,8 +1174,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the current state of every instance.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the current state of every instance.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Export resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/export?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/export?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1262,8 +1281,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to validate the state of an instance. This method is\nmandatory for DSC Group Resources. It's ignored for all other DSC Resources.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to validate the state of an instance. This method is\nmandatory for DSC group resources. It's ignored for all other DSC resources.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Validate resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/validate?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/validate?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1369,8 +1388,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to resolve an external source to nested DSC\nConfiguration Document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `Import`.\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to resolve an external source to nested DSC\nconfiguration document. Define this method for [importer resources][02] and set the [kind][03]\nproperty in the manifest root to `importer`.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Resolve resource operation stdout][01].\n\nDSC sends data to the command in three ways:\n\n1. When `input` is `stdin`, DSC sends the data as a string representing the data as a compressed\n JSON object without spaces or newlines between the object properties.\n1. When `input` is `env`, DSC sends the data as environment variables. It creates an environment\n variable for each property in the input data object, using the name and value of the property.\n1. When the `args` array includes a JSON input argument definition, DSC sends the data as a string\n representing the data as a compressed JSON object to the specified argument.\n\nIf you don't define the `input` property and don't define a JSON input argument, DSC can't pass\nthe input JSON to the resource. You can only define one JSON input argument for a command.\n\nYou must define the `input` property, one JSON input argument in the `args` property array, or\nboth.\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/resolve?view=dsc-3.0&preserve-view=true\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/resolve?view=dsc-3.0&preserve-view=true\n[02]: https://learn.microsoft.com/powershell/dsc/reference/schemas/definitions/resourceKind?view=dsc-3.0&preserve-view=true#importer-resources\n[03]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/root?view=dsc-3.0&preserve-view=true#kind\n", "type": "object", "required": [ "executable" @@ -1476,8 +1495,8 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to\nmanage resources that don't have their own manifests with DSC.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "list", @@ -1486,8 +1505,8 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource adapter to list its supported DSC resources.\n\nFor more information about the output DSC expects from the resource for this command,\nsee [List resource operation stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#list\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/list?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "executable" @@ -1503,7 +1522,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources.", + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources.", "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"registry\",\n \"args\": [\"resources\", \"list\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nregistry resources list\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/adapter?view=dsc-3.0&preserve-view=true#args\n" } } @@ -1568,7 +1587,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -1585,7 +1604,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -1605,7 +1624,7 @@ "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines an array of strings to pass as arguments to the command. DSC passes the arguments to\nthe command in the order they're specified.\n\nFor example, the given the following definition:\n\n```json\n{\n \"executable\": \"myresource\",\n \"args\": [\"schema\", \"show\"],\n}\n```\n\nDSC invokes the command for the resource as:\n\n```bash\nmyresource schema show\n```\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#args\n" } }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n", + "markdownDescription": "***\n[_Online Documentation_][00]\n***\n\nDefines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob\nrepresenting an instance of the DSC resource.\n\nFor more information about the output DSC expects the resource to emit for this command, see\n[Schema resource command stdout][01].\n\n[00]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#command\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/stdout/schema?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define without arguments", @@ -1628,8 +1647,8 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC Resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON Schema DSC must use to validate a JSON blob representing an instance of the\nDSC resource.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true\n", "type": "object", "required": [ "$schema", @@ -1639,13 +1658,13 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -1653,7 +1672,7 @@ "https://json-schema.org/draft/2019-09/schema", "http://json-schema.org/draft-07/schema#" ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC Resource. DSC Resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the JSON type for an instance of the DSC resource. DSC resource instances always\nhave the `object` type. DSC only supports JSON Schema Draft 07 and later.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/embedded?view=dsc-3.0&preserve-view=true#type\n", "markdownEnumDescriptions": [ "_Draft 2020-12 (recommended)_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2020-12][01].\n>\n> This is the latest published draft of JSON Schema and is the draft future drafts\n> will be most compatible with.\n\n[01]: https://json-schema.org/specification-links.html#2020-12\n", "_Draft 2019-09_\n\n> Indicates that the resource instance schema adheres to\n> [JSON Schema Draft 2019-09][01].\n>\n> This is the previous published draft of JSON Schema. It's mostly compatible with\n> 2020-12, but less extensible and can't be bundled.\n\n[01]: https://json-schema.org/specification-links.html#draft-2019-09-formerly-known-as-draft-8\n", @@ -1661,11 +1680,11 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference", - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC Resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines the unique ID for the DSC resource's instance schema. If the instance schema is\npublished to its own public URI, set this keyword to that URI.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true#id\n" }, "properties": { "title": "Instance Properties", @@ -1787,7 +1806,7 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json" }, @@ -1795,19 +1814,19 @@ }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/inDesiredState.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC Resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource returns this value for it's own `test` method. This\nproperty is mandatory when the manifest defines the `test` property. It shouldn't\nbe included if the DSC resource relies on DSC's synthetic testing.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/indesiredstate?view=dsc-3.0&preserve-view=true\n" }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/purge.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_purge` property to specify\nwhether the DSC Resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_purge` property to specify\nwhether the DSC resource should remove all non-specified members when it manages\nan array of members or values.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/purge?view=dsc-3.0&preserve-view=true\n" }, "_rebootRequested": { "title": "Standard property: _rebootRequested", @@ -1815,7 +1834,7 @@ "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/rebootRequested.json" }, - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC Resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nIndicates that the DSC resource uses the standard `_rebootRequested` property to\nreport whether the machine should be rebooted after the `set` method executes.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/properties/rebootrequested?view=dsc-3.0&preserve-view=true\n" } }, "defaultSnippets": [ @@ -1904,7 +1923,7 @@ } } ], - "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC Resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", + "markdownDescription": "***\n[_Online Documentation_][01]\n***\n\nDefines how DSC must validate a JSON blob representing an instance of the DSC resource.\n\nThe JSON schema can be defined dynamically with the `command` property or statically with the\n`embedded` property.\n\nFor development purposes, it can be more convenient to use the `command` property and avoid\nneeding to adjust both the code and the schema.\n\nMicrosoft recommends using the `embedded` property when publishing a resource publicly. When the\nmanifest declares the schema with the `command` property, DSC calls the command at the beginning\nof any operation using the resource, possibly impacting performance. The schema is also\nunavailable to integrating tools when the resource isn't installed locally. When the schema is\nembedded in the manifest, DSC and integrating tools only need the manifest itself.\n\n[01]: https://learn.microsoft.com/powershell/dsc/reference/schemas/resource/manifest/schema/property?view=dsc-3.0&preserve-view=true\n", "defaultSnippets": [ { "label": " Define as command without arguments", diff --git a/schemas/v3/config/document.json b/schemas/v3/config/document.json index afbf6fd06..f4b9ae90b 100644 --- a/schemas/v3/config/document.json +++ b/schemas/v3/config/document.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", - "title": "DSC Configuration Document schema", - "description": "Describes a valid DSC Configuration Document.", + "title": "DSC configuration document schema", + "description": "Describes a valid DSC configuration document.", "type": "object", "required": [ "$schema", @@ -11,23 +11,32 @@ "properties": { "$schema": { "title": "Schema", - "description": "This property must be the canonical URL of the DSC Configuration Document schema that the document is implemented for.", + "description": "Indicates the URI that resolves to the version of this schema that the document adheres to. DSC uses this property when validating and processing the configuration document.", "type": "string", "format": "uri", "enum": [ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/config/document.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/config/document.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/config/document.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/config/document.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/config/document.vscode.json" ] }, "parameters": { - "title": "DSC Configuration document parameters", + "title": "DSC configuration document parameters", "description": "Defines runtime options for the configuration. Users and integrating tools can override use the defined parameters to pass alternate values to the configuration.", "type": "object", "additionalProperties": { @@ -40,10 +49,10 @@ "type": "object" }, "resources": { - "title": "DSC Configuration document resources", - "description": "Defines a list of DSC Resource instances for the configuration to manage.", + "title": "DSC configuration document resources", + "description": "Defines a list of DSC resource instances for the configuration to manage.", "type": "array", - "minItems": 1, + "minItems": 0, "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/config/document.resource.json" } diff --git a/schemas/v3/config/document.parameter.json b/schemas/v3/config/document.parameter.json index 735b13959..2c5139304 100644 --- a/schemas/v3/config/document.parameter.json +++ b/schemas/v3/config/document.parameter.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.parameter.json", "title": "Parameter", - "description": "Defines a runtime option for a DSC Configuration Document.", + "description": "Defines a runtime option for a DSC configuration document.", "type": "object", "required": [ "type" diff --git a/schemas/v3/config/document.resource.json b/schemas/v3/config/document.resource.json index 70f55e648..8ef9b0d43 100644 --- a/schemas/v3/config/document.resource.json +++ b/schemas/v3/config/document.resource.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.resource.json", - "title": "DSC Resource instance", - "description": "Defines an instance of a DSC Resource in a configuration.", + "title": "DSC resource instance", + "description": "Defines an instance of a DSC resource in a configuration.", "type": "object", "required": [ "type", @@ -17,7 +17,7 @@ }, "dependsOn": { "title": "Instance depends on", - "description": "Defines a list of DSC Resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", + "description": "Defines a list of DSC resource instances that DSC must successfully process before processing this instance. Each value for this property must be the `resourceID()` lookup for another instance in the configuration. Multiple instances can depend on the same instance, but every dependency for an instance must be unique in that instance's `dependsOn` property.", "type": "array", "items": { "type": "string", @@ -27,7 +27,7 @@ }, "properties": { "title": "Managed instance properties", - "description": "Defines the properties of the DSC Resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC Resource's schema.", + "description": "Defines the properties of the DSC resource this instance manages. This property's value must be an object. DSC validates the property's value against the DSC resource's schema.", "type": "object" } } diff --git a/schemas/v3/definitions/hadErrors.json b/schemas/v3/definitions/hadErrors.json index 5ec59b4a7..4e557bf6d 100644 --- a/schemas/v3/definitions/hadErrors.json +++ b/schemas/v3/definitions/hadErrors.json @@ -2,6 +2,6 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/hadErrors.json", "title": "Had Errors", - "description": "Indicates whether any of the DSC Resources returned a non-zero exit code.", + "description": "Indicates whether any of the DSC resources returned a non-zero exit code.", "type": "boolean" } diff --git a/schemas/v3/definitions/instanceName.json b/schemas/v3/definitions/instanceName.json index 93bd80faa..96ac61e0a 100644 --- a/schemas/v3/definitions/instanceName.json +++ b/schemas/v3/definitions/instanceName.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/instanceName.json", "title": "Instance name", - "description": "The short, human-readable name for a DSC Resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", + "description": "The short, human-readable name for a DSC resource instance. Must be unique within a DSC Configuration document. Must be a non-empty string containing only letters, numbers, and spaces.", "type": "string", "pattern": "^[a-zA-Z0-9 ]+$", "minLength": 1 diff --git a/schemas/v3/definitions/message.json b/schemas/v3/definitions/message.json index 2f8c640a3..f2f32c101 100644 --- a/schemas/v3/definitions/message.json +++ b/schemas/v3/definitions/message.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/message.json", "title": "Message", - "description": "A message emitted by a DSC Resource with associated metadata.", + "description": "A message emitted by a DSC resource with associated metadata.", "type": "object", "required": [ "name", @@ -13,7 +13,7 @@ "properties": { "name": { "title": "Message source instance name", - "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC Configuration Document.", + "description": "The short, human-readable name for the instance that emitted the message, as defined in the DSC configuration document.", "type": "string" }, "type": { @@ -21,7 +21,7 @@ }, "message": { "title": "Message content", - "description": "The actual content of the message as emitted by the DSC Resource.", + "description": "The actual content of the message as emitted by the DSC resource.", "type": "string", "minLength": 1 }, diff --git a/schemas/v3/definitions/messages.json b/schemas/v3/definitions/messages.json index 8158a2b52..604d91ecb 100644 --- a/schemas/v3/definitions/messages.json +++ b/schemas/v3/definitions/messages.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/messages.json", "title": "Messages", - "description": "A list of structured messages emitted by the DSC Resources during an operation.", + "description": "A list of structured messages emitted by the DSC resources during an operation.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/message.json" diff --git a/schemas/v3/definitions/parameters/validValueTypes.json b/schemas/v3/definitions/parameters/validValueTypes.json index e88ab9cc3..94e3128ad 100644 --- a/schemas/v3/definitions/parameters/validValueTypes.json +++ b/schemas/v3/definitions/parameters/validValueTypes.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/parameters/validValueTypes.json", - "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC Configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", + "$comment": "This schema fragment makes it a little easier to compose the valid properties\nfor DSC configuration document parameters. As-written, values must be one of\nthose on this list - the schema definition for dataType excludes `null` and\nnumbers with fractional parts, like `3.5`.\n", "type": [ "string", "integer", diff --git a/schemas/v3/definitions/resourceCapabilities.json b/schemas/v3/definitions/resourceCapabilities.json new file mode 100644 index 000000000..e70e954ab --- /dev/null +++ b/schemas/v3/definitions/resourceCapabilities.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceCapabilities.json", + "title": "Resource capabilities", + "description": "Define the operations you can invoke for a resource and how the resource behaves when invoked.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "get", + "set", + "setHandlesExist", + "whatIf", + "test", + "delete", + "export", + "resolve" + ] + } +} diff --git a/schemas/v3/definitions/resourceKind.json b/schemas/v3/definitions/resourceKind.json index c74d46900..7e2ab7a7e 100644 --- a/schemas/v3/definitions/resourceKind.json +++ b/schemas/v3/definitions/resourceKind.json @@ -2,12 +2,12 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceKind.json", "title": "Resource kind", - "description": "Defines whether the resource is a normal DSC Resource, a group resource, or an adapter resource. This property is only required for group resources.", + "description": "Defines whether the resource is a normal DSC resource, a group resource, or an adapter resource. This property is only required for group resources.", "type": "string", "enum": [ - "Resource", - "Adapter", - "Group", - "Import" + "resource", + "adapter", + "group", + "importer" ] } diff --git a/schemas/v3/definitions/resourceType.json b/schemas/v3/definitions/resourceType.json index e121ab468..347a6267d 100644 --- a/schemas/v3/definitions/resourceType.json +++ b/schemas/v3/definitions/resourceType.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json", - "title": "DSC Resource fully qualified type name", - "description": "The namespaced name of the DSC Resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", + "title": "DSC resource fully qualified type name", + "description": "The namespaced name of the DSC resource, using the syntax:\n\nowner[.group][.area]/name\n\nFor example:\n\n - Microsoft.SqlServer/Database\n - Microsoft.SqlServer.Database/User\n", "type": "string", "pattern": "^\\w+(\\.\\w+){0,2}\\/\\w+$" } diff --git a/schemas/v3/definitions/returnKind.json b/schemas/v3/definitions/returnKind.json index dacfc126c..60cba9faf 100644 --- a/schemas/v3/definitions/returnKind.json +++ b/schemas/v3/definitions/returnKind.json @@ -7,6 +7,5 @@ "state", "stateAndDiff" ], - "default": "state", "$comment": "While the enumeration for return kind is the same for the `set` and `test`\nmethod, the way it changes the behavior of the command isn't. The description\nkeyword isn't included here because the respective schemas for those methods\ndocument the behavior themselves." } diff --git a/schemas/v3/metadata/configurationDocumentResult.json b/schemas/v3/metadata/configurationDocumentResult.json index adacb09af..61e685ea8 100644 --- a/schemas/v3/metadata/configurationDocumentResult.json +++ b/schemas/v3/metadata/configurationDocumentResult.json @@ -19,8 +19,7 @@ "startDatetime", "endDatetime", "duration", - "securityContext", - "context" + "securityContext" ], "properties": { "version": { @@ -43,9 +42,6 @@ }, "securityContext": { "$ref": "/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/securityContext.json" - }, - "context": { - "$ref": "/PowerShell/DSC/main/schemas/v3/metadata/Microsoft.DSC/context.json" } } } diff --git a/schemas/v3/outputs/config/get.json b/schemas/v3/outputs/config/get.json index e0a017d12..293b7584c 100644 --- a/schemas/v3/outputs/config/get.json +++ b/schemas/v3/outputs/config/get.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/get.json", - "title": "DSC Configuration get command result", + "title": "Result for `dsc config get` command", "description": "Represents the data structure returned by the `dsc config get` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `get` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `get` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/get.full.json" diff --git a/schemas/v3/outputs/config/set.json b/schemas/v3/outputs/config/set.json index 93b545b24..a69cd67c3 100644 --- a/schemas/v3/outputs/config/set.json +++ b/schemas/v3/outputs/config/set.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/set.json", - "title": "DSC Configuration set command result", + "title": "Result for `dsc config set` command", "description": "Represents the data structure returned by the `dsc config set` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `set` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `set` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/set.full.json" diff --git a/schemas/v3/outputs/config/test.json b/schemas/v3/outputs/config/test.json index 556d1a0f6..047363a96 100644 --- a/schemas/v3/outputs/config/test.json +++ b/schemas/v3/outputs/config/test.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/config/test.json", - "title": "DSC Configuration test command result", + "title": "Result for `dsc config test` command", "description": "Represents the data structure returned by the `dsc config test` command.", "type": "object", "required": [ @@ -16,7 +16,7 @@ }, "results": { "title": "Results", - "description": "The results of the `test` method for every DSC Resource instance in the DSC Configuration Document with the instance's name and type.", + "description": "The results of the `test` method for every DSC resource instance in the DSC configuration document with the instance's name and type.", "type": "array", "items": { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/test.full.json" diff --git a/schemas/v3/outputs/resource/get.json b/schemas/v3/outputs/resource/get.json index 0d4ea6c95..db5237bba 100644 --- a/schemas/v3/outputs/resource/get.json +++ b/schemas/v3/outputs/resource/get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.json", "title": "dsc resource get result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the actual state of a non-nested instance or an array of objects that describe the actual state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json" diff --git a/schemas/v3/outputs/resource/get.simple.json b/schemas/v3/outputs/resource/get.simple.json index dc9361044..7d2102571 100644 --- a/schemas/v3/outputs/resource/get.simple.json +++ b/schemas/v3/outputs/resource/get.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/get.simple.json", "title": "dsc resource get result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource get` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource get` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "actualState" @@ -10,7 +10,7 @@ "properties": { "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" } } diff --git a/schemas/v3/outputs/resource/list.json b/schemas/v3/outputs/resource/list.json index 62a2ad819..668e9e93c 100644 --- a/schemas/v3/outputs/resource/list.json +++ b/schemas/v3/outputs/resource/list.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/list.json", "title": "dsc resource list result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource list` command.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource list` command.", "type": "object", "properties": { "type": { @@ -15,45 +15,30 @@ "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/semver.json" }, "capabilities": { - "title": "Resource capabilities", - "description": "Defines the list of DSC operations the resource is compatible with. If the resource doesn't list a given operation, like `set` or `export`, the resource can't be used for those operations. The exception to this is `test` - DSC uses synthetic testing for resources that don't have the `test` capability.", - "type": "array", - "items": { - "type": "string", - "enum": [ - "get", - "set", - "setHandlesExist", - "whatIf", - "test", - "delete", - "export", - "resolve" - ] - } + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/resourceCapabilities.json" }, "description": { - "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "title": "Resource description", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "path": { "title": "Path", - "description": "Indicates the path to the DSC Resource on the file system.", + "description": "Indicates the path to the DSC resource on the file system.", "type": "string" }, "directory": { "title": "Directory", - "description": "Indicates the path to the folder containing the DSC Resource on the file system.", + "description": "Indicates the path to the folder containing the DSC resource on the file system.", "type": "string" }, "implementedAs": { "title": "Implemented as", - "description": "Indicates how the DSC Resource was implemented.", + "description": "Indicates how the DSC resource was implemented.", "oneOf": [ { "title": "Standard implementation", - "description": "Indicates that the DSC Resource is implemented as one of the standard implementations built into DSC.", + "description": "Indicates that the DSC resource is implemented as one of the standard implementations built into DSC.", "type": "string", "enum": [ "command" @@ -61,7 +46,7 @@ }, { "title": "Custom implementation", - "description": "Indicates that the DSC Resource uses a custom implementation.", + "description": "Indicates that the DSC resource uses a custom implementation. Only adapted resources define this value.", "type": "object", "required": [ "custom" @@ -69,7 +54,7 @@ "properties": { "custom": { "title": "Custom implementation name", - "description": "The name of the custom implementation.", + "description": "The name of the custom implementation. This name is determined by the resource adapter.", "type": "string" } } @@ -78,7 +63,7 @@ }, "author": { "title": "Author", - "description": "Indicates the name of the person or organization that developed and maintains the DSC Resource.", + "description": "Indicates the name of the person or organization that developed and maintains the DSC resource.", "type": [ "string", "null" @@ -86,7 +71,7 @@ }, "properties": { "title": "Properties", - "description": "Defines the DSC Resource's property names.", + "description": "Defines the DSC resource's property names.", "type": "array", "items": { "type": "string", @@ -94,8 +79,8 @@ } }, "requireAdapter": { - "title": "Required DSC Resource Adapter", - "description": "Defines the fully qualified type name of the DSC Resource Adapter the DSC Resource depends on.", + "title": "Required DSC resource adapter", + "description": "Defines the fully qualified type name of the DSC resource adapter the DSC resource depends on.", "oneOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json" diff --git a/schemas/v3/outputs/resource/schema.json b/schemas/v3/outputs/resource/schema.json index 5d250efe3..f71f5f0ba 100644 --- a/schemas/v3/outputs/resource/schema.json +++ b/schemas/v3/outputs/resource/schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc resource schema` command. This command always returns the DSC Resource's JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc resource schema` command. This command always returns the DSC resource's JSON schema document.", "type": "object" } diff --git a/schemas/v3/outputs/resource/set.json b/schemas/v3/outputs/resource/set.json index 1265c40d6..6c1eb825a 100644 --- a/schemas/v3/outputs/resource/set.json +++ b/schemas/v3/outputs/resource/set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.json", "title": "dsc resource set result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. The return data is either a single object that describes the enforced state of a non-nested instance or an array of objects that describe the enforced state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json" diff --git a/schemas/v3/outputs/resource/set.simple.json b/schemas/v3/outputs/resource/set.simple.json index 68258491d..cf2e6a2b7 100644 --- a/schemas/v3/outputs/resource/set.simple.json +++ b/schemas/v3/outputs/resource/set.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/set.simple.json", "title": "dsc resource set result (simple)", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource set` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource set` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "beforeState", @@ -12,17 +12,17 @@ "properties": { "beforeState": { "title": "State before enforcing", - "description": "This property always represents the desired state of the DSC Resource instance before the `set` method runs. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the desired state of the DSC resource instance before the `set` method runs. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "afterState": { "title": "State after enforcing", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `set` method after enforcing the desired state. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "changedProperties": { "title": "Changed properties", - "description": "This property always represents the list of property names for the DSC Resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", + "description": "This property always represents the list of property names for the DSC resource instance that the `set` method modified. When this value is an empty array, the `set` method didn't enforce any properties for the instance.", "type": "array", "default": [], "items": { diff --git a/schemas/v3/outputs/resource/test.json b/schemas/v3/outputs/resource/test.json index b440717cc..30a09db1a 100644 --- a/schemas/v3/outputs/resource/test.json +++ b/schemas/v3/outputs/resource/test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.json", "title": "dsc resource test result", - "description": "Describes the return data for a DSC Resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", + "description": "Describes the return data for a DSC resource instance from the `dsc resource get` command. The return data is either a single object that describes the tested state of a non-nested instance or an array of objects that describe the tested state of the nested instances for a group or adapter resource.", "anyOf": [ { "$ref": "/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json" diff --git a/schemas/v3/outputs/resource/test.simple.json b/schemas/v3/outputs/resource/test.simple.json index d3caeb5ee..82e91becd 100644 --- a/schemas/v3/outputs/resource/test.simple.json +++ b/schemas/v3/outputs/resource/test.simple.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/resource/test.simple.json", "title": "dsc resource test result (simple)", - "description": "Describes the return data for a single DSC Resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", + "description": "Describes the return data for a single DSC resource instance from the `dsc resource test` command. This data is returned for instances that aren't group resources, adapter resources, or nested inside a group or adapter resource.\nWhen you use `dsc resource test` for a group or adapter resource, the command returns an array of full test result objects that include the name and type for the nested instances.", "type": "object", "required": [ "desiredState", @@ -13,12 +13,12 @@ "properties": { "desiredState": { "title": "Desired state", - "description": "This property always represents the desired state of the DSC Resource instance as specified to DSC.", + "description": "This property always represents the desired state of the DSC resource instance as specified to DSC.", "type": "object" }, "actualState": { "title": "Actual state", - "description": "This property always represents the current state of the DSC Resource instance as returned by its `test` method or, if the DSC Resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC Resource's schema.", + "description": "This property always represents the current state of the DSC resource instance as returned by its `test` method or, if the DSC resource doesn't define the `test` method, by its `get` method. DSC validates this return value against the DSC resource's schema.", "type": "object" }, "inDesiredState": { @@ -28,7 +28,7 @@ }, "differingProperties": { "title": "Differing properties", - "description": "This property always represents the list of property names for the DSC Resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", + "description": "This property always represents the list of property names for the DSC resource instance that aren't in the desired state. When this property is an empty array, the instance is in the desired state.", "type": "array", "default": [], "items": { diff --git a/schemas/v3/outputs/schema.json b/schemas/v3/outputs/schema.json index f55c29c0c..2b54b3953 100644 --- a/schemas/v3/outputs/schema.json +++ b/schemas/v3/outputs/schema.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/outputs/schema.json", - "title": "DSC Resource schema result", - "description": "Describes the return data for a DSC Resource from the `dsc schema` command. This command always returns a JSON schema document.", + "title": "DSC resource schema result", + "description": "Describes the return data for a DSC resource from the `dsc schema` command. This command always returns a JSON schema document.", "type": "object" } diff --git a/schemas/v3/resource/manifest.adapter.json b/schemas/v3/resource/manifest.adapter.json index fdc8af29f..93084df2a 100644 --- a/schemas/v3/resource/manifest.adapter.json +++ b/schemas/v3/resource/manifest.adapter.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.adapter.json", "title": "Adapter", - "description": "Defines the DSC Resource as a DSC Resource Adapter. A DSC Resource Adapter enables users to manage resources that don't have their own manifests with DSC.", + "description": "Defines the DSC resource as a DSC resource adapter. A DSC resource adapter enables users to manage resources that don't have their own manifests with DSC.", "type": "object", "required": [ "list", @@ -11,7 +11,7 @@ "properties": { "list": { "title": "List Command", - "description": "Defines how DSC must call the DSC Resource Adapter to list its supported DSC Resources.", + "description": "Defines how DSC must call the DSC resource adapter to list its supported DSC resources.", "type": "object", "required": [ "executable" @@ -26,7 +26,7 @@ "type": "string" }, "title": "Command arguments", - "description": "Defines the list of arguments to pass to the command to return the list of supported DSC Resources." + "description": "Defines the list of arguments to pass to the command to return the list of supported DSC resources." } } }, diff --git a/schemas/v3/resource/manifest.delete.json b/schemas/v3/resource/manifest.delete.json index c33e546cf..e494bb40f 100644 --- a/schemas/v3/resource/manifest.delete.json +++ b/schemas/v3/resource/manifest.delete.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.delete.json", "title": "Delete method", - "description": "Defines how DSC must call the DSC Resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", + "description": "Defines how DSC must call the DSC resource to delete an instance. Define this method for resources as an alternative to handling the `_exist` property in a `set` operation, which can lead to highly complex code. If the `set` operation for the resource is able to handle deleting an instance when `_exist` is `false`, set the `handlesExist` property of the set method definition to `true` instead.", "type": "object", "required": [ "executable" diff --git a/schemas/v3/resource/manifest.export.json b/schemas/v3/resource/manifest.export.json index 01f16deb6..f83f43b6c 100644 --- a/schemas/v3/resource/manifest.export.json +++ b/schemas/v3/resource/manifest.export.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.export.json", "title": "Export Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of every instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of every instance.", "type": "object", "required": [ "executable" diff --git a/schemas/v3/resource/manifest.get.json b/schemas/v3/resource/manifest.get.json index 89776e762..77740db1f 100644 --- a/schemas/v3/resource/manifest.get.json +++ b/schemas/v3/resource/manifest.get.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.get.json", "title": "Get Method", - "description": "Defines how DSC must call the DSC Resource to get the current state of an instance.", + "description": "Defines how DSC must call the DSC resource to get the current state of an instance.", "type": "object", "required": [ "executable" diff --git a/schemas/v3/resource/manifest.json b/schemas/v3/resource/manifest.json index bc3ab89c7..96ee7b740 100644 --- a/schemas/v3/resource/manifest.json +++ b/schemas/v3/resource/manifest.json @@ -1,8 +1,8 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", - "title": "Command-based DSC Resource Manifest", - "description": "Defines the information DSC and integrating require to process and call a command-based DSC Resource.", + "title": "DSC resource manifest", + "description": "Defines the information DSC and integrating require to process and call a DSC command resource.", "type": "object", "required": [ "$schema", @@ -12,19 +12,28 @@ "properties": { "$schema": { "title": "Manifest Schema", - "description": "This property must be the canonical URL of the Command-based DSC Resource Manifest schema that the manifest is implemented for.", + "description": "This property must be the canonical URL of the Command-based DSC resource Manifest schema that the manifest is implemented for.", "type": "string", "format": "uri", "enum": [ "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.json", "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/10/bundled/resource/manifest.vscode.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.json", - "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2023/08/bundled/resource/manifest.vscode.json" + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.json", + "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.0.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0/bundled/resource/manifest.vscode.json", + "https://aka.ms/dsc/schemas/v3.0.0/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.json", + "https://aka.ms/dsc/schemas/v3.0.0/bundled/resource/manifest.vscode.json" ] }, "type": { @@ -32,12 +41,12 @@ }, "version": { "title": "Resource Semantic Version", - "description": "The semantic version (semver) of the DSC Resource. This version identifies the DSC Resource, not the version of the application it manages.", + "description": "The semantic version (semver) of the DSC resource. This version identifies the DSC resource, not the version of the application it manages.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/semver.json" }, "description": { "title": "Resource Description", - "description": "A short synopsis of the DSC Resource's purpose.", + "description": "A short synopsis of the DSC resource's purpose.", "type": "string" }, "kind": { @@ -82,7 +91,7 @@ }, "exitCodes": { "title": "Exit Codes", - "description": "This property defines a map of valid exit codes for the DSC Resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC Resource's exit codes.", + "description": "This property defines a map of valid exit codes for the DSC resource. DSC always interprets exit code `0` as a successful operation and any other exit code as an error. Use this property to indicate human-readable semantic meanings for the DSC resource's exit codes.", "type": "object", "propertyNames": { "pattern": "^-?[0-9]+$" diff --git a/schemas/v3/resource/manifest.resolve.json b/schemas/v3/resource/manifest.resolve.json index f574a2fb6..0b0400ede 100644 --- a/schemas/v3/resource/manifest.resolve.json +++ b/schemas/v3/resource/manifest.resolve.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.resolve.json", "title": "Resolve method", - "description": "Defines how DSC must call the DSC Resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `Import`.", + "description": "Defines how DSC must call the DSC resource to resolve a nested configuration document from an external source. Define this method for importer resources where the resource kind is set to `importer`.", "type": "object", "required": [ "executable" diff --git a/schemas/v3/resource/manifest.schema.json b/schemas/v3/resource/manifest.schema.json index 142d7fb21..359cb5ffa 100644 --- a/schemas/v3/resource/manifest.schema.json +++ b/schemas/v3/resource/manifest.schema.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.schema.json", "title": "Instance Schema", - "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must validate a JSON blob representing an instance of the DSC resource.", "type": "object", "oneOf": [ { @@ -19,7 +19,7 @@ "properties": { "command": { "title": "Instance Schema Command", - "description": "Defines how DSC must call the DSC Resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to get the JSON Schema for validating a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "executable" @@ -40,7 +40,7 @@ }, "embedded": { "title": "Embedded Instance Schema", - "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC Resource.", + "description": "Defines the JSON Schema DSC must use to validate a JSON blob representing an instance of the DSC resource.", "type": "object", "required": [ "$schema", @@ -50,12 +50,12 @@ "properties": { "type": { "title": "Instance Type", - "description": "Defines the JSON type for an instance of the DSC Resource. DSC Resource instances always have the `object` type.", + "description": "Defines the JSON type for an instance of the DSC resource. DSC resource instances always have the `object` type.", "const": "object" }, "$schema": { - "title": "DSC Resource instance schema dialect", - "description": "Defines which dialect of JSON Schema the DSC Resource is using to validate instances.", + "title": "DSC resource instance schema dialect", + "description": "Defines which dialect of JSON Schema the DSC resource is using to validate instances.", "type": "string", "format": "uri-reference", "enum": [ @@ -65,8 +65,8 @@ ] }, "$id": { - "title": "DSC Resource instance schema ID", - "description": "Defines the unique ID for the DSC Resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", + "title": "DSC resource instance schema ID", + "description": "Defines the unique ID for the DSC resource's instance schema. If the instance schema is published to its own public URI, set this keyword to that URI.", "type": "string", "format": "uri-reference" }, @@ -92,21 +92,21 @@ "properties": { "_exist": { "title": "Standard Property: _exist", - "description": "Indicates that the DSC Resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", + "description": "Indicates that the DSC resource uses the standard `_exist` property to specify whether an instance should exist as a boolean value that defaults to `true`.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json" } }, "_inDesiredState": { "title": "Standard Property: _inDesiredState", - "description": "Indicates that the DSC Resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC Resource relies on DSC's synthetic testing.", + "description": "Indicates that the DSC resource returns this value for it's own `test` method. This read-only property is mandatory when the manifest defines the `test` property. It shouldn't be included if the DSC resource relies on DSC's synthetic testing.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/inDesiredState.json" } }, "_purge": { "title": "Standard Property: _purge", - "description": "Indicates that the DSC Resource uses the standard `_purge` property to specify whether the DSC Resource should remove all non-specified members when it manages an array of members or values.", + "description": "Indicates that the DSC resource uses the standard `_purge` property to specify whether the DSC resource should remove all non-specified members when it manages an array of members or values.", "const": { "$ref": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/purge.json" } diff --git a/schemas/v3/resource/manifest.set.json b/schemas/v3/resource/manifest.set.json index c95fa6046..4ef021d00 100644 --- a/schemas/v3/resource/manifest.set.json +++ b/schemas/v3/resource/manifest.set.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.set.json", "title": "Set Method", - "description": "Defines how DSC must call the DSC Resource to set the desired state of an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to set the desired state of an instance and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -18,19 +18,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC Resource tests input before modifying system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set` command. Set this value to `true` if the DSC resource tests input before modifying system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's state after the set operation or the state and an array of the properties the DSC Resource modified.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's state after the set operation or the state and an array of the properties the DSC resource modified.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" } }, diff --git a/schemas/v3/resource/manifest.test.json b/schemas/v3/resource/manifest.test.json index a3aef49a6..d44c8e8fe 100644 --- a/schemas/v3/resource/manifest.test.json +++ b/schemas/v3/resource/manifest.test.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.test.json", "title": "Test Method", - "description": "Defines how DSC must call the DSC Resource to test if an instance is in the desired state and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to test if an instance is in the desired state and how to process the output from the DSC resource.", "type": "object", "required": [ "executable" @@ -19,8 +19,9 @@ }, "return": { "title": "Test Command Return Type", - "description": "Defines whether the command returns a JSON blob of the DSC Resource's current state or the state and an array of the properties that are out of the desired state.", - "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" + "description": "Defines whether the command returns a JSON blob of the DSC resource's current state or the state and an array of the properties that are out of the desired state.", + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json", + "default": "state" } }, "oneOf": [ diff --git a/schemas/v3/resource/manifest.validate.json b/schemas/v3/resource/manifest.validate.json index f75f59b55..ba1650c29 100644 --- a/schemas/v3/resource/manifest.validate.json +++ b/schemas/v3/resource/manifest.validate.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.validate.json", "title": "Validate Method", - "description": "Defines how DSC must call the DSC Resource to validate the state of an instance. This method is mandatory for DSC Group Resources. It's ignored for all other DSC Resources.", + "description": "Defines how DSC must call the DSC resource to validate the state of an instance. This method is mandatory for DSC group resources. It's ignored for all other DSC resources.", "type": "object", "required": [ "executable" diff --git a/schemas/v3/resource/manifest.whatIf.json b/schemas/v3/resource/manifest.whatIf.json index 5c53ca1d2..c52ba772c 100644 --- a/schemas/v3/resource/manifest.whatIf.json +++ b/schemas/v3/resource/manifest.whatIf.json @@ -2,10 +2,11 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/manifest.whatIf.json", "title": "What-if method", - "description": "Defines how DSC must call the DSC Resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC Resource.", + "description": "Defines how DSC must call the DSC resource to indicate whether and how the set command will modify an instance and how to process the output from the DSC resource.", "type": "object", "required": [ - "executable" + "executable", + "return" ], "properties": { "executable": { @@ -18,19 +19,19 @@ "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/inputKind.json" }, "implementsPretest": { - "title": "Resource Performs Pre-Test", - "description": "Defines whether the DSC Resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC Resource tests input before processing how it will modify system state.", + "title": "Resource performs pre-test", + "description": "Defines whether the DSC resource performs its own test to ensure idempotency when calling the `set --what-if` command. Set this value to `true` if the DSC resource tests input before processing how it will modify system state.", "type": "boolean", "default": false }, "handlesExist": { - "title": "Resource handles _exist property", - "description": "Defines whether the DSC Resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC Resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", + "title": "Resource handles `_exist` property", + "description": "Defines whether the DSC resource has its own built-in handling for the `_exist` common property. Set this value to `true` if the DSC resource handles instance deletion internally when receiving a `set --what-if` command where the instance defines the `_exist` property as `false`.", "type": "boolean", "default": false }, "return": { - "description": "Defines whether the command returns a JSON blob of the DSC Resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC Resource would modify.", + "description": "Defines whether the command returns a JSON blob of the DSC resource's expected state after a set operation in what-if mode or the state and an array of the properties the DSC resource would modify.", "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/returnKind.json" } }, diff --git a/schemas/v3/resource/properties/exist.json b/schemas/v3/resource/properties/exist.json index 11c8d7705..4060c2c93 100644 --- a/schemas/v3/resource/properties/exist.json +++ b/schemas/v3/resource/properties/exist.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/exist.json", "title": "Instance should exist", - "description": "Indicates whether the DSC Resource instance should exist.", + "description": "Indicates whether the DSC resource instance should exist.", "type": "boolean", "default": true, "enum": [ diff --git a/schemas/v3/resource/properties/purge.json b/schemas/v3/resource/properties/purge.json index bc4a8b924..ec2782057 100644 --- a/schemas/v3/resource/properties/purge.json +++ b/schemas/v3/resource/properties/purge.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/properties/purge.json", "title": "Purge", - "description": "Indicates that only the components described in the DSC Resource should exist. If other components exist, the DSC Resource is out of the desired state. When enforcing desired state, the DSC Resource removes unmanaged components.", + "description": "Indicates that only the components described in the DSC resource should exist. If other components exist, the DSC resource is out of the desired state. When enforcing desired state, the DSC resource removes unmanaged components.", "type": [ "boolean", "null" diff --git a/schemas/v3/resource/stdout/delete.json b/schemas/v3/resource/stdout/delete.json new file mode 100644 index 000000000..87262a460 --- /dev/null +++ b/schemas/v3/resource/stdout/delete.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/delete.json", + "title": "Delete resource operation stdout", + "description": "DSC does not expect the **Delete** operation for a resource to return any JSON to stdout.", + "type": "null" +} diff --git a/schemas/v3/resource/stdout/export.json b/schemas/v3/resource/stdout/export.json new file mode 100644 index 000000000..a9acdf616 --- /dev/null +++ b/schemas/v3/resource/stdout/export.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/export.json", + "title": "Export resource operation stdout", + "description": "Represents the actual state of a resource instance in DSC. DSC expects every JSON Line emitted to stdout for the **Export** operation to adhere to this schema.", + "type": "object" +} diff --git a/schemas/v3/resource/stdout/get.json b/schemas/v3/resource/stdout/get.json new file mode 100644 index 000000000..7d7491309 --- /dev/null +++ b/schemas/v3/resource/stdout/get.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/get.json", + "title": "Get resource operation stdout", + "description": "Represents the actual state of a resource instance in DSC. DSC expects the JSON Line emitted to stdout for the **Get** operation to adhere to this schema.", + "type": "object" +} diff --git a/schemas/v3/resource/stdout/list.json b/schemas/v3/resource/stdout/list.json new file mode 100644 index 000000000..30f768d88 --- /dev/null +++ b/schemas/v3/resource/stdout/list.json @@ -0,0 +1,69 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/list.json", + "title": "List resource operation stdout", + "description": "Defines the representation of an adapted resource in DSC. DSC expects every JSON Line emitted to stdout for the **List** operation to adhere to this schema.", + "type": "object", + "required": [ + "type", + "kind", + "version", + "capabilities", + "path", + "directory", + "implementedAs", + "properties", + "requireAdapter" + ], + "properties": { + "type": { + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json" + }, + "kind": { + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/resourceKind.json" + }, + "version": { + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/semver.json" + }, + "capabilities": { + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/resourceCapabilities.json" + }, + "path": { + "title": "Path", + "description": "Indicates the path to the adapted resource on the file system.", + "type": "string" + }, + "directory": { + "title": "Directory", + "description": "Indicates the path to the folder containing the adapted resource on the file system." + }, + "implementedAs": { + "title": "Custom implementation name", + "description": "Indicates that the adapted resource uses a custom implementation. The name can be used to distinguish between different implementations for the adapted resources.", + "type": "string" + }, + "author": { + "title": "Author", + "description": "Indicates the name of the person or organization that developed and maintains the adapted Resource.", + "type": [ + "string", + "null" + ], + "pattern": "^\\w+( \\w+)*" + }, + "properties": { + "title": "Properties", + "description": "Defines the adapted resource's property names.", + "type": "array", + "items": { + "type": "string", + "pattern": "^\\w+$" + } + }, + "requireAdapter": { + "title": "Required adapter", + "description": "Defines the fully qualified type name of the adapter that the adapted resource depends on. An adapter should always set this value to its own fully qualified resource type name.", + "$ref": "/PowerShell/DSC/main/schemas/v3/definitions/resourceType.json" + } + } +} diff --git a/schemas/v3/resource/stdout/resolve.json b/schemas/v3/resource/stdout/resolve.json new file mode 100644 index 000000000..60781eb77 --- /dev/null +++ b/schemas/v3/resource/stdout/resolve.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/resolve.json", + "title": "Resolve resource operation stdout", + "description": "Defines the representation of a resolved configuration document. DSC expects the JSON Line emitted to stdout for the **Resolve** operation to adhere to this schema.", + "type": "object", + "required": [ + "configuration" + ], + "properties": { + "configuration": { + "title": "Resolved configuration document", + "description": "Defines the resolved configuration document.", + "$ref": "/PowerShell/DSC/main/schemas/v3/config/document.json" + }, + "parameters": { + "title": "Resolved parameters", + "description": "The `parameters` property defines the set of resolved parameter values for the resolved configuration document.", + "type": "object" + } + } +} diff --git a/schemas/v3/resource/stdout/schema.json b/schemas/v3/resource/stdout/schema.json new file mode 100644 index 000000000..2f748daa6 --- /dev/null +++ b/schemas/v3/resource/stdout/schema.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/schema.json", + "title": "Schema resource command stdout", + "description": "Represents the JSON Schema that validates instances of the resource. DSC expects a resource that defines the `schema.command` field in its resource manifest to return this value for that command.", + "type": "object", + "required": [ + "$schema", + "type", + "properties" + ] +} diff --git a/schemas/v3/resource/stdout/set.json b/schemas/v3/resource/stdout/set.json new file mode 100644 index 000000000..899d66ee6 --- /dev/null +++ b/schemas/v3/resource/stdout/set.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/set.json", + "title": "Set resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation.", + "oneOf": [ + { + "title": "Null output", + "description": "When a command resource doesn't define `set.return` in its resource manifest, DSC doesn't expect the resource to emit any JSON to stdout for the **Set** operation.", + "type": "null" + }, + { + "title": "state output", + "description": "When a resource defines `set.return` in its manifest as `state` or `stateAndDiff`, DSC expects the resource to emit a JSON Line to stdout representing the actual state of the resource instance after the **Set** operation changes the system.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `set.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} diff --git a/schemas/v3/resource/stdout/test.json b/schemas/v3/resource/stdout/test.json new file mode 100644 index 000000000..f2991b5ac --- /dev/null +++ b/schemas/v3/resource/stdout/test.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/test.json", + "title": "Test resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Test** operation.", + "oneOf": [ + { + "title": "state output", + "description": "For the **Test** operation, DSC always expects the resource to emit a JSON Line to stdout representing the actual state of the resource instance with the `_inDesiredState` canonical resource property included in the returned object.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `test.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} diff --git a/schemas/v3/resource/stdout/validate.json b/schemas/v3/resource/stdout/validate.json new file mode 100644 index 000000000..1a6a43356 --- /dev/null +++ b/schemas/v3/resource/stdout/validate.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/validate.json", + "title": "Validate resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Validate** operation.", + "type": "object", + "required": [ + "valid" + ], + "properties": { + "valid": { + "title": "Instance validity", + "description": "Indicates whether the instance is valid for the resource." + }, + "reason": { + "title": "Reason instance is invalid", + "description": "Describes how and why the instance is invalid for the resource." + } + } +} diff --git a/schemas/v3/resource/stdout/whatIf.json b/schemas/v3/resource/stdout/whatIf.json new file mode 100644 index 000000000..62f108cd7 --- /dev/null +++ b/schemas/v3/resource/stdout/whatIf.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/resource/stdout/whatIf.json", + "title": "Set (what-if mode) resource operation stdout", + "description": "Defines the JSON DSC expects a resource to emit to stdout for the **Set** operation in what-if mode.", + "oneOf": [ + { + "title": "state output", + "description": "When a resource defines `whatIf.return` in its manifest as `state` or `stateAndDiff`, DSC expects the resource to emit a JSON Line to stdout representing the predicted actual state of the resource instance after the **Set** operation changes the system.", + "type": "object" + }, + { + "title": "diff output", + "description": "When a command resource defines `whatIf.return` in its manifest as `stateAndDiff`, DSC expects the resource to emit a second JSON Line to stdout representing the names of the resource properties that the operation changed on the system.", + "type": "array", + "uniqueItems": true, + "items": { + "type": "string" + } + } + ] +} From 272753d4dfb9c93d1c35ae1590cfe65a41d5115f Mon Sep 17 00:00:00 2001 From: Mikey Lombardi Date: Mon, 12 May 2025 12:05:33 -0500 Subject: [PATCH 13/13] (SCHEMA) Update example data to use current v3 schemas --- .../example.dsc.config.yaml | 4 +-- schemas/examples/output/config.get.yaml | 25 ++++++++++--------- schemas/examples/output/config.test.yaml | 25 ++++++++++--------- .../resource_manifest/foo.dsc.resource.json | 2 +- .../resource_manifest/foo.dsc.resource.yaml | 4 +-- 5 files changed, 31 insertions(+), 29 deletions(-) diff --git a/schemas/examples/configuration_document/example.dsc.config.yaml b/schemas/examples/configuration_document/example.dsc.config.yaml index fcca79bc6..25fc3195d 100644 --- a/schemas/examples/configuration_document/example.dsc.config.yaml +++ b/schemas/examples/configuration_document/example.dsc.config.yaml @@ -1,8 +1,8 @@ # For testing outside of the repository, set the schema in the yaml server directive to: -# https://raw.githubusercontent.com/PowerShell/DSC/main/2024/04/resource/manifest.json +# https://raw.githubusercontent.com/PowerShell/DSC/main/v3/resource/manifest.json # # Hover on the keys to see the documentation. Try changing values and adding new settings. -$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json +$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/config/document.json # Try adding the variables, metadata, and parameters properties, # then use IntelliSense to define a few entries. diff --git a/schemas/examples/output/config.get.yaml b/schemas/examples/output/config.get.yaml index 9d79c1bb8..6529a999b 100644 --- a/schemas/examples/output/config.get.yaml +++ b/schemas/examples/output/config.get.yaml @@ -1,32 +1,33 @@ -# yaml-language-server: $schema=../../2024/04/bundled/outputs/config/get.vscode.json +# yaml-language-server: $schema=../../v3.0/bundled/outputs/config/get.vscode.json # # Shows output from `dsc config get --path dsc/examples/osinfo_registry.dsc.yaml # metadata: Microsoft.DSC: - version: 3.0.0-preview.7 - operation: Get - executionType: Actual - startDatetime: 2024-04-16T15:29:19.776934500-05:00 - endDatetime: 2024-04-16T15:29:20.052168700-05:00 - duration: PT0.275234200S - securityContext: Restricted + version: 3.0.0 + operation: get + executionType: actual + startDatetime: 2025-05-09T11:57:24.223992200-05:00 + endDatetime: 2025-05-09T11:57:25.237202300-05:00 + duration: PT1.0132101S + securityContext: restricted results: - metadata: Microsoft.DSC: - duration: PT0.053120900S + duration: PT0.0391229S name: os type: Microsoft/OSInfo result: actualState: $id: https://developer.microsoft.com/json-schemas/dsc/os_info/20230303/Microsoft.Dsc.OS_Info.schema.json family: Windows - version: 10.0.22631 + version: 10.0.26100 edition: Windows 11 Enterprise bitness: '64' + architecture: x86_64 - metadata: Microsoft.DSC: - duration: PT0.137957200S + duration: PT0.1583279S name: windows product name type: Microsoft.Windows/Registry result: @@ -37,7 +38,7 @@ results: String: Windows 10 Enterprise - metadata: Microsoft.DSC: - duration: PT0.035664200S + duration: PT0.049571S name: system root type: Microsoft.Windows/Registry result: diff --git a/schemas/examples/output/config.test.yaml b/schemas/examples/output/config.test.yaml index 587c5cae4..37b55f690 100644 --- a/schemas/examples/output/config.test.yaml +++ b/schemas/examples/output/config.test.yaml @@ -1,20 +1,20 @@ -# yaml-language-server: $schema=../../2024/04/bundled/outputs/config/get.vscode.json +# yaml-language-server: $schema=../../v3.0/bundled/outputs/config/test.vscode.json # # Shows output from `dsc config get --path dsc/examples/osinfo_registry.dsc.yaml # metadata: Microsoft.DSC: - version: 3.0.0-preview.7 - operation: Test - executionType: Actual - startDatetime: 2024-04-16T15:31:15.556395700-05:00 - endDatetime: 2024-04-16T15:31:15.820044900-05:00 - duration: PT0.263649200S - securityContext: Restricted + version: 3.0.0 + operation: test + executionType: actual + startDatetime: 2025-05-09T11:57:46.868555-05:00 + endDatetime: 2025-05-09T11:57:47.837039900-05:00 + duration: PT0.9684849S + securityContext: restricted results: - metadata: Microsoft.DSC: - duration: PT0.061508200S + duration: PT0.0402149S name: os type: Microsoft/OSInfo result: @@ -22,14 +22,15 @@ results: actualState: $id: https://developer.microsoft.com/json-schemas/dsc/os_info/20230303/Microsoft.Dsc.OS_Info.schema.json family: Windows - version: 10.0.22631 + version: 10.0.26100 edition: Windows 11 Enterprise bitness: '64' + architecture: x86_64 inDesiredState: true differingProperties: [] - metadata: Microsoft.DSC: - duration: PT0.142056900S + duration: PT0.1675133S name: windows product name type: Microsoft.Windows/Registry result: @@ -45,7 +46,7 @@ results: differingProperties: [] - metadata: Microsoft.DSC: - duration: PT0.033704600S + duration: PT0.0618466S name: system root type: Microsoft.Windows/Registry result: diff --git a/schemas/examples/resource_manifest/foo.dsc.resource.json b/schemas/examples/resource_manifest/foo.dsc.resource.json index eac50d5a3..5cfe7fe0e 100644 --- a/schemas/examples/resource_manifest/foo.dsc.resource.json +++ b/schemas/examples/resource_manifest/foo.dsc.resource.json @@ -1,5 +1,5 @@ { - "$schema": "../2024/04/bundled/resource/manifest.vscode.json", + "$schema": "../../v3.0/bundled/resource/manifest.vscode.json", "type": "Example/Resource", "description": "An example resource using the schema.", "version": "0.1.0", diff --git a/schemas/examples/resource_manifest/foo.dsc.resource.yaml b/schemas/examples/resource_manifest/foo.dsc.resource.yaml index bce0a822c..d00617afa 100644 --- a/schemas/examples/resource_manifest/foo.dsc.resource.yaml +++ b/schemas/examples/resource_manifest/foo.dsc.resource.yaml @@ -1,8 +1,8 @@ # For testing outside of the repository, set the schema in the yaml server directive to: -# https://raw.githubusercontent.com/PowerShell/DSC/main/2024/04/resource/manifest.json +# https://raw.githubusercontent.com/PowerShell/DSC/main/v3/resource/manifest.json # # Hover on the keys to see the documentation. Try changing values and adding new settings. -$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/bundled/resource/manifest.vscode.json +$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3/bundled/resource/manifest.vscode.json type: Example/Foo version: 0.1.0 description: An example resource to manage the foo application.