参数块
argument
是一个可选的配置块,用于为自定义组件指定参数化输入。argument
块必须指定一个标签,该标签决定了参数的名称。
argument
块只能在一个 declare
块的定义内部指定。
示例
argument "ARGUMENT_NAME" {}
参数
注意
为了清晰起见,本节中的“参数”指可以提供给 argument 块的参数。“模块参数”指为模块定义的参数,由 argument 块的标签决定。
支持以下参数:
名称 | 类型 | 描述 | 默认值 | 必需 |
---|---|---|---|---|
comment | string | 参数的描述。 | false | 否 |
default | any | 参数的默认值。 | null | 否 |
可选 | bool | 参数是否可以省略。 | false | 否 |
默认情况下,所有模块参数都是必需的。可以使用 optional
参数将模块参数标记为可选。当 optional
为 true
时,模块参数的初始值由 default
指定。
导出的字段
以下字段被导出,可以被其他组件引用:
名称 | 类型 | 描述 |
---|---|---|
value | any | 参数的当前值。 |
如果您使用自定义组件,您负责确定参数的值。自定义组件中的其他表达式可以使用 argument.ARGUMENT_NAME.value
来检索您提供的值。
示例
此示例创建了一个自定义组件,该组件自行收集进程指标并将其转发给自定义组件用户指定的参数:
declare "self_collect" {
argument "metrics_output" {
optional = false
comment = "Where to send collected metrics."
}
prometheus.scrape "selfmonitor" {
targets = [{
__address__ = "127.0.0.1:12345",
}]
forward_to = [argument.metrics_output.value]
}
}