List Variable builder

The List Variable builder helps creating list variables in the format expected by Perses.

Usage#

package myDaC

import (
	listVarBuilder "github.com/perses/perses/cue/dac-utils/variable/list"
)

listVarBuilder & {} // input parameters expected

Parameters#

ParameterTypeMandatory/OptionalDefaultDescription
#namestringMandatoryThe name of this variable.
#pluginKindstringMandatoryThe plugin kind of this variable.
#displayDisplayOptionalDisplay object to tune the display name, description and visibility (show/hide).
#allowAllValuebooleanOptionalfalseWhether to append the "All" value to the list.
#allowMultiplebooleanOptionalfalseWhether to allow multi-selection of values.
#customAllValuestringOptionalCustom value that will be used if #allowAllValue is true and if All is selected.
#capturingRegexpstringOptionalRegexp used to catch and filter the results of the query. If empty, then nothing is filtered (equivalent of setting it to (.*)).
#sortSortOptionalSort method to apply when rendering the list of values.

Output#

FieldTypeDescription
variableVariableThe final variable object, to be passed to the dashboard.

Example#

Example of SDK definition for the Static List variable:

package myDaCLib

import (
	staticListVar "github.com/perses/plugins/staticlistvariable/schemas:model"
	listVarBuilder "github.com/perses/perses/cue/dac-utils/variable/list"
)

// include the definitions of listVarBuilder at the root
listVarBuilder

// specify the constraints for this variable
#pluginKind: staticListVar.kind
#values: [...staticListVar.#value]

variable: listVarBuilder.variable & {
	spec: {
		plugin: staticListVar & {
			spec: {
				values: #values
			}
		}
	}
}