DSC 扩展清单发现属性架构参考

概要

定义如何检索 或 中DSC_RESOURCE_PATH不可用PATH的 DSC 资源。

元数据

SchemaDialect: https://json-schema.org/draft/2020-12/schema
SchemaID:      https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/v3.1.0/extension/manifest.discover.json
Type:          object

DESCRIPTION

可以枚举在 or DSC_RESOURCE_PATH 环境变量中PATH无法发现的 DSC 资源的 DSC 扩展应在其清单中定义export该属性。 此属性定义 DSC 如何获取其他无法发现的清单的路径。

当 DSC 对任何作执行发现时,它会调用此属性定义的命令。 该扩展必须以 JSON 行的形式返回已发现清单的路径。 每个 JSON 行都应是表示实例的对象,并根据 DSC 扩展发现作 stdout 架构引用进行验证。

必需属性

定义 discover 必须包括以下属性:

  • executable

属性

可执行

executable 属性定义要运行的命令的名称。 该值必须是可在系统 PATH 环境变量中发现的命令的名称或命令的完整路径。 仅当作系统无法将命令识别为可执行文件时,才需要文件扩展名。

Type:     string
Required: true

参数

args 属性定义要传递给命令的参数列表。 参数可以是任意数量的字符串。 如果要将表示扩展输入的属性包的 JSON 对象传递给参数,则可以将数组中的单个项目定义为 JSON 对象,指示具有 jsonInputArg string 属性的参数的名称,以及该参数对于具有 mandatory boolean 属性的命令是否是必需的。

Type:     array
Required: false
Default:  []
Type:     [string, object(JSON Input Argument)]

字符串参数

参数数组中的任何项目都可以是表示要传递给命令的静态参数的字符串,例如 discover--format

Type: string

JSON 输入参数

定义将 JSON 输入对象作为字符串接受的命令的参数。 DSC 将 JSON 输入传递给命名参数(如果可用)。 JSON 输入参数定义为具有以下属性的 JSON 对象:

  • jsonInputArg (必需) - 将命令的 JSON 数据传递给的参数,如 --input.
  • mandatory (可选)- 指示 DSC 是否应始终将参数传递给命令,即使命令没有 JSON 输入。 在这种情况下,DSC 会将空字符串传递给 JSON 输入参数。

您只能为每个 arguments 数组定义一个 JSON 输入参数。

Type:                object
RequiredProperties: [jsonInputArg]