Documentation for automated readers
A curated documentation index is available at: https://grafana.com/llms.txt
A complete documentation index is available at: https://grafana.com/llms-full.txt
These indexes can help with page discovery before fetching individual documents.
This page is also available in Markdown, which may be easier for automated readers and AI tools to parse than HTML. The Markdown version is available at https://grafana.com/docs/grafana-cloud/send-data/alloy/reference/config-blocks/argument.md, or by sending Accept: text/markdown to https://grafana.com/docs/grafana-cloud/send-data/alloy/reference/config-blocks/argument/. For broader documentation discovery, the curated index is available at https://grafana.com/llms.txt and the complete index is available at https://grafana.com/llms-full.txt.
argument
argument is an optional configuration block used to specify parameterized input to a custom component.
argument blocks must be given a label which determines the name of the argument.
The argument block may only be specified inside the definition of a declare block.
Usage
argument "<ARGUMENT_NAME>" {}Arguments
Note
For clarity, “argument” in this section refers to arguments which can be given to the argument block. “Module argument” refers to the argument being defined for a module, determined by the label of the argument block.
You can use the following arguments with argument:
| Name | Type | Description | Default | Required |
|---|---|---|---|---|
comment | string | Description for the argument. | "" | no |
default | any | Default value for the argument. | null | no |
optional | bool | Whether the argument may be omitted. | false | no |
By default, all module arguments are required.
The optional argument can be used to mark the module argument as optional.
When optional is true, the initial value for the module argument is specified by default.
Exported fields
The following fields are exported and can be referenced by other components:
| Name | Type | Description |
|---|---|---|
value | any | The current value of the argument. |
If you use a custom component, you are responsible for determining the values for arguments.
Other expressions within a custom component may use argument.ARGUMENT_NAME.value to retrieve the value you provide.
Example
This example creates a custom component that self-collects process metrics and forwards them to an argument specified by the user of the custom component:
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]
}
}Was this page helpful?
Related resources from Grafana Labs


