parameters

摘要

返回配置参数的值。

语法

parameters('<name>')

说明

函数 parameters() 返回特定参数的值。 必须传递有效参数的名称。 将此函数用于资源实例时,DSC 会在运行此函数之后以及调用当前操作的资源之前验证实例属性。 如果引用的参数值对 属性无效,DSC 将引发验证错误。

有关在配置文档中定义参数的详细信息,请参阅 DSC 配置文档参数架构

示例

示例 1 - 使用参数作为资源实例属性值

配置使用 parameters() 函数来回显 参数的值 message

# parameters.example.1.dsc.config.yaml
$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json
parameters:
  message:
    type:         string
    defaultValue: Hello, world!
resources:
  - name: Echo message parameter
    type: Test/Echo
    properties:
      text: "[parameters('message')]"

首先,获取配置的当前状态,而不用 --parameters--parameters_file 选项覆盖参数。 输出显示 参数的 message 默认值。

config_file=parameters.example.1.dsc.config.yaml
cat $config_file | dsc config get
results:
- name: Echo message parameter
  type: Test/Echo
  result:
    actualState:
      text: Hello, world!
messages: []
hadErrors: false

接下来,使用 --parameters 选项替代 message 参数。

params='{"parameters": {"message": "Hi, override."}}'
cat $config_file | dsc config --parameters $params get
results:
- name: Echo message parameter
  type: Test/Echo
  result:
    actualState:
      text: Hi, override.
messages: []
hadErrors: false

parameters

name

函数 parameters() 需要单个字符串作为输入,表示要返回的参数的名称。 如果在配置文档中未定义具有指定名称的参数,DSC 在验证期间将引发错误。

Type:         string
Required:     true
MinimumCount: 1
MaximumCount: 1

输出

函数 parameters() 返回指定参数的值。

Type: [string, int, bool, object, array]