Function( Function { head: Destructured( FunctionHeadDestructured { ellipsis: true, identifier: None, arguments: [ FunctionHeadDestructuredArgument { identifier: "options", default: None, }, FunctionHeadDestructuredArgument { identifier: "config", default: None, }, FunctionHeadDestructuredArgument { identifier: "lib", default: None, }, FunctionHeadDestructuredArgument { identifier: "pkgs", default: None, }, ], }, ), body: With( With { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 3, column: 6, }, end: Position { line: 3, column: 9, }, }, }, ), target: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "cfg", span: Span { start: Position { line: 6, column: 3, }, end: Position { line: 6, column: 6, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "config", span: Span { start: Position { line: 6, column: 9, }, end: Position { line: 6, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 6, column: 16, }, end: Position { line: 6, column: 24, }, }, }, ), Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 6, column: 25, }, end: Position { line: 6, column: 32, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "opt", span: Span { start: Position { line: 7, column: 3, }, end: Position { line: 7, column: 6, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "options", span: Span { start: Position { line: 7, column: 9, }, end: Position { line: 7, column: 16, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 7, column: 17, }, end: Position { line: 7, column: 25, }, }, }, ), Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 7, column: 26, }, end: Position { line: 7, column: 33, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "provisioningSettingsFormat", span: Span { start: Position { line: 8, column: 3, }, end: Position { line: 8, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 8, column: 32, }, end: Position { line: 8, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "formats", span: Span { start: Position { line: 8, column: 37, }, end: Position { line: 8, column: 44, }, }, }, ), Raw( PartRaw { content: "yaml", span: Span { start: Position { line: 8, column: 45, }, end: Position { line: 8, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [], span: Span { start: Position { line: 8, column: 50, }, end: Position { line: 8, column: 52, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "declarativePlugins", span: Span { start: Position { line: 9, column: 3, }, end: Position { line: 9, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 9, column: 24, }, end: Position { line: 9, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "linkFarm", span: Span { start: Position { line: 9, column: 29, }, end: Position { line: 9, column: 37, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "grafana-plugins", span: Span { start: Position { line: 9, column: 39, }, end: Position { line: 9, column: 54, }, }, }, ), ], span: Span { start: Position { line: 9, column: 38, }, end: Position { line: 9, column: 55, }, }, }, ), FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 9, column: 57, }, end: Position { line: 9, column: 65, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "map", span: Span { start: Position { line: 9, column: 66, }, end: Position { line: 9, column: 69, }, }, }, ), ], default: None, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "pkg", }, ), body: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 9, column: 78, }, end: Position { line: 9, column: 82, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkg", span: Span { start: Position { line: 9, column: 85, }, end: Position { line: 9, column: 88, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "pname", span: Span { start: Position { line: 9, column: 89, }, end: Position { line: 9, column: 94, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 9, column: 96, }, end: Position { line: 9, column: 100, }, }, }, ), ], to: Identifier( Identifier { id: "pkg", span: Span { start: Position { line: 9, column: 103, }, end: Position { line: 9, column: 106, }, }, }, ), }, ), ], span: Span { start: Position { line: 9, column: 76, }, end: Position { line: 9, column: 109, }, }, }, ), span: Span { start: Position { line: 9, column: 71, }, end: Position { line: 9, column: 109, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 9, column: 111, }, end: Position { line: 9, column: 114, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "declarativePlugins", span: Span { start: Position { line: 9, column: 115, }, end: Position { line: 9, column: 133, }, }, }, ), ], default: None, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "useMysql", span: Span { start: Position { line: 10, column: 3, }, end: Position { line: 10, column: 11, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 10, column: 14, }, end: Position { line: 10, column: 17, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 10, column: 18, }, end: Position { line: 10, column: 26, }, }, }, ), Raw( PartRaw { content: "database", span: Span { start: Position { line: 10, column: 27, }, end: Position { line: 10, column: 35, }, }, }, ), Raw( PartRaw { content: "type", span: Span { start: Position { line: 10, column: 36, }, end: Position { line: 10, column: 40, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "mysql", span: Span { start: Position { line: 10, column: 45, }, end: Position { line: 10, column: 50, }, }, }, ), ], span: Span { start: Position { line: 10, column: 44, }, end: Position { line: 10, column: 51, }, }, }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "usePostgresql", span: Span { start: Position { line: 11, column: 3, }, end: Position { line: 11, column: 16, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 11, column: 19, }, end: Position { line: 11, column: 22, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 11, column: 23, }, end: Position { line: 11, column: 31, }, }, }, ), Raw( PartRaw { content: "database", span: Span { start: Position { line: 11, column: 32, }, end: Position { line: 11, column: 40, }, }, }, ), Raw( PartRaw { content: "type", span: Span { start: Position { line: 11, column: 41, }, end: Position { line: 11, column: 45, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "postgres", span: Span { start: Position { line: 11, column: 50, }, end: Position { line: 11, column: 58, }, }, }, ), ], span: Span { start: Position { line: 11, column: 49, }, end: Position { line: 11, column: 59, }, }, }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "settingsFormatIni", span: Span { start: Position { line: 13, column: 3, }, end: Position { line: 13, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 13, column: 23, }, end: Position { line: 13, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "formats", span: Span { start: Position { line: 13, column: 28, }, end: Position { line: 13, column: 35, }, }, }, ), Raw( PartRaw { content: "ini", span: Span { start: Position { line: 13, column: 36, }, end: Position { line: 13, column: 39, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [], span: Span { start: Position { line: 13, column: 40, }, end: Position { line: 13, column: 42, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "configFile", span: Span { start: Position { line: 14, column: 3, }, end: Position { line: 14, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "settingsFormatIni", span: Span { start: Position { line: 14, column: 16, }, end: Position { line: 14, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "generate", span: Span { start: Position { line: 14, column: 34, }, end: Position { line: 14, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "config.ini", span: Span { start: Position { line: 14, column: 44, }, end: Position { line: 14, column: 54, }, }, }, ), ], span: Span { start: Position { line: 14, column: 43, }, end: Position { line: 14, column: 55, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 14, column: 56, }, end: Position { line: 14, column: 59, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 14, column: 60, }, end: Position { line: 14, column: 68, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "datasourceConfiguration", span: Span { start: Position { line: 16, column: 3, }, end: Position { line: 16, column: 26, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 17, column: 5, }, end: Position { line: 17, column: 15, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 17, column: 18, }, end: Position { line: 17, column: 19, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 18, column: 5, }, end: Position { line: 18, column: 16, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 18, column: 19, }, end: Position { line: 18, column: 22, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 18, column: 23, }, end: Position { line: 18, column: 32, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 18, column: 33, }, end: Position { line: 18, column: 44, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 16, column: 29, }, end: Position { line: 19, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "datasourceFileNew", span: Span { start: Position { line: 21, column: 3, }, end: Position { line: 21, column: 20, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 21, column: 27, }, end: Position { line: 21, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 21, column: 31, }, end: Position { line: 21, column: 40, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 21, column: 41, }, end: Position { line: 21, column: 52, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 21, column: 53, }, end: Position { line: 21, column: 57, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 21, column: 61, }, end: Position { line: 21, column: 65, }, }, }, ), }, ), then: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 21, column: 72, }, end: Position { line: 21, column: 98, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "generate", span: Span { start: Position { line: 21, column: 99, }, end: Position { line: 21, column: 107, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "datasource.yaml", span: Span { start: Position { line: 21, column: 109, }, end: Position { line: 21, column: 124, }, }, }, ), ], span: Span { start: Position { line: 21, column: 108, }, end: Position { line: 21, column: 125, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 21, column: 126, }, end: Position { line: 21, column: 129, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 21, column: 130, }, end: Position { line: 21, column: 139, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 21, column: 140, }, end: Position { line: 21, column: 151, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 21, column: 152, }, end: Position { line: 21, column: 160, }, }, }, ), ], default: None, }, ), ], }, ), else_: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 21, column: 166, }, end: Position { line: 21, column: 169, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 21, column: 170, }, end: Position { line: 21, column: 179, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 21, column: 180, }, end: Position { line: 21, column: 191, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 21, column: 192, }, end: Position { line: 21, column: 196, }, }, }, ), ], default: None, }, ), span: Span { start: Position { line: 21, column: 23, }, end: Position { line: 21, column: 196, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "datasourceFile", span: Span { start: Position { line: 22, column: 3, }, end: Position { line: 22, column: 17, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 22, column: 24, }, end: Position { line: 22, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 22, column: 33, }, end: Position { line: 22, column: 39, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 22, column: 40, }, end: Position { line: 22, column: 43, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 22, column: 44, }, end: Position { line: 22, column: 53, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 22, column: 54, }, end: Position { line: 22, column: 65, }, }, }, ), ], default: None, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 22, column: 72, }, end: Position { line: 22, column: 98, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "generate", span: Span { start: Position { line: 22, column: 99, }, end: Position { line: 22, column: 107, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "datasource.yaml", span: Span { start: Position { line: 22, column: 109, }, end: Position { line: 22, column: 124, }, }, }, ), ], span: Span { start: Position { line: 22, column: 108, }, end: Position { line: 22, column: 125, }, }, }, ), Identifier( Identifier { id: "datasourceConfiguration", span: Span { start: Position { line: 22, column: 126, }, end: Position { line: 22, column: 149, }, }, }, ), ], }, ), else_: Identifier( Identifier { id: "datasourceFileNew", span: Span { start: Position { line: 22, column: 155, }, end: Position { line: 22, column: 172, }, }, }, ), span: Span { start: Position { line: 22, column: 20, }, end: Position { line: 22, column: 172, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dashboardConfiguration", span: Span { start: Position { line: 24, column: 3, }, end: Position { line: 24, column: 25, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 25, column: 5, }, end: Position { line: 25, column: 15, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 25, column: 18, }, end: Position { line: 25, column: 19, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "providers", span: Span { start: Position { line: 26, column: 5, }, end: Position { line: 26, column: 14, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 26, column: 17, }, end: Position { line: 26, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 26, column: 21, }, end: Position { line: 26, column: 30, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 26, column: 31, }, end: Position { line: 26, column: 41, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 24, column: 28, }, end: Position { line: 27, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dashboardFileNew", span: Span { start: Position { line: 29, column: 3, }, end: Position { line: 29, column: 19, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 29, column: 26, }, end: Position { line: 29, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 29, column: 30, }, end: Position { line: 29, column: 39, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 29, column: 40, }, end: Position { line: 29, column: 50, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 29, column: 51, }, end: Position { line: 29, column: 55, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 29, column: 59, }, end: Position { line: 29, column: 63, }, }, }, ), }, ), then: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 29, column: 70, }, end: Position { line: 29, column: 96, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "generate", span: Span { start: Position { line: 29, column: 97, }, end: Position { line: 29, column: 105, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "dashboard.yaml", span: Span { start: Position { line: 29, column: 107, }, end: Position { line: 29, column: 121, }, }, }, ), ], span: Span { start: Position { line: 29, column: 106, }, end: Position { line: 29, column: 122, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 29, column: 123, }, end: Position { line: 29, column: 126, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 29, column: 127, }, end: Position { line: 29, column: 136, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 29, column: 137, }, end: Position { line: 29, column: 147, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 29, column: 148, }, end: Position { line: 29, column: 156, }, }, }, ), ], default: None, }, ), ], }, ), else_: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 29, column: 162, }, end: Position { line: 29, column: 165, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 29, column: 166, }, end: Position { line: 29, column: 175, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 29, column: 176, }, end: Position { line: 29, column: 186, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 29, column: 187, }, end: Position { line: 29, column: 191, }, }, }, ), ], default: None, }, ), span: Span { start: Position { line: 29, column: 22, }, end: Position { line: 29, column: 191, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dashboardFile", span: Span { start: Position { line: 30, column: 3, }, end: Position { line: 30, column: 16, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 30, column: 23, }, end: Position { line: 30, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 30, column: 32, }, end: Position { line: 30, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 30, column: 39, }, end: Position { line: 30, column: 42, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 30, column: 43, }, end: Position { line: 30, column: 52, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 30, column: 53, }, end: Position { line: 30, column: 63, }, }, }, ), ], default: None, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 30, column: 70, }, end: Position { line: 30, column: 96, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "generate", span: Span { start: Position { line: 30, column: 97, }, end: Position { line: 30, column: 105, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "dashboard.yaml", span: Span { start: Position { line: 30, column: 107, }, end: Position { line: 30, column: 121, }, }, }, ), ], span: Span { start: Position { line: 30, column: 106, }, end: Position { line: 30, column: 122, }, }, }, ), Identifier( Identifier { id: "dashboardConfiguration", span: Span { start: Position { line: 30, column: 123, }, end: Position { line: 30, column: 145, }, }, }, ), ], }, ), else_: Identifier( Identifier { id: "dashboardFileNew", span: Span { start: Position { line: 30, column: 151, }, end: Position { line: 30, column: 167, }, }, }, ), span: Span { start: Position { line: 30, column: 19, }, end: Position { line: 30, column: 167, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "notifierConfiguration", span: Span { start: Position { line: 32, column: 3, }, end: Position { line: 32, column: 24, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 33, column: 5, }, end: Position { line: 33, column: 15, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 33, column: 18, }, end: Position { line: 33, column: 19, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "notifiers", span: Span { start: Position { line: 34, column: 5, }, end: Position { line: 34, column: 14, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 34, column: 17, }, end: Position { line: 34, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 34, column: 21, }, end: Position { line: 34, column: 30, }, }, }, ), Raw( PartRaw { content: "notifiers", span: Span { start: Position { line: 34, column: 31, }, end: Position { line: 34, column: 40, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 32, column: 27, }, end: Position { line: 35, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "notifierFile", span: Span { start: Position { line: 37, column: 3, }, end: Position { line: 37, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 37, column: 18, }, end: Position { line: 37, column: 22, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "writeText", span: Span { start: Position { line: 37, column: 23, }, end: Position { line: 37, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "notifier.yaml", span: Span { start: Position { line: 37, column: 34, }, end: Position { line: 37, column: 47, }, }, }, ), ], span: Span { start: Position { line: 37, column: 33, }, end: Position { line: 37, column: 48, }, }, }, ), FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 37, column: 50, }, end: Position { line: 37, column: 58, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "toJSON", span: Span { start: Position { line: 37, column: 59, }, end: Position { line: 37, column: 65, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "notifierConfiguration", span: Span { start: Position { line: 37, column: 66, }, end: Position { line: 37, column: 87, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "generateAlertingProvisioningYaml", span: Span { start: Position { line: 39, column: 3, }, end: Position { line: 39, column: 35, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: IfThenElse( IfThenElse { predicate: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 39, column: 45, }, end: Position { line: 39, column: 48, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 39, column: 49, }, end: Position { line: 39, column: 58, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 39, column: 59, }, end: Position { line: 39, column: 67, }, }, }, ), Expression( PartExpression { expression: String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 39, column: 71, }, end: Position { line: 39, column: 72, }, }, }, ), }, ), ], span: Span { start: Position { line: 39, column: 68, }, end: Position { line: 39, column: 74, }, }, }, ), }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 39, column: 75, }, end: Position { line: 39, column: 79, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 39, column: 83, }, end: Position { line: 39, column: 87, }, }, }, ), }, ), then: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 40, column: 46, }, end: Position { line: 40, column: 72, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "generate", span: Span { start: Position { line: 40, column: 73, }, end: Position { line: 40, column: 81, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 40, column: 85, }, end: Position { line: 40, column: 86, }, }, }, ), }, ), Raw( PartRaw { content: ".yaml", span: Span { start: Position { line: 40, column: 83, }, end: Position { line: 40, column: 92, }, }, }, ), ], span: Span { start: Position { line: 40, column: 82, }, end: Position { line: 40, column: 93, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 40, column: 94, }, end: Position { line: 40, column: 97, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 40, column: 98, }, end: Position { line: 40, column: 107, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 40, column: 108, }, end: Position { line: 40, column: 116, }, }, }, ), Expression( PartExpression { expression: String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 40, column: 120, }, end: Position { line: 40, column: 121, }, }, }, ), }, ), ], span: Span { start: Position { line: 40, column: 117, }, end: Position { line: 40, column: 123, }, }, }, ), }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 40, column: 124, }, end: Position { line: 40, column: 132, }, }, }, ), ], default: None, }, ), ], }, ), else_: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 41, column: 46, }, end: Position { line: 41, column: 49, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 41, column: 50, }, end: Position { line: 41, column: 59, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 41, column: 60, }, end: Position { line: 41, column: 68, }, }, }, ), Expression( PartExpression { expression: String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 41, column: 72, }, end: Position { line: 41, column: 73, }, }, }, ), }, ), ], span: Span { start: Position { line: 41, column: 69, }, end: Position { line: 41, column: 75, }, }, }, ), }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 41, column: 76, }, end: Position { line: 41, column: 80, }, }, }, ), ], default: None, }, ), span: Span { start: Position { line: 39, column: 41, }, end: Position { line: 41, column: 80, }, }, }, ), span: Span { start: Position { line: 39, column: 38, }, end: Position { line: 41, column: 80, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "rulesFile", span: Span { start: Position { line: 42, column: 3, }, end: Position { line: 42, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "generateAlertingProvisioningYaml", span: Span { start: Position { line: 42, column: 15, }, end: Position { line: 42, column: 47, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "rules", span: Span { start: Position { line: 42, column: 49, }, end: Position { line: 42, column: 54, }, }, }, ), ], span: Span { start: Position { line: 42, column: 48, }, end: Position { line: 42, column: 55, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "contactPointsFile", span: Span { start: Position { line: 43, column: 3, }, end: Position { line: 43, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "generateAlertingProvisioningYaml", span: Span { start: Position { line: 43, column: 23, }, end: Position { line: 43, column: 55, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "contactPoints", span: Span { start: Position { line: 43, column: 57, }, end: Position { line: 43, column: 70, }, }, }, ), ], span: Span { start: Position { line: 43, column: 56, }, end: Position { line: 43, column: 71, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "policiesFile", span: Span { start: Position { line: 44, column: 3, }, end: Position { line: 44, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "generateAlertingProvisioningYaml", span: Span { start: Position { line: 44, column: 18, }, end: Position { line: 44, column: 50, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "policies", span: Span { start: Position { line: 44, column: 52, }, end: Position { line: 44, column: 60, }, }, }, ), ], span: Span { start: Position { line: 44, column: 51, }, end: Position { line: 44, column: 61, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "templatesFile", span: Span { start: Position { line: 45, column: 3, }, end: Position { line: 45, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "generateAlertingProvisioningYaml", span: Span { start: Position { line: 45, column: 19, }, end: Position { line: 45, column: 51, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "templates", span: Span { start: Position { line: 45, column: 53, }, end: Position { line: 45, column: 62, }, }, }, ), ], span: Span { start: Position { line: 45, column: 52, }, end: Position { line: 45, column: 63, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "muteTimingsFile", span: Span { start: Position { line: 46, column: 3, }, end: Position { line: 46, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "generateAlertingProvisioningYaml", span: Span { start: Position { line: 46, column: 21, }, end: Position { line: 46, column: 53, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "muteTimings", span: Span { start: Position { line: 46, column: 55, }, end: Position { line: 46, column: 66, }, }, }, ), ], span: Span { start: Position { line: 46, column: 54, }, end: Position { line: 46, column: 67, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "provisionConfDir", span: Span { start: Position { line: 48, column: 3, }, end: Position { line: 48, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 48, column: 23, }, end: Position { line: 48, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "runCommand", span: Span { start: Position { line: 48, column: 28, }, end: Position { line: 48, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "grafana-provisioning", span: Span { start: Position { line: 48, column: 40, }, end: Position { line: 48, column: 60, }, }, }, ), ], span: Span { start: Position { line: 48, column: 39, }, end: Position { line: 48, column: 61, }, }, }, ), Map( Map { recursive: false, bindings: [], span: Span { start: Position { line: 48, column: 62, }, end: Position { line: 48, column: 65, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "mkdir -p $out/{datasources,dashboards,notifiers,alerting}\nln -sf ", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 50, column: 12, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "datasourceFile", span: Span { start: Position { line: 50, column: 14, }, end: Position { line: 50, column: 28, }, }, }, ), }, ), Raw( PartRaw { content: " $out/datasources/datasource.yaml\nln -sf ", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 51, column: 12, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "dashboardFile", span: Span { start: Position { line: 51, column: 14, }, end: Position { line: 51, column: 27, }, }, }, ), }, ), Raw( PartRaw { content: " $out/dashboards/dashboard.yaml\nln -sf ", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 52, column: 12, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "notifierFile", span: Span { start: Position { line: 52, column: 14, }, end: Position { line: 52, column: 26, }, }, }, ), }, ), Raw( PartRaw { content: " $out/notifiers/notifier.yaml\nln -sf ", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 53, column: 12, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "rulesFile", span: Span { start: Position { line: 53, column: 14, }, end: Position { line: 53, column: 23, }, }, }, ), }, ), Raw( PartRaw { content: " $out/alerting/rules.yaml\nln -sf ", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 54, column: 12, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "contactPointsFile", span: Span { start: Position { line: 54, column: 14, }, end: Position { line: 54, column: 31, }, }, }, ), }, ), Raw( PartRaw { content: " $out/alerting/contactPoints.yaml\nln -sf ", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 55, column: 12, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "policiesFile", span: Span { start: Position { line: 55, column: 14, }, end: Position { line: 55, column: 26, }, }, }, ), }, ), Raw( PartRaw { content: " $out/alerting/policies.yaml\nln -sf ", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 56, column: 12, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "templatesFile", span: Span { start: Position { line: 56, column: 14, }, end: Position { line: 56, column: 27, }, }, }, ), }, ), Raw( PartRaw { content: " $out/alerting/templates.yaml\nln -sf ", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 57, column: 12, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "muteTimingsFile", span: Span { start: Position { line: 57, column: 14, }, end: Position { line: 57, column: 29, }, }, }, ), }, ), Raw( PartRaw { content: " $out/alerting/muteTimings.yaml\n", span: Span { start: Position { line: 49, column: 1, }, end: Position { line: 58, column: 3, }, }, }, ), ], span: Span { start: Position { line: 48, column: 66, }, end: Position { line: 58, column: 5, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "_filter", span: Span { start: Position { line: 61, column: 3, }, end: Position { line: 61, column: 10, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filterAttrs", span: Span { start: Position { line: 61, column: 16, }, end: Position { line: 61, column: 27, }, }, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "k", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "v", }, ), body: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "k", span: Span { start: Position { line: 61, column: 35, }, end: Position { line: 61, column: 36, }, }, }, ), operator: NotEqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "_module", span: Span { start: Position { line: 61, column: 41, }, end: Position { line: 61, column: 48, }, }, }, ), ], span: Span { start: Position { line: 61, column: 40, }, end: Position { line: 61, column: 49, }, }, }, ), }, ), span: Span { start: Position { line: 61, column: 32, }, end: Position { line: 61, column: 49, }, }, }, ), span: Span { start: Position { line: 61, column: 29, }, end: Position { line: 61, column: 49, }, }, }, ), Identifier( Identifier { id: "x", span: Span { start: Position { line: 61, column: 51, }, end: Position { line: 61, column: 52, }, }, }, ), ], }, ), span: Span { start: Position { line: 61, column: 13, }, end: Position { line: 61, column: 52, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "grafanaTypes", span: Span { start: Position { line: 64, column: 3, }, end: Position { line: 64, column: 15, }, }, }, ), Raw( PartRaw { content: "datasourceConfig", span: Span { start: Position { line: 64, column: 16, }, end: Position { line: 64, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 64, column: 35, }, end: Position { line: 64, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 64, column: 41, }, end: Position { line: 64, column: 50, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "freeformType", span: Span { start: Position { line: 65, column: 5, }, end: Position { line: 65, column: 17, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 65, column: 20, }, end: Position { line: 65, column: 46, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 65, column: 47, }, end: Position { line: 65, column: 51, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 67, column: 5, }, end: Position { line: 67, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 68, column: 7, }, end: Position { line: 68, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 68, column: 14, }, end: Position { line: 68, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 69, column: 9, }, end: Position { line: 69, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 69, column: 16, }, end: Position { line: 69, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 69, column: 22, }, end: Position { line: 69, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 70, column: 9, }, end: Position { line: 70, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 70, column: 23, }, end: Position { line: 70, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 70, column: 27, }, end: Position { line: 70, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the datasource. Required.", span: Span { start: Position { line: 70, column: 34, }, end: Position { line: 70, column: 67, }, }, }, ), ], span: Span { start: Position { line: 70, column: 33, }, end: Position { line: 70, column: 68, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 68, column: 23, }, end: Position { line: 71, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 72, column: 7, }, end: Position { line: 72, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 72, column: 14, }, end: Position { line: 72, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 73, column: 9, }, end: Position { line: 73, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 73, column: 16, }, end: Position { line: 73, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 73, column: 22, }, end: Position { line: 73, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 74, column: 9, }, end: Position { line: 74, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 74, column: 23, }, end: Position { line: 74, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 74, column: 27, }, end: Position { line: 74, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Datasource type. Required.", span: Span { start: Position { line: 74, column: 34, }, end: Position { line: 74, column: 60, }, }, }, ), ], span: Span { start: Position { line: 74, column: 33, }, end: Position { line: 74, column: 61, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 72, column: 23, }, end: Position { line: 75, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "access", span: Span { start: Position { line: 76, column: 7, }, end: Position { line: 76, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 76, column: 16, }, end: Position { line: 76, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 77, column: 9, }, end: Position { line: 77, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 77, column: 16, }, end: Position { line: 77, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 77, column: 22, }, end: Position { line: 77, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "proxy", span: Span { start: Position { line: 77, column: 29, }, end: Position { line: 77, column: 34, }, }, }, ), ], span: Span { start: Position { line: 77, column: 28, }, end: Position { line: 77, column: 35, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "direct", span: Span { start: Position { line: 77, column: 37, }, end: Position { line: 77, column: 43, }, }, }, ), ], span: Span { start: Position { line: 77, column: 36, }, end: Position { line: 77, column: 44, }, }, }, ), ], span: Span { start: Position { line: 77, column: 27, }, end: Position { line: 77, column: 45, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 78, column: 9, }, end: Position { line: 78, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "proxy", span: Span { start: Position { line: 78, column: 20, }, end: Position { line: 78, column: 25, }, }, }, ), ], span: Span { start: Position { line: 78, column: 19, }, end: Position { line: 78, column: 26, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 79, column: 9, }, end: Position { line: 79, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 79, column: 23, }, end: Position { line: 79, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 79, column: 27, }, end: Position { line: 79, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Access mode. proxy or direct (Server or Browser in the UI). Required.", span: Span { start: Position { line: 79, column: 34, }, end: Position { line: 79, column: 103, }, }, }, ), ], span: Span { start: Position { line: 79, column: 33, }, end: Position { line: 79, column: 104, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 76, column: 25, }, end: Position { line: 80, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "uid", span: Span { start: Position { line: 81, column: 7, }, end: Position { line: 81, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 81, column: 13, }, end: Position { line: 81, column: 21, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 82, column: 9, }, end: Position { line: 82, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 82, column: 16, }, end: Position { line: 82, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 82, column: 22, }, end: Position { line: 82, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 82, column: 29, }, end: Position { line: 82, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 82, column: 35, }, end: Position { line: 82, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 83, column: 9, }, end: Position { line: 83, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 83, column: 19, }, end: Position { line: 83, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 84, column: 9, }, end: Position { line: 84, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 84, column: 23, }, end: Position { line: 84, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 84, column: 27, }, end: Position { line: 84, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Custom UID which can be used to reference this datasource in other parts of the configuration, if not specified will be generated automatically.", span: Span { start: Position { line: 84, column: 34, }, end: Position { line: 84, column: 178, }, }, }, ), ], span: Span { start: Position { line: 84, column: 33, }, end: Position { line: 84, column: 179, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 81, column: 22, }, end: Position { line: 85, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "url", span: Span { start: Position { line: 86, column: 7, }, end: Position { line: 86, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 86, column: 13, }, end: Position { line: 86, column: 21, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 87, column: 9, }, end: Position { line: 87, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 87, column: 16, }, end: Position { line: 87, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 87, column: 22, }, end: Position { line: 87, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 88, column: 9, }, end: Position { line: 88, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "localhost", span: Span { start: Position { line: 88, column: 20, }, end: Position { line: 88, column: 29, }, }, }, ), ], span: Span { start: Position { line: 88, column: 19, }, end: Position { line: 88, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 89, column: 9, }, end: Position { line: 89, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 89, column: 23, }, end: Position { line: 89, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 89, column: 27, }, end: Position { line: 89, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Url of the datasource.", span: Span { start: Position { line: 89, column: 34, }, end: Position { line: 89, column: 56, }, }, }, ), ], span: Span { start: Position { line: 89, column: 33, }, end: Position { line: 89, column: 57, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 86, column: 22, }, end: Position { line: 90, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "editable", span: Span { start: Position { line: 91, column: 7, }, end: Position { line: 91, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 91, column: 18, }, end: Position { line: 91, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 92, column: 9, }, end: Position { line: 92, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 92, column: 16, }, end: Position { line: 92, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 92, column: 22, }, end: Position { line: 92, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 93, column: 9, }, end: Position { line: 93, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 93, column: 19, }, end: Position { line: 93, column: 24, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 94, column: 9, }, end: Position { line: 94, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 94, column: 23, }, end: Position { line: 94, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 94, column: 27, }, end: Position { line: 94, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Allow users to edit datasources from the UI.", span: Span { start: Position { line: 94, column: 34, }, end: Position { line: 94, column: 78, }, }, }, ), ], span: Span { start: Position { line: 94, column: 33, }, end: Position { line: 94, column: 79, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 91, column: 27, }, end: Position { line: 95, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 96, column: 7, }, end: Position { line: 96, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 96, column: 18, }, end: Position { line: 96, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 97, column: 9, }, end: Position { line: 97, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 97, column: 16, }, end: Position { line: 97, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 97, column: 22, }, end: Position { line: 97, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 97, column: 29, }, end: Position { line: 97, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 97, column: 35, }, end: Position { line: 97, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 98, column: 9, }, end: Position { line: 98, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 98, column: 19, }, end: Position { line: 98, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 99, column: 9, }, end: Position { line: 99, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 99, column: 23, }, end: Position { line: 99, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 99, column: 27, }, end: Position { line: 99, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Database password, if used. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n\n", span: Span { start: Position { line: 100, column: 1, }, end: Position { line: 105, column: 9, }, }, }, ), ], span: Span { start: Position { line: 99, column: 33, }, end: Position { line: 105, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 96, column: 27, }, end: Position { line: 106, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "basicAuthPassword", span: Span { start: Position { line: 107, column: 7, }, end: Position { line: 107, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 107, column: 27, }, end: Position { line: 107, column: 35, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 108, column: 9, }, end: Position { line: 108, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 108, column: 16, }, end: Position { line: 108, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 108, column: 22, }, end: Position { line: 108, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 108, column: 29, }, end: Position { line: 108, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 108, column: 35, }, end: Position { line: 108, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 109, column: 9, }, end: Position { line: 109, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 109, column: 19, }, end: Position { line: 109, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 110, column: 9, }, end: Position { line: 110, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 110, column: 23, }, end: Position { line: 110, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 110, column: 27, }, end: Position { line: 110, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Basic auth password. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n\n", span: Span { start: Position { line: 111, column: 1, }, end: Position { line: 116, column: 9, }, }, }, ), ], span: Span { start: Position { line: 110, column: 33, }, end: Position { line: 116, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 107, column: 36, }, end: Position { line: 117, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "secureJsonData", span: Span { start: Position { line: 118, column: 7, }, end: Position { line: 118, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 118, column: 24, }, end: Position { line: 118, column: 32, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 119, column: 9, }, end: Position { line: 119, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 119, column: 16, }, end: Position { line: 119, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 119, column: 22, }, end: Position { line: 119, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 119, column: 29, }, end: Position { line: 119, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrs", span: Span { start: Position { line: 119, column: 35, }, end: Position { line: 119, column: 40, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 120, column: 9, }, end: Position { line: 120, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 120, column: 19, }, end: Position { line: 120, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 121, column: 9, }, end: Position { line: 121, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 121, column: 23, }, end: Position { line: 121, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 121, column: 27, }, end: Position { line: 121, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Datasource specific secure configuration. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n\n", span: Span { start: Position { line: 122, column: 1, }, end: Position { line: 127, column: 9, }, }, }, ), ], span: Span { start: Position { line: 121, column: 33, }, end: Position { line: 127, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 118, column: 33, }, end: Position { line: 128, column: 8, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 67, column: 15, }, end: Position { line: 129, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 64, column: 51, }, end: Position { line: 130, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "grafanaTypes", span: Span { start: Position { line: 133, column: 3, }, end: Position { line: 133, column: 15, }, }, }, ), Raw( PartRaw { content: "dashboardConfig", span: Span { start: Position { line: 133, column: 16, }, end: Position { line: 133, column: 31, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 133, column: 34, }, end: Position { line: 133, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 133, column: 40, }, end: Position { line: 133, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "freeformType", span: Span { start: Position { line: 134, column: 5, }, end: Position { line: 134, column: 17, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 134, column: 20, }, end: Position { line: 134, column: 46, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 134, column: 47, }, end: Position { line: 134, column: 51, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 136, column: 5, }, end: Position { line: 136, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 137, column: 7, }, end: Position { line: 137, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 137, column: 14, }, end: Position { line: 137, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 138, column: 9, }, end: Position { line: 138, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 138, column: 16, }, end: Position { line: 138, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 138, column: 22, }, end: Position { line: 138, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 139, column: 9, }, end: Position { line: 139, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 139, column: 20, }, end: Position { line: 139, column: 27, }, }, }, ), ], span: Span { start: Position { line: 139, column: 19, }, end: Position { line: 139, column: 28, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 140, column: 9, }, end: Position { line: 140, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 140, column: 23, }, end: Position { line: 140, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 140, column: 27, }, end: Position { line: 140, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "A unique provider name.", span: Span { start: Position { line: 140, column: 34, }, end: Position { line: 140, column: 57, }, }, }, ), ], span: Span { start: Position { line: 140, column: 33, }, end: Position { line: 140, column: 58, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 137, column: 23, }, end: Position { line: 141, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 142, column: 7, }, end: Position { line: 142, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 142, column: 14, }, end: Position { line: 142, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 143, column: 9, }, end: Position { line: 143, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 143, column: 16, }, end: Position { line: 143, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 143, column: 22, }, end: Position { line: 143, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 144, column: 9, }, end: Position { line: 144, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "file", span: Span { start: Position { line: 144, column: 20, }, end: Position { line: 144, column: 24, }, }, }, ), ], span: Span { start: Position { line: 144, column: 19, }, end: Position { line: 144, column: 25, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 145, column: 9, }, end: Position { line: 145, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 145, column: 23, }, end: Position { line: 145, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 145, column: 27, }, end: Position { line: 145, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Dashboard provider type.", span: Span { start: Position { line: 145, column: 34, }, end: Position { line: 145, column: 58, }, }, }, ), ], span: Span { start: Position { line: 145, column: 33, }, end: Position { line: 145, column: 59, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 142, column: 23, }, end: Position { line: 146, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 147, column: 7, }, end: Position { line: 147, column: 14, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 147, column: 15, }, end: Position { line: 147, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 147, column: 22, }, end: Position { line: 147, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 148, column: 9, }, end: Position { line: 148, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 148, column: 16, }, end: Position { line: 148, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 148, column: 22, }, end: Position { line: 148, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 149, column: 9, }, end: Position { line: 149, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 149, column: 23, }, end: Position { line: 149, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 149, column: 27, }, end: Position { line: 149, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Path grafana will watch for dashboards. Required when using the 'file' type.", span: Span { start: Position { line: 149, column: 34, }, end: Position { line: 149, column: 110, }, }, }, ), ], span: Span { start: Position { line: 149, column: 33, }, end: Position { line: 149, column: 111, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 147, column: 31, }, end: Position { line: 150, column: 8, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 136, column: 15, }, end: Position { line: 151, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 133, column: 50, }, end: Position { line: 152, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "grafanaTypes", span: Span { start: Position { line: 154, column: 3, }, end: Position { line: 154, column: 15, }, }, }, ), Raw( PartRaw { content: "notifierConfig", span: Span { start: Position { line: 154, column: 16, }, end: Position { line: 154, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 154, column: 33, }, end: Position { line: 154, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 154, column: 39, }, end: Position { line: 154, column: 48, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 155, column: 5, }, end: Position { line: 155, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 156, column: 7, }, end: Position { line: 156, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 156, column: 14, }, end: Position { line: 156, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 157, column: 9, }, end: Position { line: 157, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 157, column: 16, }, end: Position { line: 157, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 157, column: 22, }, end: Position { line: 157, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 158, column: 9, }, end: Position { line: 158, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 158, column: 20, }, end: Position { line: 158, column: 27, }, }, }, ), ], span: Span { start: Position { line: 158, column: 19, }, end: Position { line: 158, column: 28, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 159, column: 9, }, end: Position { line: 159, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 159, column: 23, }, end: Position { line: 159, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 159, column: 27, }, end: Position { line: 159, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Notifier name.", span: Span { start: Position { line: 159, column: 34, }, end: Position { line: 159, column: 48, }, }, }, ), ], span: Span { start: Position { line: 159, column: 33, }, end: Position { line: 159, column: 49, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 156, column: 23, }, end: Position { line: 160, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 161, column: 7, }, end: Position { line: 161, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 161, column: 14, }, end: Position { line: 161, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 162, column: 9, }, end: Position { line: 162, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 162, column: 16, }, end: Position { line: 162, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 162, column: 22, }, end: Position { line: 162, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "dingding", span: Span { start: Position { line: 162, column: 29, }, end: Position { line: 162, column: 37, }, }, }, ), ], span: Span { start: Position { line: 162, column: 28, }, end: Position { line: 162, column: 38, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "discord", span: Span { start: Position { line: 162, column: 40, }, end: Position { line: 162, column: 47, }, }, }, ), ], span: Span { start: Position { line: 162, column: 39, }, end: Position { line: 162, column: 48, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "email", span: Span { start: Position { line: 162, column: 50, }, end: Position { line: 162, column: 55, }, }, }, ), ], span: Span { start: Position { line: 162, column: 49, }, end: Position { line: 162, column: 56, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "googlechat", span: Span { start: Position { line: 162, column: 58, }, end: Position { line: 162, column: 68, }, }, }, ), ], span: Span { start: Position { line: 162, column: 57, }, end: Position { line: 162, column: 69, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "hipchat", span: Span { start: Position { line: 162, column: 71, }, end: Position { line: 162, column: 78, }, }, }, ), ], span: Span { start: Position { line: 162, column: 70, }, end: Position { line: 162, column: 79, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "kafka", span: Span { start: Position { line: 162, column: 81, }, end: Position { line: 162, column: 86, }, }, }, ), ], span: Span { start: Position { line: 162, column: 80, }, end: Position { line: 162, column: 87, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "line", span: Span { start: Position { line: 162, column: 89, }, end: Position { line: 162, column: 93, }, }, }, ), ], span: Span { start: Position { line: 162, column: 88, }, end: Position { line: 162, column: 94, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "teams", span: Span { start: Position { line: 162, column: 96, }, end: Position { line: 162, column: 101, }, }, }, ), ], span: Span { start: Position { line: 162, column: 95, }, end: Position { line: 162, column: 102, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "opsgenie", span: Span { start: Position { line: 162, column: 104, }, end: Position { line: 162, column: 112, }, }, }, ), ], span: Span { start: Position { line: 162, column: 103, }, end: Position { line: 162, column: 113, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "pagerduty", span: Span { start: Position { line: 162, column: 115, }, end: Position { line: 162, column: 124, }, }, }, ), ], span: Span { start: Position { line: 162, column: 114, }, end: Position { line: 162, column: 125, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "prometheus-alertmanager", span: Span { start: Position { line: 162, column: 127, }, end: Position { line: 162, column: 150, }, }, }, ), ], span: Span { start: Position { line: 162, column: 126, }, end: Position { line: 162, column: 151, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "pushover", span: Span { start: Position { line: 162, column: 153, }, end: Position { line: 162, column: 161, }, }, }, ), ], span: Span { start: Position { line: 162, column: 152, }, end: Position { line: 162, column: 162, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "sensu", span: Span { start: Position { line: 162, column: 164, }, end: Position { line: 162, column: 169, }, }, }, ), ], span: Span { start: Position { line: 162, column: 163, }, end: Position { line: 162, column: 170, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "sensugo", span: Span { start: Position { line: 162, column: 172, }, end: Position { line: 162, column: 179, }, }, }, ), ], span: Span { start: Position { line: 162, column: 171, }, end: Position { line: 162, column: 180, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "slack", span: Span { start: Position { line: 162, column: 182, }, end: Position { line: 162, column: 187, }, }, }, ), ], span: Span { start: Position { line: 162, column: 181, }, end: Position { line: 162, column: 188, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "telegram", span: Span { start: Position { line: 162, column: 190, }, end: Position { line: 162, column: 198, }, }, }, ), ], span: Span { start: Position { line: 162, column: 189, }, end: Position { line: 162, column: 199, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "threema", span: Span { start: Position { line: 162, column: 201, }, end: Position { line: 162, column: 208, }, }, }, ), ], span: Span { start: Position { line: 162, column: 200, }, end: Position { line: 162, column: 209, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "victorops", span: Span { start: Position { line: 162, column: 211, }, end: Position { line: 162, column: 220, }, }, }, ), ], span: Span { start: Position { line: 162, column: 210, }, end: Position { line: 162, column: 221, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "webhook", span: Span { start: Position { line: 162, column: 223, }, end: Position { line: 162, column: 230, }, }, }, ), ], span: Span { start: Position { line: 162, column: 222, }, end: Position { line: 162, column: 231, }, }, }, ), ], span: Span { start: Position { line: 162, column: 27, }, end: Position { line: 162, column: 232, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 163, column: 9, }, end: Position { line: 163, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 163, column: 23, }, end: Position { line: 163, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 163, column: 27, }, end: Position { line: 163, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Notifier type.", span: Span { start: Position { line: 163, column: 34, }, end: Position { line: 163, column: 48, }, }, }, ), ], span: Span { start: Position { line: 163, column: 33, }, end: Position { line: 163, column: 49, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 161, column: 23, }, end: Position { line: 164, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "uid", span: Span { start: Position { line: 165, column: 7, }, end: Position { line: 165, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 165, column: 13, }, end: Position { line: 165, column: 21, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 166, column: 9, }, end: Position { line: 166, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 166, column: 16, }, end: Position { line: 166, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 166, column: 22, }, end: Position { line: 166, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 167, column: 9, }, end: Position { line: 167, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 167, column: 23, }, end: Position { line: 167, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 167, column: 27, }, end: Position { line: 167, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Unique notifier identifier.", span: Span { start: Position { line: 167, column: 34, }, end: Position { line: 167, column: 61, }, }, }, ), ], span: Span { start: Position { line: 167, column: 33, }, end: Position { line: 167, column: 62, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 165, column: 22, }, end: Position { line: 168, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "org_id", span: Span { start: Position { line: 169, column: 7, }, end: Position { line: 169, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 169, column: 16, }, end: Position { line: 169, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 170, column: 9, }, end: Position { line: 170, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 170, column: 16, }, end: Position { line: 170, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 170, column: 22, }, end: Position { line: 170, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 171, column: 9, }, end: Position { line: 171, column: 16, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 171, column: 19, }, end: Position { line: 171, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 172, column: 9, }, end: Position { line: 172, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 172, column: 23, }, end: Position { line: 172, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 172, column: 27, }, end: Position { line: 172, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Organization ID.", span: Span { start: Position { line: 172, column: 34, }, end: Position { line: 172, column: 50, }, }, }, ), ], span: Span { start: Position { line: 172, column: 33, }, end: Position { line: 172, column: 51, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 169, column: 25, }, end: Position { line: 173, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "org_name", span: Span { start: Position { line: 174, column: 7, }, end: Position { line: 174, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 174, column: 18, }, end: Position { line: 174, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 175, column: 9, }, end: Position { line: 175, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 175, column: 16, }, end: Position { line: 175, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 175, column: 22, }, end: Position { line: 175, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 176, column: 9, }, end: Position { line: 176, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Main Org.", span: Span { start: Position { line: 176, column: 20, }, end: Position { line: 176, column: 29, }, }, }, ), ], span: Span { start: Position { line: 176, column: 19, }, end: Position { line: 176, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 177, column: 9, }, end: Position { line: 177, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 177, column: 23, }, end: Position { line: 177, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 177, column: 27, }, end: Position { line: 177, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Organization name.", span: Span { start: Position { line: 177, column: 34, }, end: Position { line: 177, column: 52, }, }, }, ), ], span: Span { start: Position { line: 177, column: 33, }, end: Position { line: 177, column: 53, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 174, column: 27, }, end: Position { line: 178, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "is_default", span: Span { start: Position { line: 179, column: 7, }, end: Position { line: 179, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 179, column: 20, }, end: Position { line: 179, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 180, column: 9, }, end: Position { line: 180, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 180, column: 16, }, end: Position { line: 180, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 180, column: 22, }, end: Position { line: 180, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 181, column: 9, }, end: Position { line: 181, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 181, column: 23, }, end: Position { line: 181, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 181, column: 27, }, end: Position { line: 181, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Is the default notifier.", span: Span { start: Position { line: 181, column: 34, }, end: Position { line: 181, column: 58, }, }, }, ), ], span: Span { start: Position { line: 181, column: 33, }, end: Position { line: 181, column: 59, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 182, column: 9, }, end: Position { line: 182, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 182, column: 19, }, end: Position { line: 182, column: 24, }, }, }, ), }, ), ], span: Span { start: Position { line: 179, column: 29, }, end: Position { line: 183, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "send_reminder", span: Span { start: Position { line: 184, column: 7, }, end: Position { line: 184, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 184, column: 23, }, end: Position { line: 184, column: 31, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 185, column: 9, }, end: Position { line: 185, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 185, column: 16, }, end: Position { line: 185, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 185, column: 22, }, end: Position { line: 185, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 186, column: 9, }, end: Position { line: 186, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 186, column: 19, }, end: Position { line: 186, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 187, column: 9, }, end: Position { line: 187, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 187, column: 23, }, end: Position { line: 187, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 187, column: 27, }, end: Position { line: 187, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Should the notifier be sent reminder notifications while alerts continue to fire.", span: Span { start: Position { line: 187, column: 34, }, end: Position { line: 187, column: 115, }, }, }, ), ], span: Span { start: Position { line: 187, column: 33, }, end: Position { line: 187, column: 116, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 184, column: 32, }, end: Position { line: 188, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "frequency", span: Span { start: Position { line: 189, column: 7, }, end: Position { line: 189, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 189, column: 19, }, end: Position { line: 189, column: 27, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 190, column: 9, }, end: Position { line: 190, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 190, column: 16, }, end: Position { line: 190, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 190, column: 22, }, end: Position { line: 190, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 191, column: 9, }, end: Position { line: 191, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "5m", span: Span { start: Position { line: 191, column: 20, }, end: Position { line: 191, column: 22, }, }, }, ), ], span: Span { start: Position { line: 191, column: 19, }, end: Position { line: 191, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 192, column: 9, }, end: Position { line: 192, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 192, column: 23, }, end: Position { line: 192, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 192, column: 27, }, end: Position { line: 192, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "How frequently should the notifier be sent reminders.", span: Span { start: Position { line: 192, column: 34, }, end: Position { line: 192, column: 87, }, }, }, ), ], span: Span { start: Position { line: 192, column: 33, }, end: Position { line: 192, column: 88, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 189, column: 28, }, end: Position { line: 193, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "disable_resolve_message", span: Span { start: Position { line: 194, column: 7, }, end: Position { line: 194, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 194, column: 33, }, end: Position { line: 194, column: 41, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 195, column: 9, }, end: Position { line: 195, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 195, column: 16, }, end: Position { line: 195, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 195, column: 22, }, end: Position { line: 195, column: 26, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 196, column: 9, }, end: Position { line: 196, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 196, column: 19, }, end: Position { line: 196, column: 24, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 197, column: 9, }, end: Position { line: 197, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 197, column: 23, }, end: Position { line: 197, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 197, column: 27, }, end: Position { line: 197, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Turn off the message that sends when an alert returns to OK.", span: Span { start: Position { line: 197, column: 34, }, end: Position { line: 197, column: 94, }, }, }, ), ], span: Span { start: Position { line: 197, column: 33, }, end: Position { line: 197, column: 95, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 194, column: 42, }, end: Position { line: 198, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 199, column: 7, }, end: Position { line: 199, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 199, column: 18, }, end: Position { line: 199, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 200, column: 9, }, end: Position { line: 200, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 200, column: 16, }, end: Position { line: 200, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 200, column: 22, }, end: Position { line: 200, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 200, column: 29, }, end: Position { line: 200, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrs", span: Span { start: Position { line: 200, column: 35, }, end: Position { line: 200, column: 40, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 201, column: 9, }, end: Position { line: 201, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 201, column: 19, }, end: Position { line: 201, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 202, column: 9, }, end: Position { line: 202, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 202, column: 23, }, end: Position { line: 202, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 202, column: 27, }, end: Position { line: 202, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Settings for the notifier type.", span: Span { start: Position { line: 202, column: 34, }, end: Position { line: 202, column: 65, }, }, }, ), ], span: Span { start: Position { line: 202, column: 33, }, end: Position { line: 202, column: 66, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 199, column: 27, }, end: Position { line: 203, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "secure_settings", span: Span { start: Position { line: 204, column: 7, }, end: Position { line: 204, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 204, column: 25, }, end: Position { line: 204, column: 33, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 205, column: 9, }, end: Position { line: 205, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 205, column: 16, }, end: Position { line: 205, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 205, column: 22, }, end: Position { line: 205, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 205, column: 29, }, end: Position { line: 205, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrs", span: Span { start: Position { line: 205, column: 35, }, end: Position { line: 205, column: 40, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 206, column: 9, }, end: Position { line: 206, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 206, column: 19, }, end: Position { line: 206, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 207, column: 9, }, end: Position { line: 207, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 207, column: 23, }, end: Position { line: 207, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 207, column: 27, }, end: Position { line: 207, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Secure settings for the notifier type. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n\n", span: Span { start: Position { line: 208, column: 1, }, end: Position { line: 213, column: 9, }, }, }, ), ], span: Span { start: Position { line: 207, column: 33, }, end: Position { line: 213, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 204, column: 34, }, end: Position { line: 214, column: 8, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 155, column: 15, }, end: Position { line: 215, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 154, column: 49, }, end: Position { line: 216, column: 4, }, }, }, ), ], }, ), }, ), ], target: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "imports", span: Span { start: Position { line: 218, column: 3, }, end: Position { line: 218, column: 10, }, }, }, ), ], to: List( List { elements: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 219, column: 6, }, end: Position { line: 219, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 219, column: 31, }, end: Position { line: 219, column: 39, }, }, }, ), ], span: Span { start: Position { line: 219, column: 30, }, end: Position { line: 219, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 219, column: 42, }, end: Position { line: 219, column: 49, }, }, }, ), ], span: Span { start: Position { line: 219, column: 41, }, end: Position { line: 219, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "protocol", span: Span { start: Position { line: 219, column: 52, }, end: Position { line: 219, column: 60, }, }, }, ), ], span: Span { start: Position { line: 219, column: 51, }, end: Position { line: 219, column: 61, }, }, }, ), ], span: Span { start: Position { line: 219, column: 28, }, end: Position { line: 219, column: 63, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 219, column: 67, }, end: Position { line: 219, column: 75, }, }, }, ), ], span: Span { start: Position { line: 219, column: 66, }, end: Position { line: 219, column: 76, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 219, column: 78, }, end: Position { line: 219, column: 85, }, }, }, ), ], span: Span { start: Position { line: 219, column: 77, }, end: Position { line: 219, column: 86, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 219, column: 88, }, end: Position { line: 219, column: 96, }, }, }, ), ], span: Span { start: Position { line: 219, column: 87, }, end: Position { line: 219, column: 97, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 219, column: 99, }, end: Position { line: 219, column: 105, }, }, }, ), ], span: Span { start: Position { line: 219, column: 98, }, end: Position { line: 219, column: 106, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "protocol", span: Span { start: Position { line: 219, column: 108, }, end: Position { line: 219, column: 116, }, }, }, ), ], span: Span { start: Position { line: 219, column: 107, }, end: Position { line: 219, column: 117, }, }, }, ), ], span: Span { start: Position { line: 219, column: 64, }, end: Position { line: 219, column: 119, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 220, column: 6, }, end: Position { line: 220, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 220, column: 31, }, end: Position { line: 220, column: 39, }, }, }, ), ], span: Span { start: Position { line: 220, column: 30, }, end: Position { line: 220, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 220, column: 42, }, end: Position { line: 220, column: 49, }, }, }, ), ], span: Span { start: Position { line: 220, column: 41, }, end: Position { line: 220, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "addr", span: Span { start: Position { line: 220, column: 52, }, end: Position { line: 220, column: 56, }, }, }, ), ], span: Span { start: Position { line: 220, column: 51, }, end: Position { line: 220, column: 57, }, }, }, ), ], span: Span { start: Position { line: 220, column: 28, }, end: Position { line: 220, column: 59, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 220, column: 63, }, end: Position { line: 220, column: 71, }, }, }, ), ], span: Span { start: Position { line: 220, column: 62, }, end: Position { line: 220, column: 72, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 220, column: 74, }, end: Position { line: 220, column: 81, }, }, }, ), ], span: Span { start: Position { line: 220, column: 73, }, end: Position { line: 220, column: 82, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 220, column: 84, }, end: Position { line: 220, column: 92, }, }, }, ), ], span: Span { start: Position { line: 220, column: 83, }, end: Position { line: 220, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 220, column: 95, }, end: Position { line: 220, column: 101, }, }, }, ), ], span: Span { start: Position { line: 220, column: 94, }, end: Position { line: 220, column: 102, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "http_addr", span: Span { start: Position { line: 220, column: 104, }, end: Position { line: 220, column: 113, }, }, }, ), ], span: Span { start: Position { line: 220, column: 103, }, end: Position { line: 220, column: 114, }, }, }, ), ], span: Span { start: Position { line: 220, column: 60, }, end: Position { line: 220, column: 116, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 221, column: 6, }, end: Position { line: 221, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 221, column: 31, }, end: Position { line: 221, column: 39, }, }, }, ), ], span: Span { start: Position { line: 221, column: 30, }, end: Position { line: 221, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 221, column: 42, }, end: Position { line: 221, column: 49, }, }, }, ), ], span: Span { start: Position { line: 221, column: 41, }, end: Position { line: 221, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 221, column: 52, }, end: Position { line: 221, column: 56, }, }, }, ), ], span: Span { start: Position { line: 221, column: 51, }, end: Position { line: 221, column: 57, }, }, }, ), ], span: Span { start: Position { line: 221, column: 28, }, end: Position { line: 221, column: 59, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 221, column: 63, }, end: Position { line: 221, column: 71, }, }, }, ), ], span: Span { start: Position { line: 221, column: 62, }, end: Position { line: 221, column: 72, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 221, column: 74, }, end: Position { line: 221, column: 81, }, }, }, ), ], span: Span { start: Position { line: 221, column: 73, }, end: Position { line: 221, column: 82, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 221, column: 84, }, end: Position { line: 221, column: 92, }, }, }, ), ], span: Span { start: Position { line: 221, column: 83, }, end: Position { line: 221, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 221, column: 95, }, end: Position { line: 221, column: 101, }, }, }, ), ], span: Span { start: Position { line: 221, column: 94, }, end: Position { line: 221, column: 102, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "http_port", span: Span { start: Position { line: 221, column: 104, }, end: Position { line: 221, column: 113, }, }, }, ), ], span: Span { start: Position { line: 221, column: 103, }, end: Position { line: 221, column: 114, }, }, }, ), ], span: Span { start: Position { line: 221, column: 60, }, end: Position { line: 221, column: 116, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 222, column: 6, }, end: Position { line: 222, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 222, column: 31, }, end: Position { line: 222, column: 39, }, }, }, ), ], span: Span { start: Position { line: 222, column: 30, }, end: Position { line: 222, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 222, column: 42, }, end: Position { line: 222, column: 49, }, }, }, ), ], span: Span { start: Position { line: 222, column: 41, }, end: Position { line: 222, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "domain", span: Span { start: Position { line: 222, column: 52, }, end: Position { line: 222, column: 58, }, }, }, ), ], span: Span { start: Position { line: 222, column: 51, }, end: Position { line: 222, column: 59, }, }, }, ), ], span: Span { start: Position { line: 222, column: 28, }, end: Position { line: 222, column: 61, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 222, column: 65, }, end: Position { line: 222, column: 73, }, }, }, ), ], span: Span { start: Position { line: 222, column: 64, }, end: Position { line: 222, column: 74, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 222, column: 76, }, end: Position { line: 222, column: 83, }, }, }, ), ], span: Span { start: Position { line: 222, column: 75, }, end: Position { line: 222, column: 84, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 222, column: 86, }, end: Position { line: 222, column: 94, }, }, }, ), ], span: Span { start: Position { line: 222, column: 85, }, end: Position { line: 222, column: 95, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 222, column: 97, }, end: Position { line: 222, column: 103, }, }, }, ), ], span: Span { start: Position { line: 222, column: 96, }, end: Position { line: 222, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "domain", span: Span { start: Position { line: 222, column: 106, }, end: Position { line: 222, column: 112, }, }, }, ), ], span: Span { start: Position { line: 222, column: 105, }, end: Position { line: 222, column: 113, }, }, }, ), ], span: Span { start: Position { line: 222, column: 62, }, end: Position { line: 222, column: 115, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 223, column: 6, }, end: Position { line: 223, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 223, column: 31, }, end: Position { line: 223, column: 39, }, }, }, ), ], span: Span { start: Position { line: 223, column: 30, }, end: Position { line: 223, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 223, column: 42, }, end: Position { line: 223, column: 49, }, }, }, ), ], span: Span { start: Position { line: 223, column: 41, }, end: Position { line: 223, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "rootUrl", span: Span { start: Position { line: 223, column: 52, }, end: Position { line: 223, column: 59, }, }, }, ), ], span: Span { start: Position { line: 223, column: 51, }, end: Position { line: 223, column: 60, }, }, }, ), ], span: Span { start: Position { line: 223, column: 28, }, end: Position { line: 223, column: 62, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 223, column: 66, }, end: Position { line: 223, column: 74, }, }, }, ), ], span: Span { start: Position { line: 223, column: 65, }, end: Position { line: 223, column: 75, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 223, column: 77, }, end: Position { line: 223, column: 84, }, }, }, ), ], span: Span { start: Position { line: 223, column: 76, }, end: Position { line: 223, column: 85, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 223, column: 87, }, end: Position { line: 223, column: 95, }, }, }, ), ], span: Span { start: Position { line: 223, column: 86, }, end: Position { line: 223, column: 96, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 223, column: 98, }, end: Position { line: 223, column: 104, }, }, }, ), ], span: Span { start: Position { line: 223, column: 97, }, end: Position { line: 223, column: 105, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "root_url", span: Span { start: Position { line: 223, column: 107, }, end: Position { line: 223, column: 115, }, }, }, ), ], span: Span { start: Position { line: 223, column: 106, }, end: Position { line: 223, column: 116, }, }, }, ), ], span: Span { start: Position { line: 223, column: 63, }, end: Position { line: 223, column: 118, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 224, column: 6, }, end: Position { line: 224, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 224, column: 31, }, end: Position { line: 224, column: 39, }, }, }, ), ], span: Span { start: Position { line: 224, column: 30, }, end: Position { line: 224, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 224, column: 42, }, end: Position { line: 224, column: 49, }, }, }, ), ], span: Span { start: Position { line: 224, column: 41, }, end: Position { line: 224, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "staticRootPath", span: Span { start: Position { line: 224, column: 52, }, end: Position { line: 224, column: 66, }, }, }, ), ], span: Span { start: Position { line: 224, column: 51, }, end: Position { line: 224, column: 67, }, }, }, ), ], span: Span { start: Position { line: 224, column: 28, }, end: Position { line: 224, column: 69, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 224, column: 73, }, end: Position { line: 224, column: 81, }, }, }, ), ], span: Span { start: Position { line: 224, column: 72, }, end: Position { line: 224, column: 82, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 224, column: 84, }, end: Position { line: 224, column: 91, }, }, }, ), ], span: Span { start: Position { line: 224, column: 83, }, end: Position { line: 224, column: 92, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 224, column: 94, }, end: Position { line: 224, column: 102, }, }, }, ), ], span: Span { start: Position { line: 224, column: 93, }, end: Position { line: 224, column: 103, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 224, column: 105, }, end: Position { line: 224, column: 111, }, }, }, ), ], span: Span { start: Position { line: 224, column: 104, }, end: Position { line: 224, column: 112, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "static_root_path", span: Span { start: Position { line: 224, column: 114, }, end: Position { line: 224, column: 130, }, }, }, ), ], span: Span { start: Position { line: 224, column: 113, }, end: Position { line: 224, column: 131, }, }, }, ), ], span: Span { start: Position { line: 224, column: 70, }, end: Position { line: 224, column: 133, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 225, column: 6, }, end: Position { line: 225, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 225, column: 31, }, end: Position { line: 225, column: 39, }, }, }, ), ], span: Span { start: Position { line: 225, column: 30, }, end: Position { line: 225, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 225, column: 42, }, end: Position { line: 225, column: 49, }, }, }, ), ], span: Span { start: Position { line: 225, column: 41, }, end: Position { line: 225, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "certFile", span: Span { start: Position { line: 225, column: 52, }, end: Position { line: 225, column: 60, }, }, }, ), ], span: Span { start: Position { line: 225, column: 51, }, end: Position { line: 225, column: 61, }, }, }, ), ], span: Span { start: Position { line: 225, column: 28, }, end: Position { line: 225, column: 63, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 225, column: 67, }, end: Position { line: 225, column: 75, }, }, }, ), ], span: Span { start: Position { line: 225, column: 66, }, end: Position { line: 225, column: 76, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 225, column: 78, }, end: Position { line: 225, column: 85, }, }, }, ), ], span: Span { start: Position { line: 225, column: 77, }, end: Position { line: 225, column: 86, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 225, column: 88, }, end: Position { line: 225, column: 96, }, }, }, ), ], span: Span { start: Position { line: 225, column: 87, }, end: Position { line: 225, column: 97, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 225, column: 99, }, end: Position { line: 225, column: 105, }, }, }, ), ], span: Span { start: Position { line: 225, column: 98, }, end: Position { line: 225, column: 106, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "cert_file", span: Span { start: Position { line: 225, column: 108, }, end: Position { line: 225, column: 117, }, }, }, ), ], span: Span { start: Position { line: 225, column: 107, }, end: Position { line: 225, column: 118, }, }, }, ), ], span: Span { start: Position { line: 225, column: 64, }, end: Position { line: 225, column: 120, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 226, column: 6, }, end: Position { line: 226, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 226, column: 31, }, end: Position { line: 226, column: 39, }, }, }, ), ], span: Span { start: Position { line: 226, column: 30, }, end: Position { line: 226, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 226, column: 42, }, end: Position { line: 226, column: 49, }, }, }, ), ], span: Span { start: Position { line: 226, column: 41, }, end: Position { line: 226, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "certKey", span: Span { start: Position { line: 226, column: 52, }, end: Position { line: 226, column: 59, }, }, }, ), ], span: Span { start: Position { line: 226, column: 51, }, end: Position { line: 226, column: 60, }, }, }, ), ], span: Span { start: Position { line: 226, column: 28, }, end: Position { line: 226, column: 62, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 226, column: 66, }, end: Position { line: 226, column: 74, }, }, }, ), ], span: Span { start: Position { line: 226, column: 65, }, end: Position { line: 226, column: 75, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 226, column: 77, }, end: Position { line: 226, column: 84, }, }, }, ), ], span: Span { start: Position { line: 226, column: 76, }, end: Position { line: 226, column: 85, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 226, column: 87, }, end: Position { line: 226, column: 95, }, }, }, ), ], span: Span { start: Position { line: 226, column: 86, }, end: Position { line: 226, column: 96, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 226, column: 98, }, end: Position { line: 226, column: 104, }, }, }, ), ], span: Span { start: Position { line: 226, column: 97, }, end: Position { line: 226, column: 105, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "cert_key", span: Span { start: Position { line: 226, column: 107, }, end: Position { line: 226, column: 115, }, }, }, ), ], span: Span { start: Position { line: 226, column: 106, }, end: Position { line: 226, column: 116, }, }, }, ), ], span: Span { start: Position { line: 226, column: 63, }, end: Position { line: 226, column: 118, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 227, column: 6, }, end: Position { line: 227, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 227, column: 31, }, end: Position { line: 227, column: 39, }, }, }, ), ], span: Span { start: Position { line: 227, column: 30, }, end: Position { line: 227, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 227, column: 42, }, end: Position { line: 227, column: 49, }, }, }, ), ], span: Span { start: Position { line: 227, column: 41, }, end: Position { line: 227, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "socket", span: Span { start: Position { line: 227, column: 52, }, end: Position { line: 227, column: 58, }, }, }, ), ], span: Span { start: Position { line: 227, column: 51, }, end: Position { line: 227, column: 59, }, }, }, ), ], span: Span { start: Position { line: 227, column: 28, }, end: Position { line: 227, column: 61, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 227, column: 65, }, end: Position { line: 227, column: 73, }, }, }, ), ], span: Span { start: Position { line: 227, column: 64, }, end: Position { line: 227, column: 74, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 227, column: 76, }, end: Position { line: 227, column: 83, }, }, }, ), ], span: Span { start: Position { line: 227, column: 75, }, end: Position { line: 227, column: 84, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 227, column: 86, }, end: Position { line: 227, column: 94, }, }, }, ), ], span: Span { start: Position { line: 227, column: 85, }, end: Position { line: 227, column: 95, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 227, column: 97, }, end: Position { line: 227, column: 103, }, }, }, ), ], span: Span { start: Position { line: 227, column: 96, }, end: Position { line: 227, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "socket", span: Span { start: Position { line: 227, column: 106, }, end: Position { line: 227, column: 112, }, }, }, ), ], span: Span { start: Position { line: 227, column: 105, }, end: Position { line: 227, column: 113, }, }, }, ), ], span: Span { start: Position { line: 227, column: 62, }, end: Position { line: 227, column: 115, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 228, column: 6, }, end: Position { line: 228, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 228, column: 31, }, end: Position { line: 228, column: 39, }, }, }, ), ], span: Span { start: Position { line: 228, column: 30, }, end: Position { line: 228, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 228, column: 42, }, end: Position { line: 228, column: 49, }, }, }, ), ], span: Span { start: Position { line: 228, column: 41, }, end: Position { line: 228, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 228, column: 52, }, end: Position { line: 228, column: 60, }, }, }, ), ], span: Span { start: Position { line: 228, column: 51, }, end: Position { line: 228, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 228, column: 63, }, end: Position { line: 228, column: 67, }, }, }, ), ], span: Span { start: Position { line: 228, column: 62, }, end: Position { line: 228, column: 68, }, }, }, ), ], span: Span { start: Position { line: 228, column: 28, }, end: Position { line: 228, column: 70, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 228, column: 74, }, end: Position { line: 228, column: 82, }, }, }, ), ], span: Span { start: Position { line: 228, column: 73, }, end: Position { line: 228, column: 83, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 228, column: 85, }, end: Position { line: 228, column: 92, }, }, }, ), ], span: Span { start: Position { line: 228, column: 84, }, end: Position { line: 228, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 228, column: 95, }, end: Position { line: 228, column: 103, }, }, }, ), ], span: Span { start: Position { line: 228, column: 94, }, end: Position { line: 228, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 228, column: 106, }, end: Position { line: 228, column: 114, }, }, }, ), ], span: Span { start: Position { line: 228, column: 105, }, end: Position { line: 228, column: 115, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 228, column: 117, }, end: Position { line: 228, column: 121, }, }, }, ), ], span: Span { start: Position { line: 228, column: 116, }, end: Position { line: 228, column: 122, }, }, }, ), ], span: Span { start: Position { line: 228, column: 71, }, end: Position { line: 228, column: 124, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 229, column: 6, }, end: Position { line: 229, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 229, column: 31, }, end: Position { line: 229, column: 39, }, }, }, ), ], span: Span { start: Position { line: 229, column: 30, }, end: Position { line: 229, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 229, column: 42, }, end: Position { line: 229, column: 49, }, }, }, ), ], span: Span { start: Position { line: 229, column: 41, }, end: Position { line: 229, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 229, column: 52, }, end: Position { line: 229, column: 60, }, }, }, ), ], span: Span { start: Position { line: 229, column: 51, }, end: Position { line: 229, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "host", span: Span { start: Position { line: 229, column: 63, }, end: Position { line: 229, column: 67, }, }, }, ), ], span: Span { start: Position { line: 229, column: 62, }, end: Position { line: 229, column: 68, }, }, }, ), ], span: Span { start: Position { line: 229, column: 28, }, end: Position { line: 229, column: 70, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 229, column: 74, }, end: Position { line: 229, column: 82, }, }, }, ), ], span: Span { start: Position { line: 229, column: 73, }, end: Position { line: 229, column: 83, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 229, column: 85, }, end: Position { line: 229, column: 92, }, }, }, ), ], span: Span { start: Position { line: 229, column: 84, }, end: Position { line: 229, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 229, column: 95, }, end: Position { line: 229, column: 103, }, }, }, ), ], span: Span { start: Position { line: 229, column: 94, }, end: Position { line: 229, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 229, column: 106, }, end: Position { line: 229, column: 114, }, }, }, ), ], span: Span { start: Position { line: 229, column: 105, }, end: Position { line: 229, column: 115, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "host", span: Span { start: Position { line: 229, column: 117, }, end: Position { line: 229, column: 121, }, }, }, ), ], span: Span { start: Position { line: 229, column: 116, }, end: Position { line: 229, column: 122, }, }, }, ), ], span: Span { start: Position { line: 229, column: 71, }, end: Position { line: 229, column: 124, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 230, column: 6, }, end: Position { line: 230, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 230, column: 31, }, end: Position { line: 230, column: 39, }, }, }, ), ], span: Span { start: Position { line: 230, column: 30, }, end: Position { line: 230, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 230, column: 42, }, end: Position { line: 230, column: 49, }, }, }, ), ], span: Span { start: Position { line: 230, column: 41, }, end: Position { line: 230, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 230, column: 52, }, end: Position { line: 230, column: 60, }, }, }, ), ], span: Span { start: Position { line: 230, column: 51, }, end: Position { line: 230, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 230, column: 63, }, end: Position { line: 230, column: 67, }, }, }, ), ], span: Span { start: Position { line: 230, column: 62, }, end: Position { line: 230, column: 68, }, }, }, ), ], span: Span { start: Position { line: 230, column: 28, }, end: Position { line: 230, column: 70, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 230, column: 74, }, end: Position { line: 230, column: 82, }, }, }, ), ], span: Span { start: Position { line: 230, column: 73, }, end: Position { line: 230, column: 83, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 230, column: 85, }, end: Position { line: 230, column: 92, }, }, }, ), ], span: Span { start: Position { line: 230, column: 84, }, end: Position { line: 230, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 230, column: 95, }, end: Position { line: 230, column: 103, }, }, }, ), ], span: Span { start: Position { line: 230, column: 94, }, end: Position { line: 230, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 230, column: 106, }, end: Position { line: 230, column: 114, }, }, }, ), ], span: Span { start: Position { line: 230, column: 105, }, end: Position { line: 230, column: 115, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 230, column: 117, }, end: Position { line: 230, column: 121, }, }, }, ), ], span: Span { start: Position { line: 230, column: 116, }, end: Position { line: 230, column: 122, }, }, }, ), ], span: Span { start: Position { line: 230, column: 71, }, end: Position { line: 230, column: 124, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 231, column: 6, }, end: Position { line: 231, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 231, column: 31, }, end: Position { line: 231, column: 39, }, }, }, ), ], span: Span { start: Position { line: 231, column: 30, }, end: Position { line: 231, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 231, column: 42, }, end: Position { line: 231, column: 49, }, }, }, ), ], span: Span { start: Position { line: 231, column: 41, }, end: Position { line: 231, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 231, column: 52, }, end: Position { line: 231, column: 60, }, }, }, ), ], span: Span { start: Position { line: 231, column: 51, }, end: Position { line: 231, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "user", span: Span { start: Position { line: 231, column: 63, }, end: Position { line: 231, column: 67, }, }, }, ), ], span: Span { start: Position { line: 231, column: 62, }, end: Position { line: 231, column: 68, }, }, }, ), ], span: Span { start: Position { line: 231, column: 28, }, end: Position { line: 231, column: 70, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 231, column: 74, }, end: Position { line: 231, column: 82, }, }, }, ), ], span: Span { start: Position { line: 231, column: 73, }, end: Position { line: 231, column: 83, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 231, column: 85, }, end: Position { line: 231, column: 92, }, }, }, ), ], span: Span { start: Position { line: 231, column: 84, }, end: Position { line: 231, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 231, column: 95, }, end: Position { line: 231, column: 103, }, }, }, ), ], span: Span { start: Position { line: 231, column: 94, }, end: Position { line: 231, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 231, column: 106, }, end: Position { line: 231, column: 114, }, }, }, ), ], span: Span { start: Position { line: 231, column: 105, }, end: Position { line: 231, column: 115, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "user", span: Span { start: Position { line: 231, column: 117, }, end: Position { line: 231, column: 121, }, }, }, ), ], span: Span { start: Position { line: 231, column: 116, }, end: Position { line: 231, column: 122, }, }, }, ), ], span: Span { start: Position { line: 231, column: 71, }, end: Position { line: 231, column: 124, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 232, column: 6, }, end: Position { line: 232, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 232, column: 31, }, end: Position { line: 232, column: 39, }, }, }, ), ], span: Span { start: Position { line: 232, column: 30, }, end: Position { line: 232, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 232, column: 42, }, end: Position { line: 232, column: 49, }, }, }, ), ], span: Span { start: Position { line: 232, column: 41, }, end: Position { line: 232, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 232, column: 52, }, end: Position { line: 232, column: 60, }, }, }, ), ], span: Span { start: Position { line: 232, column: 51, }, end: Position { line: 232, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 232, column: 63, }, end: Position { line: 232, column: 71, }, }, }, ), ], span: Span { start: Position { line: 232, column: 62, }, end: Position { line: 232, column: 72, }, }, }, ), ], span: Span { start: Position { line: 232, column: 28, }, end: Position { line: 232, column: 74, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 232, column: 78, }, end: Position { line: 232, column: 86, }, }, }, ), ], span: Span { start: Position { line: 232, column: 77, }, end: Position { line: 232, column: 87, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 232, column: 89, }, end: Position { line: 232, column: 96, }, }, }, ), ], span: Span { start: Position { line: 232, column: 88, }, end: Position { line: 232, column: 97, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 232, column: 99, }, end: Position { line: 232, column: 107, }, }, }, ), ], span: Span { start: Position { line: 232, column: 98, }, end: Position { line: 232, column: 108, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 232, column: 110, }, end: Position { line: 232, column: 118, }, }, }, ), ], span: Span { start: Position { line: 232, column: 109, }, end: Position { line: 232, column: 119, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 232, column: 121, }, end: Position { line: 232, column: 129, }, }, }, ), ], span: Span { start: Position { line: 232, column: 120, }, end: Position { line: 232, column: 130, }, }, }, ), ], span: Span { start: Position { line: 232, column: 75, }, end: Position { line: 232, column: 132, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 233, column: 6, }, end: Position { line: 233, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 233, column: 31, }, end: Position { line: 233, column: 39, }, }, }, ), ], span: Span { start: Position { line: 233, column: 30, }, end: Position { line: 233, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 233, column: 42, }, end: Position { line: 233, column: 49, }, }, }, ), ], span: Span { start: Position { line: 233, column: 41, }, end: Position { line: 233, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 233, column: 52, }, end: Position { line: 233, column: 60, }, }, }, ), ], span: Span { start: Position { line: 233, column: 51, }, end: Position { line: 233, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 233, column: 63, }, end: Position { line: 233, column: 67, }, }, }, ), ], span: Span { start: Position { line: 233, column: 62, }, end: Position { line: 233, column: 68, }, }, }, ), ], span: Span { start: Position { line: 233, column: 28, }, end: Position { line: 233, column: 70, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 233, column: 74, }, end: Position { line: 233, column: 82, }, }, }, ), ], span: Span { start: Position { line: 233, column: 73, }, end: Position { line: 233, column: 83, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 233, column: 85, }, end: Position { line: 233, column: 92, }, }, }, ), ], span: Span { start: Position { line: 233, column: 84, }, end: Position { line: 233, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 233, column: 95, }, end: Position { line: 233, column: 103, }, }, }, ), ], span: Span { start: Position { line: 233, column: 94, }, end: Position { line: 233, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 233, column: 106, }, end: Position { line: 233, column: 114, }, }, }, ), ], span: Span { start: Position { line: 233, column: 105, }, end: Position { line: 233, column: 115, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 233, column: 117, }, end: Position { line: 233, column: 121, }, }, }, ), ], span: Span { start: Position { line: 233, column: 116, }, end: Position { line: 233, column: 122, }, }, }, ), ], span: Span { start: Position { line: 233, column: 71, }, end: Position { line: 233, column: 124, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 234, column: 6, }, end: Position { line: 234, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 234, column: 31, }, end: Position { line: 234, column: 39, }, }, }, ), ], span: Span { start: Position { line: 234, column: 30, }, end: Position { line: 234, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 234, column: 42, }, end: Position { line: 234, column: 49, }, }, }, ), ], span: Span { start: Position { line: 234, column: 41, }, end: Position { line: 234, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 234, column: 52, }, end: Position { line: 234, column: 60, }, }, }, ), ], span: Span { start: Position { line: 234, column: 51, }, end: Position { line: 234, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "connMaxLifetime", span: Span { start: Position { line: 234, column: 63, }, end: Position { line: 234, column: 78, }, }, }, ), ], span: Span { start: Position { line: 234, column: 62, }, end: Position { line: 234, column: 79, }, }, }, ), ], span: Span { start: Position { line: 234, column: 28, }, end: Position { line: 234, column: 81, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 234, column: 85, }, end: Position { line: 234, column: 93, }, }, }, ), ], span: Span { start: Position { line: 234, column: 84, }, end: Position { line: 234, column: 94, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 234, column: 96, }, end: Position { line: 234, column: 103, }, }, }, ), ], span: Span { start: Position { line: 234, column: 95, }, end: Position { line: 234, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 234, column: 106, }, end: Position { line: 234, column: 114, }, }, }, ), ], span: Span { start: Position { line: 234, column: 105, }, end: Position { line: 234, column: 115, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 234, column: 117, }, end: Position { line: 234, column: 125, }, }, }, ), ], span: Span { start: Position { line: 234, column: 116, }, end: Position { line: 234, column: 126, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "conn_max_lifetime", span: Span { start: Position { line: 234, column: 128, }, end: Position { line: 234, column: 145, }, }, }, ), ], span: Span { start: Position { line: 234, column: 127, }, end: Position { line: 234, column: 146, }, }, }, ), ], span: Span { start: Position { line: 234, column: 82, }, end: Position { line: 234, column: 148, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 235, column: 6, }, end: Position { line: 235, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 235, column: 31, }, end: Position { line: 235, column: 39, }, }, }, ), ], span: Span { start: Position { line: 235, column: 30, }, end: Position { line: 235, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 235, column: 42, }, end: Position { line: 235, column: 49, }, }, }, ), ], span: Span { start: Position { line: 235, column: 41, }, end: Position { line: 235, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 235, column: 52, }, end: Position { line: 235, column: 60, }, }, }, ), ], span: Span { start: Position { line: 235, column: 51, }, end: Position { line: 235, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "adminUser", span: Span { start: Position { line: 235, column: 63, }, end: Position { line: 235, column: 72, }, }, }, ), ], span: Span { start: Position { line: 235, column: 62, }, end: Position { line: 235, column: 73, }, }, }, ), ], span: Span { start: Position { line: 235, column: 28, }, end: Position { line: 235, column: 75, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 235, column: 79, }, end: Position { line: 235, column: 87, }, }, }, ), ], span: Span { start: Position { line: 235, column: 78, }, end: Position { line: 235, column: 88, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 235, column: 90, }, end: Position { line: 235, column: 97, }, }, }, ), ], span: Span { start: Position { line: 235, column: 89, }, end: Position { line: 235, column: 98, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 235, column: 100, }, end: Position { line: 235, column: 108, }, }, }, ), ], span: Span { start: Position { line: 235, column: 99, }, end: Position { line: 235, column: 109, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 235, column: 111, }, end: Position { line: 235, column: 119, }, }, }, ), ], span: Span { start: Position { line: 235, column: 110, }, end: Position { line: 235, column: 120, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "admin_user", span: Span { start: Position { line: 235, column: 122, }, end: Position { line: 235, column: 132, }, }, }, ), ], span: Span { start: Position { line: 235, column: 121, }, end: Position { line: 235, column: 133, }, }, }, ), ], span: Span { start: Position { line: 235, column: 76, }, end: Position { line: 235, column: 135, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 236, column: 6, }, end: Position { line: 236, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 236, column: 31, }, end: Position { line: 236, column: 39, }, }, }, ), ], span: Span { start: Position { line: 236, column: 30, }, end: Position { line: 236, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 236, column: 42, }, end: Position { line: 236, column: 49, }, }, }, ), ], span: Span { start: Position { line: 236, column: 41, }, end: Position { line: 236, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 236, column: 52, }, end: Position { line: 236, column: 60, }, }, }, ), ], span: Span { start: Position { line: 236, column: 51, }, end: Position { line: 236, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "adminPassword", span: Span { start: Position { line: 236, column: 63, }, end: Position { line: 236, column: 76, }, }, }, ), ], span: Span { start: Position { line: 236, column: 62, }, end: Position { line: 236, column: 77, }, }, }, ), ], span: Span { start: Position { line: 236, column: 28, }, end: Position { line: 236, column: 79, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 236, column: 83, }, end: Position { line: 236, column: 91, }, }, }, ), ], span: Span { start: Position { line: 236, column: 82, }, end: Position { line: 236, column: 92, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 236, column: 94, }, end: Position { line: 236, column: 101, }, }, }, ), ], span: Span { start: Position { line: 236, column: 93, }, end: Position { line: 236, column: 102, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 236, column: 104, }, end: Position { line: 236, column: 112, }, }, }, ), ], span: Span { start: Position { line: 236, column: 103, }, end: Position { line: 236, column: 113, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 236, column: 115, }, end: Position { line: 236, column: 123, }, }, }, ), ], span: Span { start: Position { line: 236, column: 114, }, end: Position { line: 236, column: 124, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "admin_password", span: Span { start: Position { line: 236, column: 126, }, end: Position { line: 236, column: 140, }, }, }, ), ], span: Span { start: Position { line: 236, column: 125, }, end: Position { line: 236, column: 141, }, }, }, ), ], span: Span { start: Position { line: 236, column: 80, }, end: Position { line: 236, column: 143, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 237, column: 6, }, end: Position { line: 237, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 237, column: 31, }, end: Position { line: 237, column: 39, }, }, }, ), ], span: Span { start: Position { line: 237, column: 30, }, end: Position { line: 237, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 237, column: 42, }, end: Position { line: 237, column: 49, }, }, }, ), ], span: Span { start: Position { line: 237, column: 41, }, end: Position { line: 237, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 237, column: 52, }, end: Position { line: 237, column: 60, }, }, }, ), ], span: Span { start: Position { line: 237, column: 51, }, end: Position { line: 237, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "secretKey", span: Span { start: Position { line: 237, column: 63, }, end: Position { line: 237, column: 72, }, }, }, ), ], span: Span { start: Position { line: 237, column: 62, }, end: Position { line: 237, column: 73, }, }, }, ), ], span: Span { start: Position { line: 237, column: 28, }, end: Position { line: 237, column: 75, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 237, column: 79, }, end: Position { line: 237, column: 87, }, }, }, ), ], span: Span { start: Position { line: 237, column: 78, }, end: Position { line: 237, column: 88, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 237, column: 90, }, end: Position { line: 237, column: 97, }, }, }, ), ], span: Span { start: Position { line: 237, column: 89, }, end: Position { line: 237, column: 98, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 237, column: 100, }, end: Position { line: 237, column: 108, }, }, }, ), ], span: Span { start: Position { line: 237, column: 99, }, end: Position { line: 237, column: 109, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 237, column: 111, }, end: Position { line: 237, column: 119, }, }, }, ), ], span: Span { start: Position { line: 237, column: 110, }, end: Position { line: 237, column: 120, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "secret_key", span: Span { start: Position { line: 237, column: 122, }, end: Position { line: 237, column: 132, }, }, }, ), ], span: Span { start: Position { line: 237, column: 121, }, end: Position { line: 237, column: 133, }, }, }, ), ], span: Span { start: Position { line: 237, column: 76, }, end: Position { line: 237, column: 135, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 238, column: 6, }, end: Position { line: 238, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 238, column: 31, }, end: Position { line: 238, column: 39, }, }, }, ), ], span: Span { start: Position { line: 238, column: 30, }, end: Position { line: 238, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 238, column: 42, }, end: Position { line: 238, column: 49, }, }, }, ), ], span: Span { start: Position { line: 238, column: 41, }, end: Position { line: 238, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 238, column: 52, }, end: Position { line: 238, column: 58, }, }, }, ), ], span: Span { start: Position { line: 238, column: 51, }, end: Position { line: 238, column: 59, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "serveFromSubPath", span: Span { start: Position { line: 238, column: 61, }, end: Position { line: 238, column: 77, }, }, }, ), ], span: Span { start: Position { line: 238, column: 60, }, end: Position { line: 238, column: 78, }, }, }, ), ], span: Span { start: Position { line: 238, column: 28, }, end: Position { line: 238, column: 80, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 238, column: 84, }, end: Position { line: 238, column: 92, }, }, }, ), ], span: Span { start: Position { line: 238, column: 83, }, end: Position { line: 238, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 238, column: 95, }, end: Position { line: 238, column: 102, }, }, }, ), ], span: Span { start: Position { line: 238, column: 94, }, end: Position { line: 238, column: 103, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 238, column: 105, }, end: Position { line: 238, column: 113, }, }, }, ), ], span: Span { start: Position { line: 238, column: 104, }, end: Position { line: 238, column: 114, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 238, column: 116, }, end: Position { line: 238, column: 122, }, }, }, ), ], span: Span { start: Position { line: 238, column: 115, }, end: Position { line: 238, column: 123, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "serve_from_sub_path", span: Span { start: Position { line: 238, column: 125, }, end: Position { line: 238, column: 144, }, }, }, ), ], span: Span { start: Position { line: 238, column: 124, }, end: Position { line: 238, column: 145, }, }, }, ), ], span: Span { start: Position { line: 238, column: 81, }, end: Position { line: 238, column: 147, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 239, column: 6, }, end: Position { line: 239, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 239, column: 31, }, end: Position { line: 239, column: 39, }, }, }, ), ], span: Span { start: Position { line: 239, column: 30, }, end: Position { line: 239, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 239, column: 42, }, end: Position { line: 239, column: 49, }, }, }, ), ], span: Span { start: Position { line: 239, column: 41, }, end: Position { line: 239, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 239, column: 52, }, end: Position { line: 239, column: 56, }, }, }, ), ], span: Span { start: Position { line: 239, column: 51, }, end: Position { line: 239, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 239, column: 59, }, end: Position { line: 239, column: 65, }, }, }, ), ], span: Span { start: Position { line: 239, column: 58, }, end: Position { line: 239, column: 66, }, }, }, ), ], span: Span { start: Position { line: 239, column: 28, }, end: Position { line: 239, column: 68, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 239, column: 72, }, end: Position { line: 239, column: 80, }, }, }, ), ], span: Span { start: Position { line: 239, column: 71, }, end: Position { line: 239, column: 81, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 239, column: 83, }, end: Position { line: 239, column: 90, }, }, }, ), ], span: Span { start: Position { line: 239, column: 82, }, end: Position { line: 239, column: 91, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 239, column: 93, }, end: Position { line: 239, column: 101, }, }, }, ), ], span: Span { start: Position { line: 239, column: 92, }, end: Position { line: 239, column: 102, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 239, column: 104, }, end: Position { line: 239, column: 108, }, }, }, ), ], span: Span { start: Position { line: 239, column: 103, }, end: Position { line: 239, column: 109, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enabled", span: Span { start: Position { line: 239, column: 111, }, end: Position { line: 239, column: 118, }, }, }, ), ], span: Span { start: Position { line: 239, column: 110, }, end: Position { line: 239, column: 119, }, }, }, ), ], span: Span { start: Position { line: 239, column: 69, }, end: Position { line: 239, column: 121, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 240, column: 6, }, end: Position { line: 240, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 240, column: 31, }, end: Position { line: 240, column: 39, }, }, }, ), ], span: Span { start: Position { line: 240, column: 30, }, end: Position { line: 240, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 240, column: 42, }, end: Position { line: 240, column: 49, }, }, }, ), ], span: Span { start: Position { line: 240, column: 41, }, end: Position { line: 240, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 240, column: 52, }, end: Position { line: 240, column: 56, }, }, }, ), ], span: Span { start: Position { line: 240, column: 51, }, end: Position { line: 240, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "user", span: Span { start: Position { line: 240, column: 59, }, end: Position { line: 240, column: 63, }, }, }, ), ], span: Span { start: Position { line: 240, column: 58, }, end: Position { line: 240, column: 64, }, }, }, ), ], span: Span { start: Position { line: 240, column: 28, }, end: Position { line: 240, column: 66, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 240, column: 70, }, end: Position { line: 240, column: 78, }, }, }, ), ], span: Span { start: Position { line: 240, column: 69, }, end: Position { line: 240, column: 79, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 240, column: 81, }, end: Position { line: 240, column: 88, }, }, }, ), ], span: Span { start: Position { line: 240, column: 80, }, end: Position { line: 240, column: 89, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 240, column: 91, }, end: Position { line: 240, column: 99, }, }, }, ), ], span: Span { start: Position { line: 240, column: 90, }, end: Position { line: 240, column: 100, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 240, column: 102, }, end: Position { line: 240, column: 106, }, }, }, ), ], span: Span { start: Position { line: 240, column: 101, }, end: Position { line: 240, column: 107, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "user", span: Span { start: Position { line: 240, column: 109, }, end: Position { line: 240, column: 113, }, }, }, ), ], span: Span { start: Position { line: 240, column: 108, }, end: Position { line: 240, column: 114, }, }, }, ), ], span: Span { start: Position { line: 240, column: 67, }, end: Position { line: 240, column: 116, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 241, column: 6, }, end: Position { line: 241, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 241, column: 31, }, end: Position { line: 241, column: 39, }, }, }, ), ], span: Span { start: Position { line: 241, column: 30, }, end: Position { line: 241, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 241, column: 42, }, end: Position { line: 241, column: 49, }, }, }, ), ], span: Span { start: Position { line: 241, column: 41, }, end: Position { line: 241, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 241, column: 52, }, end: Position { line: 241, column: 56, }, }, }, ), ], span: Span { start: Position { line: 241, column: 51, }, end: Position { line: 241, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 241, column: 59, }, end: Position { line: 241, column: 67, }, }, }, ), ], span: Span { start: Position { line: 241, column: 58, }, end: Position { line: 241, column: 68, }, }, }, ), ], span: Span { start: Position { line: 241, column: 28, }, end: Position { line: 241, column: 70, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 241, column: 74, }, end: Position { line: 241, column: 82, }, }, }, ), ], span: Span { start: Position { line: 241, column: 73, }, end: Position { line: 241, column: 83, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 241, column: 85, }, end: Position { line: 241, column: 92, }, }, }, ), ], span: Span { start: Position { line: 241, column: 84, }, end: Position { line: 241, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 241, column: 95, }, end: Position { line: 241, column: 103, }, }, }, ), ], span: Span { start: Position { line: 241, column: 94, }, end: Position { line: 241, column: 104, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 241, column: 106, }, end: Position { line: 241, column: 110, }, }, }, ), ], span: Span { start: Position { line: 241, column: 105, }, end: Position { line: 241, column: 111, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 241, column: 113, }, end: Position { line: 241, column: 121, }, }, }, ), ], span: Span { start: Position { line: 241, column: 112, }, end: Position { line: 241, column: 122, }, }, }, ), ], span: Span { start: Position { line: 241, column: 71, }, end: Position { line: 241, column: 124, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 242, column: 6, }, end: Position { line: 242, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 242, column: 31, }, end: Position { line: 242, column: 39, }, }, }, ), ], span: Span { start: Position { line: 242, column: 30, }, end: Position { line: 242, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 242, column: 42, }, end: Position { line: 242, column: 49, }, }, }, ), ], span: Span { start: Position { line: 242, column: 41, }, end: Position { line: 242, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 242, column: 52, }, end: Position { line: 242, column: 56, }, }, }, ), ], span: Span { start: Position { line: 242, column: 51, }, end: Position { line: 242, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "fromAddress", span: Span { start: Position { line: 242, column: 59, }, end: Position { line: 242, column: 70, }, }, }, ), ], span: Span { start: Position { line: 242, column: 58, }, end: Position { line: 242, column: 71, }, }, }, ), ], span: Span { start: Position { line: 242, column: 28, }, end: Position { line: 242, column: 73, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 242, column: 77, }, end: Position { line: 242, column: 85, }, }, }, ), ], span: Span { start: Position { line: 242, column: 76, }, end: Position { line: 242, column: 86, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 242, column: 88, }, end: Position { line: 242, column: 95, }, }, }, ), ], span: Span { start: Position { line: 242, column: 87, }, end: Position { line: 242, column: 96, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 242, column: 98, }, end: Position { line: 242, column: 106, }, }, }, ), ], span: Span { start: Position { line: 242, column: 97, }, end: Position { line: 242, column: 107, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 242, column: 109, }, end: Position { line: 242, column: 113, }, }, }, ), ], span: Span { start: Position { line: 242, column: 108, }, end: Position { line: 242, column: 114, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "from_address", span: Span { start: Position { line: 242, column: 116, }, end: Position { line: 242, column: 128, }, }, }, ), ], span: Span { start: Position { line: 242, column: 115, }, end: Position { line: 242, column: 129, }, }, }, ), ], span: Span { start: Position { line: 242, column: 74, }, end: Position { line: 242, column: 131, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 243, column: 6, }, end: Position { line: 243, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 243, column: 31, }, end: Position { line: 243, column: 39, }, }, }, ), ], span: Span { start: Position { line: 243, column: 30, }, end: Position { line: 243, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 243, column: 42, }, end: Position { line: 243, column: 49, }, }, }, ), ], span: Span { start: Position { line: 243, column: 41, }, end: Position { line: 243, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 243, column: 52, }, end: Position { line: 243, column: 57, }, }, }, ), ], span: Span { start: Position { line: 243, column: 51, }, end: Position { line: 243, column: 58, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allowSignUp", span: Span { start: Position { line: 243, column: 60, }, end: Position { line: 243, column: 71, }, }, }, ), ], span: Span { start: Position { line: 243, column: 59, }, end: Position { line: 243, column: 72, }, }, }, ), ], span: Span { start: Position { line: 243, column: 28, }, end: Position { line: 243, column: 74, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 243, column: 78, }, end: Position { line: 243, column: 86, }, }, }, ), ], span: Span { start: Position { line: 243, column: 77, }, end: Position { line: 243, column: 87, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 243, column: 89, }, end: Position { line: 243, column: 96, }, }, }, ), ], span: Span { start: Position { line: 243, column: 88, }, end: Position { line: 243, column: 97, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 243, column: 99, }, end: Position { line: 243, column: 107, }, }, }, ), ], span: Span { start: Position { line: 243, column: 98, }, end: Position { line: 243, column: 108, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 243, column: 110, }, end: Position { line: 243, column: 115, }, }, }, ), ], span: Span { start: Position { line: 243, column: 109, }, end: Position { line: 243, column: 116, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allow_sign_up", span: Span { start: Position { line: 243, column: 118, }, end: Position { line: 243, column: 131, }, }, }, ), ], span: Span { start: Position { line: 243, column: 117, }, end: Position { line: 243, column: 132, }, }, }, ), ], span: Span { start: Position { line: 243, column: 75, }, end: Position { line: 243, column: 134, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 244, column: 6, }, end: Position { line: 244, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 244, column: 31, }, end: Position { line: 244, column: 39, }, }, }, ), ], span: Span { start: Position { line: 244, column: 30, }, end: Position { line: 244, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 244, column: 42, }, end: Position { line: 244, column: 49, }, }, }, ), ], span: Span { start: Position { line: 244, column: 41, }, end: Position { line: 244, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 244, column: 52, }, end: Position { line: 244, column: 57, }, }, }, ), ], span: Span { start: Position { line: 244, column: 51, }, end: Position { line: 244, column: 58, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allowOrgCreate", span: Span { start: Position { line: 244, column: 60, }, end: Position { line: 244, column: 74, }, }, }, ), ], span: Span { start: Position { line: 244, column: 59, }, end: Position { line: 244, column: 75, }, }, }, ), ], span: Span { start: Position { line: 244, column: 28, }, end: Position { line: 244, column: 77, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 244, column: 81, }, end: Position { line: 244, column: 89, }, }, }, ), ], span: Span { start: Position { line: 244, column: 80, }, end: Position { line: 244, column: 90, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 244, column: 92, }, end: Position { line: 244, column: 99, }, }, }, ), ], span: Span { start: Position { line: 244, column: 91, }, end: Position { line: 244, column: 100, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 244, column: 102, }, end: Position { line: 244, column: 110, }, }, }, ), ], span: Span { start: Position { line: 244, column: 101, }, end: Position { line: 244, column: 111, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 244, column: 113, }, end: Position { line: 244, column: 118, }, }, }, ), ], span: Span { start: Position { line: 244, column: 112, }, end: Position { line: 244, column: 119, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allow_org_create", span: Span { start: Position { line: 244, column: 121, }, end: Position { line: 244, column: 137, }, }, }, ), ], span: Span { start: Position { line: 244, column: 120, }, end: Position { line: 244, column: 138, }, }, }, ), ], span: Span { start: Position { line: 244, column: 78, }, end: Position { line: 244, column: 140, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 245, column: 6, }, end: Position { line: 245, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 245, column: 31, }, end: Position { line: 245, column: 39, }, }, }, ), ], span: Span { start: Position { line: 245, column: 30, }, end: Position { line: 245, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 245, column: 42, }, end: Position { line: 245, column: 49, }, }, }, ), ], span: Span { start: Position { line: 245, column: 41, }, end: Position { line: 245, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 245, column: 52, }, end: Position { line: 245, column: 57, }, }, }, ), ], span: Span { start: Position { line: 245, column: 51, }, end: Position { line: 245, column: 58, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "autoAssignOrg", span: Span { start: Position { line: 245, column: 60, }, end: Position { line: 245, column: 73, }, }, }, ), ], span: Span { start: Position { line: 245, column: 59, }, end: Position { line: 245, column: 74, }, }, }, ), ], span: Span { start: Position { line: 245, column: 28, }, end: Position { line: 245, column: 76, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 245, column: 80, }, end: Position { line: 245, column: 88, }, }, }, ), ], span: Span { start: Position { line: 245, column: 79, }, end: Position { line: 245, column: 89, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 245, column: 91, }, end: Position { line: 245, column: 98, }, }, }, ), ], span: Span { start: Position { line: 245, column: 90, }, end: Position { line: 245, column: 99, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 245, column: 101, }, end: Position { line: 245, column: 109, }, }, }, ), ], span: Span { start: Position { line: 245, column: 100, }, end: Position { line: 245, column: 110, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 245, column: 112, }, end: Position { line: 245, column: 117, }, }, }, ), ], span: Span { start: Position { line: 245, column: 111, }, end: Position { line: 245, column: 118, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auto_assign_org", span: Span { start: Position { line: 245, column: 120, }, end: Position { line: 245, column: 135, }, }, }, ), ], span: Span { start: Position { line: 245, column: 119, }, end: Position { line: 245, column: 136, }, }, }, ), ], span: Span { start: Position { line: 245, column: 77, }, end: Position { line: 245, column: 138, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 246, column: 6, }, end: Position { line: 246, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 246, column: 31, }, end: Position { line: 246, column: 39, }, }, }, ), ], span: Span { start: Position { line: 246, column: 30, }, end: Position { line: 246, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 246, column: 42, }, end: Position { line: 246, column: 49, }, }, }, ), ], span: Span { start: Position { line: 246, column: 41, }, end: Position { line: 246, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 246, column: 52, }, end: Position { line: 246, column: 57, }, }, }, ), ], span: Span { start: Position { line: 246, column: 51, }, end: Position { line: 246, column: 58, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "autoAssignOrgRole", span: Span { start: Position { line: 246, column: 60, }, end: Position { line: 246, column: 77, }, }, }, ), ], span: Span { start: Position { line: 246, column: 59, }, end: Position { line: 246, column: 78, }, }, }, ), ], span: Span { start: Position { line: 246, column: 28, }, end: Position { line: 246, column: 80, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 246, column: 84, }, end: Position { line: 246, column: 92, }, }, }, ), ], span: Span { start: Position { line: 246, column: 83, }, end: Position { line: 246, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 246, column: 95, }, end: Position { line: 246, column: 102, }, }, }, ), ], span: Span { start: Position { line: 246, column: 94, }, end: Position { line: 246, column: 103, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 246, column: 105, }, end: Position { line: 246, column: 113, }, }, }, ), ], span: Span { start: Position { line: 246, column: 104, }, end: Position { line: 246, column: 114, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 246, column: 116, }, end: Position { line: 246, column: 121, }, }, }, ), ], span: Span { start: Position { line: 246, column: 115, }, end: Position { line: 246, column: 122, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auto_assign_org_role", span: Span { start: Position { line: 246, column: 124, }, end: Position { line: 246, column: 144, }, }, }, ), ], span: Span { start: Position { line: 246, column: 123, }, end: Position { line: 246, column: 145, }, }, }, ), ], span: Span { start: Position { line: 246, column: 81, }, end: Position { line: 246, column: 147, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 247, column: 6, }, end: Position { line: 247, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 247, column: 31, }, end: Position { line: 247, column: 39, }, }, }, ), ], span: Span { start: Position { line: 247, column: 30, }, end: Position { line: 247, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 247, column: 42, }, end: Position { line: 247, column: 49, }, }, }, ), ], span: Span { start: Position { line: 247, column: 41, }, end: Position { line: 247, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 247, column: 52, }, end: Position { line: 247, column: 56, }, }, }, ), ], span: Span { start: Position { line: 247, column: 51, }, end: Position { line: 247, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "disableLoginForm", span: Span { start: Position { line: 247, column: 59, }, end: Position { line: 247, column: 75, }, }, }, ), ], span: Span { start: Position { line: 247, column: 58, }, end: Position { line: 247, column: 76, }, }, }, ), ], span: Span { start: Position { line: 247, column: 28, }, end: Position { line: 247, column: 78, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 247, column: 82, }, end: Position { line: 247, column: 90, }, }, }, ), ], span: Span { start: Position { line: 247, column: 81, }, end: Position { line: 247, column: 91, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 247, column: 93, }, end: Position { line: 247, column: 100, }, }, }, ), ], span: Span { start: Position { line: 247, column: 92, }, end: Position { line: 247, column: 101, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 247, column: 103, }, end: Position { line: 247, column: 111, }, }, }, ), ], span: Span { start: Position { line: 247, column: 102, }, end: Position { line: 247, column: 112, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 247, column: 114, }, end: Position { line: 247, column: 118, }, }, }, ), ], span: Span { start: Position { line: 247, column: 113, }, end: Position { line: 247, column: 119, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "disable_login_form", span: Span { start: Position { line: 247, column: 121, }, end: Position { line: 247, column: 139, }, }, }, ), ], span: Span { start: Position { line: 247, column: 120, }, end: Position { line: 247, column: 140, }, }, }, ), ], span: Span { start: Position { line: 247, column: 79, }, end: Position { line: 247, column: 142, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 248, column: 6, }, end: Position { line: 248, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 248, column: 31, }, end: Position { line: 248, column: 39, }, }, }, ), ], span: Span { start: Position { line: 248, column: 30, }, end: Position { line: 248, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 248, column: 42, }, end: Position { line: 248, column: 49, }, }, }, ), ], span: Span { start: Position { line: 248, column: 41, }, end: Position { line: 248, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 248, column: 52, }, end: Position { line: 248, column: 56, }, }, }, ), ], span: Span { start: Position { line: 248, column: 51, }, end: Position { line: 248, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "anonymous", span: Span { start: Position { line: 248, column: 59, }, end: Position { line: 248, column: 68, }, }, }, ), ], span: Span { start: Position { line: 248, column: 58, }, end: Position { line: 248, column: 69, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 248, column: 71, }, end: Position { line: 248, column: 77, }, }, }, ), ], span: Span { start: Position { line: 248, column: 70, }, end: Position { line: 248, column: 78, }, }, }, ), ], span: Span { start: Position { line: 248, column: 28, }, end: Position { line: 248, column: 80, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 248, column: 84, }, end: Position { line: 248, column: 92, }, }, }, ), ], span: Span { start: Position { line: 248, column: 83, }, end: Position { line: 248, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 248, column: 95, }, end: Position { line: 248, column: 102, }, }, }, ), ], span: Span { start: Position { line: 248, column: 94, }, end: Position { line: 248, column: 103, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 248, column: 105, }, end: Position { line: 248, column: 113, }, }, }, ), ], span: Span { start: Position { line: 248, column: 104, }, end: Position { line: 248, column: 114, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.anonymous", span: Span { start: Position { line: 248, column: 116, }, end: Position { line: 248, column: 130, }, }, }, ), ], span: Span { start: Position { line: 248, column: 115, }, end: Position { line: 248, column: 131, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enabled", span: Span { start: Position { line: 248, column: 133, }, end: Position { line: 248, column: 140, }, }, }, ), ], span: Span { start: Position { line: 248, column: 132, }, end: Position { line: 248, column: 141, }, }, }, ), ], span: Span { start: Position { line: 248, column: 81, }, end: Position { line: 248, column: 143, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 249, column: 6, }, end: Position { line: 249, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 249, column: 31, }, end: Position { line: 249, column: 39, }, }, }, ), ], span: Span { start: Position { line: 249, column: 30, }, end: Position { line: 249, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 249, column: 42, }, end: Position { line: 249, column: 49, }, }, }, ), ], span: Span { start: Position { line: 249, column: 41, }, end: Position { line: 249, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 249, column: 52, }, end: Position { line: 249, column: 56, }, }, }, ), ], span: Span { start: Position { line: 249, column: 51, }, end: Position { line: 249, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "anonymous", span: Span { start: Position { line: 249, column: 59, }, end: Position { line: 249, column: 68, }, }, }, ), ], span: Span { start: Position { line: 249, column: 58, }, end: Position { line: 249, column: 69, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "org_name", span: Span { start: Position { line: 249, column: 71, }, end: Position { line: 249, column: 79, }, }, }, ), ], span: Span { start: Position { line: 249, column: 70, }, end: Position { line: 249, column: 80, }, }, }, ), ], span: Span { start: Position { line: 249, column: 28, }, end: Position { line: 249, column: 82, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 249, column: 86, }, end: Position { line: 249, column: 94, }, }, }, ), ], span: Span { start: Position { line: 249, column: 85, }, end: Position { line: 249, column: 95, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 249, column: 97, }, end: Position { line: 249, column: 104, }, }, }, ), ], span: Span { start: Position { line: 249, column: 96, }, end: Position { line: 249, column: 105, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 249, column: 107, }, end: Position { line: 249, column: 115, }, }, }, ), ], span: Span { start: Position { line: 249, column: 106, }, end: Position { line: 249, column: 116, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.anonymous", span: Span { start: Position { line: 249, column: 118, }, end: Position { line: 249, column: 132, }, }, }, ), ], span: Span { start: Position { line: 249, column: 117, }, end: Position { line: 249, column: 133, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "org_name", span: Span { start: Position { line: 249, column: 135, }, end: Position { line: 249, column: 143, }, }, }, ), ], span: Span { start: Position { line: 249, column: 134, }, end: Position { line: 249, column: 144, }, }, }, ), ], span: Span { start: Position { line: 249, column: 83, }, end: Position { line: 249, column: 146, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 250, column: 6, }, end: Position { line: 250, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 250, column: 31, }, end: Position { line: 250, column: 39, }, }, }, ), ], span: Span { start: Position { line: 250, column: 30, }, end: Position { line: 250, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 250, column: 42, }, end: Position { line: 250, column: 49, }, }, }, ), ], span: Span { start: Position { line: 250, column: 41, }, end: Position { line: 250, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 250, column: 52, }, end: Position { line: 250, column: 56, }, }, }, ), ], span: Span { start: Position { line: 250, column: 51, }, end: Position { line: 250, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "anonymous", span: Span { start: Position { line: 250, column: 59, }, end: Position { line: 250, column: 68, }, }, }, ), ], span: Span { start: Position { line: 250, column: 58, }, end: Position { line: 250, column: 69, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "org_role", span: Span { start: Position { line: 250, column: 71, }, end: Position { line: 250, column: 79, }, }, }, ), ], span: Span { start: Position { line: 250, column: 70, }, end: Position { line: 250, column: 80, }, }, }, ), ], span: Span { start: Position { line: 250, column: 28, }, end: Position { line: 250, column: 82, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 250, column: 86, }, end: Position { line: 250, column: 94, }, }, }, ), ], span: Span { start: Position { line: 250, column: 85, }, end: Position { line: 250, column: 95, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 250, column: 97, }, end: Position { line: 250, column: 104, }, }, }, ), ], span: Span { start: Position { line: 250, column: 96, }, end: Position { line: 250, column: 105, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 250, column: 107, }, end: Position { line: 250, column: 115, }, }, }, ), ], span: Span { start: Position { line: 250, column: 106, }, end: Position { line: 250, column: 116, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.anonymous", span: Span { start: Position { line: 250, column: 118, }, end: Position { line: 250, column: 132, }, }, }, ), ], span: Span { start: Position { line: 250, column: 117, }, end: Position { line: 250, column: 133, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "org_role", span: Span { start: Position { line: 250, column: 135, }, end: Position { line: 250, column: 143, }, }, }, ), ], span: Span { start: Position { line: 250, column: 134, }, end: Position { line: 250, column: 144, }, }, }, ), ], span: Span { start: Position { line: 250, column: 83, }, end: Position { line: 250, column: 146, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 251, column: 6, }, end: Position { line: 251, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 251, column: 31, }, end: Position { line: 251, column: 39, }, }, }, ), ], span: Span { start: Position { line: 251, column: 30, }, end: Position { line: 251, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 251, column: 42, }, end: Position { line: 251, column: 49, }, }, }, ), ], span: Span { start: Position { line: 251, column: 41, }, end: Position { line: 251, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 251, column: 52, }, end: Position { line: 251, column: 56, }, }, }, ), ], span: Span { start: Position { line: 251, column: 51, }, end: Position { line: 251, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "azuread", span: Span { start: Position { line: 251, column: 59, }, end: Position { line: 251, column: 66, }, }, }, ), ], span: Span { start: Position { line: 251, column: 58, }, end: Position { line: 251, column: 67, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 251, column: 69, }, end: Position { line: 251, column: 75, }, }, }, ), ], span: Span { start: Position { line: 251, column: 68, }, end: Position { line: 251, column: 76, }, }, }, ), ], span: Span { start: Position { line: 251, column: 28, }, end: Position { line: 251, column: 78, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 251, column: 82, }, end: Position { line: 251, column: 90, }, }, }, ), ], span: Span { start: Position { line: 251, column: 81, }, end: Position { line: 251, column: 91, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 251, column: 93, }, end: Position { line: 251, column: 100, }, }, }, ), ], span: Span { start: Position { line: 251, column: 92, }, end: Position { line: 251, column: 101, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 251, column: 103, }, end: Position { line: 251, column: 111, }, }, }, ), ], span: Span { start: Position { line: 251, column: 102, }, end: Position { line: 251, column: 112, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.azuread", span: Span { start: Position { line: 251, column: 114, }, end: Position { line: 251, column: 126, }, }, }, ), ], span: Span { start: Position { line: 251, column: 113, }, end: Position { line: 251, column: 127, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enabled", span: Span { start: Position { line: 251, column: 129, }, end: Position { line: 251, column: 136, }, }, }, ), ], span: Span { start: Position { line: 251, column: 128, }, end: Position { line: 251, column: 137, }, }, }, ), ], span: Span { start: Position { line: 251, column: 79, }, end: Position { line: 251, column: 139, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 252, column: 6, }, end: Position { line: 252, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 252, column: 31, }, end: Position { line: 252, column: 39, }, }, }, ), ], span: Span { start: Position { line: 252, column: 30, }, end: Position { line: 252, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 252, column: 42, }, end: Position { line: 252, column: 49, }, }, }, ), ], span: Span { start: Position { line: 252, column: 41, }, end: Position { line: 252, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 252, column: 52, }, end: Position { line: 252, column: 56, }, }, }, ), ], span: Span { start: Position { line: 252, column: 51, }, end: Position { line: 252, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "azuread", span: Span { start: Position { line: 252, column: 59, }, end: Position { line: 252, column: 66, }, }, }, ), ], span: Span { start: Position { line: 252, column: 58, }, end: Position { line: 252, column: 67, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allowSignUp", span: Span { start: Position { line: 252, column: 69, }, end: Position { line: 252, column: 80, }, }, }, ), ], span: Span { start: Position { line: 252, column: 68, }, end: Position { line: 252, column: 81, }, }, }, ), ], span: Span { start: Position { line: 252, column: 28, }, end: Position { line: 252, column: 83, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 252, column: 87, }, end: Position { line: 252, column: 95, }, }, }, ), ], span: Span { start: Position { line: 252, column: 86, }, end: Position { line: 252, column: 96, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 252, column: 98, }, end: Position { line: 252, column: 105, }, }, }, ), ], span: Span { start: Position { line: 252, column: 97, }, end: Position { line: 252, column: 106, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 252, column: 108, }, end: Position { line: 252, column: 116, }, }, }, ), ], span: Span { start: Position { line: 252, column: 107, }, end: Position { line: 252, column: 117, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.azuread", span: Span { start: Position { line: 252, column: 119, }, end: Position { line: 252, column: 131, }, }, }, ), ], span: Span { start: Position { line: 252, column: 118, }, end: Position { line: 252, column: 132, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allow_sign_up", span: Span { start: Position { line: 252, column: 134, }, end: Position { line: 252, column: 147, }, }, }, ), ], span: Span { start: Position { line: 252, column: 133, }, end: Position { line: 252, column: 148, }, }, }, ), ], span: Span { start: Position { line: 252, column: 84, }, end: Position { line: 252, column: 150, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 253, column: 6, }, end: Position { line: 253, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 253, column: 31, }, end: Position { line: 253, column: 39, }, }, }, ), ], span: Span { start: Position { line: 253, column: 30, }, end: Position { line: 253, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 253, column: 42, }, end: Position { line: 253, column: 49, }, }, }, ), ], span: Span { start: Position { line: 253, column: 41, }, end: Position { line: 253, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 253, column: 52, }, end: Position { line: 253, column: 56, }, }, }, ), ], span: Span { start: Position { line: 253, column: 51, }, end: Position { line: 253, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "azuread", span: Span { start: Position { line: 253, column: 59, }, end: Position { line: 253, column: 66, }, }, }, ), ], span: Span { start: Position { line: 253, column: 58, }, end: Position { line: 253, column: 67, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "clientId", span: Span { start: Position { line: 253, column: 69, }, end: Position { line: 253, column: 77, }, }, }, ), ], span: Span { start: Position { line: 253, column: 68, }, end: Position { line: 253, column: 78, }, }, }, ), ], span: Span { start: Position { line: 253, column: 28, }, end: Position { line: 253, column: 80, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 253, column: 84, }, end: Position { line: 253, column: 92, }, }, }, ), ], span: Span { start: Position { line: 253, column: 83, }, end: Position { line: 253, column: 93, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 253, column: 95, }, end: Position { line: 253, column: 102, }, }, }, ), ], span: Span { start: Position { line: 253, column: 94, }, end: Position { line: 253, column: 103, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 253, column: 105, }, end: Position { line: 253, column: 113, }, }, }, ), ], span: Span { start: Position { line: 253, column: 104, }, end: Position { line: 253, column: 114, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.azuread", span: Span { start: Position { line: 253, column: 116, }, end: Position { line: 253, column: 128, }, }, }, ), ], span: Span { start: Position { line: 253, column: 115, }, end: Position { line: 253, column: 129, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "client_id", span: Span { start: Position { line: 253, column: 131, }, end: Position { line: 253, column: 140, }, }, }, ), ], span: Span { start: Position { line: 253, column: 130, }, end: Position { line: 253, column: 141, }, }, }, ), ], span: Span { start: Position { line: 253, column: 81, }, end: Position { line: 253, column: 143, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 254, column: 6, }, end: Position { line: 254, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 254, column: 31, }, end: Position { line: 254, column: 39, }, }, }, ), ], span: Span { start: Position { line: 254, column: 30, }, end: Position { line: 254, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 254, column: 42, }, end: Position { line: 254, column: 49, }, }, }, ), ], span: Span { start: Position { line: 254, column: 41, }, end: Position { line: 254, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 254, column: 52, }, end: Position { line: 254, column: 56, }, }, }, ), ], span: Span { start: Position { line: 254, column: 51, }, end: Position { line: 254, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "azuread", span: Span { start: Position { line: 254, column: 59, }, end: Position { line: 254, column: 66, }, }, }, ), ], span: Span { start: Position { line: 254, column: 58, }, end: Position { line: 254, column: 67, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allowedDomains", span: Span { start: Position { line: 254, column: 69, }, end: Position { line: 254, column: 83, }, }, }, ), ], span: Span { start: Position { line: 254, column: 68, }, end: Position { line: 254, column: 84, }, }, }, ), ], span: Span { start: Position { line: 254, column: 28, }, end: Position { line: 254, column: 86, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 254, column: 90, }, end: Position { line: 254, column: 98, }, }, }, ), ], span: Span { start: Position { line: 254, column: 89, }, end: Position { line: 254, column: 99, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 254, column: 101, }, end: Position { line: 254, column: 108, }, }, }, ), ], span: Span { start: Position { line: 254, column: 100, }, end: Position { line: 254, column: 109, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 254, column: 111, }, end: Position { line: 254, column: 119, }, }, }, ), ], span: Span { start: Position { line: 254, column: 110, }, end: Position { line: 254, column: 120, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.azuread", span: Span { start: Position { line: 254, column: 122, }, end: Position { line: 254, column: 134, }, }, }, ), ], span: Span { start: Position { line: 254, column: 121, }, end: Position { line: 254, column: 135, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allowed_domains", span: Span { start: Position { line: 254, column: 137, }, end: Position { line: 254, column: 152, }, }, }, ), ], span: Span { start: Position { line: 254, column: 136, }, end: Position { line: 254, column: 153, }, }, }, ), ], span: Span { start: Position { line: 254, column: 87, }, end: Position { line: 254, column: 155, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 255, column: 6, }, end: Position { line: 255, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 255, column: 31, }, end: Position { line: 255, column: 39, }, }, }, ), ], span: Span { start: Position { line: 255, column: 30, }, end: Position { line: 255, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 255, column: 42, }, end: Position { line: 255, column: 49, }, }, }, ), ], span: Span { start: Position { line: 255, column: 41, }, end: Position { line: 255, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 255, column: 52, }, end: Position { line: 255, column: 56, }, }, }, ), ], span: Span { start: Position { line: 255, column: 51, }, end: Position { line: 255, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "azuread", span: Span { start: Position { line: 255, column: 59, }, end: Position { line: 255, column: 66, }, }, }, ), ], span: Span { start: Position { line: 255, column: 58, }, end: Position { line: 255, column: 67, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allowedGroups", span: Span { start: Position { line: 255, column: 69, }, end: Position { line: 255, column: 82, }, }, }, ), ], span: Span { start: Position { line: 255, column: 68, }, end: Position { line: 255, column: 83, }, }, }, ), ], span: Span { start: Position { line: 255, column: 28, }, end: Position { line: 255, column: 85, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 255, column: 89, }, end: Position { line: 255, column: 97, }, }, }, ), ], span: Span { start: Position { line: 255, column: 88, }, end: Position { line: 255, column: 98, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 255, column: 100, }, end: Position { line: 255, column: 107, }, }, }, ), ], span: Span { start: Position { line: 255, column: 99, }, end: Position { line: 255, column: 108, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 255, column: 110, }, end: Position { line: 255, column: 118, }, }, }, ), ], span: Span { start: Position { line: 255, column: 109, }, end: Position { line: 255, column: 119, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.azuread", span: Span { start: Position { line: 255, column: 121, }, end: Position { line: 255, column: 133, }, }, }, ), ], span: Span { start: Position { line: 255, column: 120, }, end: Position { line: 255, column: 134, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allowed_groups", span: Span { start: Position { line: 255, column: 136, }, end: Position { line: 255, column: 150, }, }, }, ), ], span: Span { start: Position { line: 255, column: 135, }, end: Position { line: 255, column: 151, }, }, }, ), ], span: Span { start: Position { line: 255, column: 86, }, end: Position { line: 255, column: 153, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 256, column: 6, }, end: Position { line: 256, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 256, column: 31, }, end: Position { line: 256, column: 39, }, }, }, ), ], span: Span { start: Position { line: 256, column: 30, }, end: Position { line: 256, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 256, column: 42, }, end: Position { line: 256, column: 49, }, }, }, ), ], span: Span { start: Position { line: 256, column: 41, }, end: Position { line: 256, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 256, column: 52, }, end: Position { line: 256, column: 56, }, }, }, ), ], span: Span { start: Position { line: 256, column: 51, }, end: Position { line: 256, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "google", span: Span { start: Position { line: 256, column: 59, }, end: Position { line: 256, column: 65, }, }, }, ), ], span: Span { start: Position { line: 256, column: 58, }, end: Position { line: 256, column: 66, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 256, column: 68, }, end: Position { line: 256, column: 74, }, }, }, ), ], span: Span { start: Position { line: 256, column: 67, }, end: Position { line: 256, column: 75, }, }, }, ), ], span: Span { start: Position { line: 256, column: 28, }, end: Position { line: 256, column: 77, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 256, column: 81, }, end: Position { line: 256, column: 89, }, }, }, ), ], span: Span { start: Position { line: 256, column: 80, }, end: Position { line: 256, column: 90, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 256, column: 92, }, end: Position { line: 256, column: 99, }, }, }, ), ], span: Span { start: Position { line: 256, column: 91, }, end: Position { line: 256, column: 100, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 256, column: 102, }, end: Position { line: 256, column: 110, }, }, }, ), ], span: Span { start: Position { line: 256, column: 101, }, end: Position { line: 256, column: 111, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.google", span: Span { start: Position { line: 256, column: 113, }, end: Position { line: 256, column: 124, }, }, }, ), ], span: Span { start: Position { line: 256, column: 112, }, end: Position { line: 256, column: 125, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enabled", span: Span { start: Position { line: 256, column: 127, }, end: Position { line: 256, column: 134, }, }, }, ), ], span: Span { start: Position { line: 256, column: 126, }, end: Position { line: 256, column: 135, }, }, }, ), ], span: Span { start: Position { line: 256, column: 78, }, end: Position { line: 256, column: 137, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 257, column: 6, }, end: Position { line: 257, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 257, column: 31, }, end: Position { line: 257, column: 39, }, }, }, ), ], span: Span { start: Position { line: 257, column: 30, }, end: Position { line: 257, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 257, column: 42, }, end: Position { line: 257, column: 49, }, }, }, ), ], span: Span { start: Position { line: 257, column: 41, }, end: Position { line: 257, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 257, column: 52, }, end: Position { line: 257, column: 56, }, }, }, ), ], span: Span { start: Position { line: 257, column: 51, }, end: Position { line: 257, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "google", span: Span { start: Position { line: 257, column: 59, }, end: Position { line: 257, column: 65, }, }, }, ), ], span: Span { start: Position { line: 257, column: 58, }, end: Position { line: 257, column: 66, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allowSignUp", span: Span { start: Position { line: 257, column: 68, }, end: Position { line: 257, column: 79, }, }, }, ), ], span: Span { start: Position { line: 257, column: 67, }, end: Position { line: 257, column: 80, }, }, }, ), ], span: Span { start: Position { line: 257, column: 28, }, end: Position { line: 257, column: 82, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 257, column: 86, }, end: Position { line: 257, column: 94, }, }, }, ), ], span: Span { start: Position { line: 257, column: 85, }, end: Position { line: 257, column: 95, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 257, column: 97, }, end: Position { line: 257, column: 104, }, }, }, ), ], span: Span { start: Position { line: 257, column: 96, }, end: Position { line: 257, column: 105, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 257, column: 107, }, end: Position { line: 257, column: 115, }, }, }, ), ], span: Span { start: Position { line: 257, column: 106, }, end: Position { line: 257, column: 116, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.google", span: Span { start: Position { line: 257, column: 118, }, end: Position { line: 257, column: 129, }, }, }, ), ], span: Span { start: Position { line: 257, column: 117, }, end: Position { line: 257, column: 130, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "allow_sign_up", span: Span { start: Position { line: 257, column: 132, }, end: Position { line: 257, column: 145, }, }, }, ), ], span: Span { start: Position { line: 257, column: 131, }, end: Position { line: 257, column: 146, }, }, }, ), ], span: Span { start: Position { line: 257, column: 83, }, end: Position { line: 257, column: 148, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 258, column: 6, }, end: Position { line: 258, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 258, column: 31, }, end: Position { line: 258, column: 39, }, }, }, ), ], span: Span { start: Position { line: 258, column: 30, }, end: Position { line: 258, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 258, column: 42, }, end: Position { line: 258, column: 49, }, }, }, ), ], span: Span { start: Position { line: 258, column: 41, }, end: Position { line: 258, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 258, column: 52, }, end: Position { line: 258, column: 56, }, }, }, ), ], span: Span { start: Position { line: 258, column: 51, }, end: Position { line: 258, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "google", span: Span { start: Position { line: 258, column: 59, }, end: Position { line: 258, column: 65, }, }, }, ), ], span: Span { start: Position { line: 258, column: 58, }, end: Position { line: 258, column: 66, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "clientId", span: Span { start: Position { line: 258, column: 68, }, end: Position { line: 258, column: 76, }, }, }, ), ], span: Span { start: Position { line: 258, column: 67, }, end: Position { line: 258, column: 77, }, }, }, ), ], span: Span { start: Position { line: 258, column: 28, }, end: Position { line: 258, column: 79, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 258, column: 83, }, end: Position { line: 258, column: 91, }, }, }, ), ], span: Span { start: Position { line: 258, column: 82, }, end: Position { line: 258, column: 92, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 258, column: 94, }, end: Position { line: 258, column: 101, }, }, }, ), ], span: Span { start: Position { line: 258, column: 93, }, end: Position { line: 258, column: 102, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 258, column: 104, }, end: Position { line: 258, column: 112, }, }, }, ), ], span: Span { start: Position { line: 258, column: 103, }, end: Position { line: 258, column: 113, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth.google", span: Span { start: Position { line: 258, column: 115, }, end: Position { line: 258, column: 126, }, }, }, ), ], span: Span { start: Position { line: 258, column: 114, }, end: Position { line: 258, column: 127, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "client_id", span: Span { start: Position { line: 258, column: 129, }, end: Position { line: 258, column: 138, }, }, }, ), ], span: Span { start: Position { line: 258, column: 128, }, end: Position { line: 258, column: 139, }, }, }, ), ], span: Span { start: Position { line: 258, column: 80, }, end: Position { line: 258, column: 141, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 259, column: 6, }, end: Position { line: 259, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 259, column: 31, }, end: Position { line: 259, column: 39, }, }, }, ), ], span: Span { start: Position { line: 259, column: 30, }, end: Position { line: 259, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 259, column: 42, }, end: Position { line: 259, column: 49, }, }, }, ), ], span: Span { start: Position { line: 259, column: 41, }, end: Position { line: 259, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "analytics", span: Span { start: Position { line: 259, column: 52, }, end: Position { line: 259, column: 61, }, }, }, ), ], span: Span { start: Position { line: 259, column: 51, }, end: Position { line: 259, column: 62, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "reporting", span: Span { start: Position { line: 259, column: 64, }, end: Position { line: 259, column: 73, }, }, }, ), ], span: Span { start: Position { line: 259, column: 63, }, end: Position { line: 259, column: 74, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 259, column: 76, }, end: Position { line: 259, column: 82, }, }, }, ), ], span: Span { start: Position { line: 259, column: 75, }, end: Position { line: 259, column: 83, }, }, }, ), ], span: Span { start: Position { line: 259, column: 28, }, end: Position { line: 259, column: 85, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 259, column: 89, }, end: Position { line: 259, column: 97, }, }, }, ), ], span: Span { start: Position { line: 259, column: 88, }, end: Position { line: 259, column: 98, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 259, column: 100, }, end: Position { line: 259, column: 107, }, }, }, ), ], span: Span { start: Position { line: 259, column: 99, }, end: Position { line: 259, column: 108, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 259, column: 110, }, end: Position { line: 259, column: 118, }, }, }, ), ], span: Span { start: Position { line: 259, column: 109, }, end: Position { line: 259, column: 119, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "analytics", span: Span { start: Position { line: 259, column: 121, }, end: Position { line: 259, column: 130, }, }, }, ), ], span: Span { start: Position { line: 259, column: 120, }, end: Position { line: 259, column: 131, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "reporting_enabled", span: Span { start: Position { line: 259, column: 133, }, end: Position { line: 259, column: 150, }, }, }, ), ], span: Span { start: Position { line: 259, column: 132, }, end: Position { line: 259, column: 151, }, }, }, ), ], span: Span { start: Position { line: 259, column: 86, }, end: Position { line: 259, column: 153, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 261, column: 6, }, end: Position { line: 261, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 261, column: 31, }, end: Position { line: 261, column: 39, }, }, }, ), ], span: Span { start: Position { line: 261, column: 30, }, end: Position { line: 261, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 261, column: 42, }, end: Position { line: 261, column: 49, }, }, }, ), ], span: Span { start: Position { line: 261, column: 41, }, end: Position { line: 261, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 261, column: 52, }, end: Position { line: 261, column: 60, }, }, }, ), ], span: Span { start: Position { line: 261, column: 51, }, end: Position { line: 261, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "passwordFile", span: Span { start: Position { line: 261, column: 63, }, end: Position { line: 261, column: 75, }, }, }, ), ], span: Span { start: Position { line: 261, column: 62, }, end: Position { line: 261, column: 76, }, }, }, ), ], span: Span { start: Position { line: 261, column: 28, }, end: Position { line: 261, column: 78, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "This option has been removed. Use 'services.grafana.settings.database.password' with file provider instead.\n", span: Span { start: Position { line: 262, column: 1, }, end: Position { line: 263, column: 5, }, }, }, ), ], span: Span { start: Position { line: 261, column: 79, }, end: Position { line: 263, column: 7, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 264, column: 6, }, end: Position { line: 264, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 264, column: 31, }, end: Position { line: 264, column: 39, }, }, }, ), ], span: Span { start: Position { line: 264, column: 30, }, end: Position { line: 264, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 264, column: 42, }, end: Position { line: 264, column: 49, }, }, }, ), ], span: Span { start: Position { line: 264, column: 41, }, end: Position { line: 264, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 264, column: 52, }, end: Position { line: 264, column: 60, }, }, }, ), ], span: Span { start: Position { line: 264, column: 51, }, end: Position { line: 264, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "adminPasswordFile", span: Span { start: Position { line: 264, column: 63, }, end: Position { line: 264, column: 80, }, }, }, ), ], span: Span { start: Position { line: 264, column: 62, }, end: Position { line: 264, column: 81, }, }, }, ), ], span: Span { start: Position { line: 264, column: 28, }, end: Position { line: 264, column: 83, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "This option has been removed. Use 'services.grafana.settings.security.admin_password' with file provider instead.\n", span: Span { start: Position { line: 265, column: 1, }, end: Position { line: 266, column: 5, }, }, }, ), ], span: Span { start: Position { line: 264, column: 84, }, end: Position { line: 266, column: 7, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 267, column: 6, }, end: Position { line: 267, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 267, column: 31, }, end: Position { line: 267, column: 39, }, }, }, ), ], span: Span { start: Position { line: 267, column: 30, }, end: Position { line: 267, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 267, column: 42, }, end: Position { line: 267, column: 49, }, }, }, ), ], span: Span { start: Position { line: 267, column: 41, }, end: Position { line: 267, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 267, column: 52, }, end: Position { line: 267, column: 60, }, }, }, ), ], span: Span { start: Position { line: 267, column: 51, }, end: Position { line: 267, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "secretKeyFile", span: Span { start: Position { line: 267, column: 63, }, end: Position { line: 267, column: 76, }, }, }, ), ], span: Span { start: Position { line: 267, column: 62, }, end: Position { line: 267, column: 77, }, }, }, ), ], span: Span { start: Position { line: 267, column: 28, }, end: Position { line: 267, column: 79, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "This option has been removed. Use 'services.grafana.settings.security.secret_key' with file provider instead.\n", span: Span { start: Position { line: 268, column: 1, }, end: Position { line: 269, column: 5, }, }, }, ), ], span: Span { start: Position { line: 267, column: 80, }, end: Position { line: 269, column: 7, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 270, column: 6, }, end: Position { line: 270, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 270, column: 31, }, end: Position { line: 270, column: 39, }, }, }, ), ], span: Span { start: Position { line: 270, column: 30, }, end: Position { line: 270, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 270, column: 42, }, end: Position { line: 270, column: 49, }, }, }, ), ], span: Span { start: Position { line: 270, column: 41, }, end: Position { line: 270, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 270, column: 52, }, end: Position { line: 270, column: 56, }, }, }, ), ], span: Span { start: Position { line: 270, column: 51, }, end: Position { line: 270, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "passwordFile", span: Span { start: Position { line: 270, column: 59, }, end: Position { line: 270, column: 71, }, }, }, ), ], span: Span { start: Position { line: 270, column: 58, }, end: Position { line: 270, column: 72, }, }, }, ), ], span: Span { start: Position { line: 270, column: 28, }, end: Position { line: 270, column: 74, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "This option has been removed. Use 'services.grafana.settings.smtp.password' with file provider instead.\n", span: Span { start: Position { line: 271, column: 1, }, end: Position { line: 272, column: 5, }, }, }, ), ], span: Span { start: Position { line: 270, column: 75, }, end: Position { line: 272, column: 7, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 273, column: 6, }, end: Position { line: 273, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 273, column: 31, }, end: Position { line: 273, column: 39, }, }, }, ), ], span: Span { start: Position { line: 273, column: 30, }, end: Position { line: 273, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 273, column: 42, }, end: Position { line: 273, column: 49, }, }, }, ), ], span: Span { start: Position { line: 273, column: 41, }, end: Position { line: 273, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 273, column: 52, }, end: Position { line: 273, column: 56, }, }, }, ), ], span: Span { start: Position { line: 273, column: 51, }, end: Position { line: 273, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "azuread", span: Span { start: Position { line: 273, column: 59, }, end: Position { line: 273, column: 66, }, }, }, ), ], span: Span { start: Position { line: 273, column: 58, }, end: Position { line: 273, column: 67, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "clientSecretFile", span: Span { start: Position { line: 273, column: 69, }, end: Position { line: 273, column: 85, }, }, }, ), ], span: Span { start: Position { line: 273, column: 68, }, end: Position { line: 273, column: 86, }, }, }, ), ], span: Span { start: Position { line: 273, column: 28, }, end: Position { line: 273, column: 88, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "This option has been removed. Use 'services.grafana.settings.azuread.client_secret' with file provider instead.\n", span: Span { start: Position { line: 274, column: 1, }, end: Position { line: 275, column: 5, }, }, }, ), ], span: Span { start: Position { line: 273, column: 89, }, end: Position { line: 275, column: 7, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 276, column: 6, }, end: Position { line: 276, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 276, column: 31, }, end: Position { line: 276, column: 39, }, }, }, ), ], span: Span { start: Position { line: 276, column: 30, }, end: Position { line: 276, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 276, column: 42, }, end: Position { line: 276, column: 49, }, }, }, ), ], span: Span { start: Position { line: 276, column: 41, }, end: Position { line: 276, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 276, column: 52, }, end: Position { line: 276, column: 56, }, }, }, ), ], span: Span { start: Position { line: 276, column: 51, }, end: Position { line: 276, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "google", span: Span { start: Position { line: 276, column: 59, }, end: Position { line: 276, column: 65, }, }, }, ), ], span: Span { start: Position { line: 276, column: 58, }, end: Position { line: 276, column: 66, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "clientSecretFile", span: Span { start: Position { line: 276, column: 68, }, end: Position { line: 276, column: 84, }, }, }, ), ], span: Span { start: Position { line: 276, column: 67, }, end: Position { line: 276, column: 85, }, }, }, ), ], span: Span { start: Position { line: 276, column: 28, }, end: Position { line: 276, column: 87, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "This option has been removed. Use 'services.grafana.settings.google.client_secret' with file provider instead.\n", span: Span { start: Position { line: 277, column: 1, }, end: Position { line: 278, column: 5, }, }, }, ), ], span: Span { start: Position { line: 276, column: 88, }, end: Position { line: 278, column: 7, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 280, column: 6, }, end: Position { line: 280, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 280, column: 31, }, end: Position { line: 280, column: 39, }, }, }, ), ], span: Span { start: Position { line: 280, column: 30, }, end: Position { line: 280, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 280, column: 42, }, end: Position { line: 280, column: 49, }, }, }, ), ], span: Span { start: Position { line: 280, column: 41, }, end: Position { line: 280, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "auth", span: Span { start: Position { line: 280, column: 52, }, end: Position { line: 280, column: 56, }, }, }, ), ], span: Span { start: Position { line: 280, column: 51, }, end: Position { line: 280, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "azuread", span: Span { start: Position { line: 280, column: 59, }, end: Position { line: 280, column: 66, }, }, }, ), ], span: Span { start: Position { line: 280, column: 58, }, end: Position { line: 280, column: 67, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "tenantId", span: Span { start: Position { line: 280, column: 69, }, end: Position { line: 280, column: 77, }, }, }, ), ], span: Span { start: Position { line: 280, column: 68, }, end: Position { line: 280, column: 78, }, }, }, ), ], span: Span { start: Position { line: 280, column: 28, }, end: Position { line: 280, column: 80, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "This option has been deprecated upstream.", span: Span { start: Position { line: 280, column: 82, }, end: Position { line: 280, column: 123, }, }, }, ), ], span: Span { start: Position { line: 280, column: 81, }, end: Position { line: 280, column: 124, }, }, }, ), ], }, ), ], span: Span { start: Position { line: 218, column: 13, }, end: Position { line: 281, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 283, column: 3, }, end: Position { line: 283, column: 10, }, }, }, ), Raw( PartRaw { content: "services", span: Span { start: Position { line: 283, column: 11, }, end: Position { line: 283, column: 19, }, }, }, ), Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 283, column: 20, }, end: Position { line: 283, column: 27, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 284, column: 5, }, end: Position { line: 284, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkEnableOption", span: Span { start: Position { line: 284, column: 14, }, end: Position { line: 284, column: 28, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 284, column: 30, }, end: Position { line: 284, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 284, column: 34, }, end: Position { line: 284, column: 39, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 284, column: 41, }, end: Position { line: 284, column: 48, }, }, }, ), ], span: Span { start: Position { line: 284, column: 40, }, end: Position { line: 284, column: 49, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "declarativePlugins", span: Span { start: Position { line: 286, column: 5, }, end: Position { line: 286, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 286, column: 26, }, end: Position { line: 286, column: 34, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 287, column: 7, }, end: Position { line: 287, column: 11, }, }, }, ), ], to: With( With { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 287, column: 19, }, end: Position { line: 287, column: 24, }, }, }, ), target: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "nullOr", span: Span { start: Position { line: 287, column: 26, }, end: Position { line: 287, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "listOf", span: Span { start: Position { line: 287, column: 34, }, end: Position { line: 287, column: 40, }, }, }, ), arguments: [ Identifier( Identifier { id: "path", span: Span { start: Position { line: 287, column: 41, }, end: Position { line: 287, column: 45, }, }, }, ), ], }, ), ], }, ), span: Span { start: Position { line: 287, column: 14, }, end: Position { line: 287, column: 46, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 288, column: 7, }, end: Position { line: 288, column: 14, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 288, column: 17, }, end: Position { line: 288, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 289, column: 7, }, end: Position { line: 289, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 289, column: 21, }, end: Position { line: 289, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 289, column: 25, }, end: Position { line: 289, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "If non-null, then a list of packages containing Grafana plugins to install. If set, plugins cannot be manually installed.", span: Span { start: Position { line: 289, column: 32, }, end: Position { line: 289, column: 153, }, }, }, ), ], span: Span { start: Position { line: 289, column: 31, }, end: Position { line: 289, column: 154, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 290, column: 7, }, end: Position { line: 290, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 290, column: 17, }, end: Position { line: 290, column: 34, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "with pkgs.grafanaPlugins; [ grafana-piechart-panel ]", span: Span { start: Position { line: 290, column: 36, }, end: Position { line: 290, column: 88, }, }, }, ), ], span: Span { start: Position { line: 290, column: 35, }, end: Position { line: 290, column: 89, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apply", span: Span { start: Position { line: 294, column: 7, }, end: Position { line: 294, column: 12, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "isList", span: Span { start: Position { line: 294, column: 21, }, end: Position { line: 294, column: 27, }, }, }, ), arguments: [ Identifier( Identifier { id: "x", span: Span { start: Position { line: 294, column: 28, }, end: Position { line: 294, column: 29, }, }, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 294, column: 35, }, end: Position { line: 294, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "unique", span: Span { start: Position { line: 294, column: 39, }, end: Position { line: 294, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "x", span: Span { start: Position { line: 294, column: 46, }, end: Position { line: 294, column: 47, }, }, }, ), ], }, ), else_: Identifier( Identifier { id: "x", span: Span { start: Position { line: 294, column: 53, }, end: Position { line: 294, column: 54, }, }, }, ), span: Span { start: Position { line: 294, column: 18, }, end: Position { line: 294, column: 54, }, }, }, ), span: Span { start: Position { line: 294, column: 15, }, end: Position { line: 294, column: 54, }, }, }, ), }, ), ], span: Span { start: Position { line: 286, column: 35, }, end: Position { line: 295, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 297, column: 5, }, end: Position { line: 297, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 297, column: 15, }, end: Position { line: 297, column: 23, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 298, column: 7, }, end: Position { line: 298, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 298, column: 21, }, end: Position { line: 298, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 298, column: 25, }, end: Position { line: 298, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Package to use.", span: Span { start: Position { line: 298, column: 32, }, end: Position { line: 298, column: 47, }, }, }, ), ], span: Span { start: Position { line: 298, column: 31, }, end: Position { line: 298, column: 48, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 299, column: 7, }, end: Position { line: 299, column: 14, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 299, column: 17, }, end: Position { line: 299, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 299, column: 22, }, end: Position { line: 299, column: 29, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "defaultText", span: Span { start: Position { line: 300, column: 7, }, end: Position { line: 300, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 300, column: 21, }, end: Position { line: 300, column: 38, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "pkgs.grafana", span: Span { start: Position { line: 300, column: 40, }, end: Position { line: 300, column: 52, }, }, }, ), ], span: Span { start: Position { line: 300, column: 39, }, end: Position { line: 300, column: 53, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 301, column: 7, }, end: Position { line: 301, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 301, column: 14, }, end: Position { line: 301, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 301, column: 20, }, end: Position { line: 301, column: 27, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 297, column: 24, }, end: Position { line: 302, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 304, column: 5, }, end: Position { line: 304, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 304, column: 15, }, end: Position { line: 304, column: 23, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 305, column: 7, }, end: Position { line: 305, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 305, column: 21, }, end: Position { line: 305, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 305, column: 25, }, end: Position { line: 305, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Data directory.", span: Span { start: Position { line: 305, column: 32, }, end: Position { line: 305, column: 47, }, }, }, ), ], span: Span { start: Position { line: 305, column: 31, }, end: Position { line: 305, column: 48, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 306, column: 7, }, end: Position { line: 306, column: 14, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "/var/lib/grafana", span: Span { start: Position { line: 306, column: 18, }, end: Position { line: 306, column: 34, }, }, }, ), ], span: Span { start: Position { line: 306, column: 17, }, end: Position { line: 306, column: 35, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 307, column: 7, }, end: Position { line: 307, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 307, column: 14, }, end: Position { line: 307, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 307, column: 20, }, end: Position { line: 307, column: 24, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 304, column: 24, }, end: Position { line: 308, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 310, column: 5, }, end: Position { line: 310, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 310, column: 16, }, end: Position { line: 310, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 311, column: 7, }, end: Position { line: 311, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 311, column: 21, }, end: Position { line: 311, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 311, column: 25, }, end: Position { line: 311, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Grafana settings. See \nfor available options. INI format is used.\n", span: Span { start: Position { line: 312, column: 1, }, end: Position { line: 314, column: 7, }, }, }, ), ], span: Span { start: Position { line: 311, column: 31, }, end: Position { line: 314, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 315, column: 7, }, end: Position { line: 315, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 315, column: 14, }, end: Position { line: 315, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 315, column: 20, }, end: Position { line: 315, column: 29, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "freeformType", span: Span { start: Position { line: 316, column: 9, }, end: Position { line: 316, column: 21, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "settingsFormatIni", span: Span { start: Position { line: 316, column: 24, }, end: Position { line: 316, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 316, column: 42, }, end: Position { line: 316, column: 46, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 318, column: 9, }, end: Position { line: 318, column: 16, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "paths", span: Span { start: Position { line: 319, column: 11, }, end: Position { line: 319, column: 16, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "plugins", span: Span { start: Position { line: 320, column: 13, }, end: Position { line: 320, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 320, column: 23, }, end: Position { line: 320, column: 31, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 321, column: 15, }, end: Position { line: 321, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 321, column: 29, }, end: Position { line: 321, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 321, column: 33, }, end: Position { line: 321, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Directory where grafana will automatically scan and look for plugins", span: Span { start: Position { line: 321, column: 40, }, end: Position { line: 321, column: 108, }, }, }, ), ], span: Span { start: Position { line: 321, column: 39, }, end: Position { line: 321, column: 109, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 322, column: 15, }, end: Position { line: 322, column: 22, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 322, column: 29, }, end: Position { line: 322, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "declarativePlugins", span: Span { start: Position { line: 322, column: 33, }, end: Position { line: 322, column: 51, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 322, column: 55, }, end: Position { line: 322, column: 59, }, }, }, ), }, ), then: String( String_ { parts: [ Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 322, column: 69, }, end: Position { line: 322, column: 72, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 322, column: 73, }, end: Position { line: 322, column: 80, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/plugins", span: Span { start: Position { line: 322, column: 67, }, end: Position { line: 322, column: 89, }, }, }, ), ], span: Span { start: Position { line: 322, column: 66, }, end: Position { line: 322, column: 90, }, }, }, ), else_: Identifier( Identifier { id: "declarativePlugins", span: Span { start: Position { line: 322, column: 96, }, end: Position { line: 322, column: 114, }, }, }, ), span: Span { start: Position { line: 322, column: 25, }, end: Position { line: 322, column: 114, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "defaultText", span: Span { start: Position { line: 323, column: 15, }, end: Position { line: 323, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 323, column: 29, }, end: Position { line: 323, column: 46, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "if (cfg.declarativePlugins == null) then \"${cfg.dataDir}/plugins\" else declarativePlugins", span: Span { start: Position { line: 323, column: 48, }, end: Position { line: 323, column: 140, }, }, }, ), ], span: Span { start: Position { line: 323, column: 47, }, end: Position { line: 323, column: 141, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 324, column: 15, }, end: Position { line: 324, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 324, column: 22, }, end: Position { line: 324, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 324, column: 28, }, end: Position { line: 324, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 320, column: 32, }, end: Position { line: 325, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "provisioning", span: Span { start: Position { line: 327, column: 13, }, end: Position { line: 327, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 327, column: 28, }, end: Position { line: 327, column: 36, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 328, column: 15, }, end: Position { line: 328, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 328, column: 29, }, end: Position { line: 328, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 328, column: 33, }, end: Position { line: 328, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Folder that contains provisioning config files that grafana will apply on startup and while running.\nDon't change the value of this option if you are planning to use `services.grafana.provision` options.\n", span: Span { start: Position { line: 329, column: 1, }, end: Position { line: 331, column: 15, }, }, }, ), ], span: Span { start: Position { line: 328, column: 39, }, end: Position { line: 331, column: 17, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 332, column: 15, }, end: Position { line: 332, column: 22, }, }, }, ), ], to: Identifier( Identifier { id: "provisionConfDir", span: Span { start: Position { line: 332, column: 25, }, end: Position { line: 332, column: 41, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "defaultText", span: Span { start: Position { line: 333, column: 15, }, end: Position { line: 333, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 333, column: 29, }, end: Position { line: 333, column: 46, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "pkgs.runCommand \"grafana-provisioning\" { } \\'\\'\n mkdir -p $out/{datasources,dashboards,notifiers,alerting}\n ln -sf ", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 336, column: 26, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 336, column: 29, }, }, }, ), Raw( PartRaw { content: "{datasourceFile} $out/datasources/datasource.yaml\n ln -sf ", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 337, column: 26, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 337, column: 29, }, }, }, ), Raw( PartRaw { content: "{dashboardFile} $out/dashboards/dashboard.yaml\n ln -sf ", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 338, column: 26, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 338, column: 29, }, }, }, ), Raw( PartRaw { content: "{notifierFile} $out/notifiers/notifier.yaml\n ln -sf ", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 339, column: 26, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 339, column: 29, }, }, }, ), Raw( PartRaw { content: "{rulesFile} $out/alerting/rules.yaml\n ln -sf ", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 340, column: 26, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 340, column: 29, }, }, }, ), Raw( PartRaw { content: "{contactPointsFile} $out/alerting/contactPoints.yaml\n ln -sf ", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 341, column: 26, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 341, column: 29, }, }, }, ), Raw( PartRaw { content: "{policiesFile} $out/alerting/policies.yaml\n ln -sf ", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 342, column: 26, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 342, column: 29, }, }, }, ), Raw( PartRaw { content: "{templatesFile} $out/alerting/templates.yaml\n ln -sf ", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 343, column: 26, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 343, column: 29, }, }, }, ), Raw( PartRaw { content: "{muteTimingsFile} $out/alerting/muteTimings.yaml\n \\'\\'\n", span: Span { start: Position { line: 334, column: 1, }, end: Position { line: 345, column: 15, }, }, }, ), ], span: Span { start: Position { line: 333, column: 47, }, end: Position { line: 345, column: 17, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 346, column: 15, }, end: Position { line: 346, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 346, column: 22, }, end: Position { line: 346, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 346, column: 28, }, end: Position { line: 346, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 327, column: 37, }, end: Position { line: 347, column: 14, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 319, column: 19, }, end: Position { line: 348, column: 12, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 350, column: 11, }, end: Position { line: 350, column: 17, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "protocol", span: Span { start: Position { line: 351, column: 13, }, end: Position { line: 351, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 351, column: 24, }, end: Position { line: 351, column: 32, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 352, column: 15, }, end: Position { line: 352, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 352, column: 29, }, end: Position { line: 352, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 352, column: 33, }, end: Position { line: 352, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Which protocol to listen.", span: Span { start: Position { line: 352, column: 40, }, end: Position { line: 352, column: 65, }, }, }, ), ], span: Span { start: Position { line: 352, column: 39, }, end: Position { line: 352, column: 66, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 353, column: 15, }, end: Position { line: 353, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "http", span: Span { start: Position { line: 353, column: 26, }, end: Position { line: 353, column: 30, }, }, }, ), ], span: Span { start: Position { line: 353, column: 25, }, end: Position { line: 353, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 354, column: 15, }, end: Position { line: 354, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 354, column: 22, }, end: Position { line: 354, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 354, column: 28, }, end: Position { line: 354, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "http", span: Span { start: Position { line: 354, column: 35, }, end: Position { line: 354, column: 39, }, }, }, ), ], span: Span { start: Position { line: 354, column: 34, }, end: Position { line: 354, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "https", span: Span { start: Position { line: 354, column: 42, }, end: Position { line: 354, column: 47, }, }, }, ), ], span: Span { start: Position { line: 354, column: 41, }, end: Position { line: 354, column: 48, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "h2", span: Span { start: Position { line: 354, column: 50, }, end: Position { line: 354, column: 52, }, }, }, ), ], span: Span { start: Position { line: 354, column: 49, }, end: Position { line: 354, column: 53, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "socket", span: Span { start: Position { line: 354, column: 55, }, end: Position { line: 354, column: 61, }, }, }, ), ], span: Span { start: Position { line: 354, column: 54, }, end: Position { line: 354, column: 62, }, }, }, ), ], span: Span { start: Position { line: 354, column: 33, }, end: Position { line: 354, column: 63, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 351, column: 33, }, end: Position { line: 355, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "http_addr", span: Span { start: Position { line: 357, column: 13, }, end: Position { line: 357, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 357, column: 25, }, end: Position { line: 357, column: 33, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 358, column: 15, }, end: Position { line: 358, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 358, column: 29, }, end: Position { line: 358, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 358, column: 33, }, end: Position { line: 358, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Listening address.", span: Span { start: Position { line: 358, column: 40, }, end: Position { line: 358, column: 58, }, }, }, ), ], span: Span { start: Position { line: 358, column: 39, }, end: Position { line: 358, column: 59, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 359, column: 15, }, end: Position { line: 359, column: 22, }, }, }, ), ], to: String( String_ { parts: [], span: Span { start: Position { line: 359, column: 25, }, end: Position { line: 359, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 360, column: 15, }, end: Position { line: 360, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 360, column: 22, }, end: Position { line: 360, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 360, column: 28, }, end: Position { line: 360, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 357, column: 34, }, end: Position { line: 361, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "http_port", span: Span { start: Position { line: 363, column: 13, }, end: Position { line: 363, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 363, column: 25, }, end: Position { line: 363, column: 33, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 364, column: 15, }, end: Position { line: 364, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 364, column: 29, }, end: Position { line: 364, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 364, column: 33, }, end: Position { line: 364, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Listening port.", span: Span { start: Position { line: 364, column: 40, }, end: Position { line: 364, column: 55, }, }, }, ), ], span: Span { start: Position { line: 364, column: 39, }, end: Position { line: 364, column: 56, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 365, column: 15, }, end: Position { line: 365, column: 22, }, }, }, ), ], to: Integer( Integer { value: "3000", span: Span { start: Position { line: 365, column: 25, }, end: Position { line: 365, column: 29, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 366, column: 15, }, end: Position { line: 366, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 366, column: 22, }, end: Position { line: 366, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 366, column: 28, }, end: Position { line: 366, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 363, column: 34, }, end: Position { line: 367, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "domain", span: Span { start: Position { line: 369, column: 13, }, end: Position { line: 369, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 369, column: 22, }, end: Position { line: 369, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 370, column: 15, }, end: Position { line: 370, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 370, column: 29, }, end: Position { line: 370, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 370, column: 33, }, end: Position { line: 370, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "The public facing domain name used to access grafana from a browser.", span: Span { start: Position { line: 370, column: 40, }, end: Position { line: 370, column: 108, }, }, }, ), ], span: Span { start: Position { line: 370, column: 39, }, end: Position { line: 370, column: 109, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 371, column: 15, }, end: Position { line: 371, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "localhost", span: Span { start: Position { line: 371, column: 26, }, end: Position { line: 371, column: 35, }, }, }, ), ], span: Span { start: Position { line: 371, column: 25, }, end: Position { line: 371, column: 36, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 372, column: 15, }, end: Position { line: 372, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 372, column: 22, }, end: Position { line: 372, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 372, column: 28, }, end: Position { line: 372, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 369, column: 31, }, end: Position { line: 373, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "root_url", span: Span { start: Position { line: 375, column: 13, }, end: Position { line: 375, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 375, column: 24, }, end: Position { line: 375, column: 32, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 376, column: 15, }, end: Position { line: 376, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 376, column: 29, }, end: Position { line: 376, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 376, column: 33, }, end: Position { line: 376, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Full public facing url.", span: Span { start: Position { line: 376, column: 40, }, end: Position { line: 376, column: 63, }, }, }, ), ], span: Span { start: Position { line: 376, column: 39, }, end: Position { line: 376, column: 64, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 377, column: 15, }, end: Position { line: 377, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "%(protocol)s://%(domain)s:%(http_port)s/", span: Span { start: Position { line: 377, column: 26, }, end: Position { line: 377, column: 66, }, }, }, ), ], span: Span { start: Position { line: 377, column: 25, }, end: Position { line: 377, column: 67, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 378, column: 15, }, end: Position { line: 378, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 378, column: 22, }, end: Position { line: 378, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 378, column: 28, }, end: Position { line: 378, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 375, column: 33, }, end: Position { line: 379, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "static_root_path", span: Span { start: Position { line: 381, column: 13, }, end: Position { line: 381, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 381, column: 32, }, end: Position { line: 381, column: 40, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 382, column: 15, }, end: Position { line: 382, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 382, column: 29, }, end: Position { line: 382, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 382, column: 33, }, end: Position { line: 382, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Root path for static assets.", span: Span { start: Position { line: 382, column: 40, }, end: Position { line: 382, column: 68, }, }, }, ), ], span: Span { start: Position { line: 382, column: 39, }, end: Position { line: 382, column: 69, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 383, column: 15, }, end: Position { line: 383, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 383, column: 28, }, end: Position { line: 383, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 383, column: 32, }, end: Position { line: 383, column: 39, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/share/grafana/public", span: Span { start: Position { line: 383, column: 26, }, end: Position { line: 383, column: 61, }, }, }, ), ], span: Span { start: Position { line: 383, column: 25, }, end: Position { line: 383, column: 62, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "defaultText", span: Span { start: Position { line: 384, column: 15, }, end: Position { line: 384, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 384, column: 29, }, end: Position { line: 384, column: 46, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "\"", span: Span { start: Position { line: 384, column: 49, }, end: Position { line: 384, column: 50, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 384, column: 49, }, end: Position { line: 384, column: 53, }, }, }, ), Raw( PartRaw { content: "{package}/share/grafana/public\"", span: Span { start: Position { line: 384, column: 49, }, end: Position { line: 384, column: 84, }, }, }, ), ], span: Span { start: Position { line: 384, column: 47, }, end: Position { line: 384, column: 86, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 385, column: 15, }, end: Position { line: 385, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 385, column: 22, }, end: Position { line: 385, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 385, column: 28, }, end: Position { line: 385, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 381, column: 41, }, end: Position { line: 386, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "enable_gzip", span: Span { start: Position { line: 388, column: 13, }, end: Position { line: 388, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 388, column: 27, }, end: Position { line: 388, column: 35, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 389, column: 15, }, end: Position { line: 389, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 389, column: 29, }, end: Position { line: 389, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 389, column: 33, }, end: Position { line: 389, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Set this option to true to enable HTTP compression, this can improve transfer speed and bandwidth utilization.\nIt is recommended that most users set it to true. By default it is set to false for compatibility reasons.\n", span: Span { start: Position { line: 390, column: 1, }, end: Position { line: 392, column: 15, }, }, }, ), ], span: Span { start: Position { line: 389, column: 39, }, end: Position { line: 392, column: 17, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 393, column: 15, }, end: Position { line: 393, column: 22, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 393, column: 25, }, end: Position { line: 393, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 394, column: 15, }, end: Position { line: 394, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 394, column: 22, }, end: Position { line: 394, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 394, column: 28, }, end: Position { line: 394, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 388, column: 36, }, end: Position { line: 395, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "cert_file", span: Span { start: Position { line: 397, column: 13, }, end: Position { line: 397, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 397, column: 25, }, end: Position { line: 397, column: 33, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 398, column: 15, }, end: Position { line: 398, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 398, column: 29, }, end: Position { line: 398, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 398, column: 33, }, end: Position { line: 398, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Cert file for ssl.", span: Span { start: Position { line: 398, column: 40, }, end: Position { line: 398, column: 58, }, }, }, ), ], span: Span { start: Position { line: 398, column: 39, }, end: Position { line: 398, column: 59, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 399, column: 15, }, end: Position { line: 399, column: 22, }, }, }, ), ], to: String( String_ { parts: [], span: Span { start: Position { line: 399, column: 25, }, end: Position { line: 399, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 400, column: 15, }, end: Position { line: 400, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 400, column: 22, }, end: Position { line: 400, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 400, column: 28, }, end: Position { line: 400, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 397, column: 34, }, end: Position { line: 401, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "cert_key", span: Span { start: Position { line: 403, column: 13, }, end: Position { line: 403, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 403, column: 24, }, end: Position { line: 403, column: 32, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 404, column: 15, }, end: Position { line: 404, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 404, column: 29, }, end: Position { line: 404, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 404, column: 33, }, end: Position { line: 404, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Cert key for ssl.", span: Span { start: Position { line: 404, column: 40, }, end: Position { line: 404, column: 57, }, }, }, ), ], span: Span { start: Position { line: 404, column: 39, }, end: Position { line: 404, column: 58, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 405, column: 15, }, end: Position { line: 405, column: 22, }, }, }, ), ], to: String( String_ { parts: [], span: Span { start: Position { line: 405, column: 25, }, end: Position { line: 405, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 406, column: 15, }, end: Position { line: 406, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 406, column: 22, }, end: Position { line: 406, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 406, column: 28, }, end: Position { line: 406, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 403, column: 33, }, end: Position { line: 407, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "socket", span: Span { start: Position { line: 409, column: 13, }, end: Position { line: 409, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 409, column: 22, }, end: Position { line: 409, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 410, column: 15, }, end: Position { line: 410, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 410, column: 29, }, end: Position { line: 410, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 410, column: 33, }, end: Position { line: 410, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Path where the socket should be created when protocol=socket. Make sure that Grafana has appropriate permissions before you change this setting.", span: Span { start: Position { line: 410, column: 40, }, end: Position { line: 410, column: 184, }, }, }, ), ], span: Span { start: Position { line: 410, column: 39, }, end: Position { line: 410, column: 185, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 411, column: 15, }, end: Position { line: 411, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "/run/grafana/grafana.sock", span: Span { start: Position { line: 411, column: 26, }, end: Position { line: 411, column: 51, }, }, }, ), ], span: Span { start: Position { line: 411, column: 25, }, end: Position { line: 411, column: 52, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 412, column: 15, }, end: Position { line: 412, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 412, column: 22, }, end: Position { line: 412, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 412, column: 28, }, end: Position { line: 412, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 409, column: 31, }, end: Position { line: 413, column: 14, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 350, column: 20, }, end: Position { line: 414, column: 12, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "database", span: Span { start: Position { line: 416, column: 11, }, end: Position { line: 416, column: 19, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 417, column: 13, }, end: Position { line: 417, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 417, column: 20, }, end: Position { line: 417, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 418, column: 15, }, end: Position { line: 418, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 418, column: 29, }, end: Position { line: 418, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 418, column: 33, }, end: Position { line: 418, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Database type.", span: Span { start: Position { line: 418, column: 40, }, end: Position { line: 418, column: 54, }, }, }, ), ], span: Span { start: Position { line: 418, column: 39, }, end: Position { line: 418, column: 55, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 419, column: 15, }, end: Position { line: 419, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "sqlite3", span: Span { start: Position { line: 419, column: 26, }, end: Position { line: 419, column: 33, }, }, }, ), ], span: Span { start: Position { line: 419, column: 25, }, end: Position { line: 419, column: 34, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 420, column: 15, }, end: Position { line: 420, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 420, column: 22, }, end: Position { line: 420, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 420, column: 28, }, end: Position { line: 420, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "mysql", span: Span { start: Position { line: 420, column: 35, }, end: Position { line: 420, column: 40, }, }, }, ), ], span: Span { start: Position { line: 420, column: 34, }, end: Position { line: 420, column: 41, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "sqlite3", span: Span { start: Position { line: 420, column: 43, }, end: Position { line: 420, column: 50, }, }, }, ), ], span: Span { start: Position { line: 420, column: 42, }, end: Position { line: 420, column: 51, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "postgres", span: Span { start: Position { line: 420, column: 53, }, end: Position { line: 420, column: 61, }, }, }, ), ], span: Span { start: Position { line: 420, column: 52, }, end: Position { line: 420, column: 62, }, }, }, ), ], span: Span { start: Position { line: 420, column: 33, }, end: Position { line: 420, column: 63, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 417, column: 29, }, end: Position { line: 421, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "host", span: Span { start: Position { line: 423, column: 13, }, end: Position { line: 423, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 423, column: 20, }, end: Position { line: 423, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 424, column: 15, }, end: Position { line: 424, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 424, column: 29, }, end: Position { line: 424, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 424, column: 33, }, end: Position { line: 424, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Database host.", span: Span { start: Position { line: 424, column: 40, }, end: Position { line: 424, column: 54, }, }, }, ), ], span: Span { start: Position { line: 424, column: 39, }, end: Position { line: 424, column: 55, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 425, column: 15, }, end: Position { line: 425, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "127.0.0.1:3306", span: Span { start: Position { line: 425, column: 26, }, end: Position { line: 425, column: 40, }, }, }, ), ], span: Span { start: Position { line: 425, column: 25, }, end: Position { line: 425, column: 41, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 426, column: 15, }, end: Position { line: 426, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 426, column: 22, }, end: Position { line: 426, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 426, column: 28, }, end: Position { line: 426, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 423, column: 29, }, end: Position { line: 427, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 429, column: 13, }, end: Position { line: 429, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 429, column: 20, }, end: Position { line: 429, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 430, column: 15, }, end: Position { line: 430, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 430, column: 29, }, end: Position { line: 430, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 430, column: 33, }, end: Position { line: 430, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Database name.", span: Span { start: Position { line: 430, column: 40, }, end: Position { line: 430, column: 54, }, }, }, ), ], span: Span { start: Position { line: 430, column: 39, }, end: Position { line: 430, column: 55, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 431, column: 15, }, end: Position { line: 431, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 431, column: 26, }, end: Position { line: 431, column: 33, }, }, }, ), ], span: Span { start: Position { line: 431, column: 25, }, end: Position { line: 431, column: 34, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 432, column: 15, }, end: Position { line: 432, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 432, column: 22, }, end: Position { line: 432, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 432, column: 28, }, end: Position { line: 432, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 429, column: 29, }, end: Position { line: 433, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "user", span: Span { start: Position { line: 435, column: 13, }, end: Position { line: 435, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 435, column: 20, }, end: Position { line: 435, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 436, column: 15, }, end: Position { line: 436, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 436, column: 29, }, end: Position { line: 436, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 436, column: 33, }, end: Position { line: 436, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Database user.", span: Span { start: Position { line: 436, column: 40, }, end: Position { line: 436, column: 54, }, }, }, ), ], span: Span { start: Position { line: 436, column: 39, }, end: Position { line: 436, column: 55, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 437, column: 15, }, end: Position { line: 437, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "root", span: Span { start: Position { line: 437, column: 26, }, end: Position { line: 437, column: 30, }, }, }, ), ], span: Span { start: Position { line: 437, column: 25, }, end: Position { line: 437, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 438, column: 15, }, end: Position { line: 438, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 438, column: 22, }, end: Position { line: 438, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 438, column: 28, }, end: Position { line: 438, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 435, column: 29, }, end: Position { line: 439, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 441, column: 13, }, end: Position { line: 441, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 441, column: 24, }, end: Position { line: 441, column: 32, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 442, column: 15, }, end: Position { line: 442, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 442, column: 29, }, end: Position { line: 442, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 442, column: 33, }, end: Position { line: 442, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Database password. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n\n", span: Span { start: Position { line: 443, column: 1, }, end: Position { line: 448, column: 15, }, }, }, ), ], span: Span { start: Position { line: 442, column: 39, }, end: Position { line: 448, column: 17, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 449, column: 15, }, end: Position { line: 449, column: 22, }, }, }, ), ], to: String( String_ { parts: [], span: Span { start: Position { line: 449, column: 25, }, end: Position { line: 449, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 450, column: 15, }, end: Position { line: 450, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 450, column: 22, }, end: Position { line: 450, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 450, column: 28, }, end: Position { line: 450, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 441, column: 33, }, end: Position { line: 451, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 453, column: 13, }, end: Position { line: 453, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 453, column: 20, }, end: Position { line: 453, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 454, column: 15, }, end: Position { line: 454, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 454, column: 29, }, end: Position { line: 454, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 454, column: 33, }, end: Position { line: 454, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Only applicable to sqlite3 database. The file path where the database will be stored.", span: Span { start: Position { line: 454, column: 40, }, end: Position { line: 454, column: 125, }, }, }, ), ], span: Span { start: Position { line: 454, column: 39, }, end: Position { line: 454, column: 126, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 455, column: 15, }, end: Position { line: 455, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 455, column: 28, }, end: Position { line: 455, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 455, column: 32, }, end: Position { line: 455, column: 39, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/data/grafana.db", span: Span { start: Position { line: 455, column: 26, }, end: Position { line: 455, column: 56, }, }, }, ), ], span: Span { start: Position { line: 455, column: 25, }, end: Position { line: 455, column: 57, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "defaultText", span: Span { start: Position { line: 456, column: 15, }, end: Position { line: 456, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 456, column: 29, }, end: Position { line: 456, column: 46, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "\"", span: Span { start: Position { line: 456, column: 49, }, end: Position { line: 456, column: 50, }, }, }, ), Raw( PartRaw { content: "$", span: Span { start: Position { line: 456, column: 49, }, end: Position { line: 456, column: 53, }, }, }, ), Raw( PartRaw { content: "{config.", span: Span { start: Position { line: 456, column: 49, }, end: Position { line: 456, column: 61, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "opt", span: Span { start: Position { line: 456, column: 63, }, end: Position { line: 456, column: 66, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 456, column: 67, }, end: Position { line: 456, column: 74, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "}/data/grafana.db\"", span: Span { start: Position { line: 456, column: 49, }, end: Position { line: 456, column: 93, }, }, }, ), ], span: Span { start: Position { line: 456, column: 47, }, end: Position { line: 456, column: 95, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 457, column: 15, }, end: Position { line: 457, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 457, column: 22, }, end: Position { line: 457, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 457, column: 28, }, end: Position { line: 457, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 453, column: 29, }, end: Position { line: 458, column: 14, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 416, column: 22, }, end: Position { line: 459, column: 12, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "security", span: Span { start: Position { line: 461, column: 11, }, end: Position { line: 461, column: 19, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "admin_user", span: Span { start: Position { line: 462, column: 13, }, end: Position { line: 462, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 462, column: 26, }, end: Position { line: 462, column: 34, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 463, column: 15, }, end: Position { line: 463, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 463, column: 29, }, end: Position { line: 463, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 463, column: 33, }, end: Position { line: 463, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Default admin username.", span: Span { start: Position { line: 463, column: 40, }, end: Position { line: 463, column: 63, }, }, }, ), ], span: Span { start: Position { line: 463, column: 39, }, end: Position { line: 463, column: 64, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 464, column: 15, }, end: Position { line: 464, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "admin", span: Span { start: Position { line: 464, column: 26, }, end: Position { line: 464, column: 31, }, }, }, ), ], span: Span { start: Position { line: 464, column: 25, }, end: Position { line: 464, column: 32, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 465, column: 15, }, end: Position { line: 465, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 465, column: 22, }, end: Position { line: 465, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 465, column: 28, }, end: Position { line: 465, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 462, column: 35, }, end: Position { line: 466, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "admin_password", span: Span { start: Position { line: 468, column: 13, }, end: Position { line: 468, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 468, column: 30, }, end: Position { line: 468, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 469, column: 15, }, end: Position { line: 469, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 469, column: 29, }, end: Position { line: 469, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 469, column: 33, }, end: Position { line: 469, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Default admin password. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n\n", span: Span { start: Position { line: 470, column: 1, }, end: Position { line: 475, column: 15, }, }, }, ), ], span: Span { start: Position { line: 469, column: 39, }, end: Position { line: 475, column: 17, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 476, column: 15, }, end: Position { line: 476, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "admin", span: Span { start: Position { line: 476, column: 26, }, end: Position { line: 476, column: 31, }, }, }, ), ], span: Span { start: Position { line: 476, column: 25, }, end: Position { line: 476, column: 32, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 477, column: 15, }, end: Position { line: 477, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 477, column: 22, }, end: Position { line: 477, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 477, column: 28, }, end: Position { line: 477, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 468, column: 39, }, end: Position { line: 478, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "secret_key", span: Span { start: Position { line: 480, column: 13, }, end: Position { line: 480, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 480, column: 26, }, end: Position { line: 480, column: 34, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 481, column: 15, }, end: Position { line: 481, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 481, column: 29, }, end: Position { line: 481, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 481, column: 33, }, end: Position { line: 481, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Secret key used for signing. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n\n", span: Span { start: Position { line: 482, column: 1, }, end: Position { line: 487, column: 15, }, }, }, ), ], span: Span { start: Position { line: 481, column: 39, }, end: Position { line: 487, column: 17, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 488, column: 15, }, end: Position { line: 488, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "SW2YcwTIb9zpOOhoPsMm", span: Span { start: Position { line: 488, column: 26, }, end: Position { line: 488, column: 46, }, }, }, ), ], span: Span { start: Position { line: 488, column: 25, }, end: Position { line: 488, column: 47, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 489, column: 15, }, end: Position { line: 489, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 489, column: 22, }, end: Position { line: 489, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 489, column: 28, }, end: Position { line: 489, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 480, column: 35, }, end: Position { line: 490, column: 14, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 461, column: 22, }, end: Position { line: 491, column: 12, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "smtp", span: Span { start: Position { line: 493, column: 11, }, end: Position { line: 493, column: 15, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "enabled", span: Span { start: Position { line: 494, column: 13, }, end: Position { line: 494, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 494, column: 23, }, end: Position { line: 494, column: 31, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 495, column: 15, }, end: Position { line: 495, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 495, column: 29, }, end: Position { line: 495, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 495, column: 33, }, end: Position { line: 495, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Whether to enable SMTP.", span: Span { start: Position { line: 495, column: 40, }, end: Position { line: 495, column: 63, }, }, }, ), ], span: Span { start: Position { line: 495, column: 39, }, end: Position { line: 495, column: 64, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 496, column: 15, }, end: Position { line: 496, column: 22, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 496, column: 25, }, end: Position { line: 496, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 497, column: 15, }, end: Position { line: 497, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 497, column: 22, }, end: Position { line: 497, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 497, column: 28, }, end: Position { line: 497, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 494, column: 32, }, end: Position { line: 498, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "host", span: Span { start: Position { line: 499, column: 13, }, end: Position { line: 499, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 499, column: 20, }, end: Position { line: 499, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 500, column: 15, }, end: Position { line: 500, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 500, column: 29, }, end: Position { line: 500, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 500, column: 33, }, end: Position { line: 500, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Host to connect to.", span: Span { start: Position { line: 500, column: 40, }, end: Position { line: 500, column: 59, }, }, }, ), ], span: Span { start: Position { line: 500, column: 39, }, end: Position { line: 500, column: 60, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 501, column: 15, }, end: Position { line: 501, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "localhost:25", span: Span { start: Position { line: 501, column: 26, }, end: Position { line: 501, column: 38, }, }, }, ), ], span: Span { start: Position { line: 501, column: 25, }, end: Position { line: 501, column: 39, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 502, column: 15, }, end: Position { line: 502, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 502, column: 22, }, end: Position { line: 502, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 502, column: 28, }, end: Position { line: 502, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 499, column: 29, }, end: Position { line: 503, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "user", span: Span { start: Position { line: 504, column: 13, }, end: Position { line: 504, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 504, column: 20, }, end: Position { line: 504, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 505, column: 15, }, end: Position { line: 505, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 505, column: 29, }, end: Position { line: 505, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 505, column: 33, }, end: Position { line: 505, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "User used for authentication.", span: Span { start: Position { line: 505, column: 40, }, end: Position { line: 505, column: 69, }, }, }, ), ], span: Span { start: Position { line: 505, column: 39, }, end: Position { line: 505, column: 70, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 506, column: 15, }, end: Position { line: 506, column: 22, }, }, }, ), ], to: String( String_ { parts: [], span: Span { start: Position { line: 506, column: 25, }, end: Position { line: 506, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 507, column: 15, }, end: Position { line: 507, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 507, column: 22, }, end: Position { line: 507, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 507, column: 28, }, end: Position { line: 507, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 504, column: 29, }, end: Position { line: 508, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 509, column: 13, }, end: Position { line: 509, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 509, column: 24, }, end: Position { line: 509, column: 32, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 510, column: 15, }, end: Position { line: 510, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 510, column: 29, }, end: Position { line: 510, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 510, column: 33, }, end: Position { line: 510, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Password used for authentication. Please note that the contents of this option\nwill end up in a world-readable Nix store. Use the file provider\npointing at a reasonably secured file in the local filesystem\nto work around that. Look at the documentation for details:\n\n", span: Span { start: Position { line: 511, column: 1, }, end: Position { line: 516, column: 15, }, }, }, ), ], span: Span { start: Position { line: 510, column: 39, }, end: Position { line: 516, column: 17, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 517, column: 15, }, end: Position { line: 517, column: 22, }, }, }, ), ], to: String( String_ { parts: [], span: Span { start: Position { line: 517, column: 25, }, end: Position { line: 517, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 518, column: 15, }, end: Position { line: 518, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 518, column: 22, }, end: Position { line: 518, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 518, column: 28, }, end: Position { line: 518, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 509, column: 33, }, end: Position { line: 519, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "from_address", span: Span { start: Position { line: 520, column: 13, }, end: Position { line: 520, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 520, column: 28, }, end: Position { line: 520, column: 36, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 521, column: 15, }, end: Position { line: 521, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 521, column: 29, }, end: Position { line: 521, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 521, column: 33, }, end: Position { line: 521, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Email address used for sending.", span: Span { start: Position { line: 521, column: 40, }, end: Position { line: 521, column: 71, }, }, }, ), ], span: Span { start: Position { line: 521, column: 39, }, end: Position { line: 521, column: 72, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 522, column: 15, }, end: Position { line: 522, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "admin@grafana.localhost", span: Span { start: Position { line: 522, column: 26, }, end: Position { line: 522, column: 49, }, }, }, ), ], span: Span { start: Position { line: 522, column: 25, }, end: Position { line: 522, column: 50, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 523, column: 15, }, end: Position { line: 523, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 523, column: 22, }, end: Position { line: 523, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 523, column: 28, }, end: Position { line: 523, column: 31, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 520, column: 37, }, end: Position { line: 524, column: 14, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 493, column: 18, }, end: Position { line: 525, column: 12, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 527, column: 11, }, end: Position { line: 527, column: 16, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "allow_sign_up", span: Span { start: Position { line: 528, column: 13, }, end: Position { line: 528, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 528, column: 29, }, end: Position { line: 528, column: 37, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 529, column: 15, }, end: Position { line: 529, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 529, column: 29, }, end: Position { line: 529, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 529, column: 33, }, end: Position { line: 529, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Disable user signup / registration.", span: Span { start: Position { line: 529, column: 40, }, end: Position { line: 529, column: 75, }, }, }, ), ], span: Span { start: Position { line: 529, column: 39, }, end: Position { line: 529, column: 76, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 530, column: 15, }, end: Position { line: 530, column: 22, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 530, column: 25, }, end: Position { line: 530, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 531, column: 15, }, end: Position { line: 531, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 531, column: 22, }, end: Position { line: 531, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 531, column: 28, }, end: Position { line: 531, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 528, column: 38, }, end: Position { line: 532, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "allow_org_create", span: Span { start: Position { line: 534, column: 13, }, end: Position { line: 534, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 534, column: 32, }, end: Position { line: 534, column: 40, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 535, column: 15, }, end: Position { line: 535, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 535, column: 29, }, end: Position { line: 535, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 535, column: 33, }, end: Position { line: 535, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Whether user is allowed to create organizations.", span: Span { start: Position { line: 535, column: 40, }, end: Position { line: 535, column: 88, }, }, }, ), ], span: Span { start: Position { line: 535, column: 39, }, end: Position { line: 535, column: 89, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 536, column: 15, }, end: Position { line: 536, column: 22, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 536, column: 25, }, end: Position { line: 536, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 537, column: 15, }, end: Position { line: 537, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 537, column: 22, }, end: Position { line: 537, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 537, column: 28, }, end: Position { line: 537, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 534, column: 41, }, end: Position { line: 538, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "auto_assign_org", span: Span { start: Position { line: 540, column: 13, }, end: Position { line: 540, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 540, column: 31, }, end: Position { line: 540, column: 39, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 541, column: 15, }, end: Position { line: 541, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 541, column: 29, }, end: Position { line: 541, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 541, column: 33, }, end: Position { line: 541, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Whether to automatically assign new users to default org.", span: Span { start: Position { line: 541, column: 40, }, end: Position { line: 541, column: 97, }, }, }, ), ], span: Span { start: Position { line: 541, column: 39, }, end: Position { line: 541, column: 98, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 542, column: 15, }, end: Position { line: 542, column: 22, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 542, column: 25, }, end: Position { line: 542, column: 29, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 543, column: 15, }, end: Position { line: 543, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 543, column: 22, }, end: Position { line: 543, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 543, column: 28, }, end: Position { line: 543, column: 32, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 540, column: 40, }, end: Position { line: 544, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "auto_assign_org_role", span: Span { start: Position { line: 546, column: 13, }, end: Position { line: 546, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 546, column: 36, }, end: Position { line: 546, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 547, column: 15, }, end: Position { line: 547, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 547, column: 29, }, end: Position { line: 547, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 547, column: 33, }, end: Position { line: 547, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Default role new users will be auto assigned.", span: Span { start: Position { line: 547, column: 40, }, end: Position { line: 547, column: 85, }, }, }, ), ], span: Span { start: Position { line: 547, column: 39, }, end: Position { line: 547, column: 86, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 548, column: 15, }, end: Position { line: 548, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Viewer", span: Span { start: Position { line: 548, column: 26, }, end: Position { line: 548, column: 32, }, }, }, ), ], span: Span { start: Position { line: 548, column: 25, }, end: Position { line: 548, column: 33, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 549, column: 15, }, end: Position { line: 549, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 549, column: 22, }, end: Position { line: 549, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 549, column: 28, }, end: Position { line: 549, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "Viewer", span: Span { start: Position { line: 549, column: 35, }, end: Position { line: 549, column: 41, }, }, }, ), ], span: Span { start: Position { line: 549, column: 34, }, end: Position { line: 549, column: 42, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Editor", span: Span { start: Position { line: 549, column: 44, }, end: Position { line: 549, column: 50, }, }, }, ), ], span: Span { start: Position { line: 549, column: 43, }, end: Position { line: 549, column: 51, }, }, }, ), ], span: Span { start: Position { line: 549, column: 33, }, end: Position { line: 549, column: 52, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 546, column: 45, }, end: Position { line: 550, column: 14, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 527, column: 19, }, end: Position { line: 551, column: 12, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "analytics", span: Span { start: Position { line: 553, column: 11, }, end: Position { line: 553, column: 20, }, }, }, ), Raw( PartRaw { content: "reporting_enabled", span: Span { start: Position { line: 553, column: 21, }, end: Position { line: 553, column: 38, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 553, column: 41, }, end: Position { line: 553, column: 49, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 554, column: 13, }, end: Position { line: 554, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 554, column: 27, }, end: Position { line: 554, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 554, column: 31, }, end: Position { line: 554, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Whether to allow anonymous usage reporting to stats.grafana.net.", span: Span { start: Position { line: 554, column: 38, }, end: Position { line: 554, column: 102, }, }, }, ), ], span: Span { start: Position { line: 554, column: 37, }, end: Position { line: 554, column: 103, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 555, column: 13, }, end: Position { line: 555, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 555, column: 23, }, end: Position { line: 555, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 556, column: 13, }, end: Position { line: 556, column: 17, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 556, column: 20, }, end: Position { line: 556, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 556, column: 26, }, end: Position { line: 556, column: 30, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 553, column: 50, }, end: Position { line: 557, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 318, column: 19, }, end: Position { line: 558, column: 10, }, }, }, ), }, ), ], span: Span { start: Position { line: 315, column: 30, }, end: Position { line: 559, column: 8, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 310, column: 25, }, end: Position { line: 560, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 562, column: 5, }, end: Position { line: 562, column: 14, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 563, column: 7, }, end: Position { line: 563, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkEnableOption", span: Span { start: Position { line: 563, column: 16, }, end: Position { line: 563, column: 30, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 563, column: 32, }, end: Position { line: 563, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 563, column: 36, }, end: Position { line: 563, column: 41, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 563, column: 43, }, end: Position { line: 563, column: 52, }, }, }, ), ], span: Span { start: Position { line: 563, column: 42, }, end: Position { line: 563, column: 53, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 565, column: 7, }, end: Position { line: 565, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 565, column: 21, }, end: Position { line: 565, column: 29, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 566, column: 9, }, end: Position { line: 566, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 566, column: 23, }, end: Position { line: 566, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 566, column: 27, }, end: Position { line: 566, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Deprecated option for Grafana datasource configuration. Use either\n`services.grafana.provision.datasources.settings` or\n`services.grafana.provision.datasources.path` instead.\n", span: Span { start: Position { line: 567, column: 1, }, end: Position { line: 570, column: 9, }, }, }, ), ], span: Span { start: Position { line: 566, column: 33, }, end: Position { line: 570, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 571, column: 9, }, end: Position { line: 571, column: 16, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 571, column: 19, }, end: Position { line: 571, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apply", span: Span { start: Position { line: 572, column: 9, }, end: Position { line: 572, column: 14, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 572, column: 24, }, end: Position { line: 572, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 572, column: 33, }, end: Position { line: 572, column: 39, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "x", span: Span { start: Position { line: 572, column: 40, }, end: Position { line: 572, column: 41, }, }, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "map", span: Span { start: Position { line: 572, column: 48, }, end: Position { line: 572, column: 51, }, }, }, ), arguments: [ Identifier( Identifier { id: "_filter", span: Span { start: Position { line: 572, column: 52, }, end: Position { line: 572, column: 59, }, }, }, ), Identifier( Identifier { id: "x", span: Span { start: Position { line: 572, column: 60, }, end: Position { line: 572, column: 61, }, }, }, ), ], }, ), else_: Identifier( Identifier { id: "x", span: Span { start: Position { line: 572, column: 67, }, end: Position { line: 572, column: 68, }, }, }, ), span: Span { start: Position { line: 572, column: 20, }, end: Position { line: 572, column: 68, }, }, }, ), span: Span { start: Position { line: 572, column: 17, }, end: Position { line: 572, column: 68, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 573, column: 9, }, end: Position { line: 573, column: 13, }, }, }, ), ], to: With( With { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 573, column: 21, }, end: Position { line: 573, column: 26, }, }, }, ), target: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "either", span: Span { start: Position { line: 573, column: 28, }, end: Position { line: 573, column: 34, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "listOf", span: Span { start: Position { line: 573, column: 36, }, end: Position { line: 573, column: 42, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "grafanaTypes", span: Span { start: Position { line: 573, column: 43, }, end: Position { line: 573, column: 55, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "datasourceConfig", span: Span { start: Position { line: 573, column: 56, }, end: Position { line: 573, column: 72, }, }, }, ), ], default: None, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "submodule", span: Span { start: Position { line: 573, column: 75, }, end: Position { line: 573, column: 84, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 574, column: 11, }, end: Position { line: 574, column: 18, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 574, column: 19, }, end: Position { line: 574, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 574, column: 30, }, end: Position { line: 574, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 575, column: 13, }, end: Position { line: 575, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 575, column: 27, }, end: Position { line: 575, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 575, column: 31, }, end: Position { line: 575, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Grafana datasource configuration in Nix. Can't be used with\n`services.grafana.provision.datasources.path` simultaneously. See\n\nfor supported options.\n", span: Span { start: Position { line: 576, column: 1, }, end: Position { line: 580, column: 13, }, }, }, ), ], span: Span { start: Position { line: 575, column: 37, }, end: Position { line: 580, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 581, column: 13, }, end: Position { line: 581, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 581, column: 23, }, end: Position { line: 581, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 582, column: 13, }, end: Position { line: 582, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 582, column: 20, }, end: Position { line: 582, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 582, column: 26, }, end: Position { line: 582, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 582, column: 34, }, end: Position { line: 582, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 582, column: 40, }, end: Position { line: 582, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 583, column: 15, }, end: Position { line: 583, column: 22, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 584, column: 17, }, end: Position { line: 584, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 584, column: 30, }, end: Position { line: 584, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 585, column: 19, }, end: Position { line: 585, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 585, column: 33, }, end: Position { line: 585, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 585, column: 37, }, end: Position { line: 585, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Config file version.", span: Span { start: Position { line: 585, column: 44, }, end: Position { line: 585, column: 64, }, }, }, ), ], span: Span { start: Position { line: 585, column: 43, }, end: Position { line: 585, column: 65, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 586, column: 19, }, end: Position { line: 586, column: 26, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 586, column: 29, }, end: Position { line: 586, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 587, column: 19, }, end: Position { line: 587, column: 23, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 587, column: 26, }, end: Position { line: 587, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 587, column: 32, }, end: Position { line: 587, column: 35, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 584, column: 39, }, end: Position { line: 588, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 590, column: 17, }, end: Position { line: 590, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 590, column: 31, }, end: Position { line: 590, column: 39, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 591, column: 19, }, end: Position { line: 591, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 591, column: 33, }, end: Position { line: 591, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 591, column: 37, }, end: Position { line: 591, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of datasources to insert/update.", span: Span { start: Position { line: 591, column: 44, }, end: Position { line: 591, column: 81, }, }, }, ), ], span: Span { start: Position { line: 591, column: 43, }, end: Position { line: 591, column: 82, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 592, column: 19, }, end: Position { line: 592, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 592, column: 29, }, end: Position { line: 592, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 593, column: 19, }, end: Position { line: 593, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 593, column: 26, }, end: Position { line: 593, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 593, column: 32, }, end: Position { line: 593, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "grafanaTypes", span: Span { start: Position { line: 593, column: 39, }, end: Position { line: 593, column: 51, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "datasourceConfig", span: Span { start: Position { line: 593, column: 52, }, end: Position { line: 593, column: 68, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 590, column: 40, }, end: Position { line: 594, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "deleteDatasources", span: Span { start: Position { line: 596, column: 17, }, end: Position { line: 596, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 596, column: 37, }, end: Position { line: 596, column: 45, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 597, column: 19, }, end: Position { line: 597, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 597, column: 33, }, end: Position { line: 597, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 597, column: 37, }, end: Position { line: 597, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of datasources that should be deleted from the database.", span: Span { start: Position { line: 597, column: 44, }, end: Position { line: 597, column: 105, }, }, }, ), ], span: Span { start: Position { line: 597, column: 43, }, end: Position { line: 597, column: 106, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 598, column: 19, }, end: Position { line: 598, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 598, column: 29, }, end: Position { line: 598, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 599, column: 19, }, end: Position { line: 599, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 599, column: 26, }, end: Position { line: 599, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 599, column: 32, }, end: Position { line: 599, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 599, column: 40, }, end: Position { line: 599, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 599, column: 46, }, end: Position { line: 599, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 600, column: 21, }, end: Position { line: 600, column: 28, }, }, }, ), Raw( PartRaw { content: "name", span: Span { start: Position { line: 600, column: 29, }, end: Position { line: 600, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 600, column: 36, }, end: Position { line: 600, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 601, column: 23, }, end: Position { line: 601, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 601, column: 37, }, end: Position { line: 601, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 601, column: 41, }, end: Position { line: 601, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the datasource to delete.", span: Span { start: Position { line: 601, column: 48, }, end: Position { line: 601, column: 81, }, }, }, ), ], span: Span { start: Position { line: 601, column: 47, }, end: Position { line: 601, column: 82, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 602, column: 23, }, end: Position { line: 602, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 602, column: 30, }, end: Position { line: 602, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 602, column: 36, }, end: Position { line: 602, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 600, column: 45, }, end: Position { line: 603, column: 22, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 605, column: 21, }, end: Position { line: 605, column: 28, }, }, }, ), Raw( PartRaw { content: "orgId", span: Span { start: Position { line: 605, column: 29, }, end: Position { line: 605, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 605, column: 37, }, end: Position { line: 605, column: 45, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 606, column: 23, }, end: Position { line: 606, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 606, column: 37, }, end: Position { line: 606, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 606, column: 41, }, end: Position { line: 606, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Organization ID of the datasource to delete.", span: Span { start: Position { line: 606, column: 48, }, end: Position { line: 606, column: 92, }, }, }, ), ], span: Span { start: Position { line: 606, column: 47, }, end: Position { line: 606, column: 93, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 607, column: 23, }, end: Position { line: 607, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 607, column: 30, }, end: Position { line: 607, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 607, column: 36, }, end: Position { line: 607, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 605, column: 46, }, end: Position { line: 608, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 599, column: 56, }, end: Position { line: 609, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 596, column: 46, }, end: Position { line: 610, column: 18, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 583, column: 25, }, end: Position { line: 611, column: 16, }, }, }, ), }, ), ], span: Span { start: Position { line: 582, column: 50, }, end: Position { line: 612, column: 14, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 613, column: 13, }, end: Position { line: 613, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 613, column: 23, }, end: Position { line: 613, column: 40, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "{\n apiVersion = 1;\n\n datasources = [{\n name = \"Graphite\";\n type = \"graphite\";\n }];\n\n deleteDatasources = [{\n name = \"Graphite\";\n orgId = 1;\n }];\n}\n", span: Span { start: Position { line: 614, column: 1, }, end: Position { line: 627, column: 13, }, }, }, ), ], span: Span { start: Position { line: 613, column: 41, }, end: Position { line: 627, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 574, column: 39, }, end: Position { line: 628, column: 12, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 630, column: 11, }, end: Position { line: 630, column: 18, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 630, column: 19, }, end: Position { line: 630, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 630, column: 26, }, end: Position { line: 630, column: 34, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 631, column: 13, }, end: Position { line: 631, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 631, column: 27, }, end: Position { line: 631, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 631, column: 31, }, end: Position { line: 631, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Path to YAML datasource configuration. Can't be used with\n`services.grafana.provision.datasources.settings` simultaneously.\n", span: Span { start: Position { line: 632, column: 1, }, end: Position { line: 634, column: 13, }, }, }, ), ], span: Span { start: Position { line: 631, column: 37, }, end: Position { line: 634, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 635, column: 13, }, end: Position { line: 635, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 635, column: 23, }, end: Position { line: 635, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 636, column: 13, }, end: Position { line: 636, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 636, column: 20, }, end: Position { line: 636, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 636, column: 26, }, end: Position { line: 636, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 636, column: 33, }, end: Position { line: 636, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 636, column: 39, }, end: Position { line: 636, column: 43, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 630, column: 35, }, end: Position { line: 637, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 573, column: 85, }, end: Position { line: 638, column: 10, }, }, }, ), ], }, ), ], }, ), span: Span { start: Position { line: 573, column: 16, }, end: Position { line: 638, column: 11, }, }, }, ), }, ), ], span: Span { start: Position { line: 565, column: 30, }, end: Position { line: 639, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 642, column: 7, }, end: Position { line: 642, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 642, column: 20, }, end: Position { line: 642, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 643, column: 9, }, end: Position { line: 643, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 643, column: 23, }, end: Position { line: 643, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 643, column: 27, }, end: Position { line: 643, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Deprecated option for Grafana dashboard configuration. Use either\n`services.grafana.provision.dashboards.settings` or\n`services.grafana.provision.dashboards.path` instead.\n", span: Span { start: Position { line: 644, column: 1, }, end: Position { line: 647, column: 9, }, }, }, ), ], span: Span { start: Position { line: 643, column: 33, }, end: Position { line: 647, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 648, column: 9, }, end: Position { line: 648, column: 16, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 648, column: 19, }, end: Position { line: 648, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apply", span: Span { start: Position { line: 649, column: 9, }, end: Position { line: 649, column: 14, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 649, column: 24, }, end: Position { line: 649, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 649, column: 33, }, end: Position { line: 649, column: 39, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "x", span: Span { start: Position { line: 649, column: 40, }, end: Position { line: 649, column: 41, }, }, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "map", span: Span { start: Position { line: 649, column: 48, }, end: Position { line: 649, column: 51, }, }, }, ), arguments: [ Identifier( Identifier { id: "_filter", span: Span { start: Position { line: 649, column: 52, }, end: Position { line: 649, column: 59, }, }, }, ), Identifier( Identifier { id: "x", span: Span { start: Position { line: 649, column: 60, }, end: Position { line: 649, column: 61, }, }, }, ), ], }, ), else_: Identifier( Identifier { id: "x", span: Span { start: Position { line: 649, column: 67, }, end: Position { line: 649, column: 68, }, }, }, ), span: Span { start: Position { line: 649, column: 20, }, end: Position { line: 649, column: 68, }, }, }, ), span: Span { start: Position { line: 649, column: 17, }, end: Position { line: 649, column: 68, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 650, column: 9, }, end: Position { line: 650, column: 13, }, }, }, ), ], to: With( With { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 650, column: 21, }, end: Position { line: 650, column: 26, }, }, }, ), target: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "either", span: Span { start: Position { line: 650, column: 28, }, end: Position { line: 650, column: 34, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "listOf", span: Span { start: Position { line: 650, column: 36, }, end: Position { line: 650, column: 42, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "grafanaTypes", span: Span { start: Position { line: 650, column: 43, }, end: Position { line: 650, column: 55, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dashboardConfig", span: Span { start: Position { line: 650, column: 56, }, end: Position { line: 650, column: 71, }, }, }, ), ], default: None, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "submodule", span: Span { start: Position { line: 650, column: 74, }, end: Position { line: 650, column: 83, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 651, column: 11, }, end: Position { line: 651, column: 18, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 651, column: 19, }, end: Position { line: 651, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 651, column: 30, }, end: Position { line: 651, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 652, column: 13, }, end: Position { line: 652, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 652, column: 27, }, end: Position { line: 652, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 652, column: 31, }, end: Position { line: 652, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Grafana dashboard configuration in Nix. Can't be used with\n`services.grafana.provision.dashboards.path` simultaneously. See\n\nfor supported options.\n", span: Span { start: Position { line: 653, column: 1, }, end: Position { line: 657, column: 13, }, }, }, ), ], span: Span { start: Position { line: 652, column: 37, }, end: Position { line: 657, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 658, column: 13, }, end: Position { line: 658, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 658, column: 23, }, end: Position { line: 658, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 659, column: 13, }, end: Position { line: 659, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 659, column: 20, }, end: Position { line: 659, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 659, column: 26, }, end: Position { line: 659, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 659, column: 34, }, end: Position { line: 659, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 659, column: 40, }, end: Position { line: 659, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 660, column: 15, }, end: Position { line: 660, column: 22, }, }, }, ), Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 660, column: 23, }, end: Position { line: 660, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 660, column: 36, }, end: Position { line: 660, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 661, column: 17, }, end: Position { line: 661, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 661, column: 31, }, end: Position { line: 661, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 661, column: 35, }, end: Position { line: 661, column: 40, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Config file version.", span: Span { start: Position { line: 661, column: 42, }, end: Position { line: 661, column: 62, }, }, }, ), ], span: Span { start: Position { line: 661, column: 41, }, end: Position { line: 661, column: 63, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 662, column: 17, }, end: Position { line: 662, column: 24, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 662, column: 27, }, end: Position { line: 662, column: 28, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 663, column: 17, }, end: Position { line: 663, column: 21, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 663, column: 24, }, end: Position { line: 663, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 663, column: 30, }, end: Position { line: 663, column: 33, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 660, column: 45, }, end: Position { line: 664, column: 16, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 666, column: 15, }, end: Position { line: 666, column: 22, }, }, }, ), Raw( PartRaw { content: "providers", span: Span { start: Position { line: 666, column: 23, }, end: Position { line: 666, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 666, column: 35, }, end: Position { line: 666, column: 43, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 667, column: 17, }, end: Position { line: 667, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 667, column: 31, }, end: Position { line: 667, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 667, column: 35, }, end: Position { line: 667, column: 40, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of dashboards to insert/update.", span: Span { start: Position { line: 667, column: 42, }, end: Position { line: 667, column: 78, }, }, }, ), ], span: Span { start: Position { line: 667, column: 41, }, end: Position { line: 667, column: 79, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 668, column: 17, }, end: Position { line: 668, column: 24, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 668, column: 27, }, end: Position { line: 668, column: 29, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 669, column: 17, }, end: Position { line: 669, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 669, column: 24, }, end: Position { line: 669, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 669, column: 30, }, end: Position { line: 669, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "grafanaTypes", span: Span { start: Position { line: 669, column: 37, }, end: Position { line: 669, column: 49, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dashboardConfig", span: Span { start: Position { line: 669, column: 50, }, end: Position { line: 669, column: 65, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 666, column: 44, }, end: Position { line: 670, column: 16, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 659, column: 50, }, end: Position { line: 671, column: 14, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 672, column: 13, }, end: Position { line: 672, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 672, column: 23, }, end: Position { line: 672, column: 40, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "{\n apiVersion = 1;\n\n providers = [{\n name = \"default\";\n options.path = \"/var/lib/grafana/dashboards\";\n }];\n}\n", span: Span { start: Position { line: 673, column: 1, }, end: Position { line: 681, column: 13, }, }, }, ), ], span: Span { start: Position { line: 672, column: 41, }, end: Position { line: 681, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 651, column: 39, }, end: Position { line: 682, column: 12, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 684, column: 11, }, end: Position { line: 684, column: 18, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 684, column: 19, }, end: Position { line: 684, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 684, column: 26, }, end: Position { line: 684, column: 34, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 685, column: 13, }, end: Position { line: 685, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 685, column: 27, }, end: Position { line: 685, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 685, column: 31, }, end: Position { line: 685, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Path to YAML dashboard configuration. Can't be used with\n`services.grafana.provision.dashboards.settings` simultaneously.\n", span: Span { start: Position { line: 686, column: 1, }, end: Position { line: 688, column: 13, }, }, }, ), ], span: Span { start: Position { line: 685, column: 37, }, end: Position { line: 688, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 689, column: 13, }, end: Position { line: 689, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 689, column: 23, }, end: Position { line: 689, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 690, column: 13, }, end: Position { line: 690, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 690, column: 20, }, end: Position { line: 690, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 690, column: 26, }, end: Position { line: 690, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 690, column: 33, }, end: Position { line: 690, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 690, column: 39, }, end: Position { line: 690, column: 43, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 684, column: 35, }, end: Position { line: 691, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 650, column: 84, }, end: Position { line: 692, column: 10, }, }, }, ), ], }, ), ], }, ), span: Span { start: Position { line: 650, column: 16, }, end: Position { line: 692, column: 11, }, }, }, ), }, ), ], span: Span { start: Position { line: 642, column: 29, }, end: Position { line: 693, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "notifiers", span: Span { start: Position { line: 696, column: 7, }, end: Position { line: 696, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 696, column: 19, }, end: Position { line: 696, column: 27, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 697, column: 9, }, end: Position { line: 697, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 697, column: 23, }, end: Position { line: 697, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 697, column: 27, }, end: Position { line: 697, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Grafana notifier configuration.", span: Span { start: Position { line: 697, column: 34, }, end: Position { line: 697, column: 65, }, }, }, ), ], span: Span { start: Position { line: 697, column: 33, }, end: Position { line: 697, column: 66, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 698, column: 9, }, end: Position { line: 698, column: 16, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 698, column: 19, }, end: Position { line: 698, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 699, column: 9, }, end: Position { line: 699, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 699, column: 16, }, end: Position { line: 699, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 699, column: 22, }, end: Position { line: 699, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "grafanaTypes", span: Span { start: Position { line: 699, column: 29, }, end: Position { line: 699, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "notifierConfig", span: Span { start: Position { line: 699, column: 42, }, end: Position { line: 699, column: 56, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apply", span: Span { start: Position { line: 700, column: 9, }, end: Position { line: 700, column: 14, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "map", span: Span { start: Position { line: 700, column: 20, }, end: Position { line: 700, column: 23, }, }, }, ), arguments: [ Identifier( Identifier { id: "_filter", span: Span { start: Position { line: 700, column: 24, }, end: Position { line: 700, column: 31, }, }, }, ), Identifier( Identifier { id: "x", span: Span { start: Position { line: 700, column: 32, }, end: Position { line: 700, column: 33, }, }, }, ), ], }, ), span: Span { start: Position { line: 700, column: 17, }, end: Position { line: 700, column: 33, }, }, }, ), }, ), ], span: Span { start: Position { line: 696, column: 28, }, end: Position { line: 701, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 704, column: 7, }, end: Position { line: 704, column: 15, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "rules", span: Span { start: Position { line: 705, column: 9, }, end: Position { line: 705, column: 14, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 706, column: 11, }, end: Position { line: 706, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 706, column: 18, }, end: Position { line: 706, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 707, column: 13, }, end: Position { line: 707, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 707, column: 27, }, end: Position { line: 707, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 707, column: 31, }, end: Position { line: 707, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Path to YAML rules configuration. Can't be used with\n`services.grafana.provision.alerting.rules.settings` simultaneously.\n", span: Span { start: Position { line: 708, column: 1, }, end: Position { line: 710, column: 13, }, }, }, ), ], span: Span { start: Position { line: 707, column: 37, }, end: Position { line: 710, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 711, column: 13, }, end: Position { line: 711, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 711, column: 23, }, end: Position { line: 711, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 712, column: 13, }, end: Position { line: 712, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 712, column: 20, }, end: Position { line: 712, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 712, column: 26, }, end: Position { line: 712, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 712, column: 33, }, end: Position { line: 712, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 712, column: 39, }, end: Position { line: 712, column: 43, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 706, column: 27, }, end: Position { line: 713, column: 12, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 715, column: 11, }, end: Position { line: 715, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 715, column: 22, }, end: Position { line: 715, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 716, column: 13, }, end: Position { line: 716, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 716, column: 27, }, end: Position { line: 716, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 716, column: 31, }, end: Position { line: 716, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Grafana rules configuration in Nix. Can't be used with\n`services.grafana.provision.alerting.rules.path` simultaneously. See\n\nfor supported options.\n", span: Span { start: Position { line: 717, column: 1, }, end: Position { line: 721, column: 13, }, }, }, ), ], span: Span { start: Position { line: 716, column: 37, }, end: Position { line: 721, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 722, column: 13, }, end: Position { line: 722, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 722, column: 23, }, end: Position { line: 722, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 723, column: 13, }, end: Position { line: 723, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 723, column: 20, }, end: Position { line: 723, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 723, column: 26, }, end: Position { line: 723, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 723, column: 34, }, end: Position { line: 723, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 723, column: 40, }, end: Position { line: 723, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 724, column: 15, }, end: Position { line: 724, column: 22, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 725, column: 17, }, end: Position { line: 725, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 725, column: 30, }, end: Position { line: 725, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 726, column: 19, }, end: Position { line: 726, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 726, column: 33, }, end: Position { line: 726, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 726, column: 37, }, end: Position { line: 726, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Config file version.", span: Span { start: Position { line: 726, column: 44, }, end: Position { line: 726, column: 64, }, }, }, ), ], span: Span { start: Position { line: 726, column: 43, }, end: Position { line: 726, column: 65, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 727, column: 19, }, end: Position { line: 727, column: 26, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 727, column: 29, }, end: Position { line: 727, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 728, column: 19, }, end: Position { line: 728, column: 23, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 728, column: 26, }, end: Position { line: 728, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 728, column: 32, }, end: Position { line: 728, column: 35, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 725, column: 39, }, end: Position { line: 729, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "groups", span: Span { start: Position { line: 731, column: 17, }, end: Position { line: 731, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 731, column: 26, }, end: Position { line: 731, column: 34, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 732, column: 19, }, end: Position { line: 732, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 732, column: 33, }, end: Position { line: 732, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 732, column: 37, }, end: Position { line: 732, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of rule groups to import or update.", span: Span { start: Position { line: 732, column: 44, }, end: Position { line: 732, column: 84, }, }, }, ), ], span: Span { start: Position { line: 732, column: 43, }, end: Position { line: 732, column: 85, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 733, column: 19, }, end: Position { line: 733, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 733, column: 29, }, end: Position { line: 733, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 734, column: 19, }, end: Position { line: 734, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 734, column: 26, }, end: Position { line: 734, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 734, column: 32, }, end: Position { line: 734, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 734, column: 40, }, end: Position { line: 734, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 734, column: 46, }, end: Position { line: 734, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "freeformType", span: Span { start: Position { line: 735, column: 21, }, end: Position { line: 735, column: 33, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 735, column: 36, }, end: Position { line: 735, column: 62, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 735, column: 63, }, end: Position { line: 735, column: 67, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 737, column: 21, }, end: Position { line: 737, column: 28, }, }, }, ), Raw( PartRaw { content: "name", span: Span { start: Position { line: 737, column: 29, }, end: Position { line: 737, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 737, column: 36, }, end: Position { line: 737, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 738, column: 23, }, end: Position { line: 738, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 738, column: 37, }, end: Position { line: 738, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 738, column: 41, }, end: Position { line: 738, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the rule group. Required.", span: Span { start: Position { line: 738, column: 48, }, end: Position { line: 738, column: 81, }, }, }, ), ], span: Span { start: Position { line: 738, column: 47, }, end: Position { line: 738, column: 82, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 739, column: 23, }, end: Position { line: 739, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 739, column: 30, }, end: Position { line: 739, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 739, column: 36, }, end: Position { line: 739, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 737, column: 45, }, end: Position { line: 740, column: 22, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 742, column: 21, }, end: Position { line: 742, column: 28, }, }, }, ), Raw( PartRaw { content: "folder", span: Span { start: Position { line: 742, column: 29, }, end: Position { line: 742, column: 35, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 742, column: 38, }, end: Position { line: 742, column: 46, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 743, column: 23, }, end: Position { line: 743, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 743, column: 37, }, end: Position { line: 743, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 743, column: 41, }, end: Position { line: 743, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the folder the rule group will be stored in. Required.", span: Span { start: Position { line: 743, column: 48, }, end: Position { line: 743, column: 110, }, }, }, ), ], span: Span { start: Position { line: 743, column: 47, }, end: Position { line: 743, column: 111, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 744, column: 23, }, end: Position { line: 744, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 744, column: 30, }, end: Position { line: 744, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 744, column: 36, }, end: Position { line: 744, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 742, column: 47, }, end: Position { line: 745, column: 22, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 747, column: 21, }, end: Position { line: 747, column: 28, }, }, }, ), Raw( PartRaw { content: "interval", span: Span { start: Position { line: 747, column: 29, }, end: Position { line: 747, column: 37, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 747, column: 40, }, end: Position { line: 747, column: 48, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 748, column: 23, }, end: Position { line: 748, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 748, column: 37, }, end: Position { line: 748, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 748, column: 41, }, end: Position { line: 748, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Interval that the rule group should be evaluated at. Required.", span: Span { start: Position { line: 748, column: 48, }, end: Position { line: 748, column: 110, }, }, }, ), ], span: Span { start: Position { line: 748, column: 47, }, end: Position { line: 748, column: 111, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 749, column: 23, }, end: Position { line: 749, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 749, column: 30, }, end: Position { line: 749, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 749, column: 36, }, end: Position { line: 749, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 747, column: 49, }, end: Position { line: 750, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 734, column: 56, }, end: Position { line: 751, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 731, column: 35, }, end: Position { line: 752, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "deleteRules", span: Span { start: Position { line: 754, column: 17, }, end: Position { line: 754, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 754, column: 31, }, end: Position { line: 754, column: 39, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 755, column: 19, }, end: Position { line: 755, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 755, column: 33, }, end: Position { line: 755, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 755, column: 37, }, end: Position { line: 755, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of alert rule UIDs that should be deleted.", span: Span { start: Position { line: 755, column: 44, }, end: Position { line: 755, column: 91, }, }, }, ), ], span: Span { start: Position { line: 755, column: 43, }, end: Position { line: 755, column: 92, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 756, column: 19, }, end: Position { line: 756, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 756, column: 29, }, end: Position { line: 756, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 757, column: 19, }, end: Position { line: 757, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 757, column: 26, }, end: Position { line: 757, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 757, column: 32, }, end: Position { line: 757, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 757, column: 40, }, end: Position { line: 757, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 757, column: 46, }, end: Position { line: 757, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 758, column: 21, }, end: Position { line: 758, column: 28, }, }, }, ), Raw( PartRaw { content: "orgId", span: Span { start: Position { line: 758, column: 29, }, end: Position { line: 758, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 758, column: 37, }, end: Position { line: 758, column: 45, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 759, column: 23, }, end: Position { line: 759, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 759, column: 37, }, end: Position { line: 759, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 759, column: 41, }, end: Position { line: 759, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Organization ID, default = 1", span: Span { start: Position { line: 759, column: 48, }, end: Position { line: 759, column: 76, }, }, }, ), ], span: Span { start: Position { line: 759, column: 47, }, end: Position { line: 759, column: 77, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 760, column: 23, }, end: Position { line: 760, column: 30, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 760, column: 33, }, end: Position { line: 760, column: 34, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 761, column: 23, }, end: Position { line: 761, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 761, column: 30, }, end: Position { line: 761, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 761, column: 36, }, end: Position { line: 761, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 758, column: 46, }, end: Position { line: 762, column: 22, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 764, column: 21, }, end: Position { line: 764, column: 28, }, }, }, ), Raw( PartRaw { content: "uid", span: Span { start: Position { line: 764, column: 29, }, end: Position { line: 764, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 764, column: 35, }, end: Position { line: 764, column: 43, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 765, column: 23, }, end: Position { line: 765, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 765, column: 37, }, end: Position { line: 765, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 765, column: 41, }, end: Position { line: 765, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Unique identifier for the rule. Required.", span: Span { start: Position { line: 765, column: 48, }, end: Position { line: 765, column: 89, }, }, }, ), ], span: Span { start: Position { line: 765, column: 47, }, end: Position { line: 765, column: 90, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 766, column: 23, }, end: Position { line: 766, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 766, column: 30, }, end: Position { line: 766, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 766, column: 36, }, end: Position { line: 766, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 764, column: 44, }, end: Position { line: 767, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 757, column: 56, }, end: Position { line: 768, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 754, column: 40, }, end: Position { line: 769, column: 18, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 724, column: 25, }, end: Position { line: 770, column: 16, }, }, }, ), }, ), ], span: Span { start: Position { line: 723, column: 50, }, end: Position { line: 771, column: 14, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 772, column: 13, }, end: Position { line: 772, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 772, column: 23, }, end: Position { line: 772, column: 40, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "{\n apiVersion = 1;\n\n groups = [{\n orgId = 1;\n name = \"my_rule_group\";\n folder = \"my_first_folder\";\n interval = \"60s\";\n rules = [{\n uid = \"my_id_1\";\n title = \"my_first_rule\";\n condition = \"A\";\n data = [{\n refId = \"A\";\n datasourceUid = \"-100\";\n model = {\n conditions = [{\n evaluator = {\n params = [ 3 ];\n type = \"git\";\n };\n operator.type = \"and\";\n query.params = [ \"A\" ];\n reducer.type = \"last\";\n type = \"query\";\n }];\n datasource = {\n type = \"__expr__\";\n uid = \"-100\";\n };\n expression = \"1==0\";\n intervalMs = 1000;\n maxDataPoints = 43200;\n refId = \"A\";\n type = \"math\";\n };\n }];\n dashboardUid = \"my_dashboard\";\n panelId = 123;\n noDataState = \"Alerting\";\n for = \"60s\";\n annotations.some_key = \"some_value\";\n labels.team = \"sre_team1\";\n }];\n }];\n\n deleteRules = [{\n orgId = 1;\n uid = \"my_id_1\";\n }];\n}\n", span: Span { start: Position { line: 773, column: 1, }, end: Position { line: 824, column: 13, }, }, }, ), ], span: Span { start: Position { line: 772, column: 41, }, end: Position { line: 824, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 715, column: 31, }, end: Position { line: 825, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 705, column: 17, }, end: Position { line: 826, column: 10, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "contactPoints", span: Span { start: Position { line: 828, column: 9, }, end: Position { line: 828, column: 22, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 829, column: 11, }, end: Position { line: 829, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 829, column: 18, }, end: Position { line: 829, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 830, column: 13, }, end: Position { line: 830, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 830, column: 27, }, end: Position { line: 830, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 830, column: 31, }, end: Position { line: 830, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Path to YAML contact points configuration. Can't be used with\n`services.grafana.provision.alerting.contactPoints.settings` simultaneously.\n", span: Span { start: Position { line: 831, column: 1, }, end: Position { line: 833, column: 13, }, }, }, ), ], span: Span { start: Position { line: 830, column: 37, }, end: Position { line: 833, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 834, column: 13, }, end: Position { line: 834, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 834, column: 23, }, end: Position { line: 834, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 835, column: 13, }, end: Position { line: 835, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 835, column: 20, }, end: Position { line: 835, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 835, column: 26, }, end: Position { line: 835, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 835, column: 33, }, end: Position { line: 835, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 835, column: 39, }, end: Position { line: 835, column: 43, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 829, column: 27, }, end: Position { line: 836, column: 12, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 838, column: 11, }, end: Position { line: 838, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 838, column: 22, }, end: Position { line: 838, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 839, column: 13, }, end: Position { line: 839, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 839, column: 27, }, end: Position { line: 839, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 839, column: 31, }, end: Position { line: 839, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Grafana contact points configuration in Nix. Can't be used with\n`services.grafana.provision.alerting.contactPoints.path` simultaneously. See\n\nfor supported options.\n", span: Span { start: Position { line: 840, column: 1, }, end: Position { line: 844, column: 13, }, }, }, ), ], span: Span { start: Position { line: 839, column: 37, }, end: Position { line: 844, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 845, column: 13, }, end: Position { line: 845, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 845, column: 23, }, end: Position { line: 845, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 846, column: 13, }, end: Position { line: 846, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 846, column: 20, }, end: Position { line: 846, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 846, column: 26, }, end: Position { line: 846, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 846, column: 34, }, end: Position { line: 846, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 846, column: 40, }, end: Position { line: 846, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 847, column: 15, }, end: Position { line: 847, column: 22, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 848, column: 17, }, end: Position { line: 848, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 848, column: 30, }, end: Position { line: 848, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 849, column: 19, }, end: Position { line: 849, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 849, column: 33, }, end: Position { line: 849, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 849, column: 37, }, end: Position { line: 849, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Config file version.", span: Span { start: Position { line: 849, column: 44, }, end: Position { line: 849, column: 64, }, }, }, ), ], span: Span { start: Position { line: 849, column: 43, }, end: Position { line: 849, column: 65, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 850, column: 19, }, end: Position { line: 850, column: 26, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 850, column: 29, }, end: Position { line: 850, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 851, column: 19, }, end: Position { line: 851, column: 23, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 851, column: 26, }, end: Position { line: 851, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 851, column: 32, }, end: Position { line: 851, column: 35, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 848, column: 39, }, end: Position { line: 852, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "contactPoints", span: Span { start: Position { line: 854, column: 17, }, end: Position { line: 854, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 854, column: 33, }, end: Position { line: 854, column: 41, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 855, column: 19, }, end: Position { line: 855, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 855, column: 33, }, end: Position { line: 855, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 855, column: 37, }, end: Position { line: 855, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of contact points to import or update. Please note that sensitive data will end up in world-readable Nix store.", span: Span { start: Position { line: 855, column: 44, }, end: Position { line: 855, column: 160, }, }, }, ), ], span: Span { start: Position { line: 855, column: 43, }, end: Position { line: 855, column: 161, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 856, column: 19, }, end: Position { line: 856, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 856, column: 29, }, end: Position { line: 856, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 857, column: 19, }, end: Position { line: 857, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 857, column: 26, }, end: Position { line: 857, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 857, column: 32, }, end: Position { line: 857, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 857, column: 40, }, end: Position { line: 857, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 857, column: 46, }, end: Position { line: 857, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "freeformType", span: Span { start: Position { line: 858, column: 21, }, end: Position { line: 858, column: 33, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 858, column: 36, }, end: Position { line: 858, column: 62, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 858, column: 63, }, end: Position { line: 858, column: 67, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 860, column: 21, }, end: Position { line: 860, column: 28, }, }, }, ), Raw( PartRaw { content: "name", span: Span { start: Position { line: 860, column: 29, }, end: Position { line: 860, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 860, column: 36, }, end: Position { line: 860, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 861, column: 23, }, end: Position { line: 861, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 861, column: 37, }, end: Position { line: 861, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 861, column: 41, }, end: Position { line: 861, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the contact point. Required.", span: Span { start: Position { line: 861, column: 48, }, end: Position { line: 861, column: 84, }, }, }, ), ], span: Span { start: Position { line: 861, column: 47, }, end: Position { line: 861, column: 85, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 862, column: 23, }, end: Position { line: 862, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 862, column: 30, }, end: Position { line: 862, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 862, column: 36, }, end: Position { line: 862, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 860, column: 45, }, end: Position { line: 863, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 857, column: 56, }, end: Position { line: 864, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 854, column: 42, }, end: Position { line: 865, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "deleteContactPoints", span: Span { start: Position { line: 867, column: 17, }, end: Position { line: 867, column: 36, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 867, column: 39, }, end: Position { line: 867, column: 47, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 868, column: 19, }, end: Position { line: 868, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 868, column: 33, }, end: Position { line: 868, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 868, column: 37, }, end: Position { line: 868, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of receivers that should be deleted.", span: Span { start: Position { line: 868, column: 44, }, end: Position { line: 868, column: 85, }, }, }, ), ], span: Span { start: Position { line: 868, column: 43, }, end: Position { line: 868, column: 86, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 869, column: 19, }, end: Position { line: 869, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 869, column: 29, }, end: Position { line: 869, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 870, column: 19, }, end: Position { line: 870, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 870, column: 26, }, end: Position { line: 870, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 870, column: 32, }, end: Position { line: 870, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 870, column: 40, }, end: Position { line: 870, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 870, column: 46, }, end: Position { line: 870, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 871, column: 21, }, end: Position { line: 871, column: 28, }, }, }, ), Raw( PartRaw { content: "orgId", span: Span { start: Position { line: 871, column: 29, }, end: Position { line: 871, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 871, column: 37, }, end: Position { line: 871, column: 45, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 872, column: 23, }, end: Position { line: 872, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 872, column: 37, }, end: Position { line: 872, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 872, column: 41, }, end: Position { line: 872, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Organization ID, default = 1.", span: Span { start: Position { line: 872, column: 48, }, end: Position { line: 872, column: 77, }, }, }, ), ], span: Span { start: Position { line: 872, column: 47, }, end: Position { line: 872, column: 78, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 873, column: 23, }, end: Position { line: 873, column: 30, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 873, column: 33, }, end: Position { line: 873, column: 34, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 874, column: 23, }, end: Position { line: 874, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 874, column: 30, }, end: Position { line: 874, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 874, column: 36, }, end: Position { line: 874, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 871, column: 46, }, end: Position { line: 875, column: 22, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 877, column: 21, }, end: Position { line: 877, column: 28, }, }, }, ), Raw( PartRaw { content: "uid", span: Span { start: Position { line: 877, column: 29, }, end: Position { line: 877, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 877, column: 35, }, end: Position { line: 877, column: 43, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 878, column: 23, }, end: Position { line: 878, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 878, column: 37, }, end: Position { line: 878, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 878, column: 41, }, end: Position { line: 878, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Unique identifier for the receiver. Required.", span: Span { start: Position { line: 878, column: 48, }, end: Position { line: 878, column: 93, }, }, }, ), ], span: Span { start: Position { line: 878, column: 47, }, end: Position { line: 878, column: 94, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 879, column: 23, }, end: Position { line: 879, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 879, column: 30, }, end: Position { line: 879, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 879, column: 36, }, end: Position { line: 879, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 877, column: 44, }, end: Position { line: 880, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 870, column: 56, }, end: Position { line: 881, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 867, column: 48, }, end: Position { line: 882, column: 18, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 847, column: 25, }, end: Position { line: 883, column: 16, }, }, }, ), }, ), ], span: Span { start: Position { line: 846, column: 50, }, end: Position { line: 884, column: 14, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 885, column: 13, }, end: Position { line: 885, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 885, column: 23, }, end: Position { line: 885, column: 40, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "{\n apiVersion = 1;\n\n contactPoints = [{\n orgId = 1;\n name = \"cp_1\";\n receivers = [{\n uid = \"first_uid\";\n type = \"prometheus-alertmanager\";\n settings.url = \"http://test:9000\";\n }];\n }];\n\n deleteContactPoints = [{\n orgId = 1;\n uid = \"first_uid\";\n }];\n}\n", span: Span { start: Position { line: 886, column: 1, }, end: Position { line: 904, column: 13, }, }, }, ), ], span: Span { start: Position { line: 885, column: 41, }, end: Position { line: 904, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 838, column: 31, }, end: Position { line: 905, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 828, column: 25, }, end: Position { line: 906, column: 10, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "policies", span: Span { start: Position { line: 908, column: 9, }, end: Position { line: 908, column: 17, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 909, column: 11, }, end: Position { line: 909, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 909, column: 18, }, end: Position { line: 909, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 910, column: 13, }, end: Position { line: 910, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 910, column: 27, }, end: Position { line: 910, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 910, column: 31, }, end: Position { line: 910, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Path to YAML notification policies configuration. Can't be used with\n`services.grafana.provision.alerting.policies.settings` simultaneously.\n", span: Span { start: Position { line: 911, column: 1, }, end: Position { line: 913, column: 13, }, }, }, ), ], span: Span { start: Position { line: 910, column: 37, }, end: Position { line: 913, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 914, column: 13, }, end: Position { line: 914, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 914, column: 23, }, end: Position { line: 914, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 915, column: 13, }, end: Position { line: 915, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 915, column: 20, }, end: Position { line: 915, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 915, column: 26, }, end: Position { line: 915, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 915, column: 33, }, end: Position { line: 915, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 915, column: 39, }, end: Position { line: 915, column: 43, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 909, column: 27, }, end: Position { line: 916, column: 12, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 918, column: 11, }, end: Position { line: 918, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 918, column: 22, }, end: Position { line: 918, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 919, column: 13, }, end: Position { line: 919, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 919, column: 27, }, end: Position { line: 919, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 919, column: 31, }, end: Position { line: 919, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Grafana notification policies configuration in Nix. Can't be used with\n`services.grafana.provision.alerting.policies.path` simultaneously. See\n\nfor supported options.\n", span: Span { start: Position { line: 920, column: 1, }, end: Position { line: 924, column: 13, }, }, }, ), ], span: Span { start: Position { line: 919, column: 37, }, end: Position { line: 924, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 925, column: 13, }, end: Position { line: 925, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 925, column: 23, }, end: Position { line: 925, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 926, column: 13, }, end: Position { line: 926, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 926, column: 20, }, end: Position { line: 926, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 926, column: 26, }, end: Position { line: 926, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 926, column: 34, }, end: Position { line: 926, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 926, column: 40, }, end: Position { line: 926, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 927, column: 15, }, end: Position { line: 927, column: 22, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 928, column: 17, }, end: Position { line: 928, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 928, column: 30, }, end: Position { line: 928, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 929, column: 19, }, end: Position { line: 929, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 929, column: 33, }, end: Position { line: 929, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 929, column: 37, }, end: Position { line: 929, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Config file version.", span: Span { start: Position { line: 929, column: 44, }, end: Position { line: 929, column: 64, }, }, }, ), ], span: Span { start: Position { line: 929, column: 43, }, end: Position { line: 929, column: 65, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 930, column: 19, }, end: Position { line: 930, column: 26, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 930, column: 29, }, end: Position { line: 930, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 931, column: 19, }, end: Position { line: 931, column: 23, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 931, column: 26, }, end: Position { line: 931, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 931, column: 32, }, end: Position { line: 931, column: 35, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 928, column: 39, }, end: Position { line: 932, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "policies", span: Span { start: Position { line: 934, column: 17, }, end: Position { line: 934, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 934, column: 28, }, end: Position { line: 934, column: 36, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 935, column: 19, }, end: Position { line: 935, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 935, column: 33, }, end: Position { line: 935, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 935, column: 37, }, end: Position { line: 935, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of contact points to import or update.", span: Span { start: Position { line: 935, column: 44, }, end: Position { line: 935, column: 87, }, }, }, ), ], span: Span { start: Position { line: 935, column: 43, }, end: Position { line: 935, column: 88, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 936, column: 19, }, end: Position { line: 936, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 936, column: 29, }, end: Position { line: 936, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 937, column: 19, }, end: Position { line: 937, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 937, column: 26, }, end: Position { line: 937, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 937, column: 32, }, end: Position { line: 937, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 937, column: 40, }, end: Position { line: 937, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 937, column: 46, }, end: Position { line: 937, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "freeformType", span: Span { start: Position { line: 938, column: 21, }, end: Position { line: 938, column: 33, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 938, column: 36, }, end: Position { line: 938, column: 62, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 938, column: 63, }, end: Position { line: 938, column: 67, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 937, column: 56, }, end: Position { line: 939, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 934, column: 37, }, end: Position { line: 940, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "resetPolicies", span: Span { start: Position { line: 942, column: 17, }, end: Position { line: 942, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 942, column: 33, }, end: Position { line: 942, column: 41, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 943, column: 19, }, end: Position { line: 943, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 943, column: 33, }, end: Position { line: 943, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 943, column: 37, }, end: Position { line: 943, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of orgIds that should be reset to the default policy.", span: Span { start: Position { line: 943, column: 44, }, end: Position { line: 943, column: 102, }, }, }, ), ], span: Span { start: Position { line: 943, column: 43, }, end: Position { line: 943, column: 103, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 944, column: 19, }, end: Position { line: 944, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 944, column: 29, }, end: Position { line: 944, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 945, column: 19, }, end: Position { line: 945, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 945, column: 26, }, end: Position { line: 945, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 945, column: 32, }, end: Position { line: 945, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 945, column: 39, }, end: Position { line: 945, column: 44, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 945, column: 45, }, end: Position { line: 945, column: 48, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 942, column: 42, }, end: Position { line: 946, column: 18, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 927, column: 25, }, end: Position { line: 947, column: 16, }, }, }, ), }, ), ], span: Span { start: Position { line: 926, column: 50, }, end: Position { line: 948, column: 14, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 949, column: 13, }, end: Position { line: 949, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 949, column: 23, }, end: Position { line: 949, column: 40, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "{\n apiVersion = 1;\n\n policies = [{\n orgId = 1;\n receiver = \"grafana-default-email\";\n group_by = [ \"...\" ];\n matchers = [\n \"alertname = Watchdog\"\n \"severity =~ \\\"warning|critical\\\"\"\n ];\n mute_time_intervals = [\n \"abc\"\n ];\n group_wait = \"30s\";\n group_interval = \"5m\";\n repeat_interval = \"4h\";\n }];\n\n resetPolicies = [\n 1\n ];\n}\n", span: Span { start: Position { line: 950, column: 1, }, end: Position { line: 973, column: 13, }, }, }, ), ], span: Span { start: Position { line: 949, column: 41, }, end: Position { line: 973, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 918, column: 31, }, end: Position { line: 974, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 908, column: 20, }, end: Position { line: 975, column: 10, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "templates", span: Span { start: Position { line: 977, column: 9, }, end: Position { line: 977, column: 18, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 978, column: 11, }, end: Position { line: 978, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 978, column: 18, }, end: Position { line: 978, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 979, column: 13, }, end: Position { line: 979, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 979, column: 27, }, end: Position { line: 979, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 979, column: 31, }, end: Position { line: 979, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Path to YAML templates configuration. Can't be used with\n`services.grafana.provision.alerting.templates.settings` simultaneously.\n", span: Span { start: Position { line: 980, column: 1, }, end: Position { line: 982, column: 13, }, }, }, ), ], span: Span { start: Position { line: 979, column: 37, }, end: Position { line: 982, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 983, column: 13, }, end: Position { line: 983, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 983, column: 23, }, end: Position { line: 983, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 984, column: 13, }, end: Position { line: 984, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 984, column: 20, }, end: Position { line: 984, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 984, column: 26, }, end: Position { line: 984, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 984, column: 33, }, end: Position { line: 984, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 984, column: 39, }, end: Position { line: 984, column: 43, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 978, column: 27, }, end: Position { line: 985, column: 12, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 987, column: 11, }, end: Position { line: 987, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 987, column: 22, }, end: Position { line: 987, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 988, column: 13, }, end: Position { line: 988, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 988, column: 27, }, end: Position { line: 988, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 988, column: 31, }, end: Position { line: 988, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Grafana templates configuration in Nix. Can't be used with\n`services.grafana.provision.alerting.templates.path` simultaneously. See\n\nfor supported options.\n", span: Span { start: Position { line: 989, column: 1, }, end: Position { line: 993, column: 13, }, }, }, ), ], span: Span { start: Position { line: 988, column: 37, }, end: Position { line: 993, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 994, column: 13, }, end: Position { line: 994, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 994, column: 23, }, end: Position { line: 994, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 995, column: 13, }, end: Position { line: 995, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 995, column: 20, }, end: Position { line: 995, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 995, column: 26, }, end: Position { line: 995, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 995, column: 34, }, end: Position { line: 995, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 995, column: 40, }, end: Position { line: 995, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 996, column: 15, }, end: Position { line: 996, column: 22, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 997, column: 17, }, end: Position { line: 997, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 997, column: 30, }, end: Position { line: 997, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 998, column: 19, }, end: Position { line: 998, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 998, column: 33, }, end: Position { line: 998, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 998, column: 37, }, end: Position { line: 998, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Config file version.", span: Span { start: Position { line: 998, column: 44, }, end: Position { line: 998, column: 64, }, }, }, ), ], span: Span { start: Position { line: 998, column: 43, }, end: Position { line: 998, column: 65, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 999, column: 19, }, end: Position { line: 999, column: 26, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 999, column: 29, }, end: Position { line: 999, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1000, column: 19, }, end: Position { line: 1000, column: 23, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1000, column: 26, }, end: Position { line: 1000, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1000, column: 32, }, end: Position { line: 1000, column: 35, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 997, column: 39, }, end: Position { line: 1001, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "templates", span: Span { start: Position { line: 1003, column: 17, }, end: Position { line: 1003, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1003, column: 29, }, end: Position { line: 1003, column: 37, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1004, column: 19, }, end: Position { line: 1004, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1004, column: 33, }, end: Position { line: 1004, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1004, column: 37, }, end: Position { line: 1004, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of templates to import or update.", span: Span { start: Position { line: 1004, column: 44, }, end: Position { line: 1004, column: 82, }, }, }, ), ], span: Span { start: Position { line: 1004, column: 43, }, end: Position { line: 1004, column: 83, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1005, column: 19, }, end: Position { line: 1005, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1005, column: 29, }, end: Position { line: 1005, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1006, column: 19, }, end: Position { line: 1006, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1006, column: 26, }, end: Position { line: 1006, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1006, column: 32, }, end: Position { line: 1006, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1006, column: 40, }, end: Position { line: 1006, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1006, column: 46, }, end: Position { line: 1006, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "freeformType", span: Span { start: Position { line: 1007, column: 21, }, end: Position { line: 1007, column: 33, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 1007, column: 36, }, end: Position { line: 1007, column: 62, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1007, column: 63, }, end: Position { line: 1007, column: 67, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1009, column: 21, }, end: Position { line: 1009, column: 28, }, }, }, ), Raw( PartRaw { content: "name", span: Span { start: Position { line: 1009, column: 29, }, end: Position { line: 1009, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1009, column: 36, }, end: Position { line: 1009, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1010, column: 23, }, end: Position { line: 1010, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1010, column: 37, }, end: Position { line: 1010, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1010, column: 41, }, end: Position { line: 1010, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the template, must be unique. Required.", span: Span { start: Position { line: 1010, column: 48, }, end: Position { line: 1010, column: 95, }, }, }, ), ], span: Span { start: Position { line: 1010, column: 47, }, end: Position { line: 1010, column: 96, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1011, column: 23, }, end: Position { line: 1011, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1011, column: 30, }, end: Position { line: 1011, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1011, column: 36, }, end: Position { line: 1011, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 1009, column: 45, }, end: Position { line: 1012, column: 22, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1014, column: 21, }, end: Position { line: 1014, column: 28, }, }, }, ), Raw( PartRaw { content: "template", span: Span { start: Position { line: 1014, column: 29, }, end: Position { line: 1014, column: 37, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1014, column: 40, }, end: Position { line: 1014, column: 48, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1015, column: 23, }, end: Position { line: 1015, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1015, column: 37, }, end: Position { line: 1015, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1015, column: 41, }, end: Position { line: 1015, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Alerting with a custom text template", span: Span { start: Position { line: 1015, column: 48, }, end: Position { line: 1015, column: 84, }, }, }, ), ], span: Span { start: Position { line: 1015, column: 47, }, end: Position { line: 1015, column: 85, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1016, column: 23, }, end: Position { line: 1016, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1016, column: 30, }, end: Position { line: 1016, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1016, column: 36, }, end: Position { line: 1016, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 1014, column: 49, }, end: Position { line: 1017, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1006, column: 56, }, end: Position { line: 1018, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1003, column: 38, }, end: Position { line: 1019, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "deleteTemplates", span: Span { start: Position { line: 1021, column: 17, }, end: Position { line: 1021, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1021, column: 35, }, end: Position { line: 1021, column: 43, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1022, column: 19, }, end: Position { line: 1022, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1022, column: 33, }, end: Position { line: 1022, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1022, column: 37, }, end: Position { line: 1022, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of alert rule UIDs that should be deleted.", span: Span { start: Position { line: 1022, column: 44, }, end: Position { line: 1022, column: 91, }, }, }, ), ], span: Span { start: Position { line: 1022, column: 43, }, end: Position { line: 1022, column: 92, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1023, column: 19, }, end: Position { line: 1023, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1023, column: 29, }, end: Position { line: 1023, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1024, column: 19, }, end: Position { line: 1024, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1024, column: 26, }, end: Position { line: 1024, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1024, column: 32, }, end: Position { line: 1024, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1024, column: 40, }, end: Position { line: 1024, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1024, column: 46, }, end: Position { line: 1024, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1025, column: 21, }, end: Position { line: 1025, column: 28, }, }, }, ), Raw( PartRaw { content: "orgId", span: Span { start: Position { line: 1025, column: 29, }, end: Position { line: 1025, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1025, column: 37, }, end: Position { line: 1025, column: 45, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1026, column: 23, }, end: Position { line: 1026, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1026, column: 37, }, end: Position { line: 1026, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1026, column: 41, }, end: Position { line: 1026, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Organization ID, default = 1.", span: Span { start: Position { line: 1026, column: 48, }, end: Position { line: 1026, column: 77, }, }, }, ), ], span: Span { start: Position { line: 1026, column: 47, }, end: Position { line: 1026, column: 78, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1027, column: 23, }, end: Position { line: 1027, column: 30, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 1027, column: 33, }, end: Position { line: 1027, column: 34, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1028, column: 23, }, end: Position { line: 1028, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1028, column: 30, }, end: Position { line: 1028, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1028, column: 36, }, end: Position { line: 1028, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 1025, column: 46, }, end: Position { line: 1029, column: 22, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1031, column: 21, }, end: Position { line: 1031, column: 28, }, }, }, ), Raw( PartRaw { content: "name", span: Span { start: Position { line: 1031, column: 29, }, end: Position { line: 1031, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1031, column: 36, }, end: Position { line: 1031, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1032, column: 23, }, end: Position { line: 1032, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1032, column: 37, }, end: Position { line: 1032, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1032, column: 41, }, end: Position { line: 1032, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the template, must be unique. Required.", span: Span { start: Position { line: 1032, column: 48, }, end: Position { line: 1032, column: 95, }, }, }, ), ], span: Span { start: Position { line: 1032, column: 47, }, end: Position { line: 1032, column: 96, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1033, column: 23, }, end: Position { line: 1033, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1033, column: 30, }, end: Position { line: 1033, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1033, column: 36, }, end: Position { line: 1033, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 1031, column: 45, }, end: Position { line: 1034, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1024, column: 56, }, end: Position { line: 1035, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1021, column: 44, }, end: Position { line: 1036, column: 18, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 996, column: 25, }, end: Position { line: 1037, column: 16, }, }, }, ), }, ), ], span: Span { start: Position { line: 995, column: 50, }, end: Position { line: 1038, column: 14, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 1039, column: 13, }, end: Position { line: 1039, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 1039, column: 23, }, end: Position { line: 1039, column: 40, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "{\n apiVersion = 1;\n\n templates = [{\n orgId = 1;\n name = \"my_first_template\";\n template = \"Alerting with a custom text template\";\n }];\n\n deleteTemplates = [{\n orgId = 1;\n name = \"my_first_template\";\n }];\n}\n", span: Span { start: Position { line: 1040, column: 1, }, end: Position { line: 1054, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1039, column: 41, }, end: Position { line: 1054, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 987, column: 31, }, end: Position { line: 1055, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 977, column: 21, }, end: Position { line: 1056, column: 10, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "muteTimings", span: Span { start: Position { line: 1058, column: 9, }, end: Position { line: 1058, column: 20, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 1059, column: 11, }, end: Position { line: 1059, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1059, column: 18, }, end: Position { line: 1059, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1060, column: 13, }, end: Position { line: 1060, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1060, column: 27, }, end: Position { line: 1060, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1060, column: 31, }, end: Position { line: 1060, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Path to YAML mute timings configuration. Can't be used with\n`services.grafana.provision.alerting.muteTimings.settings` simultaneously.\n", span: Span { start: Position { line: 1061, column: 1, }, end: Position { line: 1063, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1060, column: 37, }, end: Position { line: 1063, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1064, column: 13, }, end: Position { line: 1064, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1064, column: 23, }, end: Position { line: 1064, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1065, column: 13, }, end: Position { line: 1065, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1065, column: 20, }, end: Position { line: 1065, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 1065, column: 26, }, end: Position { line: 1065, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1065, column: 33, }, end: Position { line: 1065, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 1065, column: 39, }, end: Position { line: 1065, column: 43, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1059, column: 27, }, end: Position { line: 1066, column: 12, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1068, column: 11, }, end: Position { line: 1068, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1068, column: 22, }, end: Position { line: 1068, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1069, column: 13, }, end: Position { line: 1069, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1069, column: 27, }, end: Position { line: 1069, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1069, column: 31, }, end: Position { line: 1069, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Grafana mute timings configuration in Nix. Can't be used with\n`services.grafana.provision.alerting.muteTimings.path` simultaneously. See\n\nfor supported options.\n", span: Span { start: Position { line: 1070, column: 1, }, end: Position { line: 1074, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1069, column: 37, }, end: Position { line: 1074, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1075, column: 13, }, end: Position { line: 1075, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1075, column: 23, }, end: Position { line: 1075, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1076, column: 13, }, end: Position { line: 1076, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1076, column: 20, }, end: Position { line: 1076, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 1076, column: 26, }, end: Position { line: 1076, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1076, column: 34, }, end: Position { line: 1076, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1076, column: 40, }, end: Position { line: 1076, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1077, column: 15, }, end: Position { line: 1077, column: 22, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "apiVersion", span: Span { start: Position { line: 1078, column: 17, }, end: Position { line: 1078, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1078, column: 30, }, end: Position { line: 1078, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1079, column: 19, }, end: Position { line: 1079, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1079, column: 33, }, end: Position { line: 1079, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1079, column: 37, }, end: Position { line: 1079, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Config file version.", span: Span { start: Position { line: 1079, column: 44, }, end: Position { line: 1079, column: 64, }, }, }, ), ], span: Span { start: Position { line: 1079, column: 43, }, end: Position { line: 1079, column: 65, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1080, column: 19, }, end: Position { line: 1080, column: 26, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 1080, column: 29, }, end: Position { line: 1080, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1081, column: 19, }, end: Position { line: 1081, column: 23, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1081, column: 26, }, end: Position { line: 1081, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1081, column: 32, }, end: Position { line: 1081, column: 35, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 1078, column: 39, }, end: Position { line: 1082, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "muteTimes", span: Span { start: Position { line: 1084, column: 17, }, end: Position { line: 1084, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1084, column: 29, }, end: Position { line: 1084, column: 37, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1085, column: 19, }, end: Position { line: 1085, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1085, column: 33, }, end: Position { line: 1085, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1085, column: 37, }, end: Position { line: 1085, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of mute time intervals to import or update.", span: Span { start: Position { line: 1085, column: 44, }, end: Position { line: 1085, column: 92, }, }, }, ), ], span: Span { start: Position { line: 1085, column: 43, }, end: Position { line: 1085, column: 93, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1086, column: 19, }, end: Position { line: 1086, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1086, column: 29, }, end: Position { line: 1086, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1087, column: 19, }, end: Position { line: 1087, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1087, column: 26, }, end: Position { line: 1087, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1087, column: 32, }, end: Position { line: 1087, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1087, column: 40, }, end: Position { line: 1087, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1087, column: 46, }, end: Position { line: 1087, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "freeformType", span: Span { start: Position { line: 1088, column: 21, }, end: Position { line: 1088, column: 33, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "provisioningSettingsFormat", span: Span { start: Position { line: 1088, column: 36, }, end: Position { line: 1088, column: 62, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1088, column: 63, }, end: Position { line: 1088, column: 67, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1090, column: 21, }, end: Position { line: 1090, column: 28, }, }, }, ), Raw( PartRaw { content: "name", span: Span { start: Position { line: 1090, column: 29, }, end: Position { line: 1090, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1090, column: 36, }, end: Position { line: 1090, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1091, column: 23, }, end: Position { line: 1091, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1091, column: 37, }, end: Position { line: 1091, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1091, column: 41, }, end: Position { line: 1091, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the mute time interval, must be unique. Required.", span: Span { start: Position { line: 1091, column: 48, }, end: Position { line: 1091, column: 105, }, }, }, ), ], span: Span { start: Position { line: 1091, column: 47, }, end: Position { line: 1091, column: 106, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1092, column: 23, }, end: Position { line: 1092, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1092, column: 30, }, end: Position { line: 1092, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1092, column: 36, }, end: Position { line: 1092, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 1090, column: 45, }, end: Position { line: 1093, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1087, column: 56, }, end: Position { line: 1094, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1084, column: 38, }, end: Position { line: 1095, column: 18, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "deleteMuteTimes", span: Span { start: Position { line: 1097, column: 17, }, end: Position { line: 1097, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1097, column: 35, }, end: Position { line: 1097, column: 43, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1098, column: 19, }, end: Position { line: 1098, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1098, column: 33, }, end: Position { line: 1098, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1098, column: 37, }, end: Position { line: 1098, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "List of mute time intervals that should be deleted.", span: Span { start: Position { line: 1098, column: 44, }, end: Position { line: 1098, column: 95, }, }, }, ), ], span: Span { start: Position { line: 1098, column: 43, }, end: Position { line: 1098, column: 96, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1099, column: 19, }, end: Position { line: 1099, column: 26, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1099, column: 29, }, end: Position { line: 1099, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1100, column: 19, }, end: Position { line: 1100, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1100, column: 26, }, end: Position { line: 1100, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1100, column: 32, }, end: Position { line: 1100, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1100, column: 40, }, end: Position { line: 1100, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1100, column: 46, }, end: Position { line: 1100, column: 55, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1101, column: 21, }, end: Position { line: 1101, column: 28, }, }, }, ), Raw( PartRaw { content: "orgId", span: Span { start: Position { line: 1101, column: 29, }, end: Position { line: 1101, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1101, column: 37, }, end: Position { line: 1101, column: 45, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1102, column: 23, }, end: Position { line: 1102, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1102, column: 37, }, end: Position { line: 1102, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1102, column: 41, }, end: Position { line: 1102, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Organization ID, default = 1.", span: Span { start: Position { line: 1102, column: 48, }, end: Position { line: 1102, column: 77, }, }, }, ), ], span: Span { start: Position { line: 1102, column: 47, }, end: Position { line: 1102, column: 78, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1103, column: 23, }, end: Position { line: 1103, column: 30, }, }, }, ), ], to: Integer( Integer { value: "1", span: Span { start: Position { line: 1103, column: 33, }, end: Position { line: 1103, column: 34, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1104, column: 23, }, end: Position { line: 1104, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1104, column: 30, }, end: Position { line: 1104, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1104, column: 36, }, end: Position { line: 1104, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 1101, column: 46, }, end: Position { line: 1105, column: 22, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1107, column: 21, }, end: Position { line: 1107, column: 28, }, }, }, ), Raw( PartRaw { content: "name", span: Span { start: Position { line: 1107, column: 29, }, end: Position { line: 1107, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1107, column: 36, }, end: Position { line: 1107, column: 44, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1108, column: 23, }, end: Position { line: 1108, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1108, column: 37, }, end: Position { line: 1108, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1108, column: 41, }, end: Position { line: 1108, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "Name of the mute time interval, must be unique. Required.", span: Span { start: Position { line: 1108, column: 48, }, end: Position { line: 1108, column: 105, }, }, }, ), ], span: Span { start: Position { line: 1108, column: 47, }, end: Position { line: 1108, column: 106, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1109, column: 23, }, end: Position { line: 1109, column: 27, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1109, column: 30, }, end: Position { line: 1109, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1109, column: 36, }, end: Position { line: 1109, column: 39, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 1107, column: 45, }, end: Position { line: 1110, column: 22, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1100, column: 56, }, end: Position { line: 1111, column: 20, }, }, }, ), ], }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1097, column: 44, }, end: Position { line: 1112, column: 18, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1077, column: 25, }, end: Position { line: 1113, column: 16, }, }, }, ), }, ), ], span: Span { start: Position { line: 1076, column: 50, }, end: Position { line: 1114, column: 14, }, }, }, ), ], }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 1115, column: 13, }, end: Position { line: 1115, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 1115, column: 23, }, end: Position { line: 1115, column: 40, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "{\n apiVersion = 1;\n\n muteTimes = [{\n orgId = 1;\n name = \"mti_1\";\n time_intervals = [{\n times = [{\n start_time = \"06:00\";\n end_time = \"23:59\";\n }];\n weekdays = [\n \"monday:wednesday\"\n \"saturday\"\n \"sunday\"\n ];\n months = [\n \"1:3\"\n \"may:august\"\n \"december\"\n ];\n years = [\n \"2020:2022\"\n \"2030\"\n ];\n days_of_month = [\n \"1:5\"\n \"-3:-1\"\n ];\n }];\n }];\n\n deleteMuteTimes = [{\n orgId = 1;\n name = \"mti_1\";\n }];\n}\n", span: Span { start: Position { line: 1116, column: 1, }, end: Position { line: 1153, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1115, column: 41, }, end: Position { line: 1153, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1068, column: 31, }, end: Position { line: 1154, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1058, column: 23, }, end: Position { line: 1155, column: 10, }, }, }, ), }, ), ], span: Span { start: Position { line: 704, column: 18, }, end: Position { line: 1156, column: 8, }, }, }, ), }, ), ], span: Span { start: Position { line: 562, column: 17, }, end: Position { line: 1157, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 283, column: 30, }, end: Position { line: 1158, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "config", span: Span { start: Position { line: 1160, column: 3, }, end: Position { line: 1160, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 1160, column: 12, }, end: Position { line: 1160, column: 16, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1160, column: 17, }, end: Position { line: 1160, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 1160, column: 21, }, end: Position { line: 1160, column: 27, }, }, }, ), ], default: None, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "warnings", span: Span { start: Position { line: 1161, column: 5, }, end: Position { line: 1161, column: 13, }, }, }, ), ], to: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "usesFileProvider", span: Span { start: Position { line: 1162, column: 7, }, end: Position { line: 1162, column: 23, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "opt", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "defaultValue", }, ), body: BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1162, column: 45, }, end: Position { line: 1162, column: 53, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "match", span: Span { start: Position { line: 1162, column: 54, }, end: Position { line: 1162, column: 59, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "^", span: Span { start: Position { line: 1162, column: 61, }, end: Position { line: 1162, column: 77, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "defaultValue", span: Span { start: Position { line: 1162, column: 64, }, end: Position { line: 1162, column: 76, }, }, }, ), }, ), Raw( PartRaw { content: "$|^\\$__file\\{.*}$", span: Span { start: Position { line: 1162, column: 61, }, end: Position { line: 1162, column: 96, }, }, }, ), ], span: Span { start: Position { line: 1162, column: 60, }, end: Position { line: 1162, column: 97, }, }, }, ), Identifier( Identifier { id: "opt", span: Span { start: Position { line: 1162, column: 98, }, end: Position { line: 1162, column: 101, }, }, }, ), ], }, ), operator: NotEqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1162, column: 105, }, end: Position { line: 1162, column: 109, }, }, }, ), }, ), span: Span { start: Position { line: 1162, column: 31, }, end: Position { line: 1162, column: 109, }, }, }, ), span: Span { start: Position { line: 1162, column: 26, }, end: Position { line: 1162, column: 109, }, }, }, ), }, ), ], target: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "flatten", span: Span { start: Position { line: 1163, column: 8, }, end: Position { line: 1163, column: 15, }, }, }, ), arguments: [ List( List { elements: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 1164, column: 8, }, end: Position { line: 1164, column: 16, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: UnaryOperation( UnaryOperation { operator: Not, operand: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "usesFileProvider", span: Span { start: Position { line: 1165, column: 11, }, end: Position { line: 1165, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1165, column: 28, }, end: Position { line: 1165, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1165, column: 32, }, end: Position { line: 1165, column: 40, }, }, }, ), Raw( PartRaw { content: "database", span: Span { start: Position { line: 1165, column: 41, }, end: Position { line: 1165, column: 49, }, }, }, ), Raw( PartRaw { content: "password", span: Span { start: Position { line: 1165, column: 50, }, end: Position { line: 1165, column: 58, }, }, }, ), ], default: None, }, ), String( String_ { parts: [], span: Span { start: Position { line: 1165, column: 59, }, end: Position { line: 1165, column: 61, }, }, }, ), ], }, ), span: Span { start: Position { line: 1165, column: 9, }, end: Position { line: 1165, column: 61, }, }, }, ), operator: LogicalOr, right: UnaryOperation( UnaryOperation { operator: Not, operand: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "usesFileProvider", span: Span { start: Position { line: 1166, column: 11, }, end: Position { line: 1166, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1166, column: 28, }, end: Position { line: 1166, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1166, column: 32, }, end: Position { line: 1166, column: 40, }, }, }, ), Raw( PartRaw { content: "security", span: Span { start: Position { line: 1166, column: 41, }, end: Position { line: 1166, column: 49, }, }, }, ), Raw( PartRaw { content: "admin_password", span: Span { start: Position { line: 1166, column: 50, }, end: Position { line: 1166, column: 64, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "admin", span: Span { start: Position { line: 1166, column: 66, }, end: Position { line: 1166, column: 71, }, }, }, ), ], span: Span { start: Position { line: 1166, column: 65, }, end: Position { line: 1166, column: 72, }, }, }, ), ], }, ), span: Span { start: Position { line: 1166, column: 9, }, end: Position { line: 1166, column: 72, }, }, }, ), }, ), String( String_ { parts: [ Raw( PartRaw { content: "Grafana passwords will be stored as plaintext in the Nix store! Use file provider instead.", span: Span { start: Position { line: 1167, column: 10, }, end: Position { line: 1167, column: 100, }, }, }, ), ], span: Span { start: Position { line: 1167, column: 9, }, end: Position { line: 1167, column: 101, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 1168, column: 8, }, end: Position { line: 1168, column: 16, }, }, }, ), arguments: [ LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "checkOpts", span: Span { start: Position { line: 1170, column: 11, }, end: Position { line: 1170, column: 20, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "opt", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "any", span: Span { start: Position { line: 1170, column: 28, }, end: Position { line: 1170, column: 31, }, }, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 1170, column: 36, }, end: Position { line: 1170, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 1170, column: 38, }, end: Position { line: 1170, column: 46, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1170, column: 50, }, end: Position { line: 1170, column: 54, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 1170, column: 58, }, end: Position { line: 1170, column: 59, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "basicAuthPassword", span: Span { start: Position { line: 1170, column: 60, }, end: Position { line: 1170, column: 77, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1170, column: 81, }, end: Position { line: 1170, column: 85, }, }, }, ), }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 1170, column: 89, }, end: Position { line: 1170, column: 90, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "secureJsonData", span: Span { start: Position { line: 1170, column: 91, }, end: Position { line: 1170, column: 105, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1170, column: 109, }, end: Position { line: 1170, column: 113, }, }, }, ), }, ), }, ), span: Span { start: Position { line: 1170, column: 33, }, end: Position { line: 1170, column: 113, }, }, }, ), Identifier( Identifier { id: "opt", span: Span { start: Position { line: 1170, column: 115, }, end: Position { line: 1170, column: 118, }, }, }, ), ], }, ), span: Span { start: Position { line: 1170, column: 23, }, end: Position { line: 1170, column: 118, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "datasourcesUsed", span: Span { start: Position { line: 1171, column: 11, }, end: Position { line: 1171, column: 26, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1171, column: 33, }, end: Position { line: 1171, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1171, column: 37, }, end: Position { line: 1171, column: 46, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1171, column: 47, }, end: Position { line: 1171, column: 58, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1171, column: 59, }, end: Position { line: 1171, column: 67, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1171, column: 71, }, end: Position { line: 1171, column: 75, }, }, }, ), }, ), then: List( List { elements: [], span: Span { start: Position { line: 1171, column: 82, }, end: Position { line: 1171, column: 84, }, }, }, ), else_: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1171, column: 90, }, end: Position { line: 1171, column: 93, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1171, column: 94, }, end: Position { line: 1171, column: 103, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1171, column: 104, }, end: Position { line: 1171, column: 115, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1171, column: 116, }, end: Position { line: 1171, column: 124, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1171, column: 125, }, end: Position { line: 1171, column: 136, }, }, }, ), ], default: None, }, ), span: Span { start: Position { line: 1171, column: 29, }, end: Position { line: 1171, column: 136, }, }, }, ), }, ), ], target: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1172, column: 16, }, end: Position { line: 1172, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 1172, column: 25, }, end: Position { line: 1172, column: 31, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1172, column: 32, }, end: Position { line: 1172, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1172, column: 36, }, end: Position { line: 1172, column: 45, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1172, column: 46, }, end: Position { line: 1172, column: 57, }, }, }, ), ], default: None, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "checkOpts", span: Span { start: Position { line: 1172, column: 64, }, end: Position { line: 1172, column: 73, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1172, column: 74, }, end: Position { line: 1172, column: 77, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1172, column: 78, }, end: Position { line: 1172, column: 87, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1172, column: 88, }, end: Position { line: 1172, column: 99, }, }, }, ), ], default: None, }, ), ], }, ), else_: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "checkOpts", span: Span { start: Position { line: 1172, column: 105, }, end: Position { line: 1172, column: 114, }, }, }, ), arguments: [ Identifier( Identifier { id: "datasourcesUsed", span: Span { start: Position { line: 1172, column: 115, }, end: Position { line: 1172, column: 130, }, }, }, ), ], }, ), span: Span { start: Position { line: 1172, column: 12, }, end: Position { line: 1172, column: 130, }, }, }, ), span: Span { start: Position { line: 1169, column: 9, }, end: Position { line: 1172, column: 130, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Datasource passwords will be stored as plaintext in the Nix store!\nIt is not possible to use file provider in provisioning; please provision\ndatasources via `services.grafana.provision.datasources.path` instead.\n", span: Span { start: Position { line: 1174, column: 1, }, end: Position { line: 1177, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1173, column: 11, }, end: Position { line: 1177, column: 11, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 1178, column: 8, }, end: Position { line: 1178, column: 16, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "any", span: Span { start: Position { line: 1179, column: 9, }, end: Position { line: 1179, column: 12, }, }, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 1179, column: 17, }, end: Position { line: 1179, column: 18, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "secure_settings", span: Span { start: Position { line: 1179, column: 19, }, end: Position { line: 1179, column: 34, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1179, column: 38, }, end: Position { line: 1179, column: 42, }, }, }, ), }, ), span: Span { start: Position { line: 1179, column: 14, }, end: Position { line: 1179, column: 42, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1179, column: 44, }, end: Position { line: 1179, column: 47, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1179, column: 48, }, end: Position { line: 1179, column: 57, }, }, }, ), Raw( PartRaw { content: "notifiers", span: Span { start: Position { line: 1179, column: 58, }, end: Position { line: 1179, column: 67, }, }, }, ), ], default: None, }, ), ], }, ), String( String_ { parts: [ Raw( PartRaw { content: "Notifier secure settings will be stored as plaintext in the Nix store! Use file provider instead.", span: Span { start: Position { line: 1180, column: 10, }, end: Position { line: 1180, column: 107, }, }, }, ), ], span: Span { start: Position { line: 1180, column: 9, }, end: Position { line: 1180, column: 108, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 1181, column: 8, }, end: Position { line: 1181, column: 16, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1182, column: 9, }, end: Position { line: 1182, column: 17, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 1182, column: 18, }, end: Position { line: 1182, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1182, column: 25, }, end: Position { line: 1182, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1182, column: 29, }, end: Position { line: 1182, column: 38, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1182, column: 39, }, end: Position { line: 1182, column: 50, }, }, }, ), ], default: None, }, ), ], }, ), operator: LogicalAnd, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1182, column: 54, }, end: Position { line: 1182, column: 57, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1182, column: 58, }, end: Position { line: 1182, column: 67, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1182, column: 68, }, end: Position { line: 1182, column: 79, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: List( List { elements: [], span: Span { start: Position { line: 1182, column: 83, }, end: Position { line: 1182, column: 85, }, }, }, ), }, ), }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Provisioning Grafana datasources with options has been deprecated.\nUse `services.grafana.provision.datasources.settings` or\n`services.grafana.provision.datasources.path` instead.\n", span: Span { start: Position { line: 1184, column: 1, }, end: Position { line: 1187, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1183, column: 9, }, end: Position { line: 1187, column: 11, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 1188, column: 8, }, end: Position { line: 1188, column: 16, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1189, column: 9, }, end: Position { line: 1189, column: 17, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 1189, column: 18, }, end: Position { line: 1189, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1189, column: 25, }, end: Position { line: 1189, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1189, column: 29, }, end: Position { line: 1189, column: 38, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1189, column: 39, }, end: Position { line: 1189, column: 50, }, }, }, ), ], default: None, }, ), ], }, ), operator: LogicalAnd, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1189, column: 54, }, end: Position { line: 1189, column: 57, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1189, column: 58, }, end: Position { line: 1189, column: 67, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 1189, column: 68, }, end: Position { line: 1189, column: 78, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: List( List { elements: [], span: Span { start: Position { line: 1189, column: 82, }, end: Position { line: 1189, column: 84, }, }, }, ), }, ), }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Provisioning Grafana dashboards with options has been deprecated.\nUse `services.grafana.provision.dashboards.settings` or\n`services.grafana.provision.dashboards.path` instead.\n", span: Span { start: Position { line: 1191, column: 1, }, end: Position { line: 1194, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1190, column: 9, }, end: Position { line: 1194, column: 11, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 1195, column: 8, }, end: Position { line: 1195, column: 16, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1196, column: 9, }, end: Position { line: 1196, column: 12, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1196, column: 13, }, end: Position { line: 1196, column: 22, }, }, }, ), Raw( PartRaw { content: "notifiers", span: Span { start: Position { line: 1196, column: 23, }, end: Position { line: 1196, column: 32, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: List( List { elements: [], span: Span { start: Position { line: 1196, column: 36, }, end: Position { line: 1196, column: 38, }, }, }, ), }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Notifiers are deprecated upstream and will be removed in Grafana 10.\nUse `services.grafana.provision.alerting.contactPoints` instead.\n", span: Span { start: Position { line: 1198, column: 1, }, end: Position { line: 1200, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1197, column: 11, }, end: Position { line: 1200, column: 11, }, }, }, ), ], }, ), ], span: Span { start: Position { line: 1163, column: 16, }, end: Position { line: 1201, column: 6, }, }, }, ), ], }, ), span: Span { start: Position { line: 1161, column: 16, }, end: Position { line: 1201, column: 6, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 1203, column: 5, }, end: Position { line: 1203, column: 16, }, }, }, ), Raw( PartRaw { content: "systemPackages", span: Span { start: Position { line: 1203, column: 17, }, end: Position { line: 1203, column: 31, }, }, }, ), ], to: List( List { elements: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1203, column: 36, }, end: Position { line: 1203, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 1203, column: 40, }, end: Position { line: 1203, column: 47, }, }, }, ), ], default: None, }, ), ], span: Span { start: Position { line: 1203, column: 34, }, end: Position { line: 1203, column: 49, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertions", span: Span { start: Position { line: 1205, column: 5, }, end: Position { line: 1205, column: 15, }, }, }, ), ], to: List( List { elements: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1207, column: 9, }, end: Position { line: 1207, column: 18, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1207, column: 25, }, end: Position { line: 1207, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 1207, column: 34, }, end: Position { line: 1207, column: 40, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1207, column: 41, }, end: Position { line: 1207, column: 44, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1207, column: 45, }, end: Position { line: 1207, column: 54, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1207, column: 55, }, end: Position { line: 1207, column: 66, }, }, }, ), ], default: None, }, ), ], }, ), then: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1207, column: 73, }, end: Position { line: 1207, column: 77, }, }, }, ), else_: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1207, column: 83, }, end: Position { line: 1207, column: 86, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1207, column: 87, }, end: Position { line: 1207, column: 96, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1207, column: 97, }, end: Position { line: 1207, column: 108, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1207, column: 109, }, end: Position { line: 1207, column: 117, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1207, column: 121, }, end: Position { line: 1207, column: 125, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1207, column: 129, }, end: Position { line: 1207, column: 132, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1207, column: 133, }, end: Position { line: 1207, column: 142, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1207, column: 143, }, end: Position { line: 1207, column: 154, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 1207, column: 155, }, end: Position { line: 1207, column: 159, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1207, column: 163, }, end: Position { line: 1207, column: 167, }, }, }, ), }, ), }, ), span: Span { start: Position { line: 1207, column: 21, }, end: Position { line: 1207, column: 167, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1208, column: 9, }, end: Position { line: 1208, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Cannot set both datasources settings and datasources path", span: Span { start: Position { line: 1208, column: 20, }, end: Position { line: 1208, column: 77, }, }, }, ), ], span: Span { start: Position { line: 1208, column: 19, }, end: Position { line: 1208, column: 78, }, }, }, ), }, ), ], span: Span { start: Position { line: 1206, column: 7, }, end: Position { line: 1209, column: 8, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1211, column: 9, }, end: Position { line: 1211, column: 18, }, }, }, ), ], to: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "prometheusIsNotDirect", span: Span { start: Position { line: 1212, column: 11, }, end: Position { line: 1212, column: 32, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "opt", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "all", span: Span { start: Position { line: 1212, column: 40, }, end: Position { line: 1212, column: 43, }, }, }, ), arguments: [ Function( Function { head: Destructured( FunctionHeadDestructured { ellipsis: true, identifier: None, arguments: [ FunctionHeadDestructuredArgument { identifier: "type", default: None, }, FunctionHeadDestructuredArgument { identifier: "access", default: None, }, ], }, ), body: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "type", span: Span { start: Position { line: 1213, column: 35, }, end: Position { line: 1213, column: 39, }, }, }, ), operator: EqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1213, column: 44, }, end: Position { line: 1213, column: 54, }, }, }, ), ], span: Span { start: Position { line: 1213, column: 43, }, end: Position { line: 1213, column: 55, }, }, }, ), }, ), operator: Implication, right: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "access", span: Span { start: Position { line: 1213, column: 59, }, end: Position { line: 1213, column: 65, }, }, }, ), operator: NotEqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "direct", span: Span { start: Position { line: 1213, column: 70, }, end: Position { line: 1213, column: 76, }, }, }, ), ], span: Span { start: Position { line: 1213, column: 69, }, end: Position { line: 1213, column: 77, }, }, }, ), }, ), }, ), span: Span { start: Position { line: 1213, column: 12, }, end: Position { line: 1213, column: 77, }, }, }, ), Identifier( Identifier { id: "opt", span: Span { start: Position { line: 1214, column: 11, }, end: Position { line: 1214, column: 14, }, }, }, ), ], }, ), span: Span { start: Position { line: 1212, column: 35, }, end: Position { line: 1214, column: 14, }, }, }, ), }, ), ], target: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1216, column: 15, }, end: Position { line: 1216, column: 23, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 1216, column: 24, }, end: Position { line: 1216, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1216, column: 31, }, end: Position { line: 1216, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1216, column: 35, }, end: Position { line: 1216, column: 44, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1216, column: 45, }, end: Position { line: 1216, column: 56, }, }, }, ), ], default: None, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "prometheusIsNotDirect", span: Span { start: Position { line: 1216, column: 63, }, end: Position { line: 1216, column: 84, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1216, column: 85, }, end: Position { line: 1216, column: 88, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1216, column: 89, }, end: Position { line: 1216, column: 98, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1216, column: 99, }, end: Position { line: 1216, column: 110, }, }, }, ), ], default: None, }, ), ], }, ), else_: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1217, column: 16, }, end: Position { line: 1217, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1217, column: 20, }, end: Position { line: 1217, column: 29, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1217, column: 30, }, end: Position { line: 1217, column: 41, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1217, column: 42, }, end: Position { line: 1217, column: 50, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1217, column: 54, }, end: Position { line: 1217, column: 58, }, }, }, ), }, ), operator: LogicalOr, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "prometheusIsNotDirect", span: Span { start: Position { line: 1217, column: 62, }, end: Position { line: 1217, column: 83, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1217, column: 84, }, end: Position { line: 1217, column: 87, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1217, column: 88, }, end: Position { line: 1217, column: 97, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1217, column: 98, }, end: Position { line: 1217, column: 109, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1217, column: 110, }, end: Position { line: 1217, column: 118, }, }, }, ), Raw( PartRaw { content: "datasources", span: Span { start: Position { line: 1217, column: 119, }, end: Position { line: 1217, column: 130, }, }, }, ), ], default: None, }, ), ], }, ), }, ), span: Span { start: Position { line: 1216, column: 11, }, end: Position { line: 1217, column: 130, }, }, }, ), span: Span { start: Position { line: 1211, column: 21, }, end: Position { line: 1217, column: 130, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1218, column: 9, }, end: Position { line: 1218, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "For datasources of type `prometheus`, the `direct` access mode is not supported anymore (since Grafana 9.2.0)", span: Span { start: Position { line: 1218, column: 20, }, end: Position { line: 1218, column: 129, }, }, }, ), ], span: Span { start: Position { line: 1218, column: 19, }, end: Position { line: 1218, column: 130, }, }, }, ), }, ), ], span: Span { start: Position { line: 1210, column: 7, }, end: Position { line: 1219, column: 8, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1221, column: 9, }, end: Position { line: 1221, column: 18, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1221, column: 25, }, end: Position { line: 1221, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isList", span: Span { start: Position { line: 1221, column: 34, }, end: Position { line: 1221, column: 40, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1221, column: 41, }, end: Position { line: 1221, column: 44, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1221, column: 45, }, end: Position { line: 1221, column: 54, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 1221, column: 55, }, end: Position { line: 1221, column: 65, }, }, }, ), ], default: None, }, ), ], }, ), then: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1221, column: 72, }, end: Position { line: 1221, column: 76, }, }, }, ), else_: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1221, column: 82, }, end: Position { line: 1221, column: 85, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1221, column: 86, }, end: Position { line: 1221, column: 95, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 1221, column: 96, }, end: Position { line: 1221, column: 106, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1221, column: 107, }, end: Position { line: 1221, column: 115, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1221, column: 119, }, end: Position { line: 1221, column: 123, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1221, column: 127, }, end: Position { line: 1221, column: 130, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1221, column: 131, }, end: Position { line: 1221, column: 140, }, }, }, ), Raw( PartRaw { content: "dashboards", span: Span { start: Position { line: 1221, column: 141, }, end: Position { line: 1221, column: 151, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 1221, column: 152, }, end: Position { line: 1221, column: 156, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1221, column: 160, }, end: Position { line: 1221, column: 164, }, }, }, ), }, ), }, ), span: Span { start: Position { line: 1221, column: 21, }, end: Position { line: 1221, column: 164, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1222, column: 9, }, end: Position { line: 1222, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Cannot set both dashboards settings and dashboards path", span: Span { start: Position { line: 1222, column: 20, }, end: Position { line: 1222, column: 75, }, }, }, ), ], span: Span { start: Position { line: 1222, column: 19, }, end: Position { line: 1222, column: 76, }, }, }, ), }, ), ], span: Span { start: Position { line: 1220, column: 7, }, end: Position { line: 1223, column: 8, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1225, column: 9, }, end: Position { line: 1225, column: 18, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1225, column: 21, }, end: Position { line: 1225, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1225, column: 25, }, end: Position { line: 1225, column: 34, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1225, column: 35, }, end: Position { line: 1225, column: 43, }, }, }, ), Raw( PartRaw { content: "rules", span: Span { start: Position { line: 1225, column: 44, }, end: Position { line: 1225, column: 49, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1225, column: 50, }, end: Position { line: 1225, column: 58, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1225, column: 62, }, end: Position { line: 1225, column: 66, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1225, column: 70, }, end: Position { line: 1225, column: 73, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1225, column: 74, }, end: Position { line: 1225, column: 83, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1225, column: 84, }, end: Position { line: 1225, column: 92, }, }, }, ), Raw( PartRaw { content: "rules", span: Span { start: Position { line: 1225, column: 93, }, end: Position { line: 1225, column: 98, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 1225, column: 99, }, end: Position { line: 1225, column: 103, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1225, column: 107, }, end: Position { line: 1225, column: 111, }, }, }, ), }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1226, column: 9, }, end: Position { line: 1226, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Cannot set both rules settings and rules path", span: Span { start: Position { line: 1226, column: 20, }, end: Position { line: 1226, column: 65, }, }, }, ), ], span: Span { start: Position { line: 1226, column: 19, }, end: Position { line: 1226, column: 66, }, }, }, ), }, ), ], span: Span { start: Position { line: 1224, column: 7, }, end: Position { line: 1227, column: 8, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1229, column: 9, }, end: Position { line: 1229, column: 18, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1229, column: 21, }, end: Position { line: 1229, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1229, column: 25, }, end: Position { line: 1229, column: 34, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1229, column: 35, }, end: Position { line: 1229, column: 43, }, }, }, ), Raw( PartRaw { content: "contactPoints", span: Span { start: Position { line: 1229, column: 44, }, end: Position { line: 1229, column: 57, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1229, column: 58, }, end: Position { line: 1229, column: 66, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1229, column: 70, }, end: Position { line: 1229, column: 74, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1229, column: 78, }, end: Position { line: 1229, column: 81, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1229, column: 82, }, end: Position { line: 1229, column: 91, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1229, column: 92, }, end: Position { line: 1229, column: 100, }, }, }, ), Raw( PartRaw { content: "contactPoints", span: Span { start: Position { line: 1229, column: 101, }, end: Position { line: 1229, column: 114, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 1229, column: 115, }, end: Position { line: 1229, column: 119, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1229, column: 123, }, end: Position { line: 1229, column: 127, }, }, }, ), }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1230, column: 9, }, end: Position { line: 1230, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Cannot set both contact points settings and contact points path", span: Span { start: Position { line: 1230, column: 20, }, end: Position { line: 1230, column: 83, }, }, }, ), ], span: Span { start: Position { line: 1230, column: 19, }, end: Position { line: 1230, column: 84, }, }, }, ), }, ), ], span: Span { start: Position { line: 1228, column: 7, }, end: Position { line: 1231, column: 8, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1233, column: 9, }, end: Position { line: 1233, column: 18, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1233, column: 21, }, end: Position { line: 1233, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1233, column: 25, }, end: Position { line: 1233, column: 34, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1233, column: 35, }, end: Position { line: 1233, column: 43, }, }, }, ), Raw( PartRaw { content: "policies", span: Span { start: Position { line: 1233, column: 44, }, end: Position { line: 1233, column: 52, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1233, column: 53, }, end: Position { line: 1233, column: 61, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1233, column: 65, }, end: Position { line: 1233, column: 69, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1233, column: 73, }, end: Position { line: 1233, column: 76, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1233, column: 77, }, end: Position { line: 1233, column: 86, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1233, column: 87, }, end: Position { line: 1233, column: 95, }, }, }, ), Raw( PartRaw { content: "policies", span: Span { start: Position { line: 1233, column: 96, }, end: Position { line: 1233, column: 104, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 1233, column: 105, }, end: Position { line: 1233, column: 109, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1233, column: 113, }, end: Position { line: 1233, column: 117, }, }, }, ), }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1234, column: 9, }, end: Position { line: 1234, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Cannot set both policies settings and policies path", span: Span { start: Position { line: 1234, column: 20, }, end: Position { line: 1234, column: 71, }, }, }, ), ], span: Span { start: Position { line: 1234, column: 19, }, end: Position { line: 1234, column: 72, }, }, }, ), }, ), ], span: Span { start: Position { line: 1232, column: 7, }, end: Position { line: 1235, column: 8, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1237, column: 9, }, end: Position { line: 1237, column: 18, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1237, column: 21, }, end: Position { line: 1237, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1237, column: 25, }, end: Position { line: 1237, column: 34, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1237, column: 35, }, end: Position { line: 1237, column: 43, }, }, }, ), Raw( PartRaw { content: "templates", span: Span { start: Position { line: 1237, column: 44, }, end: Position { line: 1237, column: 53, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1237, column: 54, }, end: Position { line: 1237, column: 62, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1237, column: 66, }, end: Position { line: 1237, column: 70, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1237, column: 74, }, end: Position { line: 1237, column: 77, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1237, column: 78, }, end: Position { line: 1237, column: 87, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1237, column: 88, }, end: Position { line: 1237, column: 96, }, }, }, ), Raw( PartRaw { content: "templates", span: Span { start: Position { line: 1237, column: 97, }, end: Position { line: 1237, column: 106, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 1237, column: 107, }, end: Position { line: 1237, column: 111, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1237, column: 115, }, end: Position { line: 1237, column: 119, }, }, }, ), }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1238, column: 9, }, end: Position { line: 1238, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Cannot set both templates settings and templates path", span: Span { start: Position { line: 1238, column: 20, }, end: Position { line: 1238, column: 73, }, }, }, ), ], span: Span { start: Position { line: 1238, column: 19, }, end: Position { line: 1238, column: 74, }, }, }, ), }, ), ], span: Span { start: Position { line: 1236, column: 7, }, end: Position { line: 1239, column: 8, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1241, column: 9, }, end: Position { line: 1241, column: 18, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1241, column: 21, }, end: Position { line: 1241, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1241, column: 25, }, end: Position { line: 1241, column: 34, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1241, column: 35, }, end: Position { line: 1241, column: 43, }, }, }, ), Raw( PartRaw { content: "muteTimings", span: Span { start: Position { line: 1241, column: 44, }, end: Position { line: 1241, column: 55, }, }, }, ), Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1241, column: 56, }, end: Position { line: 1241, column: 64, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1241, column: 68, }, end: Position { line: 1241, column: 72, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1241, column: 76, }, end: Position { line: 1241, column: 79, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "provision", span: Span { start: Position { line: 1241, column: 80, }, end: Position { line: 1241, column: 89, }, }, }, ), Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 1241, column: 90, }, end: Position { line: 1241, column: 98, }, }, }, ), Raw( PartRaw { content: "muteTimings", span: Span { start: Position { line: 1241, column: 99, }, end: Position { line: 1241, column: 110, }, }, }, ), Raw( PartRaw { content: "path", span: Span { start: Position { line: 1241, column: 111, }, end: Position { line: 1241, column: 115, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1241, column: 119, }, end: Position { line: 1241, column: 123, }, }, }, ), }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1242, column: 9, }, end: Position { line: 1242, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Cannot set both mute timings settings and mute timings path", span: Span { start: Position { line: 1242, column: 20, }, end: Position { line: 1242, column: 79, }, }, }, ), ], span: Span { start: Position { line: 1242, column: 19, }, end: Position { line: 1242, column: 80, }, }, }, ), }, ), ], span: Span { start: Position { line: 1240, column: 7, }, end: Position { line: 1243, column: 8, }, }, }, ), ], span: Span { start: Position { line: 1205, column: 18, }, end: Position { line: 1244, column: 6, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "systemd", span: Span { start: Position { line: 1246, column: 5, }, end: Position { line: 1246, column: 12, }, }, }, ), Raw( PartRaw { content: "services", span: Span { start: Position { line: 1246, column: 13, }, end: Position { line: 1246, column: 21, }, }, }, ), Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 1246, column: 22, }, end: Position { line: 1246, column: 29, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1247, column: 7, }, end: Position { line: 1247, column: 18, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Grafana Service Daemon", span: Span { start: Position { line: 1247, column: 22, }, end: Position { line: 1247, column: 44, }, }, }, ), ], span: Span { start: Position { line: 1247, column: 21, }, end: Position { line: 1247, column: 45, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "wantedBy", span: Span { start: Position { line: 1248, column: 7, }, end: Position { line: 1248, column: 15, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "multi-user.target", span: Span { start: Position { line: 1248, column: 20, }, end: Position { line: 1248, column: 37, }, }, }, ), ], span: Span { start: Position { line: 1248, column: 19, }, end: Position { line: 1248, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1248, column: 18, }, end: Position { line: 1248, column: 39, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "after", span: Span { start: Position { line: 1249, column: 7, }, end: Position { line: 1249, column: 12, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "networking.target", span: Span { start: Position { line: 1249, column: 17, }, end: Position { line: 1249, column: 34, }, }, }, ), ], span: Span { start: Position { line: 1249, column: 16, }, end: Position { line: 1249, column: 35, }, }, }, ), ], span: Span { start: Position { line: 1249, column: 15, }, end: Position { line: 1249, column: 36, }, }, }, ), operator: Concatenation, right: BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1249, column: 40, }, end: Position { line: 1249, column: 43, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "optional", span: Span { start: Position { line: 1249, column: 44, }, end: Position { line: 1249, column: 52, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "usePostgresql", span: Span { start: Position { line: 1249, column: 53, }, end: Position { line: 1249, column: 66, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "postgresql.service", span: Span { start: Position { line: 1249, column: 68, }, end: Position { line: 1249, column: 86, }, }, }, ), ], span: Span { start: Position { line: 1249, column: 67, }, end: Position { line: 1249, column: 87, }, }, }, ), ], }, ), operator: Concatenation, right: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1249, column: 91, }, end: Position { line: 1249, column: 94, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "optional", span: Span { start: Position { line: 1249, column: 95, }, end: Position { line: 1249, column: 103, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "useMysql", span: Span { start: Position { line: 1249, column: 104, }, end: Position { line: 1249, column: 112, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "mysql.service", span: Span { start: Position { line: 1249, column: 114, }, end: Position { line: 1249, column: 127, }, }, }, ), ], span: Span { start: Position { line: 1249, column: 113, }, end: Position { line: 1249, column: 128, }, }, }, ), ], }, ), }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "script", span: Span { start: Position { line: 1250, column: 7, }, end: Position { line: 1250, column: 13, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "set -o errexit -o pipefail -o nounset -o errtrace\nshopt -s inherit_errexit\n\nexec ", span: Span { start: Position { line: 1251, column: 1, }, end: Position { line: 1254, column: 14, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1254, column: 16, }, end: Position { line: 1254, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 1254, column: 20, }, end: Position { line: 1254, column: 27, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/bin/grafana-server -homepath ", span: Span { start: Position { line: 1251, column: 1, }, end: Position { line: 1254, column: 58, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1254, column: 60, }, end: Position { line: 1254, column: 63, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 1254, column: 64, }, end: Position { line: 1254, column: 71, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: " -config ", span: Span { start: Position { line: 1251, column: 1, }, end: Position { line: 1254, column: 81, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "configFile", span: Span { start: Position { line: 1254, column: 83, }, end: Position { line: 1254, column: 93, }, }, }, ), }, ), Raw( PartRaw { content: "\n", span: Span { start: Position { line: 1251, column: 1, }, end: Position { line: 1255, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1250, column: 16, }, end: Position { line: 1255, column: 9, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "serviceConfig", span: Span { start: Position { line: 1256, column: 7, }, end: Position { line: 1256, column: 20, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "WorkingDirectory", span: Span { start: Position { line: 1257, column: 9, }, end: Position { line: 1257, column: 25, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1257, column: 28, }, end: Position { line: 1257, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 1257, column: 32, }, end: Position { line: 1257, column: 39, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "User", span: Span { start: Position { line: 1258, column: 9, }, end: Position { line: 1258, column: 13, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 1258, column: 17, }, end: Position { line: 1258, column: 24, }, }, }, ), ], span: Span { start: Position { line: 1258, column: 16, }, end: Position { line: 1258, column: 25, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RuntimeDirectory", span: Span { start: Position { line: 1259, column: 9, }, end: Position { line: 1259, column: 25, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 1259, column: 29, }, end: Position { line: 1259, column: 36, }, }, }, ), ], span: Span { start: Position { line: 1259, column: 28, }, end: Position { line: 1259, column: 37, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RuntimeDirectoryMode", span: Span { start: Position { line: 1260, column: 9, }, end: Position { line: 1260, column: 29, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "0755", span: Span { start: Position { line: 1260, column: 33, }, end: Position { line: 1260, column: 37, }, }, }, ), ], span: Span { start: Position { line: 1260, column: 32, }, end: Position { line: 1260, column: 38, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "AmbientCapabilities", span: Span { start: Position { line: 1262, column: 9, }, end: Position { line: 1262, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1262, column: 31, }, end: Position { line: 1262, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mkIf", span: Span { start: Position { line: 1262, column: 35, }, end: Position { line: 1262, column: 39, }, }, }, ), ], default: None, }, ), arguments: [ BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1262, column: 41, }, end: Position { line: 1262, column: 44, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1262, column: 45, }, end: Position { line: 1262, column: 53, }, }, }, ), Raw( PartRaw { content: "server", span: Span { start: Position { line: 1262, column: 54, }, end: Position { line: 1262, column: 60, }, }, }, ), Raw( PartRaw { content: "http_port", span: Span { start: Position { line: 1262, column: 61, }, end: Position { line: 1262, column: 70, }, }, }, ), ], default: None, }, ), operator: LessThan, right: Integer( Integer { value: "1024", span: Span { start: Position { line: 1262, column: 73, }, end: Position { line: 1262, column: 77, }, }, }, ), }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "CAP_NET_BIND_SERVICE", span: Span { start: Position { line: 1262, column: 82, }, end: Position { line: 1262, column: 102, }, }, }, ), ], span: Span { start: Position { line: 1262, column: 81, }, end: Position { line: 1262, column: 103, }, }, }, ), ], span: Span { start: Position { line: 1262, column: 79, }, end: Position { line: 1262, column: 105, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "CapabilityBoundingSet", span: Span { start: Position { line: 1263, column: 9, }, end: Position { line: 1263, column: 30, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1263, column: 37, }, end: Position { line: 1263, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "settings", span: Span { start: Position { line: 1263, column: 41, }, end: Position { line: 1263, column: 49, }, }, }, ), Raw( PartRaw { content: "server", span: Span { start: Position { line: 1263, column: 50, }, end: Position { line: 1263, column: 56, }, }, }, ), Raw( PartRaw { content: "http_port", span: Span { start: Position { line: 1263, column: 57, }, end: Position { line: 1263, column: 66, }, }, }, ), ], default: None, }, ), operator: LessThan, right: Integer( Integer { value: "1024", span: Span { start: Position { line: 1263, column: 69, }, end: Position { line: 1263, column: 73, }, }, }, ), }, ), then: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "CAP_NET_BIND_SERVICE", span: Span { start: Position { line: 1263, column: 83, }, end: Position { line: 1263, column: 103, }, }, }, ), ], span: Span { start: Position { line: 1263, column: 82, }, end: Position { line: 1263, column: 104, }, }, }, ), ], span: Span { start: Position { line: 1263, column: 80, }, end: Position { line: 1263, column: 106, }, }, }, ), else_: List( List { elements: [ String( String_ { parts: [], span: Span { start: Position { line: 1263, column: 114, }, end: Position { line: 1263, column: 116, }, }, }, ), ], span: Span { start: Position { line: 1263, column: 112, }, end: Position { line: 1263, column: 118, }, }, }, ), span: Span { start: Position { line: 1263, column: 33, }, end: Position { line: 1263, column: 118, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "DeviceAllow", span: Span { start: Position { line: 1264, column: 9, }, end: Position { line: 1264, column: 20, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [], span: Span { start: Position { line: 1264, column: 25, }, end: Position { line: 1264, column: 27, }, }, }, ), ], span: Span { start: Position { line: 1264, column: 23, }, end: Position { line: 1264, column: 29, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "LockPersonality", span: Span { start: Position { line: 1265, column: 9, }, end: Position { line: 1265, column: 24, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1265, column: 27, }, end: Position { line: 1265, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "NoNewPrivileges", span: Span { start: Position { line: 1266, column: 9, }, end: Position { line: 1266, column: 24, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1266, column: 27, }, end: Position { line: 1266, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "PrivateDevices", span: Span { start: Position { line: 1267, column: 9, }, end: Position { line: 1267, column: 23, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1267, column: 26, }, end: Position { line: 1267, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "PrivateTmp", span: Span { start: Position { line: 1268, column: 9, }, end: Position { line: 1268, column: 19, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1268, column: 22, }, end: Position { line: 1268, column: 26, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectClock", span: Span { start: Position { line: 1269, column: 9, }, end: Position { line: 1269, column: 21, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1269, column: 24, }, end: Position { line: 1269, column: 28, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectControlGroups", span: Span { start: Position { line: 1270, column: 9, }, end: Position { line: 1270, column: 29, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1270, column: 32, }, end: Position { line: 1270, column: 36, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectHome", span: Span { start: Position { line: 1271, column: 9, }, end: Position { line: 1271, column: 20, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1271, column: 23, }, end: Position { line: 1271, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectHostname", span: Span { start: Position { line: 1272, column: 9, }, end: Position { line: 1272, column: 24, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1272, column: 27, }, end: Position { line: 1272, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectKernelLogs", span: Span { start: Position { line: 1273, column: 9, }, end: Position { line: 1273, column: 26, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1273, column: 29, }, end: Position { line: 1273, column: 33, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectKernelModules", span: Span { start: Position { line: 1274, column: 9, }, end: Position { line: 1274, column: 29, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1274, column: 32, }, end: Position { line: 1274, column: 36, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectKernelTunables", span: Span { start: Position { line: 1275, column: 9, }, end: Position { line: 1275, column: 30, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1275, column: 33, }, end: Position { line: 1275, column: 37, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectProc", span: Span { start: Position { line: 1276, column: 9, }, end: Position { line: 1276, column: 20, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "invisible", span: Span { start: Position { line: 1276, column: 24, }, end: Position { line: 1276, column: 33, }, }, }, ), ], span: Span { start: Position { line: 1276, column: 23, }, end: Position { line: 1276, column: 34, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ProtectSystem", span: Span { start: Position { line: 1277, column: 9, }, end: Position { line: 1277, column: 22, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "full", span: Span { start: Position { line: 1277, column: 26, }, end: Position { line: 1277, column: 30, }, }, }, ), ], span: Span { start: Position { line: 1277, column: 25, }, end: Position { line: 1277, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RemoveIPC", span: Span { start: Position { line: 1278, column: 9, }, end: Position { line: 1278, column: 18, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1278, column: 21, }, end: Position { line: 1278, column: 25, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RestrictAddressFamilies", span: Span { start: Position { line: 1279, column: 9, }, end: Position { line: 1279, column: 32, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "AF_INET", span: Span { start: Position { line: 1279, column: 38, }, end: Position { line: 1279, column: 45, }, }, }, ), ], span: Span { start: Position { line: 1279, column: 37, }, end: Position { line: 1279, column: 46, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "AF_INET6", span: Span { start: Position { line: 1279, column: 48, }, end: Position { line: 1279, column: 56, }, }, }, ), ], span: Span { start: Position { line: 1279, column: 47, }, end: Position { line: 1279, column: 57, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "AF_UNIX", span: Span { start: Position { line: 1279, column: 59, }, end: Position { line: 1279, column: 66, }, }, }, ), ], span: Span { start: Position { line: 1279, column: 58, }, end: Position { line: 1279, column: 67, }, }, }, ), ], span: Span { start: Position { line: 1279, column: 35, }, end: Position { line: 1279, column: 69, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RestrictNamespaces", span: Span { start: Position { line: 1280, column: 9, }, end: Position { line: 1280, column: 27, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1280, column: 30, }, end: Position { line: 1280, column: 34, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RestrictRealtime", span: Span { start: Position { line: 1281, column: 9, }, end: Position { line: 1281, column: 25, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1281, column: 28, }, end: Position { line: 1281, column: 32, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RestrictSUIDSGID", span: Span { start: Position { line: 1282, column: 9, }, end: Position { line: 1282, column: 25, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1282, column: 28, }, end: Position { line: 1282, column: 32, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "SystemCallArchitectures", span: Span { start: Position { line: 1283, column: 9, }, end: Position { line: 1283, column: 32, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "native", span: Span { start: Position { line: 1283, column: 36, }, end: Position { line: 1283, column: 42, }, }, }, ), ], span: Span { start: Position { line: 1283, column: 35, }, end: Position { line: 1283, column: 43, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "SystemCallFilter", span: Span { start: Position { line: 1286, column: 9, }, end: Position { line: 1286, column: 25, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "@system-service", span: Span { start: Position { line: 1286, column: 31, }, end: Position { line: 1286, column: 46, }, }, }, ), ], span: Span { start: Position { line: 1286, column: 30, }, end: Position { line: 1286, column: 47, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "~@privileged", span: Span { start: Position { line: 1286, column: 49, }, end: Position { line: 1286, column: 61, }, }, }, ), ], span: Span { start: Position { line: 1286, column: 48, }, end: Position { line: 1286, column: 62, }, }, }, ), ], span: Span { start: Position { line: 1286, column: 28, }, end: Position { line: 1286, column: 64, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "UMask", span: Span { start: Position { line: 1287, column: 9, }, end: Position { line: 1287, column: 14, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "0027", span: Span { start: Position { line: 1287, column: 18, }, end: Position { line: 1287, column: 22, }, }, }, ), ], span: Span { start: Position { line: 1287, column: 17, }, end: Position { line: 1287, column: 23, }, }, }, ), }, ), ], span: Span { start: Position { line: 1256, column: 23, }, end: Position { line: 1288, column: 8, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "preStart", span: Span { start: Position { line: 1289, column: 7, }, end: Position { line: 1289, column: 15, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "ln -fs ", span: Span { start: Position { line: 1290, column: 1, }, end: Position { line: 1290, column: 16, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1290, column: 18, }, end: Position { line: 1290, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 1290, column: 22, }, end: Position { line: 1290, column: 29, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/share/grafana/conf ", span: Span { start: Position { line: 1290, column: 1, }, end: Position { line: 1290, column: 50, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1290, column: 52, }, end: Position { line: 1290, column: 55, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 1290, column: 56, }, end: Position { line: 1290, column: 63, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "\nln -fs ", span: Span { start: Position { line: 1290, column: 1, }, end: Position { line: 1291, column: 16, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1291, column: 18, }, end: Position { line: 1291, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 1291, column: 22, }, end: Position { line: 1291, column: 29, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/share/grafana/tools ", span: Span { start: Position { line: 1290, column: 1, }, end: Position { line: 1291, column: 51, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1291, column: 53, }, end: Position { line: 1291, column: 56, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 1291, column: 57, }, end: Position { line: 1291, column: 64, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "\n", span: Span { start: Position { line: 1290, column: 1, }, end: Position { line: 1292, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1289, column: 18, }, end: Position { line: 1292, column: 9, }, }, }, ), }, ), ], span: Span { start: Position { line: 1246, column: 32, }, end: Position { line: 1293, column: 6, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 1295, column: 5, }, end: Position { line: 1295, column: 10, }, }, }, ), Raw( PartRaw { content: "users", span: Span { start: Position { line: 1295, column: 11, }, end: Position { line: 1295, column: 16, }, }, }, ), Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 1295, column: 17, }, end: Position { line: 1295, column: 24, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "uid", span: Span { start: Position { line: 1296, column: 7, }, end: Position { line: 1296, column: 10, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "config", span: Span { start: Position { line: 1296, column: 13, }, end: Position { line: 1296, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "ids", span: Span { start: Position { line: 1296, column: 20, }, end: Position { line: 1296, column: 23, }, }, }, ), Raw( PartRaw { content: "uids", span: Span { start: Position { line: 1296, column: 24, }, end: Position { line: 1296, column: 28, }, }, }, ), Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 1296, column: 29, }, end: Position { line: 1296, column: 36, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1297, column: 7, }, end: Position { line: 1297, column: 18, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Grafana user", span: Span { start: Position { line: 1297, column: 22, }, end: Position { line: 1297, column: 34, }, }, }, ), ], span: Span { start: Position { line: 1297, column: 21, }, end: Position { line: 1297, column: 35, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "home", span: Span { start: Position { line: 1298, column: 7, }, end: Position { line: 1298, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1298, column: 14, }, end: Position { line: 1298, column: 17, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dataDir", span: Span { start: Position { line: 1298, column: 18, }, end: Position { line: 1298, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "createHome", span: Span { start: Position { line: 1299, column: 7, }, end: Position { line: 1299, column: 17, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1299, column: 20, }, end: Position { line: 1299, column: 24, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "group", span: Span { start: Position { line: 1300, column: 7, }, end: Position { line: 1300, column: 12, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 1300, column: 16, }, end: Position { line: 1300, column: 23, }, }, }, ), ], span: Span { start: Position { line: 1300, column: 15, }, end: Position { line: 1300, column: 24, }, }, }, ), }, ), ], span: Span { start: Position { line: 1295, column: 27, }, end: Position { line: 1301, column: 6, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 1302, column: 5, }, end: Position { line: 1302, column: 10, }, }, }, ), Raw( PartRaw { content: "groups", span: Span { start: Position { line: 1302, column: 11, }, end: Position { line: 1302, column: 17, }, }, }, ), Raw( PartRaw { content: "grafana", span: Span { start: Position { line: 1302, column: 18, }, end: Position { line: 1302, column: 25, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [], span: Span { start: Position { line: 1302, column: 28, }, end: Position { line: 1302, column: 30, }, }, }, ), }, ), ], span: Span { start: Position { line: 1160, column: 28, }, end: Position { line: 1303, column: 4, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 217, column: 4, }, end: Position { line: 1304, column: 2, }, }, }, ), span: Span { start: Position { line: 5, column: 1, }, end: Position { line: 1304, column: 2, }, }, }, ), span: Span { start: Position { line: 3, column: 1, }, end: Position { line: 1304, column: 2, }, }, }, ), span: Span { start: Position { line: 1, column: 1, }, end: Position { line: 1304, column: 2, }, }, }, )