// This file was generated by https://github.com/grafana/dashboard-spec

{
  new(
    hide=0,
    includeAll=false,
    label=null,
    multi=false,
    name=null,
    query=null,
    refresh=1,
    regex=null,
    skipUrlSync=false,
  ):: {
    [if hide != null then 'hide']: hide,
    [if includeAll != null then 'includeAll']: includeAll,
    [if label != null then 'label']: label,
    [if multi != null then 'multi']: multi,
    [if name != null then 'name']: name,
    [if query != null then 'query']: query,
    [if refresh != null then 'refresh']: refresh,
    [if regex != null then 'regex']: regex,
    [if skipUrlSync != null then 'skipUrlSync']: skipUrlSync,
    type: 'datasource',

    setCurrent(
      selected=false,
      text=null,
      value=null,
    ):: self {}
        + { current+: { [if selected != null then 'selected']: selected } }
        + { current+: { [if text != null then 'text']: text } }
        + { current+: { [if value != null then 'value']: value } },

  },
}
