摘要
将 DSC 资源定义为 DSC 资源适配器。
元数据
SchemaDialect: https://json-schema.org/draft/2020-12/schema
SchemaID: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/resource/manifest.adapter.json
Type: object
描述
DSC 资源适配器必须在其清单中定义 adapter
属性。 此属性将资源标识为适配器,并定义 DSC 如何调用适配器以获取适配器支持的资源以及如何将资源实例传递给适配器。
示例
示例 1 - Microsoft.DSC/PowerShell
此示例来自 Microsoft.DSC/PowerShell
DSC 资源适配器。
"adapter": {
"list": {
"executable": "pwsh",
"args": [
"-NoLogo",
"-NonInteractive",
"-NoProfile",
"-Command",
"./powershell.resource.ps1 List"
]
},
"config": "full"
},
清单将 设置为 config
full
,指示适配器需要一个 JSON blob,该 blob 表示来自 stdin
的完整和未处理的配置。
它定义为 list.executable
pwsh
。 中 list.args
定义的参数确保 DSC 运行 PowerShell:
- 没有徽标横幅
- 在非交互模式下
- 不加载任何配置文件脚本
- 调用
powershell.resource.ps1
与 命令相同的文件夹中的dsc
脚本并传递List
参数。
使用此定义,DSC 通过运行以下命令为此适配器调用 list
方法:
pwsh -NoLogo -NonInteractive -NoProfile -Command "./powershellgroup.resource.ps1 List"
必需属性
定义 adapter
必须包含以下属性:
属性
config
属性 config
定义适配器预期如何接收资源配置。 该值必须是以下选项之一:
-
full
- 指示适配器需要包含完整配置和未处理配置的 JSON Blob,作为基于stdin
的单个 JSON Blob。 -
sequence
- 指示适配器需要每个资源的配置作为上的stdin
JSON 行。
Type: string
ValidValues: [full, sequence]
list
属性 list
定义如何调用适配器以列出它支持的资源。 此属性的值必须是 对象并定义 executable
子属性。
Type: object
Required: true
RequiredProperties: [executable]
可执行文件
子 executable
属性定义要运行的命令的名称。 该值必须是可在系统的 PATH
环境变量中发现的命令的名称或命令的完整路径。
仅当操作系统无法将命令识别为可执行文件时,才需要文件扩展名。
Type: string
Required: true
args
子 args
属性定义要作为参数传递给命令的字符串数组。 DSC 按指定的顺序将参数传递给命令。
Type: array
Required: false
Default: []