Function( Function { head: Destructured( FunctionHeadDestructured { ellipsis: true, identifier: None, arguments: [ FunctionHeadDestructuredArgument { identifier: "config", default: None, }, FunctionHeadDestructuredArgument { identifier: "pkgs", default: None, }, FunctionHeadDestructuredArgument { identifier: "lib", 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: "json", span: Span { start: Position { line: 6, column: 3, }, end: Position { line: 6, column: 7, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 6, column: 10, }, end: Position { line: 6, column: 14, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "formats", span: Span { start: Position { line: 6, column: 15, }, end: Position { line: 6, column: 22, }, }, }, ), Raw( PartRaw { content: "json", span: Span { start: Position { line: 6, column: 23, }, end: Position { line: 6, column: 27, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [], span: Span { start: Position { line: 6, column: 28, }, end: Position { line: 6, column: 31, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "cfg", span: Span { start: Position { line: 7, column: 3, }, end: Position { line: 7, column: 6, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "config", span: Span { start: Position { line: 7, column: 9, }, end: Position { line: 7, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 7, column: 16, }, end: Position { line: 7, column: 24, }, }, }, ), Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 7, column: 25, }, end: Position { line: 7, column: 35, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "checkConfigEnabled", span: Span { start: Position { line: 8, column: 3, }, end: Position { line: 8, column: 21, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 9, column: 6, }, end: Position { line: 9, column: 9, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "isBool", span: Span { start: Position { line: 9, column: 10, }, end: Position { line: 9, column: 16, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 9, column: 17, }, end: Position { line: 9, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "checkConfig", span: Span { start: Position { line: 9, column: 21, }, end: Position { line: 9, column: 32, }, }, }, ), ], default: None, }, ), ], }, ), operator: LogicalAnd, right: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 9, column: 36, }, end: Position { line: 9, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "checkConfig", span: Span { start: Position { line: 9, column: 40, }, end: Position { line: 9, column: 51, }, }, }, ), ], default: None, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 10, column: 10, }, end: Position { line: 10, column: 13, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "checkConfig", span: Span { start: Position { line: 10, column: 14, }, end: Position { line: 10, column: 25, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "syntax-only", span: Span { start: Position { line: 10, column: 30, }, end: Position { line: 10, column: 41, }, }, }, ), ], span: Span { start: Position { line: 10, column: 29, }, end: Position { line: 10, column: 42, }, }, }, ), }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "workingDir", span: Span { start: Position { line: 12, column: 3, }, end: Position { line: 12, column: 13, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: String( String_ { parts: [ Raw( PartRaw { content: "/var/lib/", span: Span { start: Position { line: 12, column: 17, }, end: Position { line: 12, column: 26, }, }, }, ), ], span: Span { start: Position { line: 12, column: 16, }, end: Position { line: 12, column: 27, }, }, }, ), operator: Addition, right: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 12, column: 30, }, end: Position { line: 12, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "stateDir", span: Span { start: Position { line: 12, column: 34, }, end: Position { line: 12, column: 42, }, }, }, ), ], default: None, }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "prometheusYmlOut", span: Span { start: Position { line: 14, column: 3, }, end: Position { line: 14, column: 19, }, }, }, ), ], to: String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "workingDir", span: Span { start: Position { line: 14, column: 25, }, end: Position { line: 14, column: 35, }, }, }, ), }, ), Raw( PartRaw { content: "/prometheus-substituted.yaml", span: Span { start: Position { line: 14, column: 23, }, end: Position { line: 14, column: 64, }, }, }, ), ], span: Span { start: Position { line: 14, column: 22, }, end: Position { line: 14, column: 65, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "triggerReload", span: Span { start: Position { line: 16, column: 3, }, end: Position { line: 16, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 16, column: 19, }, end: Position { line: 16, column: 23, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "writeShellScriptBin", span: Span { start: Position { line: 16, column: 24, }, end: Position { line: 16, column: 43, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "trigger-reload-prometheus", span: Span { start: Position { line: 16, column: 45, }, end: Position { line: 16, column: 70, }, }, }, ), ], span: Span { start: Position { line: 16, column: 44, }, end: Position { line: 16, column: 71, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "PATH=\"", span: Span { start: Position { line: 17, column: 1, }, end: Position { line: 17, column: 11, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "makeBinPath", span: Span { start: Position { line: 17, column: 13, }, end: Position { line: 17, column: 24, }, }, }, ), arguments: [ With( With { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 17, column: 31, }, end: Position { line: 17, column: 35, }, }, }, ), target: List( List { elements: [ Identifier( Identifier { id: "systemd", span: Span { start: Position { line: 17, column: 39, }, end: Position { line: 17, column: 46, }, }, }, ), ], span: Span { start: Position { line: 17, column: 37, }, end: Position { line: 17, column: 48, }, }, }, ), span: Span { start: Position { line: 17, column: 26, }, end: Position { line: 17, column: 48, }, }, }, ), ], }, ), }, ), Raw( PartRaw { content: "\"\nif systemctl -q is-active prometheus.service; then\n systemctl reload prometheus.service\nfi\n", span: Span { start: Position { line: 17, column: 1, }, end: Position { line: 21, column: 3, }, }, }, ), ], span: Span { start: Position { line: 16, column: 72, }, end: Position { line: 21, column: 5, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "reload", span: Span { start: Position { line: 23, column: 3, }, end: Position { line: 23, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 23, column: 12, }, end: Position { line: 23, column: 16, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "writeShellScriptBin", span: Span { start: Position { line: 23, column: 17, }, end: Position { line: 23, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "reload-prometheus", span: Span { start: Position { line: 23, column: 38, }, end: Position { line: 23, column: 55, }, }, }, ), ], span: Span { start: Position { line: 23, column: 37, }, end: Position { line: 23, column: 56, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "PATH=\"", span: Span { start: Position { line: 24, column: 1, }, end: Position { line: 24, column: 11, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "makeBinPath", span: Span { start: Position { line: 24, column: 13, }, end: Position { line: 24, column: 24, }, }, }, ), arguments: [ With( With { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 24, column: 31, }, end: Position { line: 24, column: 35, }, }, }, ), target: List( List { elements: [ Identifier( Identifier { id: "systemd", span: Span { start: Position { line: 24, column: 39, }, end: Position { line: 24, column: 46, }, }, }, ), Identifier( Identifier { id: "coreutils", span: Span { start: Position { line: 24, column: 47, }, end: Position { line: 24, column: 56, }, }, }, ), Identifier( Identifier { id: "gnugrep", span: Span { start: Position { line: 24, column: 57, }, end: Position { line: 24, column: 64, }, }, }, ), ], span: Span { start: Position { line: 24, column: 37, }, end: Position { line: 24, column: 66, }, }, }, ), span: Span { start: Position { line: 24, column: 26, }, end: Position { line: 24, column: 66, }, }, }, ), ], }, ), }, ), Raw( PartRaw { content: "\"\ncursor=$(journalctl --show-cursor -n0 | grep -oP \"cursor: \\K.*\")\nkill -HUP $MAINPID\njournalctl -u prometheus.service --after-cursor=\"$cursor\" -f \\\n | grep -m 1 \"Completed loading of configuration file\" > /dev/null\n", span: Span { start: Position { line: 24, column: 1, }, end: Position { line: 29, column: 3, }, }, }, ), ], span: Span { start: Position { line: 23, column: 57, }, end: Position { line: 29, column: 5, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promtoolCheck", span: Span { start: Position { line: 32, column: 3, }, end: Position { line: 32, column: 16, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "what", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "name", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "file", }, ), body: IfThenElse( IfThenElse { predicate: Identifier( Identifier { id: "checkConfigEnabled", span: Span { start: Position { line: 33, column: 8, }, end: Position { line: 33, column: 26, }, }, }, ), then: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 34, column: 7, }, end: Position { line: 34, column: 11, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "runCommandLocal", span: Span { start: Position { line: 34, column: 12, }, end: Position { line: 34, column: 27, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "name", span: Span { start: Position { line: 35, column: 12, }, end: Position { line: 35, column: 16, }, }, }, ), }, ), Raw( PartRaw { content: "-", span: Span { start: Position { line: 35, column: 10, }, end: Position { line: 35, column: 18, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "replaceStrings", span: Span { start: Position { line: 35, column: 20, }, end: Position { line: 35, column: 34, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: " ", span: Span { start: Position { line: 35, column: 37, }, end: Position { line: 35, column: 38, }, }, }, ), ], span: Span { start: Position { line: 35, column: 36, }, end: Position { line: 35, column: 39, }, }, }, ), ], span: Span { start: Position { line: 35, column: 35, }, end: Position { line: 35, column: 40, }, }, }, ), List( List { elements: [ String( String_ { parts: [], span: Span { start: Position { line: 35, column: 42, }, end: Position { line: 35, column: 44, }, }, }, ), ], span: Span { start: Position { line: 35, column: 41, }, end: Position { line: 35, column: 45, }, }, }, ), Identifier( Identifier { id: "what", span: Span { start: Position { line: 35, column: 46, }, end: Position { line: 35, column: 50, }, }, }, ), ], }, ), }, ), Raw( PartRaw { content: "-checked", span: Span { start: Position { line: 35, column: 10, }, end: Position { line: 35, column: 59, }, }, }, ), ], span: Span { start: Position { line: 35, column: 9, }, end: Position { line: 35, column: 60, }, }, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "buildInputs", span: Span { start: Position { line: 36, column: 11, }, end: Position { line: 36, column: 22, }, }, }, ), ], to: List( List { elements: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 36, column: 27, }, end: Position { line: 36, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 36, column: 31, }, end: Position { line: 36, column: 38, }, }, }, ), ], default: None, }, ), ], span: Span { start: Position { line: 36, column: 25, }, end: Position { line: 36, column: 40, }, }, }, ), }, ), ], span: Span { start: Position { line: 36, column: 9, }, end: Position { line: 36, column: 43, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "ln -s ", span: Span { start: Position { line: 37, column: 1, }, end: Position { line: 37, column: 15, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "file", span: Span { start: Position { line: 37, column: 17, }, end: Position { line: 37, column: 21, }, }, }, ), }, ), Raw( PartRaw { content: " $out\npromtool ", span: Span { start: Position { line: 37, column: 1, }, end: Position { line: 38, column: 18, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "what", span: Span { start: Position { line: 38, column: 20, }, end: Position { line: 38, column: 24, }, }, }, ), }, ), Raw( PartRaw { content: " $out\n", span: Span { start: Position { line: 37, column: 1, }, end: Position { line: 39, column: 7, }, }, }, ), ], span: Span { start: Position { line: 36, column: 44, }, end: Position { line: 39, column: 9, }, }, }, ), ], }, ), else_: Identifier( Identifier { id: "file", span: Span { start: Position { line: 39, column: 15, }, end: Position { line: 39, column: 19, }, }, }, ), span: Span { start: Position { line: 33, column: 5, }, end: Position { line: 39, column: 19, }, }, }, ), span: Span { start: Position { line: 32, column: 31, }, end: Position { line: 39, column: 19, }, }, }, ), span: Span { start: Position { line: 32, column: 25, }, end: Position { line: 39, column: 19, }, }, }, ), span: Span { start: Position { line: 32, column: 19, }, end: Position { line: 39, column: 19, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "generatedPrometheusYml", span: Span { start: Position { line: 41, column: 3, }, end: Position { line: 41, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "json", span: Span { start: Position { line: 41, column: 28, }, end: Position { line: 41, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "generate", span: Span { start: Position { line: 41, column: 33, }, end: Position { line: 41, column: 41, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "prometheus.yml", span: Span { start: Position { line: 41, column: 43, }, end: Position { line: 41, column: 57, }, }, }, ), ], span: Span { start: Position { line: 41, column: 42, }, end: Position { line: 41, column: 58, }, }, }, ), Identifier( Identifier { id: "promConfig", span: Span { start: Position { line: 41, column: 59, }, end: Position { line: 41, column: 69, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promConfig", span: Span { start: Position { line: 44, column: 3, }, end: Position { line: 44, column: 13, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "global", span: Span { start: Position { line: 45, column: 5, }, end: Position { line: 45, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filterValidPrometheus", span: Span { start: Position { line: 45, column: 14, }, end: Position { line: 45, column: 35, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 45, column: 36, }, end: Position { line: 45, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "globalConfig", span: Span { start: Position { line: 45, column: 40, }, end: Position { line: 45, column: 52, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "rule_files", span: Span { start: Position { line: 46, column: 5, }, end: Position { line: 46, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "map", span: Span { start: Position { line: 46, column: 18, }, end: Position { line: 46, column: 21, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "promtoolCheck", span: Span { start: Position { line: 46, column: 23, }, end: Position { line: 46, column: 36, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "check rules", span: Span { start: Position { line: 46, column: 38, }, end: Position { line: 46, column: 49, }, }, }, ), ], span: Span { start: Position { line: 46, column: 37, }, end: Position { line: 46, column: 50, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "rules", span: Span { start: Position { line: 46, column: 52, }, end: Position { line: 46, column: 57, }, }, }, ), ], span: Span { start: Position { line: 46, column: 51, }, end: Position { line: 46, column: 58, }, }, }, ), ], }, ), BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 46, column: 61, }, end: Position { line: 46, column: 64, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "ruleFiles", span: Span { start: Position { line: 46, column: 65, }, end: Position { line: 46, column: 74, }, }, }, ), ], default: None, }, ), operator: Concatenation, right: List( List { elements: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 47, column: 8, }, end: Position { line: 47, column: 12, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "writeText", span: Span { start: Position { line: 47, column: 13, }, end: Position { line: 47, column: 22, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "prometheus.rules", span: Span { start: Position { line: 47, column: 24, }, end: Position { line: 47, column: 40, }, }, }, ), ], span: Span { start: Position { line: 47, column: 23, }, end: Position { line: 47, column: 41, }, }, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "concatStringsSep", span: Span { start: Position { line: 47, column: 43, }, end: Position { line: 47, column: 59, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "\n", span: Span { start: Position { line: 47, column: 61, }, end: Position { line: 47, column: 63, }, }, }, ), ], span: Span { start: Position { line: 47, column: 60, }, end: Position { line: 47, column: 64, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 47, column: 65, }, end: Position { line: 47, column: 68, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "rules", span: Span { start: Position { line: 47, column: 69, }, end: Position { line: 47, column: 74, }, }, }, ), ], default: None, }, ), ], }, ), ], }, ), ], span: Span { start: Position { line: 46, column: 78, }, end: Position { line: 48, column: 6, }, }, }, ), }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scrape_configs", span: Span { start: Position { line: 49, column: 5, }, end: Position { line: 49, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filterValidPrometheus", span: Span { start: Position { line: 49, column: 22, }, end: Position { line: 49, column: 43, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 49, column: 44, }, end: Position { line: 49, column: 47, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "scrapeConfigs", span: Span { start: Position { line: 49, column: 48, }, end: Position { line: 49, column: 61, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "remote_write", span: Span { start: Position { line: 50, column: 5, }, end: Position { line: 50, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filterValidPrometheus", span: Span { start: Position { line: 50, column: 20, }, end: Position { line: 50, column: 41, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 50, column: 42, }, end: Position { line: 50, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "remoteWrite", span: Span { start: Position { line: 50, column: 46, }, end: Position { line: 50, column: 57, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "remote_read", span: Span { start: Position { line: 51, column: 5, }, end: Position { line: 51, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filterValidPrometheus", span: Span { start: Position { line: 51, column: 19, }, end: Position { line: 51, column: 40, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 51, column: 41, }, end: Position { line: 51, column: 44, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "remoteRead", span: Span { start: Position { line: 51, column: 45, }, end: Position { line: 51, column: 55, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "alerting", span: Span { start: Position { line: 52, column: 5, }, end: Position { line: 52, column: 13, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ Inherit( BindingInherit { from: Some( Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 53, column: 16, }, end: Position { line: 53, column: 19, }, }, }, ), ), attributes: [ Raw( PartRaw { content: "alertmanagers", span: Span { start: Position { line: 53, column: 21, }, end: Position { line: 53, column: 34, }, }, }, ), ], span: Span { start: Position { line: 52, column: 17, }, end: Position { line: 53, column: 35, }, }, }, ), ], span: Span { start: Position { line: 52, column: 16, }, end: Position { line: 54, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 44, column: 16, }, end: Position { line: 55, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "prometheusYml", span: Span { start: Position { line: 57, column: 3, }, end: Position { line: 57, column: 16, }, }, }, ), ], to: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "yml", span: Span { start: Position { line: 59, column: 7, }, end: Position { line: 59, column: 10, }, }, }, ), ], to: IfThenElse( IfThenElse { predicate: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 60, column: 12, }, end: Position { line: 60, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "configText", span: Span { start: Position { line: 60, column: 16, }, end: Position { line: 60, column: 26, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 60, column: 30, }, end: Position { line: 60, column: 34, }, }, }, ), }, ), then: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 61, column: 11, }, end: Position { line: 61, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "writeText", span: Span { start: Position { line: 61, column: 16, }, end: Position { line: 61, column: 25, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "prometheus.yml", span: Span { start: Position { line: 61, column: 27, }, end: Position { line: 61, column: 41, }, }, }, ), ], span: Span { start: Position { line: 61, column: 26, }, end: Position { line: 61, column: 42, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 61, column: 43, }, end: Position { line: 61, column: 46, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "configText", span: Span { start: Position { line: 61, column: 47, }, end: Position { line: 61, column: 57, }, }, }, ), ], default: None, }, ), ], }, ), else_: Identifier( Identifier { id: "generatedPrometheusYml", span: Span { start: Position { line: 62, column: 14, }, end: Position { line: 62, column: 36, }, }, }, ), span: Span { start: Position { line: 60, column: 9, }, end: Position { line: 62, column: 36, }, }, }, ), }, ), ], target: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "promtoolCheck", span: Span { start: Position { line: 64, column: 5, }, end: Position { line: 64, column: 18, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "check config ", span: Span { start: Position { line: 64, column: 20, }, end: Position { line: 64, column: 105, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 64, column: 35, }, end: Position { line: 64, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "optionalString", span: Span { start: Position { line: 64, column: 39, }, end: Position { line: 64, column: 53, }, }, }, ), ], default: None, }, ), arguments: [ BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 64, column: 55, }, end: Position { line: 64, column: 58, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "checkConfig", span: Span { start: Position { line: 64, column: 59, }, end: Position { line: 64, column: 70, }, }, }, ), ], default: None, }, ), operator: EqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "syntax-only", span: Span { start: Position { line: 64, column: 75, }, end: Position { line: 64, column: 86, }, }, }, ), ], span: Span { start: Position { line: 64, column: 74, }, end: Position { line: 64, column: 87, }, }, }, ), }, ), String( String_ { parts: [ Raw( PartRaw { content: "--syntax-only", span: Span { start: Position { line: 64, column: 90, }, end: Position { line: 64, column: 103, }, }, }, ), ], span: Span { start: Position { line: 64, column: 89, }, end: Position { line: 64, column: 104, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 64, column: 19, }, end: Position { line: 64, column: 106, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "prometheus.yml", span: Span { start: Position { line: 64, column: 108, }, end: Position { line: 64, column: 122, }, }, }, ), ], span: Span { start: Position { line: 64, column: 107, }, end: Position { line: 64, column: 123, }, }, }, ), Identifier( Identifier { id: "yml", span: Span { start: Position { line: 64, column: 124, }, end: Position { line: 64, column: 127, }, }, }, ), ], }, ), span: Span { start: Position { line: 58, column: 5, }, end: Position { line: 64, column: 127, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "cmdlineArgs", span: Span { start: Position { line: 66, column: 3, }, end: Position { line: 66, column: 14, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 66, column: 17, }, end: Position { line: 66, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "extraFlags", span: Span { start: Position { line: 66, column: 21, }, end: Position { line: 66, column: 31, }, }, }, ), ], default: None, }, ), operator: Concatenation, right: BinaryOperation( BinaryOperation { left: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "--storage.tsdb.path=", span: Span { start: Position { line: 67, column: 6, }, end: Position { line: 67, column: 39, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "workingDir", span: Span { start: Position { line: 67, column: 28, }, end: Position { line: 67, column: 38, }, }, }, ), }, ), Raw( PartRaw { content: "/data/", span: Span { start: Position { line: 67, column: 6, }, end: Position { line: 67, column: 45, }, }, }, ), ], span: Span { start: Position { line: 67, column: 5, }, end: Position { line: 67, column: 46, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "--config.file=", span: Span { start: Position { line: 68, column: 6, }, end: Position { line: 72, column: 6, }, }, }, ), Interpolation( PartInterpolation { expression: IfThenElse( IfThenElse { predicate: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 69, column: 10, }, end: Position { line: 69, column: 13, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enableReload", span: Span { start: Position { line: 69, column: 14, }, end: Position { line: 69, column: 26, }, }, }, ), ], default: None, }, ), then: String( String_ { parts: [ Raw( PartRaw { content: "/etc/prometheus/prometheus.yaml", span: Span { start: Position { line: 70, column: 13, }, end: Position { line: 70, column: 44, }, }, }, ), ], span: Span { start: Position { line: 70, column: 12, }, end: Position { line: 70, column: 45, }, }, }, ), else_: Identifier( Identifier { id: "prometheusYml", span: Span { start: Position { line: 71, column: 12, }, end: Position { line: 71, column: 25, }, }, }, ), span: Span { start: Position { line: 69, column: 7, }, end: Position { line: 71, column: 25, }, }, }, ), }, ), ], span: Span { start: Position { line: 68, column: 5, }, end: Position { line: 72, column: 7, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "--web.listen-address=", span: Span { start: Position { line: 73, column: 6, }, end: Position { line: 73, column: 47, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 73, column: 29, }, end: Position { line: 73, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listenAddress", span: Span { start: Position { line: 73, column: 33, }, end: Position { line: 73, column: 46, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: ":", span: Span { start: Position { line: 73, column: 6, }, end: Position { line: 73, column: 48, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 73, column: 50, }, end: Position { line: 73, column: 58, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "toString", span: Span { start: Position { line: 73, column: 59, }, end: Position { line: 73, column: 67, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 73, column: 68, }, end: Position { line: 73, column: 71, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 73, column: 72, }, end: Position { line: 73, column: 76, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 73, column: 5, }, end: Position { line: 73, column: 78, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "--alertmanager.notification-queue-capacity=", span: Span { start: Position { line: 74, column: 6, }, end: Position { line: 74, column: 102, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "toString", span: Span { start: Position { line: 74, column: 51, }, end: Position { line: 74, column: 59, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 74, column: 60, }, end: Position { line: 74, column: 63, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "alertmanagerNotificationQueueCapacity", span: Span { start: Position { line: 74, column: 64, }, end: Position { line: 74, column: 101, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 74, column: 5, }, end: Position { line: 74, column: 103, }, }, }, ), ], span: Span { start: Position { line: 66, column: 35, }, end: Position { line: 75, column: 4, }, }, }, ), operator: Concatenation, right: BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 75, column: 8, }, end: Position { line: 75, column: 16, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 75, column: 18, }, end: Position { line: 75, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "webExternalUrl", span: Span { start: Position { line: 75, column: 22, }, end: Position { line: 75, column: 36, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 75, column: 40, }, end: Position { line: 75, column: 44, }, }, }, ), }, ), String( String_ { parts: [ Raw( PartRaw { content: "--web.external-url=", span: Span { start: Position { line: 75, column: 47, }, end: Position { line: 75, column: 87, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 75, column: 68, }, end: Position { line: 75, column: 71, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "webExternalUrl", span: Span { start: Position { line: 75, column: 72, }, end: Position { line: 75, column: 86, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 75, column: 46, }, end: Position { line: 75, column: 88, }, }, }, ), ], }, ), operator: Concatenation, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optional", span: Span { start: Position { line: 76, column: 8, }, end: Position { line: 76, column: 16, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 76, column: 18, }, end: Position { line: 76, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "retentionTime", span: Span { start: Position { line: 76, column: 22, }, end: Position { line: 76, column: 35, }, }, }, ), ], default: None, }, ), operator: NotEqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 76, column: 39, }, end: Position { line: 76, column: 43, }, }, }, ), }, ), String( String_ { parts: [ Raw( PartRaw { content: "--storage.tsdb.retention.time=", span: Span { start: Position { line: 76, column: 46, }, end: Position { line: 76, column: 96, }, }, }, ), Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 76, column: 78, }, end: Position { line: 76, column: 81, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "retentionTime", span: Span { start: Position { line: 76, column: 82, }, end: Position { line: 76, column: 95, }, }, }, ), ], default: None, }, ), }, ), ], span: Span { start: Position { line: 76, column: 45, }, end: Position { line: 76, column: 97, }, }, }, ), ], }, ), }, ), }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "filterValidPrometheus", span: Span { start: Position { line: 78, column: 3, }, end: Position { line: 78, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filterAttrsListRecursive", span: Span { start: Position { line: 78, column: 27, }, end: Position { line: 78, column: 51, }, }, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "n", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "v", }, ), body: UnaryOperation( UnaryOperation { operator: Not, operand: BinaryOperation( BinaryOperation { left: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "n", span: Span { start: Position { line: 78, column: 61, }, end: Position { line: 78, column: 62, }, }, }, ), operator: EqualTo, right: String( String_ { parts: [ Raw( PartRaw { content: "_module", span: Span { start: Position { line: 78, column: 67, }, end: Position { line: 78, column: 74, }, }, }, ), ], span: Span { start: Position { line: 78, column: 66, }, end: Position { line: 78, column: 75, }, }, }, ), }, ), operator: LogicalOr, right: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "v", span: Span { start: Position { line: 78, column: 79, }, end: Position { line: 78, column: 80, }, }, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 78, column: 84, }, end: Position { line: 78, column: 88, }, }, }, ), }, ), }, ), span: Span { start: Position { line: 78, column: 59, }, end: Position { line: 78, column: 89, }, }, }, ), span: Span { start: Position { line: 78, column: 56, }, end: Position { line: 78, column: 89, }, }, }, ), span: Span { start: Position { line: 78, column: 53, }, end: Position { line: 78, column: 89, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "filterAttrsListRecursive", span: Span { start: Position { line: 79, column: 3, }, end: Position { line: 79, column: 27, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "pred", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "x", }, ), body: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "isAttrs", span: Span { start: Position { line: 80, column: 8, }, end: Position { line: 80, column: 15, }, }, }, ), arguments: [ Identifier( Identifier { id: "x", span: Span { start: Position { line: 80, column: 16, }, end: Position { line: 80, column: 17, }, }, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "listToAttrs", span: Span { start: Position { line: 81, column: 7, }, end: Position { line: 81, column: 18, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "concatMap", span: Span { start: Position { line: 83, column: 11, }, end: Position { line: 83, column: 20, }, }, }, ), arguments: [ Function( Function { head: Simple( FunctionHeadSimple { identifier: "name", }, ), body: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "v", span: Span { start: Position { line: 85, column: 19, }, end: Position { line: 85, column: 20, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "x", span: Span { start: Position { line: 85, column: 23, }, end: Position { line: 85, column: 24, }, }, }, ), attribute_path: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "name", span: Span { start: Position { line: 85, column: 27, }, end: Position { line: 85, column: 31, }, }, }, ), }, ), ], default: None, }, ), }, ), ], target: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "pred", span: Span { start: Position { line: 86, column: 18, }, end: Position { line: 86, column: 22, }, }, }, ), arguments: [ Identifier( Identifier { id: "name", span: Span { start: Position { line: 86, column: 23, }, end: Position { line: 86, column: 27, }, }, }, ), Identifier( Identifier { id: "v", span: Span { start: Position { line: 86, column: 28, }, end: Position { line: 86, column: 29, }, }, }, ), ], }, ), then: List( List { elements: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "nameValuePair", span: Span { start: Position { line: 87, column: 18, }, end: Position { line: 87, column: 31, }, }, }, ), arguments: [ Identifier( Identifier { id: "name", span: Span { start: Position { line: 87, column: 32, }, end: Position { line: 87, column: 36, }, }, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filterAttrsListRecursive", span: Span { start: Position { line: 87, column: 38, }, end: Position { line: 87, column: 62, }, }, }, ), arguments: [ Identifier( Identifier { id: "pred", span: Span { start: Position { line: 87, column: 63, }, end: Position { line: 87, column: 67, }, }, }, ), Identifier( Identifier { id: "v", span: Span { start: Position { line: 87, column: 68, }, end: Position { line: 87, column: 69, }, }, }, ), ], }, ), ], }, ), ], span: Span { start: Position { line: 86, column: 35, }, end: Position { line: 88, column: 16, }, }, }, ), else_: List( List { elements: [], span: Span { start: Position { line: 88, column: 22, }, end: Position { line: 88, column: 25, }, }, }, ), span: Span { start: Position { line: 86, column: 15, }, end: Position { line: 88, column: 25, }, }, }, ), span: Span { start: Position { line: 85, column: 15, }, end: Position { line: 88, column: 25, }, }, }, ), span: Span { start: Position { line: 84, column: 14, }, end: Position { line: 88, column: 25, }, }, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "attrNames", span: Span { start: Position { line: 90, column: 14, }, end: Position { line: 90, column: 23, }, }, }, ), arguments: [ Identifier( Identifier { id: "x", span: Span { start: Position { line: 90, column: 24, }, end: Position { line: 90, column: 25, }, }, }, ), ], }, ), ], }, ), ], }, ), else_: IfThenElse( IfThenElse { predicate: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "isList", span: Span { start: Position { line: 92, column: 13, }, end: Position { line: 92, column: 19, }, }, }, ), arguments: [ Identifier( Identifier { id: "x", span: Span { start: Position { line: 92, column: 20, }, end: Position { line: 92, column: 21, }, }, }, ), ], }, ), then: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "map", span: Span { start: Position { line: 93, column: 7, }, end: Position { line: 93, column: 10, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "filterAttrsListRecursive", span: Span { start: Position { line: 93, column: 12, }, end: Position { line: 93, column: 36, }, }, }, ), arguments: [ Identifier( Identifier { id: "pred", span: Span { start: Position { line: 93, column: 37, }, end: Position { line: 93, column: 41, }, }, }, ), ], }, ), Identifier( Identifier { id: "x", span: Span { start: Position { line: 93, column: 43, }, end: Position { line: 93, column: 44, }, }, }, ), ], }, ), else_: Identifier( Identifier { id: "x", span: Span { start: Position { line: 94, column: 10, }, end: Position { line: 94, column: 11, }, }, }, ), span: Span { start: Position { line: 92, column: 10, }, end: Position { line: 94, column: 11, }, }, }, ), span: Span { start: Position { line: 80, column: 5, }, end: Position { line: 94, column: 11, }, }, }, ), span: Span { start: Position { line: 79, column: 36, }, end: Position { line: 94, column: 11, }, }, }, ), span: Span { start: Position { line: 79, column: 30, }, end: Position { line: 94, column: 11, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "mkDefOpt", span: Span { start: Position { line: 100, column: 3, }, end: Position { line: 100, column: 11, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "type", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "defaultStr", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "description", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 100, column: 45, }, end: Position { line: 100, column: 50, }, }, }, ), arguments: [ Identifier( Identifier { id: "type", span: Span { start: Position { line: 100, column: 51, }, end: Position { line: 100, column: 55, }, }, }, ), BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "description", span: Span { start: Position { line: 100, column: 57, }, end: Position { line: 100, column: 68, }, }, }, ), operator: Addition, right: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "\nDefaults to ````", span: Span { start: Position { line: 101, column: 1, }, end: Position { line: 102, column: 21, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "defaultStr", span: Span { start: Position { line: 102, column: 23, }, end: Position { line: 102, column: 33, }, }, }, ), }, ), Raw( PartRaw { content: "```` in prometheus\nwhen set to `null`.\n", span: Span { start: Position { line: 101, column: 1, }, end: Position { line: 104, column: 3, }, }, }, ), ], span: Span { start: Position { line: 100, column: 71, }, end: Position { line: 104, column: 5, }, }, }, ), }, ), ], }, ), span: Span { start: Position { line: 100, column: 32, }, end: Position { line: 104, column: 6, }, }, }, ), span: Span { start: Position { line: 100, column: 20, }, end: Position { line: 104, column: 6, }, }, }, ), span: Span { start: Position { line: 100, column: 14, }, end: Position { line: 104, column: 6, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "mkOpt", span: Span { start: Position { line: 106, column: 3, }, end: Position { line: 106, column: 8, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "type", }, ), body: Function( Function { head: Simple( FunctionHeadSimple { identifier: "description", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 106, column: 30, }, end: Position { line: 106, column: 38, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 107, column: 5, }, end: Position { line: 107, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 107, column: 12, }, end: Position { line: 107, column: 17, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 107, column: 18, }, end: Position { line: 107, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "type", span: Span { start: Position { line: 107, column: 25, }, end: Position { line: 107, column: 29, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 108, column: 5, }, end: Position { line: 108, column: 12, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 108, column: 15, }, end: Position { line: 108, column: 19, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 109, column: 5, }, end: Position { line: 109, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 109, column: 19, }, end: Position { line: 109, column: 22, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 109, column: 23, }, end: Position { line: 109, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "description", span: Span { start: Position { line: 109, column: 29, }, end: Position { line: 109, column: 40, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 106, column: 39, }, end: Position { line: 110, column: 4, }, }, }, ), ], }, ), span: Span { start: Position { line: 106, column: 17, }, end: Position { line: 110, column: 4, }, }, }, ), span: Span { start: Position { line: 106, column: 11, }, end: Position { line: 110, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "mkSdConfigModule", span: Span { start: Position { line: 112, column: 3, }, end: Position { line: 112, column: 19, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "extraOptions", }, ), body: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 112, column: 36, }, end: Position { line: 112, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 112, column: 42, }, end: Position { line: 112, column: 51, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 113, column: 5, }, end: Position { line: 113, column: 12, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 114, column: 7, }, end: Position { line: 114, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 114, column: 20, }, end: Position { line: 114, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 114, column: 26, }, end: Position { line: 114, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 114, column: 36, }, end: Position { line: 114, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional HTTP basic authentication information.\n", span: Span { start: Position { line: 115, column: 1, }, end: Position { line: 116, column: 7, }, }, }, ), ], span: Span { start: Position { line: 114, column: 47, }, end: Position { line: 116, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "authorization", span: Span { start: Position { line: 118, column: 7, }, end: Position { line: 118, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 118, column: 23, }, end: Position { line: 118, column: 28, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 119, column: 10, }, end: Position { line: 119, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 119, column: 16, }, end: Position { line: 119, column: 25, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 120, column: 11, }, end: Position { line: 120, column: 18, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 121, column: 13, }, end: Position { line: 121, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 121, column: 20, }, end: Position { line: 121, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 121, column: 29, }, end: Position { line: 121, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 121, column: 35, }, end: Position { line: 121, column: 38, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Bearer", span: Span { start: Position { line: 121, column: 40, }, end: Position { line: 121, column: 46, }, }, }, ), ], span: Span { start: Position { line: 121, column: 39, }, end: Position { line: 121, column: 47, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the authentication type.\n", span: Span { start: Position { line: 122, column: 1, }, end: Position { line: 123, column: 13, }, }, }, ), ], span: Span { start: Position { line: 121, column: 48, }, end: Position { line: 123, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "credentials", span: Span { start: Position { line: 125, column: 13, }, end: Position { line: 125, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 125, column: 27, }, end: Position { line: 125, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 125, column: 33, }, end: Position { line: 125, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 125, column: 39, }, end: Position { line: 125, column: 42, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the credentials. It is mutually exclusive with `credentials_file`.\n", span: Span { start: Position { line: 126, column: 1, }, end: Position { line: 127, column: 13, }, }, }, ), ], span: Span { start: Position { line: 125, column: 43, }, end: Position { line: 127, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "credentials_file", span: Span { start: Position { line: 129, column: 13, }, end: Position { line: 129, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 129, column: 32, }, end: Position { line: 129, column: 37, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 129, column: 38, }, end: Position { line: 129, column: 43, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 129, column: 44, }, end: Position { line: 129, column: 47, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the credentials to the credentials read from the configured file.\nIt is mutually exclusive with `credentials`.\n", span: Span { start: Position { line: 130, column: 1, }, end: Position { line: 132, column: 13, }, }, }, ), ], span: Span { start: Position { line: 129, column: 48, }, end: Position { line: 132, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 120, column: 21, }, end: Position { line: 133, column: 12, }, }, }, ), }, ), ], span: Span { start: Position { line: 119, column: 26, }, end: Position { line: 134, column: 10, }, }, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional `Authorization` header configuration.\n", span: Span { start: Position { line: 135, column: 1, }, end: Position { line: 136, column: 7, }, }, }, ), ], span: Span { start: Position { line: 134, column: 12, }, end: Position { line: 136, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "oauth2", span: Span { start: Position { line: 138, column: 7, }, end: Position { line: 138, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 138, column: 16, }, end: Position { line: 138, column: 21, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promtypes", span: Span { start: Position { line: 138, column: 22, }, end: Position { line: 138, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "oauth2", span: Span { start: Position { line: 138, column: 32, }, end: Position { line: 138, column: 38, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional OAuth 2.0 configuration.\nCannot be used at the same time as basic_auth or authorization.\n", span: Span { start: Position { line: 139, column: 1, }, end: Position { line: 141, column: 7, }, }, }, ), ], span: Span { start: Position { line: 138, column: 39, }, end: Position { line: 141, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "proxy_url", span: Span { start: Position { line: 143, column: 7, }, end: Position { line: 143, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 143, column: 19, }, end: Position { line: 143, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 143, column: 25, }, end: Position { line: 143, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 143, column: 31, }, end: Position { line: 143, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional proxy URL.\n", span: Span { start: Position { line: 144, column: 1, }, end: Position { line: 145, column: 7, }, }, }, ), ], span: Span { start: Position { line: 143, column: 35, }, end: Position { line: 145, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "follow_redirects", span: Span { start: Position { line: 147, column: 7, }, end: Position { line: 147, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 147, column: 26, }, end: Position { line: 147, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 147, column: 35, }, end: Position { line: 147, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 147, column: 41, }, end: Position { line: 147, column: 45, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "true", span: Span { start: Position { line: 147, column: 47, }, end: Position { line: 147, column: 51, }, }, }, ), ], span: Span { start: Position { line: 147, column: 46, }, end: Position { line: 147, column: 52, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configure whether HTTP requests follow HTTP 3xx redirects.\n", span: Span { start: Position { line: 148, column: 1, }, end: Position { line: 149, column: 7, }, }, }, ), ], span: Span { start: Position { line: 147, column: 53, }, end: Position { line: 149, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 151, column: 7, }, end: Position { line: 151, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 151, column: 20, }, end: Position { line: 151, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 151, column: 26, }, end: Position { line: 151, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 151, column: 36, }, end: Position { line: 151, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "TLS configuration.\n", span: Span { start: Position { line: 152, column: 1, }, end: Position { line: 153, column: 7, }, }, }, ), ], span: Span { start: Position { line: 151, column: 47, }, end: Position { line: 153, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 113, column: 15, }, end: Position { line: 154, column: 6, }, }, }, ), operator: Update, right: Identifier( Identifier { id: "extraOptions", span: Span { start: Position { line: 154, column: 10, }, end: Position { line: 154, column: 22, }, }, }, ), }, ), }, ), ], span: Span { start: Position { line: 112, column: 52, }, end: Position { line: 155, column: 4, }, }, }, ), ], }, ), span: Span { start: Position { line: 112, column: 22, }, end: Position { line: 155, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 161, column: 3, }, end: Position { line: 161, column: 12, }, }, }, ), Raw( PartRaw { content: "globalConfig", span: Span { start: Position { line: 161, column: 13, }, end: Position { line: 161, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 161, column: 28, }, end: Position { line: 161, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 161, column: 34, }, end: Position { line: 161, column: 43, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 162, column: 5, }, end: Position { line: 162, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scrape_interval", span: Span { start: Position { line: 163, column: 7, }, end: Position { line: 163, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 163, column: 25, }, end: Position { line: 163, column: 33, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 163, column: 34, }, end: Position { line: 163, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 163, column: 40, }, end: Position { line: 163, column: 43, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "1m", span: Span { start: Position { line: 163, column: 45, }, end: Position { line: 163, column: 47, }, }, }, ), ], span: Span { start: Position { line: 163, column: 44, }, end: Position { line: 163, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "How frequently to scrape targets by default.\n", span: Span { start: Position { line: 164, column: 1, }, end: Position { line: 165, column: 7, }, }, }, ), ], span: Span { start: Position { line: 163, column: 49, }, end: Position { line: 165, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scrape_timeout", span: Span { start: Position { line: 167, column: 7, }, end: Position { line: 167, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 167, column: 24, }, end: Position { line: 167, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 167, column: 33, }, end: Position { line: 167, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 167, column: 39, }, end: Position { line: 167, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "10s", span: Span { start: Position { line: 167, column: 44, }, end: Position { line: 167, column: 47, }, }, }, ), ], span: Span { start: Position { line: 167, column: 43, }, end: Position { line: 167, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "How long until a scrape request times out.\n", span: Span { start: Position { line: 168, column: 1, }, end: Position { line: 169, column: 7, }, }, }, ), ], span: Span { start: Position { line: 167, column: 49, }, end: Position { line: 169, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "evaluation_interval", span: Span { start: Position { line: 171, column: 7, }, end: Position { line: 171, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 171, column: 29, }, end: Position { line: 171, column: 37, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 171, column: 38, }, end: Position { line: 171, column: 43, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 171, column: 44, }, end: Position { line: 171, column: 47, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "1m", span: Span { start: Position { line: 171, column: 49, }, end: Position { line: 171, column: 51, }, }, }, ), ], span: Span { start: Position { line: 171, column: 48, }, end: Position { line: 171, column: 52, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "How frequently to evaluate rules by default.\n", span: Span { start: Position { line: 172, column: 1, }, end: Position { line: 173, column: 7, }, }, }, ), ], span: Span { start: Position { line: 171, column: 53, }, end: Position { line: 173, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "external_labels", span: Span { start: Position { line: 175, column: 7, }, end: Position { line: 175, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 175, column: 25, }, end: Position { line: 175, column: 30, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 175, column: 32, }, end: Position { line: 175, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrsOf", span: Span { start: Position { line: 175, column: 38, }, end: Position { line: 175, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 175, column: 46, }, end: Position { line: 175, column: 51, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 175, column: 52, }, end: Position { line: 175, column: 55, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The labels to add to any time series or alerts when\ncommunicating with external systems (federation, remote\nstorage, Alertmanager).\n", span: Span { start: Position { line: 176, column: 1, }, end: Position { line: 179, column: 7, }, }, }, ), ], span: Span { start: Position { line: 175, column: 57, }, end: Position { line: 179, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 162, column: 15, }, end: Position { line: 180, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 161, column: 44, }, end: Position { line: 181, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 183, column: 3, }, end: Position { line: 183, column: 12, }, }, }, ), Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 183, column: 13, }, end: Position { line: 183, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 183, column: 26, }, end: Position { line: 183, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 183, column: 32, }, end: Position { line: 183, column: 41, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 184, column: 5, }, end: Position { line: 184, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "username", span: Span { start: Position { line: 185, column: 7, }, end: Position { line: 185, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 185, column: 18, }, end: Position { line: 185, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 186, column: 9, }, end: Position { line: 186, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 186, column: 16, }, end: Position { line: 186, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 186, column: 22, }, end: Position { line: 186, column: 25, }, }, }, ), ], default: None, }, ), }, ), 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: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "HTTP username\n", span: Span { start: Position { line: 188, column: 1, }, end: Position { line: 189, column: 9, }, }, }, ), ], span: Span { start: Position { line: 187, column: 33, }, end: Position { line: 189, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 185, column: 27, }, end: Position { line: 190, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 191, column: 7, }, end: Position { line: 191, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 191, column: 18, }, end: Position { line: 191, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 191, column: 24, }, end: Position { line: 191, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 191, column: 30, }, end: Position { line: 191, column: 33, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "HTTP password", span: Span { start: Position { line: 191, column: 35, }, end: Position { line: 191, column: 48, }, }, }, ), ], span: Span { start: Position { line: 191, column: 34, }, end: Position { line: 191, column: 49, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "password_file", span: Span { start: Position { line: 192, column: 7, }, end: Position { line: 192, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 192, column: 23, }, end: Position { line: 192, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 192, column: 29, }, end: Position { line: 192, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 192, column: 35, }, end: Position { line: 192, column: 38, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "HTTP password file", span: Span { start: Position { line: 192, column: 40, }, end: Position { line: 192, column: 58, }, }, }, ), ], span: Span { start: Position { line: 192, column: 39, }, end: Position { line: 192, column: 59, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 184, column: 15, }, end: Position { line: 193, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 183, column: 42, }, end: Position { line: 194, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 196, column: 3, }, end: Position { line: 196, column: 12, }, }, }, ), Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 196, column: 13, }, end: Position { line: 196, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 196, column: 26, }, end: Position { line: 196, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 196, column: 32, }, end: Position { line: 196, column: 41, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 197, column: 5, }, end: Position { line: 197, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ca_file", span: Span { start: Position { line: 198, column: 7, }, end: Position { line: 198, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 198, column: 17, }, end: Position { line: 198, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 198, column: 23, }, end: Position { line: 198, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 198, column: 29, }, end: Position { line: 198, column: 32, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "CA certificate to validate API server certificate with.\n", span: Span { start: Position { line: 199, column: 1, }, end: Position { line: 200, column: 7, }, }, }, ), ], span: Span { start: Position { line: 198, column: 33, }, end: Position { line: 200, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "cert_file", span: Span { start: Position { line: 202, column: 7, }, end: Position { line: 202, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 202, column: 19, }, end: Position { line: 202, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 202, column: 25, }, end: Position { line: 202, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 202, column: 31, }, end: Position { line: 202, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Certificate file for client cert authentication to the server.\n", span: Span { start: Position { line: 203, column: 1, }, end: Position { line: 204, column: 7, }, }, }, ), ], span: Span { start: Position { line: 202, column: 35, }, end: Position { line: 204, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "key_file", span: Span { start: Position { line: 206, column: 7, }, end: Position { line: 206, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 206, column: 18, }, end: Position { line: 206, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 206, column: 24, }, end: Position { line: 206, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 206, column: 30, }, end: Position { line: 206, column: 33, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Key file for client cert authentication to the server.\n", span: Span { start: Position { line: 207, column: 1, }, end: Position { line: 208, column: 7, }, }, }, ), ], span: Span { start: Position { line: 206, column: 34, }, end: Position { line: 208, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "server_name", span: Span { start: Position { line: 210, column: 7, }, end: Position { line: 210, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 210, column: 21, }, end: Position { line: 210, column: 26, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 210, column: 27, }, end: Position { line: 210, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 210, column: 33, }, end: Position { line: 210, column: 36, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "ServerName extension to indicate the name of the server.\nhttp://tools.ietf.org/html/rfc4366#section-3.1\n", span: Span { start: Position { line: 211, column: 1, }, end: Position { line: 213, column: 7, }, }, }, ), ], span: Span { start: Position { line: 210, column: 37, }, end: Position { line: 213, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "insecure_skip_verify", span: Span { start: Position { line: 215, column: 7, }, end: Position { line: 215, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 215, column: 30, }, end: Position { line: 215, column: 35, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 215, column: 36, }, end: Position { line: 215, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 215, column: 42, }, end: Position { line: 215, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Disable validation of the server certificate.\n", span: Span { start: Position { line: 216, column: 1, }, end: Position { line: 217, column: 7, }, }, }, ), ], span: Span { start: Position { line: 215, column: 47, }, end: Position { line: 217, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 197, column: 15, }, end: Position { line: 218, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 196, column: 42, }, end: Position { line: 219, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promtypes", span: Span { start: Position { line: 221, column: 3, }, end: Position { line: 221, column: 12, }, }, }, ), Raw( PartRaw { content: "oauth2", span: Span { start: Position { line: 221, column: 13, }, end: Position { line: 221, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 221, column: 22, }, end: Position { line: 221, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 221, column: 28, }, end: Position { line: 221, column: 37, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 222, column: 5, }, end: Position { line: 222, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "client_id", span: Span { start: Position { line: 223, column: 7, }, end: Position { line: 223, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 223, column: 19, }, end: Position { line: 223, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 223, column: 25, }, end: Position { line: 223, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 223, column: 31, }, end: Position { line: 223, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "OAuth client ID.\n", span: Span { start: Position { line: 224, column: 1, }, end: Position { line: 225, column: 7, }, }, }, ), ], span: Span { start: Position { line: 223, column: 35, }, end: Position { line: 225, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "client_secret", span: Span { start: Position { line: 227, column: 7, }, end: Position { line: 227, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 227, column: 23, }, end: Position { line: 227, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 227, column: 29, }, end: Position { line: 227, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 227, column: 35, }, end: Position { line: 227, column: 38, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "OAuth client secret.\n", span: Span { start: Position { line: 228, column: 1, }, end: Position { line: 229, column: 7, }, }, }, ), ], span: Span { start: Position { line: 227, column: 39, }, end: Position { line: 229, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "client_secret_file", span: Span { start: Position { line: 231, column: 7, }, end: Position { line: 231, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 231, column: 28, }, end: Position { line: 231, column: 33, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 231, column: 34, }, end: Position { line: 231, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 231, column: 40, }, end: Position { line: 231, column: 43, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Read the client secret from a file. It is mutually exclusive with `client_secret`.\n", span: Span { start: Position { line: 232, column: 1, }, end: Position { line: 233, column: 7, }, }, }, ), ], span: Span { start: Position { line: 231, column: 44, }, end: Position { line: 233, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scopes", span: Span { start: Position { line: 235, column: 7, }, end: Position { line: 235, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 235, column: 16, }, end: Position { line: 235, column: 21, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 235, column: 23, }, end: Position { line: 235, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 235, column: 29, }, end: Position { line: 235, column: 35, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 235, column: 36, }, end: Position { line: 235, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 235, column: 42, }, end: Position { line: 235, column: 45, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Scopes for the token request.\n", span: Span { start: Position { line: 236, column: 1, }, end: Position { line: 237, column: 7, }, }, }, ), ], span: Span { start: Position { line: 235, column: 47, }, end: Position { line: 237, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "token_url", span: Span { start: Position { line: 239, column: 7, }, end: Position { line: 239, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 239, column: 19, }, end: Position { line: 239, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 239, column: 25, }, end: Position { line: 239, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 239, column: 31, }, end: Position { line: 239, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The URL to fetch the token from.\n", span: Span { start: Position { line: 240, column: 1, }, end: Position { line: 241, column: 7, }, }, }, ), ], span: Span { start: Position { line: 239, column: 35, }, end: Position { line: 241, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "endpoint_params", span: Span { start: Position { line: 243, column: 7, }, end: Position { line: 243, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 243, column: 25, }, end: Position { line: 243, column: 30, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 243, column: 32, }, end: Position { line: 243, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrsOf", span: Span { start: Position { line: 243, column: 38, }, end: Position { line: 243, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 243, column: 46, }, end: Position { line: 243, column: 51, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 243, column: 52, }, end: Position { line: 243, column: 55, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional parameters to append to the token URL.\n", span: Span { start: Position { line: 244, column: 1, }, end: Position { line: 245, column: 7, }, }, }, ), ], span: Span { start: Position { line: 243, column: 57, }, end: Position { line: 245, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 222, column: 15, }, end: Position { line: 246, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 221, column: 38, }, end: Position { line: 247, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 249, column: 3, }, end: Position { line: 249, column: 12, }, }, }, ), Raw( PartRaw { content: "scrape_config", span: Span { start: Position { line: 249, column: 13, }, end: Position { line: 249, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 249, column: 29, }, end: Position { line: 249, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 249, column: 35, }, end: Position { line: 249, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 250, column: 5, }, end: Position { line: 250, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "authorization", span: Span { start: Position { line: 251, column: 7, }, end: Position { line: 251, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 251, column: 23, }, end: Position { line: 251, column: 31, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 252, column: 9, }, end: Position { line: 252, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 252, column: 16, }, end: Position { line: 252, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 252, column: 22, }, end: Position { line: 252, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 252, column: 29, }, end: Position { line: 252, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrs", span: Span { start: Position { line: 252, column: 35, }, end: Position { line: 252, column: 40, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 253, column: 9, }, end: Position { line: 253, column: 16, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 253, column: 19, }, end: Position { line: 253, column: 23, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 254, column: 9, }, end: Position { line: 254, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 254, column: 23, }, end: Position { line: 254, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 254, column: 27, }, end: Position { line: 254, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every scrape request with the configured credentials.\n", span: Span { start: Position { line: 255, column: 1, }, end: Position { line: 256, column: 9, }, }, }, ), ], span: Span { start: Position { line: 254, column: 33, }, end: Position { line: 256, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 251, column: 32, }, end: Position { line: 257, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "job_name", span: Span { start: Position { line: 258, column: 7, }, end: Position { line: 258, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 258, column: 18, }, end: Position { line: 258, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 259, column: 9, }, end: Position { line: 259, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 259, column: 16, }, end: Position { line: 259, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 259, column: 22, }, end: Position { line: 259, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 260, column: 9, }, end: Position { line: 260, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 260, column: 23, }, end: Position { line: 260, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 260, column: 27, }, end: Position { line: 260, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The job name assigned to scraped metrics by default.\n", span: Span { start: Position { line: 261, column: 1, }, end: Position { line: 262, column: 9, }, }, }, ), ], span: Span { start: Position { line: 260, column: 33, }, end: Position { line: 262, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 258, column: 27, }, end: Position { line: 263, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scrape_interval", span: Span { start: Position { line: 264, column: 7, }, end: Position { line: 264, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 264, column: 25, }, end: Position { line: 264, column: 30, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 264, column: 31, }, end: Position { line: 264, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 264, column: 37, }, end: Position { line: 264, column: 40, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "How frequently to scrape targets from this job. Defaults to the\nglobally configured default.\n", span: Span { start: Position { line: 265, column: 1, }, end: Position { line: 267, column: 7, }, }, }, ), ], span: Span { start: Position { line: 264, column: 41, }, end: Position { line: 267, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scrape_timeout", span: Span { start: Position { line: 269, column: 7, }, end: Position { line: 269, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 269, column: 24, }, end: Position { line: 269, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 269, column: 30, }, end: Position { line: 269, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 269, column: 36, }, end: Position { line: 269, column: 39, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Per-target timeout when scraping this job. Defaults to the\nglobally configured default.\n", span: Span { start: Position { line: 270, column: 1, }, end: Position { line: 272, column: 7, }, }, }, ), ], span: Span { start: Position { line: 269, column: 40, }, end: Position { line: 272, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "metrics_path", span: Span { start: Position { line: 274, column: 7, }, end: Position { line: 274, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 274, column: 22, }, end: Position { line: 274, column: 30, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 274, column: 31, }, end: Position { line: 274, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 274, column: 37, }, end: Position { line: 274, column: 40, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "/metrics", span: Span { start: Position { line: 274, column: 42, }, end: Position { line: 274, column: 50, }, }, }, ), ], span: Span { start: Position { line: 274, column: 41, }, end: Position { line: 274, column: 51, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The HTTP resource path on which to fetch metrics from targets.\n", span: Span { start: Position { line: 275, column: 1, }, end: Position { line: 276, column: 7, }, }, }, ), ], span: Span { start: Position { line: 274, column: 52, }, end: Position { line: 276, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "honor_labels", span: Span { start: Position { line: 278, column: 7, }, end: Position { line: 278, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 278, column: 22, }, end: Position { line: 278, column: 30, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 278, column: 31, }, end: Position { line: 278, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 278, column: 37, }, end: Position { line: 278, column: 41, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "false", span: Span { start: Position { line: 278, column: 43, }, end: Position { line: 278, column: 48, }, }, }, ), ], span: Span { start: Position { line: 278, column: 42, }, end: Position { line: 278, column: 49, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Controls how Prometheus handles conflicts between labels\nthat are already present in scraped data and labels that\nPrometheus would attach server-side (\"job\" and \"instance\"\nlabels, manually configured target labels, and labels\ngenerated by service discovery implementations).\n\nIf honor_labels is set to \"true\", label conflicts are\nresolved by keeping label values from the scraped data and\nignoring the conflicting server-side labels.\n\nIf honor_labels is set to \"false\", label conflicts are\nresolved by renaming conflicting labels in the scraped data\nto \"exported_\\\" (for example\n\"exported_instance\", \"exported_job\") and then attaching\nserver-side labels. This is useful for use cases such as\nfederation, where all labels specified in the target should\nbe preserved.\n", span: Span { start: Position { line: 279, column: 1, }, end: Position { line: 296, column: 7, }, }, }, ), ], span: Span { start: Position { line: 278, column: 50, }, end: Position { line: 296, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "honor_timestamps", span: Span { start: Position { line: 298, column: 7, }, end: Position { line: 298, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 298, column: 26, }, end: Position { line: 298, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 298, column: 35, }, end: Position { line: 298, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 298, column: 41, }, end: Position { line: 298, column: 45, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "true", span: Span { start: Position { line: 298, column: 47, }, end: Position { line: 298, column: 51, }, }, }, ), ], span: Span { start: Position { line: 298, column: 46, }, end: Position { line: 298, column: 52, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "honor_timestamps controls whether Prometheus respects the timestamps present\nin scraped data.\n\nIf honor_timestamps is set to `true`, the timestamps of the metrics exposed\nby the target will be used.\n\nIf honor_timestamps is set to `false`, the timestamps of the metrics exposed\nby the target will be ignored.\n", span: Span { start: Position { line: 299, column: 1, }, end: Position { line: 307, column: 7, }, }, }, ), ], span: Span { start: Position { line: 298, column: 53, }, end: Position { line: 307, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scheme", span: Span { start: Position { line: 309, column: 7, }, end: Position { line: 309, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 309, column: 16, }, end: Position { line: 309, column: 24, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 309, column: 26, }, end: Position { line: 309, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 309, column: 32, }, end: Position { line: 309, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "http", span: Span { start: Position { line: 309, column: 40, }, end: Position { line: 309, column: 44, }, }, }, ), ], span: Span { start: Position { line: 309, column: 39, }, end: Position { line: 309, column: 45, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "https", span: Span { start: Position { line: 309, column: 47, }, end: Position { line: 309, column: 52, }, }, }, ), ], span: Span { start: Position { line: 309, column: 46, }, end: Position { line: 309, column: 53, }, }, }, ), ], span: Span { start: Position { line: 309, column: 37, }, end: Position { line: 309, column: 55, }, }, }, ), ], }, ), String( String_ { parts: [ Raw( PartRaw { content: "http", span: Span { start: Position { line: 309, column: 58, }, end: Position { line: 309, column: 62, }, }, }, ), ], span: Span { start: Position { line: 309, column: 57, }, end: Position { line: 309, column: 63, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The URL scheme with which to fetch metrics from targets.\n", span: Span { start: Position { line: 310, column: 1, }, end: Position { line: 311, column: 7, }, }, }, ), ], span: Span { start: Position { line: 309, column: 64, }, end: Position { line: 311, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "params", span: Span { start: Position { line: 313, column: 7, }, end: Position { line: 313, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 313, column: 16, }, end: Position { line: 313, column: 21, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 313, column: 23, }, end: Position { line: 313, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrsOf", span: Span { start: Position { line: 313, column: 29, }, end: Position { line: 313, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 313, column: 38, }, end: Position { line: 313, column: 43, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 313, column: 44, }, end: Position { line: 313, column: 50, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 313, column: 51, }, end: Position { line: 313, column: 56, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 313, column: 57, }, end: Position { line: 313, column: 60, }, }, }, ), ], default: None, }, ), ], }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional HTTP URL parameters.\n", span: Span { start: Position { line: 314, column: 1, }, end: Position { line: 315, column: 7, }, }, }, ), ], span: Span { start: Position { line: 313, column: 63, }, end: Position { line: 315, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 317, column: 7, }, end: Position { line: 317, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 317, column: 20, }, end: Position { line: 317, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 317, column: 26, }, end: Position { line: 317, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 317, column: 36, }, end: Position { line: 317, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every scrape request with the\nconfigured username and password.\npassword and password_file are mutually exclusive.\n", span: Span { start: Position { line: 318, column: 1, }, end: Position { line: 321, column: 7, }, }, }, ), ], span: Span { start: Position { line: 317, column: 47, }, end: Position { line: 321, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "bearer_token", span: Span { start: Position { line: 323, column: 7, }, end: Position { line: 323, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 323, column: 22, }, end: Position { line: 323, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 323, column: 28, }, end: Position { line: 323, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 323, column: 34, }, end: Position { line: 323, column: 37, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every scrape request with\nthe configured bearer token. It is mutually exclusive with\n{option}`bearer_token_file`.\n", span: Span { start: Position { line: 324, column: 1, }, end: Position { line: 327, column: 7, }, }, }, ), ], span: Span { start: Position { line: 323, column: 38, }, end: Position { line: 327, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "bearer_token_file", span: Span { start: Position { line: 329, column: 7, }, end: Position { line: 329, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 329, column: 27, }, end: Position { line: 329, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 329, column: 33, }, end: Position { line: 329, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 329, column: 39, }, end: Position { line: 329, column: 42, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every scrape request with\nthe bearer token read from the configured file. It is mutually\nexclusive with {option}`bearer_token`.\n", span: Span { start: Position { line: 330, column: 1, }, end: Position { line: 333, column: 7, }, }, }, ), ], span: Span { start: Position { line: 329, column: 43, }, end: Position { line: 333, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 335, column: 7, }, end: Position { line: 335, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 335, column: 20, }, end: Position { line: 335, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 335, column: 26, }, end: Position { line: 335, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 335, column: 36, }, end: Position { line: 335, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configures the scrape request's TLS settings.\n", span: Span { start: Position { line: 336, column: 1, }, end: Position { line: 337, column: 7, }, }, }, ), ], span: Span { start: Position { line: 335, column: 47, }, end: Position { line: 337, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "proxy_url", span: Span { start: Position { line: 339, column: 7, }, end: Position { line: 339, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 339, column: 19, }, end: Position { line: 339, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 339, column: 25, }, end: Position { line: 339, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 339, column: 31, }, end: Position { line: 339, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional proxy URL.\n", span: Span { start: Position { line: 340, column: 1, }, end: Position { line: 341, column: 7, }, }, }, ), ], span: Span { start: Position { line: 339, column: 35, }, end: Position { line: 341, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "azure_sd_configs", span: Span { start: Position { line: 343, column: 7, }, end: Position { line: 343, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 343, column: 26, }, end: Position { line: 343, column: 31, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 343, column: 33, }, end: Position { line: 343, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 343, column: 39, }, end: Position { line: 343, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 343, column: 46, }, end: Position { line: 343, column: 55, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "azure_sd_config", span: Span { start: Position { line: 343, column: 56, }, end: Position { line: 343, column: 71, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Azure service discovery configurations.\n", span: Span { start: Position { line: 344, column: 1, }, end: Position { line: 345, column: 7, }, }, }, ), ], span: Span { start: Position { line: 343, column: 73, }, end: Position { line: 345, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "consul_sd_configs", span: Span { start: Position { line: 347, column: 7, }, end: Position { line: 347, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 347, column: 27, }, end: Position { line: 347, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 347, column: 34, }, end: Position { line: 347, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 347, column: 40, }, end: Position { line: 347, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 347, column: 47, }, end: Position { line: 347, column: 56, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "consul_sd_config", span: Span { start: Position { line: 347, column: 57, }, end: Position { line: 347, column: 73, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Consul service discovery configurations.\n", span: Span { start: Position { line: 348, column: 1, }, end: Position { line: 349, column: 7, }, }, }, ), ], span: Span { start: Position { line: 347, column: 75, }, end: Position { line: 349, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "digitalocean_sd_configs", span: Span { start: Position { line: 351, column: 7, }, end: Position { line: 351, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 351, column: 33, }, end: Position { line: 351, column: 38, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 351, column: 40, }, end: Position { line: 351, column: 45, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 351, column: 46, }, end: Position { line: 351, column: 52, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 351, column: 53, }, end: Position { line: 351, column: 62, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "digitalocean_sd_config", span: Span { start: Position { line: 351, column: 63, }, end: Position { line: 351, column: 85, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of DigitalOcean service discovery configurations.\n", span: Span { start: Position { line: 352, column: 1, }, end: Position { line: 353, column: 7, }, }, }, ), ], span: Span { start: Position { line: 351, column: 87, }, end: Position { line: 353, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "docker_sd_configs", span: Span { start: Position { line: 355, column: 7, }, end: Position { line: 355, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 355, column: 27, }, end: Position { line: 355, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 355, column: 34, }, end: Position { line: 355, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 355, column: 40, }, end: Position { line: 355, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 355, column: 47, }, end: Position { line: 355, column: 56, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "docker_sd_config", span: Span { start: Position { line: 355, column: 57, }, end: Position { line: 355, column: 73, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Docker service discovery configurations.\n", span: Span { start: Position { line: 356, column: 1, }, end: Position { line: 357, column: 7, }, }, }, ), ], span: Span { start: Position { line: 355, column: 75, }, end: Position { line: 357, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dockerswarm_sd_configs", span: Span { start: Position { line: 359, column: 7, }, end: Position { line: 359, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 359, column: 32, }, end: Position { line: 359, column: 37, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 359, column: 39, }, end: Position { line: 359, column: 44, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 359, column: 45, }, end: Position { line: 359, column: 51, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 359, column: 52, }, end: Position { line: 359, column: 61, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dockerswarm_sd_config", span: Span { start: Position { line: 359, column: 62, }, end: Position { line: 359, column: 83, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Docker Swarm service discovery configurations.\n", span: Span { start: Position { line: 360, column: 1, }, end: Position { line: 361, column: 7, }, }, }, ), ], span: Span { start: Position { line: 359, column: 85, }, end: Position { line: 361, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dns_sd_configs", span: Span { start: Position { line: 363, column: 7, }, end: Position { line: 363, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 363, column: 24, }, end: Position { line: 363, column: 29, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 363, column: 31, }, end: Position { line: 363, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 363, column: 37, }, end: Position { line: 363, column: 43, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 363, column: 44, }, end: Position { line: 363, column: 53, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "dns_sd_config", span: Span { start: Position { line: 363, column: 54, }, end: Position { line: 363, column: 67, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of DNS service discovery configurations.\n", span: Span { start: Position { line: 364, column: 1, }, end: Position { line: 365, column: 7, }, }, }, ), ], span: Span { start: Position { line: 363, column: 69, }, end: Position { line: 365, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ec2_sd_configs", span: Span { start: Position { line: 367, column: 7, }, end: Position { line: 367, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 367, column: 24, }, end: Position { line: 367, column: 29, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 367, column: 31, }, end: Position { line: 367, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 367, column: 37, }, end: Position { line: 367, column: 43, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 367, column: 44, }, end: Position { line: 367, column: 53, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "ec2_sd_config", span: Span { start: Position { line: 367, column: 54, }, end: Position { line: 367, column: 67, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of EC2 service discovery configurations.\n", span: Span { start: Position { line: 368, column: 1, }, end: Position { line: 369, column: 7, }, }, }, ), ], span: Span { start: Position { line: 367, column: 69, }, end: Position { line: 369, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "eureka_sd_configs", span: Span { start: Position { line: 371, column: 7, }, end: Position { line: 371, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 371, column: 27, }, end: Position { line: 371, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 371, column: 34, }, end: Position { line: 371, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 371, column: 40, }, end: Position { line: 371, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 371, column: 47, }, end: Position { line: 371, column: 56, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "eureka_sd_config", span: Span { start: Position { line: 371, column: 57, }, end: Position { line: 371, column: 73, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Eureka service discovery configurations.\n", span: Span { start: Position { line: 372, column: 1, }, end: Position { line: 373, column: 7, }, }, }, ), ], span: Span { start: Position { line: 371, column: 75, }, end: Position { line: 373, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "file_sd_configs", span: Span { start: Position { line: 375, column: 7, }, end: Position { line: 375, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 375, column: 25, }, end: Position { line: 375, column: 30, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 375, column: 32, }, end: Position { line: 375, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 375, column: 38, }, end: Position { line: 375, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 375, column: 45, }, end: Position { line: 375, column: 54, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "file_sd_config", span: Span { start: Position { line: 375, column: 55, }, end: Position { line: 375, column: 69, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of file service discovery configurations.\n", span: Span { start: Position { line: 376, column: 1, }, end: Position { line: 377, column: 7, }, }, }, ), ], span: Span { start: Position { line: 375, column: 71, }, end: Position { line: 377, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "gce_sd_configs", span: Span { start: Position { line: 379, column: 7, }, end: Position { line: 379, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 379, column: 24, }, end: Position { line: 379, column: 29, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 379, column: 31, }, end: Position { line: 379, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 379, column: 37, }, end: Position { line: 379, column: 43, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 379, column: 44, }, end: Position { line: 379, column: 53, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "gce_sd_config", span: Span { start: Position { line: 379, column: 54, }, end: Position { line: 379, column: 67, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Google Compute Engine service discovery configurations.\n\nSee [the relevant Prometheus configuration docs](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#gce_sd_config)\nfor more detail.\n", span: Span { start: Position { line: 380, column: 1, }, end: Position { line: 384, column: 7, }, }, }, ), ], span: Span { start: Position { line: 379, column: 69, }, end: Position { line: 384, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "hetzner_sd_configs", span: Span { start: Position { line: 386, column: 7, }, end: Position { line: 386, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 386, column: 28, }, end: Position { line: 386, column: 33, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 386, column: 35, }, end: Position { line: 386, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 386, column: 41, }, end: Position { line: 386, column: 47, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 386, column: 48, }, end: Position { line: 386, column: 57, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "hetzner_sd_config", span: Span { start: Position { line: 386, column: 58, }, end: Position { line: 386, column: 75, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Hetzner service discovery configurations.\n", span: Span { start: Position { line: 387, column: 1, }, end: Position { line: 388, column: 7, }, }, }, ), ], span: Span { start: Position { line: 386, column: 77, }, end: Position { line: 388, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "http_sd_configs", span: Span { start: Position { line: 390, column: 7, }, end: Position { line: 390, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 390, column: 25, }, end: Position { line: 390, column: 30, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 390, column: 32, }, end: Position { line: 390, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 390, column: 38, }, end: Position { line: 390, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 390, column: 45, }, end: Position { line: 390, column: 54, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "http_sd_config", span: Span { start: Position { line: 390, column: 55, }, end: Position { line: 390, column: 69, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of HTTP service discovery configurations.\n", span: Span { start: Position { line: 391, column: 1, }, end: Position { line: 392, column: 7, }, }, }, ), ], span: Span { start: Position { line: 390, column: 71, }, end: Position { line: 392, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "kubernetes_sd_configs", span: Span { start: Position { line: 394, column: 7, }, end: Position { line: 394, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 394, column: 31, }, end: Position { line: 394, column: 36, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 394, column: 38, }, end: Position { line: 394, column: 43, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 394, column: 44, }, end: Position { line: 394, column: 50, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 394, column: 51, }, end: Position { line: 394, column: 60, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "kubernetes_sd_config", span: Span { start: Position { line: 394, column: 61, }, end: Position { line: 394, column: 81, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Kubernetes service discovery configurations.\n", span: Span { start: Position { line: 395, column: 1, }, end: Position { line: 396, column: 7, }, }, }, ), ], span: Span { start: Position { line: 394, column: 83, }, end: Position { line: 396, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "kuma_sd_configs", span: Span { start: Position { line: 398, column: 7, }, end: Position { line: 398, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 398, column: 25, }, end: Position { line: 398, column: 30, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 398, column: 32, }, end: Position { line: 398, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 398, column: 38, }, end: Position { line: 398, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 398, column: 45, }, end: Position { line: 398, column: 54, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "kuma_sd_config", span: Span { start: Position { line: 398, column: 55, }, end: Position { line: 398, column: 69, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Kuma service discovery configurations.\n", span: Span { start: Position { line: 399, column: 1, }, end: Position { line: 400, column: 7, }, }, }, ), ], span: Span { start: Position { line: 398, column: 71, }, end: Position { line: 400, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "lightsail_sd_configs", span: Span { start: Position { line: 402, column: 7, }, end: Position { line: 402, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 402, column: 30, }, end: Position { line: 402, column: 35, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 402, column: 37, }, end: Position { line: 402, column: 42, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 402, column: 43, }, end: Position { line: 402, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 402, column: 50, }, end: Position { line: 402, column: 59, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "lightsail_sd_config", span: Span { start: Position { line: 402, column: 60, }, end: Position { line: 402, column: 79, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Lightsail service discovery configurations.\n", span: Span { start: Position { line: 403, column: 1, }, end: Position { line: 404, column: 7, }, }, }, ), ], span: Span { start: Position { line: 402, column: 81, }, end: Position { line: 404, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "linode_sd_configs", span: Span { start: Position { line: 406, column: 7, }, end: Position { line: 406, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 406, column: 27, }, end: Position { line: 406, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 406, column: 34, }, end: Position { line: 406, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 406, column: 40, }, end: Position { line: 406, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 406, column: 47, }, end: Position { line: 406, column: 56, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "linode_sd_config", span: Span { start: Position { line: 406, column: 57, }, end: Position { line: 406, column: 73, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Linode service discovery configurations.\n", span: Span { start: Position { line: 407, column: 1, }, end: Position { line: 408, column: 7, }, }, }, ), ], span: Span { start: Position { line: 406, column: 75, }, end: Position { line: 408, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "marathon_sd_configs", span: Span { start: Position { line: 410, column: 7, }, end: Position { line: 410, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 410, column: 29, }, end: Position { line: 410, column: 34, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 410, column: 36, }, end: Position { line: 410, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 410, column: 42, }, end: Position { line: 410, column: 48, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 410, column: 49, }, end: Position { line: 410, column: 58, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "marathon_sd_config", span: Span { start: Position { line: 410, column: 59, }, end: Position { line: 410, column: 77, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Marathon service discovery configurations.\n", span: Span { start: Position { line: 411, column: 1, }, end: Position { line: 412, column: 7, }, }, }, ), ], span: Span { start: Position { line: 410, column: 79, }, end: Position { line: 412, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "nerve_sd_configs", span: Span { start: Position { line: 414, column: 7, }, end: Position { line: 414, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 414, column: 26, }, end: Position { line: 414, column: 31, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 414, column: 33, }, end: Position { line: 414, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 414, column: 39, }, end: Position { line: 414, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 414, column: 46, }, end: Position { line: 414, column: 55, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nerve_sd_config", span: Span { start: Position { line: 414, column: 56, }, end: Position { line: 414, column: 71, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of AirBnB's Nerve service discovery configurations.\n", span: Span { start: Position { line: 415, column: 1, }, end: Position { line: 416, column: 7, }, }, }, ), ], span: Span { start: Position { line: 414, column: 73, }, end: Position { line: 416, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "openstack_sd_configs", span: Span { start: Position { line: 418, column: 7, }, end: Position { line: 418, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 418, column: 30, }, end: Position { line: 418, column: 35, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 418, column: 37, }, end: Position { line: 418, column: 42, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 418, column: 43, }, end: Position { line: 418, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 418, column: 50, }, end: Position { line: 418, column: 59, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "openstack_sd_config", span: Span { start: Position { line: 418, column: 60, }, end: Position { line: 418, column: 79, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of OpenStack service discovery configurations.\n", span: Span { start: Position { line: 419, column: 1, }, end: Position { line: 420, column: 7, }, }, }, ), ], span: Span { start: Position { line: 418, column: 81, }, end: Position { line: 420, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "puppetdb_sd_configs", span: Span { start: Position { line: 422, column: 7, }, end: Position { line: 422, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 422, column: 29, }, end: Position { line: 422, column: 34, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 422, column: 36, }, end: Position { line: 422, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 422, column: 42, }, end: Position { line: 422, column: 48, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 422, column: 49, }, end: Position { line: 422, column: 58, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "puppetdb_sd_config", span: Span { start: Position { line: 422, column: 59, }, end: Position { line: 422, column: 77, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of PuppetDB service discovery configurations.\n", span: Span { start: Position { line: 423, column: 1, }, end: Position { line: 424, column: 7, }, }, }, ), ], span: Span { start: Position { line: 422, column: 79, }, end: Position { line: 424, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scaleway_sd_configs", span: Span { start: Position { line: 426, column: 7, }, end: Position { line: 426, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 426, column: 29, }, end: Position { line: 426, column: 34, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 426, column: 36, }, end: Position { line: 426, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 426, column: 42, }, end: Position { line: 426, column: 48, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 426, column: 49, }, end: Position { line: 426, column: 58, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "scaleway_sd_config", span: Span { start: Position { line: 426, column: 59, }, end: Position { line: 426, column: 77, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Scaleway service discovery configurations.\n", span: Span { start: Position { line: 427, column: 1, }, end: Position { line: 428, column: 7, }, }, }, ), ], span: Span { start: Position { line: 426, column: 79, }, end: Position { line: 428, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "serverset_sd_configs", span: Span { start: Position { line: 430, column: 7, }, end: Position { line: 430, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 430, column: 30, }, end: Position { line: 430, column: 35, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 430, column: 37, }, end: Position { line: 430, column: 42, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 430, column: 43, }, end: Position { line: 430, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 430, column: 50, }, end: Position { line: 430, column: 59, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "serverset_sd_config", span: Span { start: Position { line: 430, column: 60, }, end: Position { line: 430, column: 79, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Zookeeper Serverset service discovery configurations.\n", span: Span { start: Position { line: 431, column: 1, }, end: Position { line: 432, column: 7, }, }, }, ), ], span: Span { start: Position { line: 430, column: 81, }, end: Position { line: 432, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "triton_sd_configs", span: Span { start: Position { line: 434, column: 7, }, end: Position { line: 434, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 434, column: 27, }, end: Position { line: 434, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 434, column: 34, }, end: Position { line: 434, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 434, column: 40, }, end: Position { line: 434, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 434, column: 47, }, end: Position { line: 434, column: 56, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "triton_sd_config", span: Span { start: Position { line: 434, column: 57, }, end: Position { line: 434, column: 73, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Triton Serverset service discovery configurations.\n", span: Span { start: Position { line: 435, column: 1, }, end: Position { line: 436, column: 7, }, }, }, ), ], span: Span { start: Position { line: 434, column: 75, }, end: Position { line: 436, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "uyuni_sd_configs", span: Span { start: Position { line: 438, column: 7, }, end: Position { line: 438, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 438, column: 26, }, end: Position { line: 438, column: 31, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 438, column: 33, }, end: Position { line: 438, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 438, column: 39, }, end: Position { line: 438, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 438, column: 46, }, end: Position { line: 438, column: 55, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "uyuni_sd_config", span: Span { start: Position { line: 438, column: 56, }, end: Position { line: 438, column: 71, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of Uyuni Serverset service discovery configurations.\n", span: Span { start: Position { line: 439, column: 1, }, end: Position { line: 440, column: 7, }, }, }, ), ], span: Span { start: Position { line: 438, column: 73, }, end: Position { line: 440, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "static_configs", span: Span { start: Position { line: 442, column: 7, }, end: Position { line: 442, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 442, column: 24, }, end: Position { line: 442, column: 29, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 442, column: 31, }, end: Position { line: 442, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 442, column: 37, }, end: Position { line: 442, column: 43, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 442, column: 44, }, end: Position { line: 442, column: 53, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "static_config", span: Span { start: Position { line: 442, column: 54, }, end: Position { line: 442, column: 67, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of labeled target groups for this job.\n", span: Span { start: Position { line: 443, column: 1, }, end: Position { line: 444, column: 7, }, }, }, ), ], span: Span { start: Position { line: 442, column: 69, }, end: Position { line: 444, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "relabel_configs", span: Span { start: Position { line: 446, column: 7, }, end: Position { line: 446, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 446, column: 25, }, end: Position { line: 446, column: 30, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 446, column: 32, }, end: Position { line: 446, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 446, column: 38, }, end: Position { line: 446, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 446, column: 45, }, end: Position { line: 446, column: 54, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "relabel_config", span: Span { start: Position { line: 446, column: 55, }, end: Position { line: 446, column: 69, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of relabel configurations.\n", span: Span { start: Position { line: 447, column: 1, }, end: Position { line: 448, column: 7, }, }, }, ), ], span: Span { start: Position { line: 446, column: 71, }, end: Position { line: 448, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "metric_relabel_configs", span: Span { start: Position { line: 450, column: 7, }, end: Position { line: 450, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 450, column: 32, }, end: Position { line: 450, column: 37, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 450, column: 39, }, end: Position { line: 450, column: 44, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 450, column: 45, }, end: Position { line: 450, column: 51, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 450, column: 52, }, end: Position { line: 450, column: 61, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "relabel_config", span: Span { start: Position { line: 450, column: 62, }, end: Position { line: 450, column: 76, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of metric relabel configurations.\n", span: Span { start: Position { line: 451, column: 1, }, end: Position { line: 452, column: 7, }, }, }, ), ], span: Span { start: Position { line: 450, column: 78, }, end: Position { line: 452, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "body_size_limit", span: Span { start: Position { line: 454, column: 7, }, end: Position { line: 454, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 454, column: 25, }, end: Position { line: 454, column: 33, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 454, column: 34, }, end: Position { line: 454, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 454, column: 40, }, end: Position { line: 454, column: 43, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "0", span: Span { start: Position { line: 454, column: 45, }, end: Position { line: 454, column: 46, }, }, }, ), ], span: Span { start: Position { line: 454, column: 44, }, end: Position { line: 454, column: 47, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "An uncompressed response body larger than this many bytes will cause the\nscrape to fail. 0 means no limit. Example: 100MB.\nThis is an experimental feature, this behaviour could\nchange or be removed in the future.\n", span: Span { start: Position { line: 455, column: 1, }, end: Position { line: 459, column: 7, }, }, }, ), ], span: Span { start: Position { line: 454, column: 48, }, end: Position { line: 459, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "sample_limit", span: Span { start: Position { line: 461, column: 7, }, end: Position { line: 461, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 461, column: 22, }, end: Position { line: 461, column: 30, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 461, column: 31, }, end: Position { line: 461, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 461, column: 37, }, end: Position { line: 461, column: 40, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "0", span: Span { start: Position { line: 461, column: 42, }, end: Position { line: 461, column: 43, }, }, }, ), ], span: Span { start: Position { line: 461, column: 41, }, end: Position { line: 461, column: 44, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Per-scrape limit on number of scraped samples that will be accepted.\nIf more than this number of samples are present after metric relabelling\nthe entire scrape will be treated as failed. 0 means no limit.\n", span: Span { start: Position { line: 462, column: 1, }, end: Position { line: 465, column: 7, }, }, }, ), ], span: Span { start: Position { line: 461, column: 45, }, end: Position { line: 465, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "label_limit", span: Span { start: Position { line: 467, column: 7, }, end: Position { line: 467, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 467, column: 21, }, end: Position { line: 467, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 467, column: 30, }, end: Position { line: 467, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 467, column: 36, }, end: Position { line: 467, column: 39, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "0", span: Span { start: Position { line: 467, column: 41, }, end: Position { line: 467, column: 42, }, }, }, ), ], span: Span { start: Position { line: 467, column: 40, }, end: Position { line: 467, column: 43, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Per-scrape limit on number of labels that will be accepted for a sample. If\nmore than this number of labels are present post metric-relabeling, the\nentire scrape will be treated as failed. 0 means no limit.\n", span: Span { start: Position { line: 468, column: 1, }, end: Position { line: 471, column: 7, }, }, }, ), ], span: Span { start: Position { line: 467, column: 44, }, end: Position { line: 471, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "label_name_length_limit", span: Span { start: Position { line: 473, column: 7, }, end: Position { line: 473, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 473, column: 33, }, end: Position { line: 473, column: 41, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 473, column: 42, }, end: Position { line: 473, column: 47, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 473, column: 48, }, end: Position { line: 473, column: 51, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "0", span: Span { start: Position { line: 473, column: 53, }, end: Position { line: 473, column: 54, }, }, }, ), ], span: Span { start: Position { line: 473, column: 52, }, end: Position { line: 473, column: 55, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Per-scrape limit on length of labels name that will be accepted for a sample.\nIf a label name is longer than this number post metric-relabeling, the entire\nscrape will be treated as failed. 0 means no limit.\n", span: Span { start: Position { line: 474, column: 1, }, end: Position { line: 477, column: 7, }, }, }, ), ], span: Span { start: Position { line: 473, column: 56, }, end: Position { line: 477, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "label_value_length_limit", span: Span { start: Position { line: 479, column: 7, }, end: Position { line: 479, column: 31, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 479, column: 34, }, end: Position { line: 479, column: 42, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 479, column: 43, }, end: Position { line: 479, column: 48, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 479, column: 49, }, end: Position { line: 479, column: 52, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "0", span: Span { start: Position { line: 479, column: 54, }, end: Position { line: 479, column: 55, }, }, }, ), ], span: Span { start: Position { line: 479, column: 53, }, end: Position { line: 479, column: 56, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Per-scrape limit on length of labels value that will be accepted for a sample.\nIf a label value is longer than this number post metric-relabeling, the\nentire scrape will be treated as failed. 0 means no limit.\n", span: Span { start: Position { line: 480, column: 1, }, end: Position { line: 483, column: 7, }, }, }, ), ], span: Span { start: Position { line: 479, column: 57, }, end: Position { line: 483, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "target_limit", span: Span { start: Position { line: 485, column: 7, }, end: Position { line: 485, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 485, column: 22, }, end: Position { line: 485, column: 30, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 485, column: 31, }, end: Position { line: 485, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 485, column: 37, }, end: Position { line: 485, column: 40, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "0", span: Span { start: Position { line: 485, column: 42, }, end: Position { line: 485, column: 43, }, }, }, ), ], span: Span { start: Position { line: 485, column: 41, }, end: Position { line: 485, column: 44, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Per-scrape config limit on number of unique targets that will be\naccepted. If more than this number of targets are present after target\nrelabeling, Prometheus will mark the targets as failed without scraping them.\n0 means no limit. This is an experimental feature, this behaviour could\nchange in the future.\n", span: Span { start: Position { line: 486, column: 1, }, end: Position { line: 491, column: 7, }, }, }, ), ], span: Span { start: Position { line: 485, column: 45, }, end: Position { line: 491, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 250, column: 15, }, end: Position { line: 492, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 249, column: 45, }, end: Position { line: 493, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 502, column: 3, }, end: Position { line: 502, column: 12, }, }, }, ), Raw( PartRaw { content: "azure_sd_config", span: Span { start: Position { line: 502, column: 13, }, end: Position { line: 502, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 502, column: 31, }, end: Position { line: 502, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 502, column: 37, }, end: Position { line: 502, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 503, column: 5, }, end: Position { line: 503, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 504, column: 7, }, end: Position { line: 504, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 504, column: 21, }, end: Position { line: 504, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 504, column: 30, }, end: Position { line: 504, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 504, column: 36, }, end: Position { line: 504, column: 39, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "AzurePublicCloud", span: Span { start: Position { line: 504, column: 41, }, end: Position { line: 504, column: 57, }, }, }, ), ], span: Span { start: Position { line: 504, column: 40, }, end: Position { line: 504, column: 58, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The Azure environment.\n", span: Span { start: Position { line: 505, column: 1, }, end: Position { line: 506, column: 7, }, }, }, ), ], span: Span { start: Position { line: 504, column: 59, }, end: Position { line: 506, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "authentication_method", span: Span { start: Position { line: 508, column: 7, }, end: Position { line: 508, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 508, column: 31, }, end: Position { line: 508, column: 39, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 508, column: 41, }, end: Position { line: 508, column: 46, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 508, column: 47, }, end: Position { line: 508, column: 51, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "OAuth", span: Span { start: Position { line: 508, column: 55, }, end: Position { line: 508, column: 60, }, }, }, ), ], span: Span { start: Position { line: 508, column: 54, }, end: Position { line: 508, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "ManagedIdentity", span: Span { start: Position { line: 508, column: 63, }, end: Position { line: 508, column: 78, }, }, }, ), ], span: Span { start: Position { line: 508, column: 62, }, end: Position { line: 508, column: 79, }, }, }, ), ], span: Span { start: Position { line: 508, column: 52, }, end: Position { line: 508, column: 81, }, }, }, ), ], }, ), String( String_ { parts: [ Raw( PartRaw { content: "OAuth", span: Span { start: Position { line: 508, column: 84, }, end: Position { line: 508, column: 89, }, }, }, ), ], span: Span { start: Position { line: 508, column: 83, }, end: Position { line: 508, column: 90, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The authentication method, either OAuth or ManagedIdentity.\nSee https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview\n", span: Span { start: Position { line: 509, column: 1, }, end: Position { line: 511, column: 7, }, }, }, ), ], span: Span { start: Position { line: 508, column: 91, }, end: Position { line: 511, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "subscription_id", span: Span { start: Position { line: 513, column: 7, }, end: Position { line: 513, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 513, column: 25, }, end: Position { line: 513, column: 33, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 514, column: 9, }, end: Position { line: 514, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 514, column: 16, }, end: Position { line: 514, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 514, column: 22, }, end: Position { line: 514, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 515, column: 9, }, end: Position { line: 515, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 515, column: 23, }, end: Position { line: 515, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 515, column: 27, }, end: Position { line: 515, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The subscription ID.\n", span: Span { start: Position { line: 516, column: 1, }, end: Position { line: 517, column: 9, }, }, }, ), ], span: Span { start: Position { line: 515, column: 33, }, end: Position { line: 517, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 513, column: 34, }, end: Position { line: 518, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tenant_id", span: Span { start: Position { line: 520, column: 7, }, end: Position { line: 520, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 520, column: 19, }, end: Position { line: 520, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 520, column: 25, }, end: Position { line: 520, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 520, column: 31, }, end: Position { line: 520, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional tenant ID. Only required with authentication_method OAuth.\n", span: Span { start: Position { line: 521, column: 1, }, end: Position { line: 522, column: 7, }, }, }, ), ], span: Span { start: Position { line: 520, column: 35, }, end: Position { line: 522, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "client_id", span: Span { start: Position { line: 524, column: 7, }, end: Position { line: 524, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 524, column: 19, }, end: Position { line: 524, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 524, column: 25, }, end: Position { line: 524, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 524, column: 31, }, end: Position { line: 524, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional client ID. Only required with authentication_method OAuth.\n", span: Span { start: Position { line: 525, column: 1, }, end: Position { line: 526, column: 7, }, }, }, ), ], span: Span { start: Position { line: 524, column: 35, }, end: Position { line: 526, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "client_secret", span: Span { start: Position { line: 528, column: 7, }, end: Position { line: 528, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 528, column: 23, }, end: Position { line: 528, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 528, column: 29, }, end: Position { line: 528, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 528, column: 35, }, end: Position { line: 528, column: 38, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional client secret. Only required with authentication_method OAuth.\n", span: Span { start: Position { line: 529, column: 1, }, end: Position { line: 530, column: 7, }, }, }, ), ], span: Span { start: Position { line: 528, column: 39, }, end: Position { line: 530, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 532, column: 7, }, end: Position { line: 532, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 532, column: 26, }, end: Position { line: 532, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 532, column: 35, }, end: Position { line: 532, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 532, column: 41, }, end: Position { line: 532, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "300s", span: Span { start: Position { line: 532, column: 46, }, end: Position { line: 532, column: 50, }, }, }, ), ], span: Span { start: Position { line: 532, column: 45, }, end: Position { line: 532, column: 51, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the instance list.\n", span: Span { start: Position { line: 533, column: 1, }, end: Position { line: 534, column: 7, }, }, }, ), ], span: Span { start: Position { line: 532, column: 52, }, end: Position { line: 534, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 536, column: 7, }, end: Position { line: 536, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 536, column: 14, }, end: Position { line: 536, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 536, column: 23, }, end: Position { line: 536, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 536, column: 29, }, end: Position { line: 536, column: 32, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 536, column: 34, }, end: Position { line: 536, column: 36, }, }, }, ), ], span: Span { start: Position { line: 536, column: 33, }, end: Position { line: 536, column: 37, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from. If using the public IP\naddress, this must instead be specified in the relabeling\nrule.\n", span: Span { start: Position { line: 537, column: 1, }, end: Position { line: 540, column: 7, }, }, }, ), ], span: Span { start: Position { line: 536, column: 38, }, end: Position { line: 540, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "proxy_url", span: Span { start: Position { line: 542, column: 7, }, end: Position { line: 542, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 542, column: 19, }, end: Position { line: 542, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 542, column: 25, }, end: Position { line: 542, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 542, column: 31, }, end: Position { line: 542, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional proxy URL.\n", span: Span { start: Position { line: 543, column: 1, }, end: Position { line: 544, column: 7, }, }, }, ), ], span: Span { start: Position { line: 542, column: 35, }, end: Position { line: 544, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "follow_redirects", span: Span { start: Position { line: 546, column: 7, }, end: Position { line: 546, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 546, column: 26, }, end: Position { line: 546, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 546, column: 35, }, end: Position { line: 546, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 546, column: 41, }, end: Position { line: 546, column: 45, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "true", span: Span { start: Position { line: 546, column: 47, }, end: Position { line: 546, column: 51, }, }, }, ), ], span: Span { start: Position { line: 546, column: 46, }, end: Position { line: 546, column: 52, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configure whether HTTP requests follow HTTP 3xx redirects.\n", span: Span { start: Position { line: 547, column: 1, }, end: Position { line: 548, column: 7, }, }, }, ), ], span: Span { start: Position { line: 546, column: 53, }, end: Position { line: 548, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 550, column: 7, }, end: Position { line: 550, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 550, column: 20, }, end: Position { line: 550, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 550, column: 26, }, end: Position { line: 550, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 550, column: 36, }, end: Position { line: 550, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "TLS configuration.\n", span: Span { start: Position { line: 551, column: 1, }, end: Position { line: 552, column: 7, }, }, }, ), ], span: Span { start: Position { line: 550, column: 47, }, end: Position { line: 552, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 503, column: 15, }, end: Position { line: 553, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 502, column: 47, }, end: Position { line: 554, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 556, column: 3, }, end: Position { line: 556, column: 12, }, }, }, ), Raw( PartRaw { content: "consul_sd_config", span: Span { start: Position { line: 556, column: 13, }, end: Position { line: 556, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 556, column: 32, }, end: Position { line: 556, column: 48, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 557, column: 5, }, end: Position { line: 557, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 557, column: 14, }, end: Position { line: 557, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 557, column: 23, }, end: Position { line: 557, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 557, column: 29, }, end: Position { line: 557, column: 32, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "localhost:8500", span: Span { start: Position { line: 557, column: 34, }, end: Position { line: 557, column: 48, }, }, }, ), ], span: Span { start: Position { line: 557, column: 33, }, end: Position { line: 557, column: 49, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Consul server to query.\n", span: Span { start: Position { line: 558, column: 1, }, end: Position { line: 559, column: 5, }, }, }, ), ], span: Span { start: Position { line: 557, column: 50, }, end: Position { line: 559, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "token", span: Span { start: Position { line: 561, column: 5, }, end: Position { line: 561, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 561, column: 13, }, end: Position { line: 561, column: 18, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 561, column: 19, }, end: Position { line: 561, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 561, column: 25, }, end: Position { line: 561, column: 28, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Consul token", span: Span { start: Position { line: 561, column: 30, }, end: Position { line: 561, column: 42, }, }, }, ), ], span: Span { start: Position { line: 561, column: 29, }, end: Position { line: 561, column: 43, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "datacenter", span: Span { start: Position { line: 563, column: 5, }, end: Position { line: 563, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 563, column: 18, }, end: Position { line: 563, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 563, column: 24, }, end: Position { line: 563, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 563, column: 30, }, end: Position { line: 563, column: 33, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Consul datacenter", span: Span { start: Position { line: 563, column: 35, }, end: Position { line: 563, column: 52, }, }, }, ), ], span: Span { start: Position { line: 563, column: 34, }, end: Position { line: 563, column: 53, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scheme", span: Span { start: Position { line: 565, column: 5, }, end: Position { line: 565, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 565, column: 14, }, end: Position { line: 565, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 565, column: 23, }, end: Position { line: 565, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 565, column: 29, }, end: Position { line: 565, column: 32, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "http", span: Span { start: Position { line: 565, column: 34, }, end: Position { line: 565, column: 38, }, }, }, ), ], span: Span { start: Position { line: 565, column: 33, }, end: Position { line: 565, column: 39, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Consul scheme", span: Span { start: Position { line: 565, column: 41, }, end: Position { line: 565, column: 54, }, }, }, ), ], span: Span { start: Position { line: 565, column: 40, }, end: Position { line: 565, column: 55, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "username", span: Span { start: Position { line: 567, column: 5, }, end: Position { line: 567, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 567, column: 16, }, end: Position { line: 567, column: 21, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 567, column: 22, }, end: Position { line: 567, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 567, column: 28, }, end: Position { line: 567, column: 31, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Consul username", span: Span { start: Position { line: 567, column: 33, }, end: Position { line: 567, column: 48, }, }, }, ), ], span: Span { start: Position { line: 567, column: 32, }, end: Position { line: 567, column: 49, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 569, column: 5, }, end: Position { line: 569, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 569, column: 16, }, end: Position { line: 569, column: 21, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 569, column: 22, }, end: Position { line: 569, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 569, column: 28, }, end: Position { line: 569, column: 31, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Consul password", span: Span { start: Position { line: 569, column: 33, }, end: Position { line: 569, column: 48, }, }, }, ), ], span: Span { start: Position { line: 569, column: 32, }, end: Position { line: 569, column: 49, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 571, column: 5, }, end: Position { line: 571, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 571, column: 18, }, end: Position { line: 571, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 571, column: 24, }, end: Position { line: 571, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 571, column: 34, }, end: Position { line: 571, column: 44, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configures the Consul request's TLS settings.\n", span: Span { start: Position { line: 572, column: 1, }, end: Position { line: 573, column: 5, }, }, }, ), ], span: Span { start: Position { line: 571, column: 45, }, end: Position { line: 573, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 575, column: 5, }, end: Position { line: 575, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 575, column: 16, }, end: Position { line: 575, column: 21, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 575, column: 23, }, end: Position { line: 575, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 575, column: 29, }, end: Position { line: 575, column: 35, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 575, column: 36, }, end: Position { line: 575, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 575, column: 42, }, end: Position { line: 575, column: 45, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "A list of services for which targets are retrieved.\n", span: Span { start: Position { line: 576, column: 1, }, end: Position { line: 577, column: 5, }, }, }, ), ], span: Span { start: Position { line: 575, column: 47, }, end: Position { line: 577, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tags", span: Span { start: Position { line: 579, column: 5, }, end: Position { line: 579, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 579, column: 12, }, end: Position { line: 579, column: 17, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 579, column: 19, }, end: Position { line: 579, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 579, column: 25, }, end: Position { line: 579, column: 31, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 579, column: 32, }, end: Position { line: 579, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 579, column: 38, }, end: Position { line: 579, column: 41, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "An optional list of tags used to filter nodes for a given\nservice. Services must contain all tags in the list.\n", span: Span { start: Position { line: 580, column: 1, }, end: Position { line: 582, column: 5, }, }, }, ), ], span: Span { start: Position { line: 579, column: 43, }, end: Position { line: 582, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "node_meta", span: Span { start: Position { line: 584, column: 5, }, end: Position { line: 584, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 584, column: 17, }, end: Position { line: 584, column: 22, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 584, column: 24, }, end: Position { line: 584, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrsOf", span: Span { start: Position { line: 584, column: 30, }, end: Position { line: 584, column: 37, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 584, column: 38, }, end: Position { line: 584, column: 43, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 584, column: 44, }, end: Position { line: 584, column: 47, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Node metadata used to filter nodes for a given service.\n", span: Span { start: Position { line: 585, column: 1, }, end: Position { line: 586, column: 5, }, }, }, ), ], span: Span { start: Position { line: 584, column: 49, }, end: Position { line: 586, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tag_separator", span: Span { start: Position { line: 588, column: 5, }, end: Position { line: 588, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 588, column: 21, }, end: Position { line: 588, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 588, column: 30, }, end: Position { line: 588, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 588, column: 36, }, end: Position { line: 588, column: 39, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: ",", span: Span { start: Position { line: 588, column: 41, }, end: Position { line: 588, column: 42, }, }, }, ), ], span: Span { start: Position { line: 588, column: 40, }, end: Position { line: 588, column: 43, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The string by which Consul tags are joined into the tag label.\n", span: Span { start: Position { line: 589, column: 1, }, end: Position { line: 590, column: 5, }, }, }, ), ], span: Span { start: Position { line: 588, column: 44, }, end: Position { line: 590, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "allow_stale", span: Span { start: Position { line: 592, column: 5, }, end: Position { line: 592, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 592, column: 19, }, end: Position { line: 592, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 592, column: 25, }, end: Position { line: 592, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 592, column: 31, }, end: Position { line: 592, column: 35, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Allow stale Consul results\n(see ).\n\nWill reduce load on Consul.\n", span: Span { start: Position { line: 593, column: 1, }, end: Position { line: 597, column: 5, }, }, }, ), ], span: Span { start: Position { line: 592, column: 36, }, end: Position { line: 597, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 599, column: 5, }, end: Position { line: 599, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 599, column: 24, }, end: Position { line: 599, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 599, column: 33, }, end: Position { line: 599, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 599, column: 39, }, end: Position { line: 599, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "30s", span: Span { start: Position { line: 599, column: 44, }, end: Position { line: 599, column: 47, }, }, }, ), ], span: Span { start: Position { line: 599, column: 43, }, end: Position { line: 599, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The time after which the provided names are refreshed.\n\nOn large setup it might be a good idea to increase this value\nbecause the catalog will change all the time.\n", span: Span { start: Position { line: 600, column: 1, }, end: Position { line: 604, column: 5, }, }, }, ), ], span: Span { start: Position { line: 599, column: 49, }, end: Position { line: 604, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 556, column: 49, }, end: Position { line: 605, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 607, column: 3, }, end: Position { line: 607, column: 12, }, }, }, ), Raw( PartRaw { content: "digitalocean_sd_config", span: Span { start: Position { line: 607, column: 13, }, end: Position { line: 607, column: 35, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 607, column: 38, }, end: Position { line: 607, column: 54, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 608, column: 5, }, end: Position { line: 608, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 608, column: 12, }, end: Position { line: 608, column: 20, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 608, column: 21, }, end: Position { line: 608, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 608, column: 27, }, end: Position { line: 608, column: 30, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 608, column: 32, }, end: Position { line: 608, column: 34, }, }, }, ), ], span: Span { start: Position { line: 608, column: 31, }, end: Position { line: 608, column: 35, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from.\n", span: Span { start: Position { line: 609, column: 1, }, end: Position { line: 610, column: 5, }, }, }, ), ], span: Span { start: Position { line: 608, column: 36, }, end: Position { line: 610, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 612, column: 5, }, end: Position { line: 612, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 612, column: 24, }, end: Position { line: 612, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 612, column: 33, }, end: Position { line: 612, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 612, column: 39, }, end: Position { line: 612, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 612, column: 44, }, end: Position { line: 612, column: 47, }, }, }, ), ], span: Span { start: Position { line: 612, column: 43, }, end: Position { line: 612, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The time after which the droplets are refreshed.\n", span: Span { start: Position { line: 613, column: 1, }, end: Position { line: 614, column: 5, }, }, }, ), ], span: Span { start: Position { line: 612, column: 49, }, end: Position { line: 614, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 607, column: 55, }, end: Position { line: 615, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "mkDockerSdConfigModule", span: Span { start: Position { line: 617, column: 3, }, end: Position { line: 617, column: 25, }, }, }, ), ], to: Function( Function { head: Simple( FunctionHeadSimple { identifier: "extraOptions", }, ), body: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 617, column: 42, }, end: Position { line: 617, column: 58, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "host", span: Span { start: Position { line: 618, column: 5, }, end: Position { line: 618, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 618, column: 12, }, end: Position { line: 618, column: 20, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 619, column: 7, }, end: Position { line: 619, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 619, column: 14, }, end: Position { line: 619, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 619, column: 20, }, end: Position { line: 619, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 620, column: 7, }, end: Position { line: 620, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 620, column: 21, }, end: Position { line: 620, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 620, column: 25, }, end: Position { line: 620, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Address of the Docker daemon.\n", span: Span { start: Position { line: 621, column: 1, }, end: Position { line: 622, column: 7, }, }, }, ), ], span: Span { start: Position { line: 620, column: 31, }, end: Position { line: 622, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 618, column: 21, }, end: Position { line: 623, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 625, column: 5, }, end: Position { line: 625, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 625, column: 12, }, end: Position { line: 625, column: 20, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 625, column: 21, }, end: Position { line: 625, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 625, column: 27, }, end: Position { line: 625, column: 30, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 625, column: 32, }, end: Position { line: 625, column: 34, }, }, }, ), ], span: Span { start: Position { line: 625, column: 31, }, end: Position { line: 625, column: 35, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from, when `role` is nodes, and for discovered\ntasks and services that don't have published ports.\n", span: Span { start: Position { line: 626, column: 1, }, end: Position { line: 628, column: 5, }, }, }, ), ], span: Span { start: Position { line: 625, column: 36, }, end: Position { line: 628, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "filters", span: Span { start: Position { line: 630, column: 5, }, end: Position { line: 630, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 630, column: 15, }, end: Position { line: 630, column: 20, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 631, column: 8, }, end: Position { line: 631, column: 13, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 631, column: 14, }, end: Position { line: 631, column: 20, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 631, column: 22, }, end: Position { line: 631, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 631, column: 28, }, end: Position { line: 631, column: 37, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 632, column: 9, }, end: Position { line: 632, column: 16, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 633, column: 11, }, end: Position { line: 633, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 633, column: 18, }, end: Position { line: 633, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 634, column: 13, }, end: Position { line: 634, column: 17, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 634, column: 20, }, end: Position { line: 634, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 634, column: 26, }, end: Position { line: 634, column: 29, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 635, column: 13, }, end: Position { line: 635, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 635, column: 27, }, end: Position { line: 635, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 635, column: 31, }, end: Position { line: 635, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Name of the filter. The available filters are listed in the upstream documentation:\nServices: \nTasks: \nNodes: \n", span: Span { start: Position { line: 636, column: 1, }, end: Position { line: 640, column: 13, }, }, }, ), ], span: Span { start: Position { line: 635, column: 37, }, end: Position { line: 640, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 633, column: 27, }, end: Position { line: 641, column: 12, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "values", span: Span { start: Position { line: 642, column: 11, }, 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: "type", span: Span { start: Position { line: 643, column: 13, }, end: Position { line: 643, column: 17, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 643, column: 20, }, end: Position { line: 643, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 643, column: 26, }, end: Position { line: 643, column: 29, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 644, column: 13, }, end: Position { line: 644, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 644, column: 27, }, end: Position { line: 644, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 644, column: 31, }, end: Position { line: 644, column: 36, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Value for the filter.\n", span: Span { start: Position { line: 645, column: 1, }, end: Position { line: 646, column: 13, }, }, }, ), ], span: Span { start: Position { line: 644, column: 37, }, end: Position { line: 646, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 642, column: 29, }, end: Position { line: 647, column: 12, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 632, column: 19, }, end: Position { line: 648, column: 10, }, }, }, ), }, ), ], span: Span { start: Position { line: 631, column: 38, }, end: Position { line: 649, column: 8, }, }, }, ), ], }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional filters to limit the discovery process to a subset of available resources.\n", span: Span { start: Position { line: 650, column: 1, }, end: Position { line: 651, column: 5, }, }, }, ), ], span: Span { start: Position { line: 649, column: 11, }, end: Position { line: 651, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 653, column: 5, }, end: Position { line: 653, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 653, column: 24, }, end: Position { line: 653, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 653, column: 33, }, end: Position { line: 653, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 653, column: 39, }, end: Position { line: 653, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 653, column: 44, }, end: Position { line: 653, column: 47, }, }, }, ), ], span: Span { start: Position { line: 653, column: 43, }, end: Position { line: 653, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The time after which the containers are refreshed.\n", span: Span { start: Position { line: 654, column: 1, }, end: Position { line: 655, column: 5, }, }, }, ), ], span: Span { start: Position { line: 653, column: 49, }, end: Position { line: 655, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 617, column: 60, }, end: Position { line: 656, column: 4, }, }, }, ), operator: Update, right: Identifier( Identifier { id: "extraOptions", span: Span { start: Position { line: 656, column: 8, }, end: Position { line: 656, column: 20, }, }, }, ), }, ), ], }, ), span: Span { start: Position { line: 617, column: 28, }, end: Position { line: 656, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 658, column: 3, }, end: Position { line: 658, column: 12, }, }, }, ), Raw( PartRaw { content: "docker_sd_config", span: Span { start: Position { line: 658, column: 13, }, end: Position { line: 658, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDockerSdConfigModule", span: Span { start: Position { line: 658, column: 32, }, end: Position { line: 658, column: 54, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "host_networking_host", span: Span { start: Position { line: 659, column: 5, }, end: Position { line: 659, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 659, column: 28, }, end: Position { line: 659, column: 36, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 659, column: 37, }, end: Position { line: 659, column: 42, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 659, column: 43, }, end: Position { line: 659, column: 46, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "localhost", span: Span { start: Position { line: 659, column: 48, }, end: Position { line: 659, column: 57, }, }, }, ), ], span: Span { start: Position { line: 659, column: 47, }, end: Position { line: 659, column: 58, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The host to use if the container is in host networking mode.\n", span: Span { start: Position { line: 660, column: 1, }, end: Position { line: 661, column: 5, }, }, }, ), ], span: Span { start: Position { line: 659, column: 59, }, end: Position { line: 661, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 658, column: 55, }, end: Position { line: 662, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 664, column: 3, }, end: Position { line: 664, column: 12, }, }, }, ), Raw( PartRaw { content: "dockerswarm_sd_config", span: Span { start: Position { line: 664, column: 13, }, end: Position { line: 664, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDockerSdConfigModule", span: Span { start: Position { line: 664, column: 37, }, end: Position { line: 664, column: 59, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role", span: Span { start: Position { line: 665, column: 5, }, end: Position { line: 665, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 665, column: 12, }, end: Position { line: 665, column: 20, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 666, column: 7, }, end: Position { line: 666, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 666, column: 14, }, end: Position { line: 666, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 666, column: 20, }, end: Position { line: 666, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 666, column: 28, }, end: Position { line: 666, column: 36, }, }, }, ), ], span: Span { start: Position { line: 666, column: 27, }, end: Position { line: 666, column: 37, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "tasks", span: Span { start: Position { line: 666, column: 39, }, end: Position { line: 666, column: 44, }, }, }, ), ], span: Span { start: Position { line: 666, column: 38, }, end: Position { line: 666, column: 45, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "nodes", span: Span { start: Position { line: 666, column: 47, }, end: Position { line: 666, column: 52, }, }, }, ), ], span: Span { start: Position { line: 666, column: 46, }, end: Position { line: 666, column: 53, }, }, }, ), ], span: Span { start: Position { line: 666, column: 25, }, end: Position { line: 666, column: 55, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 667, column: 7, }, end: Position { line: 667, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 667, column: 21, }, end: Position { line: 667, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 667, column: 25, }, end: Position { line: 667, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Role of the targets to retrieve. Must be `services`, `tasks`, or `nodes`.\n", span: Span { start: Position { line: 668, column: 1, }, end: Position { line: 669, column: 7, }, }, }, ), ], span: Span { start: Position { line: 667, column: 31, }, end: Position { line: 669, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 665, column: 21, }, end: Position { line: 670, column: 6, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 664, column: 60, }, end: Position { line: 671, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 673, column: 3, }, end: Position { line: 673, column: 12, }, }, }, ), Raw( PartRaw { content: "dns_sd_config", span: Span { start: Position { line: 673, column: 13, }, end: Position { line: 673, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 673, column: 29, }, end: Position { line: 673, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 673, column: 35, }, end: Position { line: 673, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 674, column: 5, }, end: Position { line: 674, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "names", span: Span { start: Position { line: 675, column: 7, }, end: Position { line: 675, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 675, column: 15, }, end: Position { line: 675, column: 23, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 676, column: 9, }, end: Position { line: 676, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 676, column: 16, }, end: Position { line: 676, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 676, column: 22, }, end: Position { line: 676, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 676, column: 29, }, end: Position { line: 676, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 676, column: 35, }, end: Position { line: 676, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 677, column: 9, }, end: Position { line: 677, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 677, column: 23, }, end: Position { line: 677, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 677, column: 27, }, end: Position { line: 677, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "A list of DNS SRV record names to be queried.\n", span: Span { start: Position { line: 678, column: 1, }, end: Position { line: 679, column: 9, }, }, }, ), ], span: Span { start: Position { line: 677, column: 33, }, end: Position { line: 679, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 675, column: 24, }, end: Position { line: 680, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 682, column: 7, }, end: Position { line: 682, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 682, column: 14, }, end: Position { line: 682, column: 22, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 682, column: 24, }, end: Position { line: 682, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 682, column: 30, }, end: Position { line: 682, column: 34, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "SRV", span: Span { start: Position { line: 682, column: 38, }, end: Position { line: 682, column: 41, }, }, }, ), ], span: Span { start: Position { line: 682, column: 37, }, end: Position { line: 682, column: 42, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "A", span: Span { start: Position { line: 682, column: 44, }, end: Position { line: 682, column: 45, }, }, }, ), ], span: Span { start: Position { line: 682, column: 43, }, end: Position { line: 682, column: 46, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "AAAA", span: Span { start: Position { line: 682, column: 48, }, end: Position { line: 682, column: 52, }, }, }, ), ], span: Span { start: Position { line: 682, column: 47, }, end: Position { line: 682, column: 53, }, }, }, ), ], span: Span { start: Position { line: 682, column: 35, }, end: Position { line: 682, column: 55, }, }, }, ), ], }, ), String( String_ { parts: [ Raw( PartRaw { content: "SRV", span: Span { start: Position { line: 682, column: 58, }, end: Position { line: 682, column: 61, }, }, }, ), ], span: Span { start: Position { line: 682, column: 57, }, end: Position { line: 682, column: 62, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The type of DNS query to perform. One of SRV, A, or AAAA.\n", span: Span { start: Position { line: 683, column: 1, }, end: Position { line: 684, column: 7, }, }, }, ), ], span: Span { start: Position { line: 682, column: 63, }, end: Position { line: 684, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 686, column: 7, }, end: Position { line: 686, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 686, column: 14, }, end: Position { line: 686, column: 19, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 686, column: 20, }, end: Position { line: 686, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 686, column: 26, }, end: Position { line: 686, column: 29, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port number used if the query type is not SRV.\n", span: Span { start: Position { line: 687, column: 1, }, end: Position { line: 688, column: 7, }, }, }, ), ], span: Span { start: Position { line: 686, column: 30, }, end: Position { line: 688, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 690, column: 7, }, end: Position { line: 690, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 690, column: 26, }, end: Position { line: 690, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 690, column: 35, }, end: Position { line: 690, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 690, column: 41, }, end: Position { line: 690, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "30s", span: Span { start: Position { line: 690, column: 46, }, end: Position { line: 690, column: 49, }, }, }, ), ], span: Span { start: Position { line: 690, column: 45, }, end: Position { line: 690, column: 50, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The time after which the provided names are refreshed.\n", span: Span { start: Position { line: 691, column: 1, }, end: Position { line: 692, column: 7, }, }, }, ), ], span: Span { start: Position { line: 690, column: 51, }, end: Position { line: 692, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 674, column: 15, }, end: Position { line: 693, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 673, column: 45, }, end: Position { line: 694, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 696, column: 3, }, end: Position { line: 696, column: 12, }, }, }, ), Raw( PartRaw { content: "ec2_sd_config", span: Span { start: Position { line: 696, column: 13, }, end: Position { line: 696, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 696, column: 29, }, end: Position { line: 696, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 696, column: 35, }, end: Position { line: 696, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 697, column: 5, }, end: Position { line: 697, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "region", span: Span { start: Position { line: 698, column: 7, }, end: Position { line: 698, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 698, column: 16, }, end: Position { line: 698, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 699, column: 9, }, end: Position { line: 699, column: 13, }, }, }, ), ], to: 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: "str", span: Span { start: Position { line: 699, column: 22, }, end: Position { line: 699, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 700, column: 9, }, end: Position { line: 700, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 700, column: 23, }, end: Position { line: 700, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 700, column: 27, }, end: Position { line: 700, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The AWS Region. If blank, the region from the instance metadata is used.\n", span: Span { start: Position { line: 701, column: 1, }, end: Position { line: 702, column: 9, }, }, }, ), ], span: Span { start: Position { line: 700, column: 33, }, end: Position { line: 702, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 698, column: 25, }, end: Position { line: 703, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "endpoint", span: Span { start: Position { line: 704, column: 7, }, end: Position { line: 704, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 704, column: 18, }, end: Position { line: 704, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 704, column: 24, }, end: Position { line: 704, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 704, column: 30, }, end: Position { line: 704, column: 33, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Custom endpoint to be used.\n", span: Span { start: Position { line: 705, column: 1, }, end: Position { line: 706, column: 7, }, }, }, ), ], span: Span { start: Position { line: 704, column: 34, }, end: Position { line: 706, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "access_key", span: Span { start: Position { line: 708, column: 7, }, end: Position { line: 708, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 708, column: 20, }, end: Position { line: 708, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 708, column: 26, }, end: Position { line: 708, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 708, column: 32, }, end: Position { line: 708, column: 35, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The AWS API key id. If blank, the environment variable\n`AWS_ACCESS_KEY_ID` is used.\n", span: Span { start: Position { line: 709, column: 1, }, end: Position { line: 711, column: 7, }, }, }, ), ], span: Span { start: Position { line: 708, column: 36, }, end: Position { line: 711, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "secret_key", span: Span { start: Position { line: 713, column: 7, }, end: Position { line: 713, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 713, column: 20, }, end: Position { line: 713, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 713, column: 26, }, end: Position { line: 713, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 713, column: 32, }, end: Position { line: 713, column: 35, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The AWS API key secret. If blank, the environment variable\n `AWS_SECRET_ACCESS_KEY` is used.\n", span: Span { start: Position { line: 714, column: 1, }, end: Position { line: 716, column: 7, }, }, }, ), ], span: Span { start: Position { line: 713, column: 36, }, end: Position { line: 716, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "profile", span: Span { start: Position { line: 718, column: 7, }, end: Position { line: 718, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 718, column: 17, }, end: Position { line: 718, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 718, column: 23, }, end: Position { line: 718, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 718, column: 29, }, end: Position { line: 718, column: 32, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Named AWS profile used to connect to the API.\n", span: Span { start: Position { line: 719, column: 1, }, end: Position { line: 720, column: 7, }, }, }, ), ], span: Span { start: Position { line: 718, column: 33, }, end: Position { line: 720, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role_arn", span: Span { start: Position { line: 722, column: 7, }, end: Position { line: 722, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 722, column: 18, }, end: Position { line: 722, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 722, column: 24, }, end: Position { line: 722, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 722, column: 30, }, end: Position { line: 722, column: 33, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "AWS Role ARN, an alternative to using AWS API keys.\n", span: Span { start: Position { line: 723, column: 1, }, end: Position { line: 724, column: 7, }, }, }, ), ], span: Span { start: Position { line: 722, column: 34, }, end: Position { line: 724, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 726, column: 7, }, end: Position { line: 726, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 726, column: 26, }, end: Position { line: 726, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 726, column: 35, }, end: Position { line: 726, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 726, column: 41, }, end: Position { line: 726, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 726, column: 46, }, end: Position { line: 726, column: 49, }, }, }, ), ], span: Span { start: Position { line: 726, column: 45, }, end: Position { line: 726, column: 50, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the instance list.\n", span: Span { start: Position { line: 727, column: 1, }, end: Position { line: 728, column: 7, }, }, }, ), ], span: Span { start: Position { line: 726, column: 51, }, end: Position { line: 728, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 730, column: 7, }, end: Position { line: 730, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 730, column: 14, }, end: Position { line: 730, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 730, column: 23, }, end: Position { line: 730, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 730, column: 29, }, end: Position { line: 730, column: 32, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 730, column: 34, }, end: Position { line: 730, column: 36, }, }, }, ), ], span: Span { start: Position { line: 730, column: 33, }, end: Position { line: 730, column: 37, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from. If using the public IP\naddress, this must instead be specified in the relabeling\nrule.\n", span: Span { start: Position { line: 731, column: 1, }, end: Position { line: 734, column: 7, }, }, }, ), ], span: Span { start: Position { line: 730, column: 38, }, end: Position { line: 734, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "filters", span: Span { start: Position { line: 736, column: 7, }, end: Position { line: 736, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 736, column: 17, }, end: Position { line: 736, column: 22, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 737, column: 10, }, end: Position { line: 737, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 737, column: 16, }, end: Position { line: 737, column: 22, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 737, column: 24, }, end: Position { line: 737, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 737, column: 30, }, end: Position { line: 737, column: 39, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 738, column: 11, }, end: Position { line: 738, column: 18, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 739, column: 13, }, end: Position { line: 739, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 739, column: 20, }, end: Position { line: 739, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 740, column: 15, }, end: Position { line: 740, column: 19, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 740, column: 22, }, end: Position { line: 740, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 740, column: 28, }, end: Position { line: 740, column: 31, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 741, column: 15, }, end: Position { line: 741, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 741, column: 29, }, end: Position { line: 741, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 741, column: 33, }, end: Position { line: 741, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "See [this list](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html)\nfor the available filters.\n", span: Span { start: Position { line: 742, column: 1, }, end: Position { line: 744, column: 15, }, }, }, ), ], span: Span { start: Position { line: 741, column: 39, }, end: Position { line: 744, column: 17, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 739, column: 29, }, end: Position { line: 745, column: 14, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "values", span: Span { start: Position { line: 747, column: 13, }, end: Position { line: 747, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 747, column: 22, }, end: Position { line: 747, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 748, column: 15, }, end: Position { line: 748, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 748, column: 22, }, end: Position { line: 748, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 748, column: 28, }, end: Position { line: 748, column: 34, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 748, column: 35, }, end: Position { line: 748, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 748, column: 41, }, end: Position { line: 748, column: 44, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 749, column: 15, }, end: Position { line: 749, column: 22, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 749, column: 25, }, end: Position { line: 749, column: 28, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 750, column: 15, }, end: Position { line: 750, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 750, column: 29, }, end: Position { line: 750, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 750, column: 33, }, end: Position { line: 750, column: 38, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Value of the filter.\n", span: Span { start: Position { line: 751, column: 1, }, end: Position { line: 752, column: 15, }, }, }, ), ], span: Span { start: Position { line: 750, column: 39, }, end: Position { line: 752, column: 17, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 747, column: 31, }, end: Position { line: 753, column: 14, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 738, column: 21, }, end: Position { line: 754, column: 12, }, }, }, ), }, ), ], span: Span { start: Position { line: 737, column: 40, }, end: Position { line: 755, column: 10, }, }, }, ), ], }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Filters can be used optionally to filter the instance list by other criteria.\n", span: Span { start: Position { line: 756, column: 1, }, end: Position { line: 757, column: 7, }, }, }, ), ], span: Span { start: Position { line: 755, column: 13, }, end: Position { line: 757, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 697, column: 15, }, end: Position { line: 758, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 696, column: 45, }, end: Position { line: 759, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 761, column: 3, }, end: Position { line: 761, column: 12, }, }, }, ), Raw( PartRaw { content: "eureka_sd_config", span: Span { start: Position { line: 761, column: 13, }, end: Position { line: 761, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 761, column: 32, }, end: Position { line: 761, column: 48, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 762, column: 5, }, end: Position { line: 762, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 762, column: 14, }, end: Position { line: 762, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 763, column: 7, }, end: Position { line: 763, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 763, column: 14, }, end: Position { line: 763, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 763, column: 20, }, end: Position { line: 763, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 764, column: 7, }, end: Position { line: 764, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 764, column: 21, }, end: Position { line: 764, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 764, column: 25, }, end: Position { line: 764, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The URL to connect to the Eureka server.\n", span: Span { start: Position { line: 765, column: 1, }, end: Position { line: 766, column: 7, }, }, }, ), ], span: Span { start: Position { line: 764, column: 31, }, end: Position { line: 766, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 762, column: 23, }, end: Position { line: 767, column: 6, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 761, column: 49, }, end: Position { line: 768, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 770, column: 3, }, end: Position { line: 770, column: 12, }, }, }, ), Raw( PartRaw { content: "file_sd_config", span: Span { start: Position { line: 770, column: 13, }, end: Position { line: 770, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 770, column: 30, }, end: Position { line: 770, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 770, column: 36, }, end: Position { line: 770, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 771, column: 5, }, end: Position { line: 771, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "files", span: Span { start: Position { line: 772, column: 7, }, end: Position { line: 772, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 772, column: 15, }, end: Position { line: 772, column: 23, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 773, column: 9, }, end: Position { line: 773, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 773, column: 16, }, end: Position { line: 773, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 773, column: 22, }, end: Position { line: 773, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 773, column: 29, }, end: Position { line: 773, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 773, column: 35, }, end: Position { line: 773, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 774, column: 9, }, end: Position { line: 774, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 774, column: 23, }, end: Position { line: 774, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 774, column: 27, }, end: Position { line: 774, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Patterns for files from which target groups are extracted. Refer\nto the Prometheus documentation for permitted filename patterns\nand formats.\n", span: Span { start: Position { line: 775, column: 1, }, end: Position { line: 778, column: 9, }, }, }, ), ], span: Span { start: Position { line: 774, column: 33, }, end: Position { line: 778, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 772, column: 24, }, end: Position { line: 779, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 781, column: 7, }, end: Position { line: 781, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 781, column: 26, }, end: Position { line: 781, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 781, column: 35, }, end: Position { line: 781, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 781, column: 41, }, end: Position { line: 781, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "5m", span: Span { start: Position { line: 781, column: 46, }, end: Position { line: 781, column: 48, }, }, }, ), ], span: Span { start: Position { line: 781, column: 45, }, end: Position { line: 781, column: 49, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the files.\n", span: Span { start: Position { line: 782, column: 1, }, end: Position { line: 783, column: 7, }, }, }, ), ], span: Span { start: Position { line: 781, column: 50, }, end: Position { line: 783, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 771, column: 15, }, end: Position { line: 784, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 770, column: 46, }, end: Position { line: 785, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 787, column: 3, }, end: Position { line: 787, column: 12, }, }, }, ), Raw( PartRaw { content: "gce_sd_config", span: Span { start: Position { line: 787, column: 13, }, end: Position { line: 787, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 787, column: 29, }, end: Position { line: 787, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 787, column: 35, }, end: Position { line: 787, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 788, column: 5, }, end: Position { line: 788, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "project", span: Span { start: Position { line: 791, column: 7, }, end: Position { line: 791, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 791, column: 17, }, end: Position { line: 791, column: 25, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 792, column: 9, }, end: Position { line: 792, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 792, column: 16, }, end: Position { line: 792, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 792, column: 22, }, end: Position { line: 792, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 793, column: 9, }, end: Position { line: 793, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 793, column: 23, }, end: Position { line: 793, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 793, column: 27, }, end: Position { line: 793, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The GCP Project.\n", span: Span { start: Position { line: 794, column: 1, }, end: Position { line: 795, column: 9, }, }, }, ), ], span: Span { start: Position { line: 793, column: 33, }, end: Position { line: 795, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 791, column: 26, }, end: Position { line: 796, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "zone", span: Span { start: Position { line: 798, column: 7, }, end: Position { line: 798, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 798, column: 14, }, end: Position { line: 798, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 799, column: 9, }, end: Position { line: 799, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 799, column: 16, }, end: Position { line: 799, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 799, column: 22, }, end: Position { line: 799, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 800, column: 9, }, end: Position { line: 800, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 800, column: 23, }, end: Position { line: 800, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 800, column: 27, }, end: Position { line: 800, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The zone of the scrape targets. If you need multiple zones use multiple\ngce_sd_configs.\n", span: Span { start: Position { line: 801, column: 1, }, end: Position { line: 803, column: 9, }, }, }, ), ], span: Span { start: Position { line: 800, column: 33, }, end: Position { line: 803, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 798, column: 23, }, end: Position { line: 804, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "filter", span: Span { start: Position { line: 806, column: 7, }, end: Position { line: 806, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 806, column: 16, }, end: Position { line: 806, column: 21, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 806, column: 22, }, end: Position { line: 806, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 806, column: 28, }, end: Position { line: 806, column: 31, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Filter can be used optionally to filter the instance list by other\ncriteria Syntax of this filter string is described here in the filter\nquery parameter section: .\n", span: Span { start: Position { line: 807, column: 1, }, end: Position { line: 810, column: 7, }, }, }, ), ], span: Span { start: Position { line: 806, column: 32, }, end: Position { line: 810, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 812, column: 7, }, end: Position { line: 812, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 812, column: 26, }, end: Position { line: 812, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 812, column: 35, }, end: Position { line: 812, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 812, column: 41, }, end: Position { line: 812, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 812, column: 46, }, end: Position { line: 812, column: 49, }, }, }, ), ], span: Span { start: Position { line: 812, column: 45, }, end: Position { line: 812, column: 50, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the cloud instance list.\n", span: Span { start: Position { line: 813, column: 1, }, end: Position { line: 814, column: 7, }, }, }, ), ], span: Span { start: Position { line: 812, column: 51, }, end: Position { line: 814, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 816, column: 7, }, end: Position { line: 816, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 816, column: 14, }, end: Position { line: 816, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 816, column: 23, }, end: Position { line: 816, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 816, column: 29, }, end: Position { line: 816, column: 33, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 816, column: 35, }, end: Position { line: 816, column: 37, }, }, }, ), ], span: Span { start: Position { line: 816, column: 34, }, end: Position { line: 816, column: 38, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from. If using the public IP address, this\nmust instead be specified in the relabeling rule.\n", span: Span { start: Position { line: 817, column: 1, }, end: Position { line: 819, column: 7, }, }, }, ), ], span: Span { start: Position { line: 816, column: 39, }, end: Position { line: 819, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tag_separator", span: Span { start: Position { line: 821, column: 7, }, end: Position { line: 821, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 821, column: 23, }, end: Position { line: 821, column: 31, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 821, column: 32, }, end: Position { line: 821, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 821, column: 38, }, end: Position { line: 821, column: 41, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: ",", span: Span { start: Position { line: 821, column: 43, }, end: Position { line: 821, column: 44, }, }, }, ), ], span: Span { start: Position { line: 821, column: 42, }, end: Position { line: 821, column: 45, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The tag separator used to separate concatenated GCE instance network tags.\n\nSee the GCP documentation on network tags for more information:\n\n", span: Span { start: Position { line: 822, column: 1, }, end: Position { line: 826, column: 7, }, }, }, ), ], span: Span { start: Position { line: 821, column: 46, }, end: Position { line: 826, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 788, column: 15, }, end: Position { line: 827, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 787, column: 45, }, end: Position { line: 828, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 830, column: 3, }, end: Position { line: 830, column: 12, }, }, }, ), Raw( PartRaw { content: "hetzner_sd_config", span: Span { start: Position { line: 830, column: 13, }, end: Position { line: 830, column: 30, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 830, column: 33, }, end: Position { line: 830, column: 49, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role", span: Span { start: Position { line: 831, column: 5, }, end: Position { line: 831, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 831, column: 12, }, end: Position { line: 831, column: 20, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 832, column: 7, }, end: Position { line: 832, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 832, column: 14, }, end: Position { line: 832, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 832, column: 20, }, end: Position { line: 832, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "robot", span: Span { start: Position { line: 832, column: 28, }, end: Position { line: 832, column: 33, }, }, }, ), ], span: Span { start: Position { line: 832, column: 27, }, end: Position { line: 832, column: 34, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "hcloud", span: Span { start: Position { line: 832, column: 36, }, end: Position { line: 832, column: 42, }, }, }, ), ], span: Span { start: Position { line: 832, column: 35, }, end: Position { line: 832, column: 43, }, }, }, ), ], span: Span { start: Position { line: 832, column: 25, }, end: Position { line: 832, column: 45, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 833, column: 7, }, end: Position { line: 833, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 833, column: 21, }, end: Position { line: 833, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 833, column: 25, }, end: Position { line: 833, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The Hetzner role of entities that should be discovered.\nOne of `robot` or `hcloud`.\n", span: Span { start: Position { line: 834, column: 1, }, end: Position { line: 836, column: 7, }, }, }, ), ], span: Span { start: Position { line: 833, column: 31, }, end: Position { line: 836, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 831, column: 21, }, end: Position { line: 837, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 839, column: 5, }, end: Position { line: 839, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 839, column: 12, }, end: Position { line: 839, column: 20, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 839, column: 21, }, end: Position { line: 839, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 839, column: 27, }, end: Position { line: 839, column: 30, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 839, column: 32, }, end: Position { line: 839, column: 34, }, }, }, ), ], span: Span { start: Position { line: 839, column: 31, }, end: Position { line: 839, column: 35, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from.\n", span: Span { start: Position { line: 840, column: 1, }, end: Position { line: 841, column: 5, }, }, }, ), ], span: Span { start: Position { line: 839, column: 36, }, end: Position { line: 841, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 843, column: 5, }, end: Position { line: 843, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 843, column: 24, }, end: Position { line: 843, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 843, column: 33, }, end: Position { line: 843, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 843, column: 39, }, end: Position { line: 843, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 843, column: 44, }, end: Position { line: 843, column: 47, }, }, }, ), ], span: Span { start: Position { line: 843, column: 43, }, end: Position { line: 843, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The time after which the servers are refreshed.\n", span: Span { start: Position { line: 844, column: 1, }, end: Position { line: 845, column: 5, }, }, }, ), ], span: Span { start: Position { line: 843, column: 49, }, end: Position { line: 845, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 830, column: 50, }, end: Position { line: 846, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 848, column: 3, }, end: Position { line: 848, column: 12, }, }, }, ), Raw( PartRaw { content: "http_sd_config", span: Span { start: Position { line: 848, column: 13, }, end: Position { line: 848, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 848, column: 30, }, end: Position { line: 848, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 848, column: 36, }, end: Position { line: 848, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 849, column: 5, }, end: Position { line: 849, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "url", span: Span { start: Position { line: 850, column: 7, }, end: Position { line: 850, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 850, column: 13, }, end: Position { line: 850, column: 21, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 851, column: 9, }, end: Position { line: 851, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 851, column: 16, }, end: Position { line: 851, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 851, column: 22, }, end: Position { line: 851, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 852, column: 9, }, end: Position { line: 852, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 852, column: 23, }, end: Position { line: 852, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 852, column: 27, }, end: Position { line: 852, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "URL from which the targets are fetched.\n", span: Span { start: Position { line: 853, column: 1, }, end: Position { line: 854, column: 9, }, }, }, ), ], span: Span { start: Position { line: 852, column: 33, }, end: Position { line: 854, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 850, column: 22, }, end: Position { line: 855, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 857, column: 7, }, end: Position { line: 857, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 857, column: 26, }, end: Position { line: 857, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 857, column: 35, }, end: Position { line: 857, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 857, column: 41, }, end: Position { line: 857, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 857, column: 46, }, end: Position { line: 857, column: 49, }, }, }, ), ], span: Span { start: Position { line: 857, column: 45, }, end: Position { line: 857, column: 50, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-query the endpoint.\n", span: Span { start: Position { line: 858, column: 1, }, end: Position { line: 859, column: 7, }, }, }, ), ], span: Span { start: Position { line: 857, column: 51, }, end: Position { line: 859, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 861, column: 7, }, end: Position { line: 861, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 861, column: 20, }, end: Position { line: 861, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 861, column: 26, }, end: Position { line: 861, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 861, column: 36, }, end: Position { line: 861, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Authentication information used to authenticate to the API server.\npassword and password_file are mutually exclusive.\n", span: Span { start: Position { line: 862, column: 1, }, end: Position { line: 864, column: 7, }, }, }, ), ], span: Span { start: Position { line: 861, column: 47, }, end: Position { line: 864, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "proxy_url", span: Span { start: Position { line: 866, column: 7, }, end: Position { line: 866, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 866, column: 19, }, end: Position { line: 866, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 866, column: 25, }, end: Position { line: 866, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 866, column: 31, }, end: Position { line: 866, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional proxy URL.\n", span: Span { start: Position { line: 867, column: 1, }, end: Position { line: 868, column: 7, }, }, }, ), ], span: Span { start: Position { line: 866, column: 35, }, end: Position { line: 868, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "follow_redirects", span: Span { start: Position { line: 870, column: 7, }, end: Position { line: 870, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 870, column: 26, }, end: Position { line: 870, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 870, column: 35, }, end: Position { line: 870, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 870, column: 41, }, end: Position { line: 870, column: 45, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "true", span: Span { start: Position { line: 870, column: 47, }, end: Position { line: 870, column: 51, }, }, }, ), ], span: Span { start: Position { line: 870, column: 46, }, end: Position { line: 870, column: 52, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configure whether HTTP requests follow HTTP 3xx redirects.\n", span: Span { start: Position { line: 871, column: 1, }, end: Position { line: 872, column: 7, }, }, }, ), ], span: Span { start: Position { line: 870, column: 53, }, end: Position { line: 872, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 874, column: 7, }, end: Position { line: 874, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 874, column: 20, }, end: Position { line: 874, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 874, column: 26, }, end: Position { line: 874, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 874, column: 36, }, end: Position { line: 874, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configures the scrape request's TLS settings.\n", span: Span { start: Position { line: 875, column: 1, }, end: Position { line: 876, column: 7, }, }, }, ), ], span: Span { start: Position { line: 874, column: 47, }, end: Position { line: 876, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 849, column: 15, }, end: Position { line: 877, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 848, column: 46, }, end: Position { line: 878, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 880, column: 3, }, end: Position { line: 880, column: 12, }, }, }, ), Raw( PartRaw { content: "kubernetes_sd_config", span: Span { start: Position { line: 880, column: 13, }, end: Position { line: 880, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 880, column: 36, }, end: Position { line: 880, column: 52, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "api_server", span: Span { start: Position { line: 881, column: 5, }, end: Position { line: 881, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 881, column: 18, }, end: Position { line: 881, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 881, column: 24, }, end: Position { line: 881, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 881, column: 30, }, end: Position { line: 881, column: 33, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The API server addresses. If left empty, Prometheus is assumed to run inside\nof the cluster and will discover API servers automatically and use the pod's\nCA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/.\n", span: Span { start: Position { line: 882, column: 1, }, end: Position { line: 885, column: 5, }, }, }, ), ], span: Span { start: Position { line: 881, column: 34, }, end: Position { line: 885, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role", span: Span { start: Position { line: 887, column: 5, }, end: Position { line: 887, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 887, column: 12, }, end: Position { line: 887, column: 20, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 888, column: 7, }, end: Position { line: 888, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 888, column: 14, }, end: Position { line: 888, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 888, column: 20, }, end: Position { line: 888, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "endpoints", span: Span { start: Position { line: 888, column: 28, }, end: Position { line: 888, column: 37, }, }, }, ), ], span: Span { start: Position { line: 888, column: 27, }, end: Position { line: 888, column: 38, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "service", span: Span { start: Position { line: 888, column: 40, }, end: Position { line: 888, column: 47, }, }, }, ), ], span: Span { start: Position { line: 888, column: 39, }, end: Position { line: 888, column: 48, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "pod", span: Span { start: Position { line: 888, column: 50, }, end: Position { line: 888, column: 53, }, }, }, ), ], span: Span { start: Position { line: 888, column: 49, }, end: Position { line: 888, column: 54, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "node", span: Span { start: Position { line: 888, column: 56, }, end: Position { line: 888, column: 60, }, }, }, ), ], span: Span { start: Position { line: 888, column: 55, }, end: Position { line: 888, column: 61, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "ingress", span: Span { start: Position { line: 888, column: 63, }, end: Position { line: 888, column: 70, }, }, }, ), ], span: Span { start: Position { line: 888, column: 62, }, end: Position { line: 888, column: 71, }, }, }, ), ], span: Span { start: Position { line: 888, column: 25, }, end: Position { line: 888, column: 73, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 889, column: 7, }, end: Position { line: 889, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 889, column: 21, }, end: Position { line: 889, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 889, column: 25, }, end: Position { line: 889, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The Kubernetes role of entities that should be discovered.\nOne of endpoints, service, pod, node, or ingress.\n", span: Span { start: Position { line: 890, column: 1, }, end: Position { line: 892, column: 7, }, }, }, ), ], span: Span { start: Position { line: 889, column: 31, }, end: Position { line: 892, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 887, column: 21, }, end: Position { line: 893, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "kubeconfig_file", span: Span { start: Position { line: 895, column: 5, }, end: Position { line: 895, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 895, column: 23, }, end: Position { line: 895, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 895, column: 29, }, end: Position { line: 895, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 895, column: 35, }, end: Position { line: 895, column: 38, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional path to a kubeconfig file.\nNote that api_server and kube_config are mutually exclusive.\n", span: Span { start: Position { line: 896, column: 1, }, end: Position { line: 898, column: 5, }, }, }, ), ], span: Span { start: Position { line: 895, column: 39, }, end: Position { line: 898, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "namespaces", span: Span { start: Position { line: 900, column: 5, }, end: Position { line: 900, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 900, column: 18, }, end: Position { line: 900, column: 23, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 902, column: 9, }, end: Position { line: 902, column: 14, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 902, column: 15, }, end: Position { line: 902, column: 24, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 903, column: 11, }, end: Position { line: 903, column: 18, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "names", span: Span { start: Position { line: 904, column: 13, }, end: Position { line: 904, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 904, column: 21, }, end: Position { line: 904, column: 26, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 904, column: 28, }, end: Position { line: 904, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 904, column: 34, }, end: Position { line: 904, column: 40, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 904, column: 41, }, end: Position { line: 904, column: 46, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 904, column: 47, }, end: Position { line: 904, column: 50, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Namespace name.\n", span: Span { start: Position { line: 905, column: 1, }, end: Position { line: 906, column: 13, }, }, }, ), ], span: Span { start: Position { line: 904, column: 52, }, end: Position { line: 906, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 903, column: 21, }, end: Position { line: 907, column: 12, }, }, }, ), }, ), ], span: Span { start: Position { line: 902, column: 25, }, end: Position { line: 908, column: 10, }, }, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional namespace discovery. If omitted, all namespaces are used.\n", span: Span { start: Position { line: 910, column: 1, }, end: Position { line: 911, column: 5, }, }, }, ), ], span: Span { start: Position { line: 909, column: 9, }, end: Position { line: 911, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "selectors", span: Span { start: Position { line: 913, column: 5, }, end: Position { line: 913, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 913, column: 17, }, end: Position { line: 913, column: 22, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 915, column: 9, }, end: Position { line: 915, column: 14, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 915, column: 15, }, end: Position { line: 915, column: 21, }, }, }, ), ], default: None, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 916, column: 11, }, end: Position { line: 916, column: 16, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 916, column: 17, }, end: Position { line: 916, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 917, column: 13, }, end: Position { line: 917, column: 20, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role", span: Span { start: Position { line: 918, column: 15, }, 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: "type", span: Span { start: Position { line: 919, column: 17, }, end: Position { line: 919, column: 21, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 919, column: 24, }, end: Position { line: 919, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 919, column: 30, }, end: Position { line: 919, column: 33, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 920, column: 17, }, end: Position { line: 920, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 920, column: 31, }, end: Position { line: 920, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 920, column: 35, }, end: Position { line: 920, column: 40, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Selector role\n", span: Span { start: Position { line: 921, column: 1, }, end: Position { line: 922, column: 17, }, }, }, ), ], span: Span { start: Position { line: 920, column: 41, }, end: Position { line: 922, column: 19, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 918, column: 31, }, end: Position { line: 923, column: 16, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "label", span: Span { start: Position { line: 925, column: 15, }, end: Position { line: 925, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 925, column: 23, }, end: Position { line: 925, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 925, column: 29, }, end: Position { line: 925, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 925, column: 35, }, end: Position { line: 925, column: 38, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Selector label\n", span: Span { start: Position { line: 926, column: 1, }, end: Position { line: 927, column: 15, }, }, }, ), ], span: Span { start: Position { line: 925, column: 39, }, end: Position { line: 927, column: 17, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "field", span: Span { start: Position { line: 929, column: 15, }, end: Position { line: 929, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 929, column: 23, }, end: Position { line: 929, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 929, column: 29, }, end: Position { line: 929, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 929, column: 35, }, end: Position { line: 929, column: 38, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Selector field\n", span: Span { start: Position { line: 930, column: 1, }, end: Position { line: 931, column: 15, }, }, }, ), ], span: Span { start: Position { line: 929, column: 39, }, end: Position { line: 931, column: 17, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 917, column: 23, }, end: Position { line: 932, column: 14, }, }, }, ), }, ), ], span: Span { start: Position { line: 916, column: 27, }, end: Position { line: 933, column: 12, }, }, }, ), ], }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional label and field selectors to limit the discovery process to a subset of available resources.\nSee https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors/\nand https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ to learn more about the possible\nfilters that can be used. Endpoints role supports pod, service and endpoints selectors, other roles\nonly support selectors matching the role itself (e.g. node role can only contain node selectors).\n\nNote: When making decision about using field/label selector make sure that this\nis the best approach - it will prevent Prometheus from reusing single list/watch\nfor all scrape configs. This might result in a bigger load on the Kubernetes API,\nbecause per each selector combination there will be additional LIST/WATCH. On the other hand,\nif you just want to monitor small subset of pods in large cluster it's recommended to use selectors.\nDecision, if selectors should be used or not depends on the particular situation.\n", span: Span { start: Position { line: 936, column: 1, }, end: Position { line: 948, column: 5, }, }, }, ), ], span: Span { start: Position { line: 935, column: 9, }, end: Position { line: 948, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 880, column: 53, }, end: Position { line: 949, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 951, column: 3, }, end: Position { line: 951, column: 12, }, }, }, ), Raw( PartRaw { content: "kuma_sd_config", span: Span { start: Position { line: 951, column: 13, }, end: Position { line: 951, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 951, column: 30, }, end: Position { line: 951, column: 46, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 952, column: 5, }, end: Position { line: 952, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 952, column: 14, }, end: Position { line: 952, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 953, column: 7, }, end: Position { line: 953, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 953, column: 14, }, end: Position { line: 953, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 953, column: 20, }, end: Position { line: 953, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 954, column: 7, }, end: Position { line: 954, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 954, column: 21, }, end: Position { line: 954, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 954, column: 25, }, end: Position { line: 954, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Address of the Kuma Control Plane's MADS xDS server.\n", span: Span { start: Position { line: 955, column: 1, }, end: Position { line: 956, column: 7, }, }, }, ), ], span: Span { start: Position { line: 954, column: 31, }, end: Position { line: 956, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 952, column: 23, }, end: Position { line: 957, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 959, column: 5, }, end: Position { line: 959, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 959, column: 24, }, end: Position { line: 959, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 959, column: 33, }, end: Position { line: 959, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 959, column: 39, }, end: Position { line: 959, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "30s", span: Span { start: Position { line: 959, column: 44, }, end: Position { line: 959, column: 47, }, }, }, ), ], span: Span { start: Position { line: 959, column: 43, }, end: Position { line: 959, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The time to wait between polling update requests.\n", span: Span { start: Position { line: 960, column: 1, }, end: Position { line: 961, column: 5, }, }, }, ), ], span: Span { start: Position { line: 959, column: 49, }, end: Position { line: 961, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "fetch_timeout", span: Span { start: Position { line: 963, column: 5, }, end: Position { line: 963, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 963, column: 21, }, end: Position { line: 963, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 963, column: 30, }, end: Position { line: 963, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 963, column: 36, }, end: Position { line: 963, column: 39, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "2m", span: Span { start: Position { line: 963, column: 41, }, end: Position { line: 963, column: 43, }, }, }, ), ], span: Span { start: Position { line: 963, column: 40, }, end: Position { line: 963, column: 44, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The time after which the monitoring assignments are refreshed.\n", span: Span { start: Position { line: 964, column: 1, }, end: Position { line: 965, column: 5, }, }, }, ), ], span: Span { start: Position { line: 963, column: 45, }, end: Position { line: 965, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 951, column: 47, }, end: Position { line: 966, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 968, column: 3, }, end: Position { line: 968, column: 12, }, }, }, ), Raw( PartRaw { content: "lightsail_sd_config", span: Span { start: Position { line: 968, column: 13, }, end: Position { line: 968, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 968, column: 35, }, end: Position { line: 968, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 968, column: 41, }, end: Position { line: 968, column: 50, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 969, column: 5, }, end: Position { line: 969, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "region", span: Span { start: Position { line: 970, column: 7, }, end: Position { line: 970, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 970, column: 16, }, end: Position { line: 970, column: 21, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 970, column: 22, }, end: Position { line: 970, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 970, column: 28, }, end: Position { line: 970, column: 31, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The AWS region. If blank, the region from the instance metadata is used.\n", span: Span { start: Position { line: 971, column: 1, }, end: Position { line: 972, column: 7, }, }, }, ), ], span: Span { start: Position { line: 970, column: 32, }, end: Position { line: 972, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "endpoint", span: Span { start: Position { line: 974, column: 7, }, end: Position { line: 974, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 974, column: 18, }, end: Position { line: 974, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 974, column: 24, }, end: Position { line: 974, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 974, column: 30, }, end: Position { line: 974, column: 33, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Custom endpoint to be used.\n", span: Span { start: Position { line: 975, column: 1, }, end: Position { line: 976, column: 7, }, }, }, ), ], span: Span { start: Position { line: 974, column: 34, }, end: Position { line: 976, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "access_key", span: Span { start: Position { line: 978, column: 7, }, end: Position { line: 978, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 978, column: 20, }, end: Position { line: 978, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 978, column: 26, }, end: Position { line: 978, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 978, column: 32, }, end: Position { line: 978, column: 35, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The AWS API keys. If blank, the environment variable `AWS_ACCESS_KEY_ID` is used.\n", span: Span { start: Position { line: 979, column: 1, }, end: Position { line: 980, column: 7, }, }, }, ), ], span: Span { start: Position { line: 978, column: 36, }, end: Position { line: 980, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "secret_key", span: Span { start: Position { line: 982, column: 7, }, end: Position { line: 982, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 982, column: 20, }, end: Position { line: 982, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 982, column: 26, }, end: Position { line: 982, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 982, column: 32, }, end: Position { line: 982, column: 35, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The AWS API keys. If blank, the environment variable `AWS_SECRET_ACCESS_KEY` is used.\n", span: Span { start: Position { line: 983, column: 1, }, end: Position { line: 984, column: 7, }, }, }, ), ], span: Span { start: Position { line: 982, column: 36, }, end: Position { line: 984, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "profile", span: Span { start: Position { line: 986, column: 7, }, end: Position { line: 986, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 986, column: 17, }, end: Position { line: 986, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 986, column: 23, }, end: Position { line: 986, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 986, column: 29, }, end: Position { line: 986, column: 32, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Named AWS profile used to connect to the API.\n", span: Span { start: Position { line: 987, column: 1, }, end: Position { line: 988, column: 7, }, }, }, ), ], span: Span { start: Position { line: 986, column: 33, }, end: Position { line: 988, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role_arn", span: Span { start: Position { line: 990, column: 7, }, end: Position { line: 990, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 990, column: 18, }, end: Position { line: 990, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 990, column: 24, }, end: Position { line: 990, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 990, column: 30, }, end: Position { line: 990, column: 33, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "AWS Role ARN, an alternative to using AWS API keys.\n", span: Span { start: Position { line: 991, column: 1, }, end: Position { line: 992, column: 7, }, }, }, ), ], span: Span { start: Position { line: 990, column: 34, }, end: Position { line: 992, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 994, column: 7, }, end: Position { line: 994, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 994, column: 26, }, end: Position { line: 994, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 994, column: 35, }, end: Position { line: 994, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 994, column: 41, }, end: Position { line: 994, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 994, column: 46, }, end: Position { line: 994, column: 49, }, }, }, ), ], span: Span { start: Position { line: 994, column: 45, }, end: Position { line: 994, column: 50, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the instance list.\n", span: Span { start: Position { line: 995, column: 1, }, end: Position { line: 996, column: 7, }, }, }, ), ], span: Span { start: Position { line: 994, column: 51, }, end: Position { line: 996, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 998, column: 7, }, end: Position { line: 998, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 998, column: 14, }, end: Position { line: 998, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 998, column: 23, }, end: Position { line: 998, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 998, column: 29, }, end: Position { line: 998, column: 32, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 998, column: 34, }, end: Position { line: 998, column: 36, }, }, }, ), ], span: Span { start: Position { line: 998, column: 33, }, end: Position { line: 998, column: 37, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from. If using the public IP address, this must\ninstead be specified in the relabeling rule.\n", span: Span { start: Position { line: 999, column: 1, }, end: Position { line: 1001, column: 7, }, }, }, ), ], span: Span { start: Position { line: 998, column: 38, }, end: Position { line: 1001, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 969, column: 15, }, end: Position { line: 1002, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 968, column: 51, }, end: Position { line: 1003, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1005, column: 3, }, end: Position { line: 1005, column: 12, }, }, }, ), Raw( PartRaw { content: "linode_sd_config", span: Span { start: Position { line: 1005, column: 13, }, end: Position { line: 1005, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 1005, column: 32, }, end: Position { line: 1005, column: 48, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 1006, column: 5, }, end: Position { line: 1006, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1006, column: 12, }, end: Position { line: 1006, column: 20, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1006, column: 21, }, end: Position { line: 1006, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1006, column: 27, }, end: Position { line: 1006, column: 30, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 1006, column: 32, }, end: Position { line: 1006, column: 34, }, }, }, ), ], span: Span { start: Position { line: 1006, column: 31, }, end: Position { line: 1006, column: 35, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from.\n", span: Span { start: Position { line: 1007, column: 1, }, end: Position { line: 1008, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1006, column: 36, }, end: Position { line: 1008, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tag_separator", span: Span { start: Position { line: 1010, column: 5, }, end: Position { line: 1010, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1010, column: 21, }, end: Position { line: 1010, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1010, column: 30, }, end: Position { line: 1010, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1010, column: 36, }, end: Position { line: 1010, column: 39, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: ",", span: Span { start: Position { line: 1010, column: 41, }, end: Position { line: 1010, column: 42, }, }, }, ), ], span: Span { start: Position { line: 1010, column: 40, }, end: Position { line: 1010, column: 43, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The string by which Linode Instance tags are joined into the tag label.\n", span: Span { start: Position { line: 1011, column: 1, }, end: Position { line: 1012, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1010, column: 44, }, end: Position { line: 1012, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 1014, column: 5, }, end: Position { line: 1014, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1014, column: 24, }, end: Position { line: 1014, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1014, column: 33, }, end: Position { line: 1014, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1014, column: 39, }, end: Position { line: 1014, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 1014, column: 44, }, end: Position { line: 1014, column: 47, }, }, }, ), ], span: Span { start: Position { line: 1014, column: 43, }, end: Position { line: 1014, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The time after which the linode instances are refreshed.\n", span: Span { start: Position { line: 1015, column: 1, }, end: Position { line: 1016, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1014, column: 49, }, end: Position { line: 1016, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1005, column: 49, }, end: Position { line: 1017, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1019, column: 3, }, end: Position { line: 1019, column: 12, }, }, }, ), Raw( PartRaw { content: "marathon_sd_config", span: Span { start: Position { line: 1019, column: 13, }, end: Position { line: 1019, column: 31, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 1019, column: 34, }, end: Position { line: 1019, column: 50, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "servers", span: Span { start: Position { line: 1020, column: 5, }, end: Position { line: 1020, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1020, column: 15, }, end: Position { line: 1020, column: 23, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1021, column: 7, }, end: Position { line: 1021, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1021, column: 14, }, end: Position { line: 1021, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1021, column: 20, }, end: Position { line: 1021, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1021, column: 27, }, end: Position { line: 1021, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1021, column: 33, }, end: Position { line: 1021, column: 36, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1022, column: 7, }, end: Position { line: 1022, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1022, column: 21, }, end: Position { line: 1022, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1022, column: 25, }, end: Position { line: 1022, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of URLs to be used to contact Marathon servers. You need to provide at least one server URL.\n", span: Span { start: Position { line: 1023, column: 1, }, end: Position { line: 1024, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1022, column: 31, }, end: Position { line: 1024, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1020, column: 24, }, end: Position { line: 1025, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 1027, column: 5, }, end: Position { line: 1027, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1027, column: 24, }, end: Position { line: 1027, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1027, column: 33, }, end: Position { line: 1027, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1027, column: 39, }, end: Position { line: 1027, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "30s", span: Span { start: Position { line: 1027, column: 44, }, end: Position { line: 1027, column: 47, }, }, }, ), ], span: Span { start: Position { line: 1027, column: 43, }, end: Position { line: 1027, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Polling interval.\n", span: Span { start: Position { line: 1028, column: 1, }, end: Position { line: 1029, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1027, column: 49, }, end: Position { line: 1029, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "auth_token", span: Span { start: Position { line: 1031, column: 5, }, end: Position { line: 1031, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1031, column: 18, }, end: Position { line: 1031, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1031, column: 24, }, end: Position { line: 1031, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1031, column: 30, }, end: Position { line: 1031, column: 33, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional authentication information for token-based authentication:\n\nIt is mutually exclusive with `auth_token_file` and other authentication mechanisms.\n", span: Span { start: Position { line: 1032, column: 1, }, end: Position { line: 1035, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1031, column: 34, }, end: Position { line: 1035, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "auth_token_file", span: Span { start: Position { line: 1037, column: 5, }, end: Position { line: 1037, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1037, column: 23, }, end: Position { line: 1037, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1037, column: 29, }, end: Position { line: 1037, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1037, column: 35, }, end: Position { line: 1037, column: 38, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional authentication information for token-based authentication:\n\nIt is mutually exclusive with `auth_token` and other authentication mechanisms.\n", span: Span { start: Position { line: 1038, column: 1, }, end: Position { line: 1041, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1037, column: 39, }, end: Position { line: 1041, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1019, column: 51, }, end: Position { line: 1042, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1044, column: 3, }, end: Position { line: 1044, column: 12, }, }, }, ), Raw( PartRaw { content: "nerve_sd_config", span: Span { start: Position { line: 1044, column: 13, }, end: Position { line: 1044, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1044, column: 31, }, end: Position { line: 1044, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1044, column: 37, }, end: Position { line: 1044, column: 46, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1045, column: 5, }, end: Position { line: 1045, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "servers", span: Span { start: Position { line: 1046, column: 7, }, end: Position { line: 1046, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1046, column: 17, }, end: Position { line: 1046, column: 25, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1047, column: 9, }, end: Position { line: 1047, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1047, column: 16, }, end: Position { line: 1047, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1047, column: 22, }, end: Position { line: 1047, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1047, column: 29, }, end: Position { line: 1047, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1047, column: 35, }, end: Position { line: 1047, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1048, column: 9, }, end: Position { line: 1048, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1048, column: 23, }, end: Position { line: 1048, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1048, column: 27, }, end: Position { line: 1048, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The Zookeeper servers.\n", span: Span { start: Position { line: 1049, column: 1, }, end: Position { line: 1050, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1048, column: 33, }, end: Position { line: 1050, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1046, column: 26, }, end: Position { line: 1051, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "paths", span: Span { start: Position { line: 1053, column: 7, }, end: Position { line: 1053, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1053, column: 15, }, end: Position { line: 1053, column: 23, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1054, column: 9, }, end: Position { line: 1054, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1054, column: 16, }, end: Position { line: 1054, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1054, column: 22, }, end: Position { line: 1054, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1054, column: 29, }, end: Position { line: 1054, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1054, column: 35, }, end: Position { line: 1054, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1055, column: 9, }, end: Position { line: 1055, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1055, column: 23, }, end: Position { line: 1055, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1055, column: 27, }, end: Position { line: 1055, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Paths can point to a single service, or the root of a tree of services.\n", span: Span { start: Position { line: 1056, column: 1, }, end: Position { line: 1057, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1055, column: 33, }, end: Position { line: 1057, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1053, column: 24, }, end: Position { line: 1058, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "timeout", span: Span { start: Position { line: 1060, column: 7, }, end: Position { line: 1060, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1060, column: 17, }, end: Position { line: 1060, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1060, column: 26, }, end: Position { line: 1060, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1060, column: 32, }, end: Position { line: 1060, column: 35, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "10s", span: Span { start: Position { line: 1060, column: 37, }, end: Position { line: 1060, column: 40, }, }, }, ), ], span: Span { start: Position { line: 1060, column: 36, }, end: Position { line: 1060, column: 41, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Timeout value.\n", span: Span { start: Position { line: 1061, column: 1, }, end: Position { line: 1062, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1060, column: 42, }, end: Position { line: 1062, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1045, column: 15, }, end: Position { line: 1063, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 1044, column: 47, }, end: Position { line: 1064, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1066, column: 3, }, end: Position { line: 1066, column: 12, }, }, }, ), Raw( PartRaw { content: "openstack_sd_config", span: Span { start: Position { line: 1066, column: 13, }, end: Position { line: 1066, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1066, column: 35, }, end: Position { line: 1066, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1066, column: 41, }, end: Position { line: 1066, column: 50, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1067, column: 5, }, end: Position { line: 1067, column: 12, }, }, }, ), ], to: LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "userDescription", span: Span { start: Position { line: 1069, column: 9, }, end: Position { line: 1069, column: 24, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "username is required if using Identity V2 API. Consult with your provider's\ncontrol panel to discover your account's username. In Identity V3, either\nuserid or a combination of username and domain_id or domain_name are needed.\n", span: Span { start: Position { line: 1070, column: 1, }, end: Position { line: 1073, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1069, column: 27, }, end: Position { line: 1073, column: 11, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "domainDescription", span: Span { start: Position { line: 1075, column: 9, }, end: Position { line: 1075, column: 26, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "At most one of domain_id and domain_name must be provided if using username\nwith Identity V3. Otherwise, either are optional.\n", span: Span { start: Position { line: 1076, column: 1, }, end: Position { line: 1078, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1075, column: 29, }, end: Position { line: 1078, column: 11, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "projectDescription", span: Span { start: Position { line: 1080, column: 9, }, end: Position { line: 1080, column: 27, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The project_id and project_name fields are optional for the Identity V2 API.\nSome providers allow you to specify a project_name instead of the project_id.\nSome require both. Your provider's authentication policies will determine\nhow these fields influence authentication.\n", span: Span { start: Position { line: 1081, column: 1, }, end: Position { line: 1085, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1080, column: 30, }, end: Position { line: 1085, column: 11, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "applicationDescription", span: Span { start: Position { line: 1087, column: 9, }, end: Position { line: 1087, column: 31, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The application_credential_id or application_credential_name fields are\nrequired if using an application credential to authenticate. Some providers\nallow you to create an application credential to authenticate rather than a\npassword.\n", span: Span { start: Position { line: 1088, column: 1, }, end: Position { line: 1092, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1087, column: 34, }, end: Position { line: 1092, column: 11, }, }, }, ), }, ), ], target: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role", span: Span { start: Position { line: 1095, column: 9, }, end: Position { line: 1095, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1095, column: 16, }, end: Position { line: 1095, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1096, column: 11, }, end: Position { line: 1096, column: 15, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1096, column: 18, }, end: Position { line: 1096, column: 23, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1096, column: 24, }, end: Position { line: 1096, column: 27, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1097, column: 11, }, end: Position { line: 1097, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1097, column: 25, }, end: Position { line: 1097, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1097, column: 29, }, end: Position { line: 1097, column: 34, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The OpenStack role of entities that should be discovered.\n", span: Span { start: Position { line: 1098, column: 1, }, end: Position { line: 1099, column: 11, }, }, }, ), ], span: Span { start: Position { line: 1097, column: 35, }, end: Position { line: 1099, column: 13, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1095, column: 25, }, end: Position { line: 1100, column: 10, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "region", span: Span { start: Position { line: 1102, column: 9, }, end: Position { line: 1102, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1102, column: 18, }, end: Position { line: 1102, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1103, column: 11, }, end: Position { line: 1103, column: 15, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1103, column: 18, }, end: Position { line: 1103, column: 23, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1103, column: 24, }, end: Position { line: 1103, column: 27, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1104, column: 11, }, end: Position { line: 1104, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1104, column: 25, }, end: Position { line: 1104, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1104, column: 29, }, end: Position { line: 1104, column: 34, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The OpenStack Region.\n", span: Span { start: Position { line: 1105, column: 1, }, end: Position { line: 1106, column: 11, }, }, }, ), ], span: Span { start: Position { line: 1104, column: 35, }, end: Position { line: 1106, column: 13, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1102, column: 27, }, end: Position { line: 1107, column: 10, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "identity_endpoint", span: Span { start: Position { line: 1109, column: 9, }, end: Position { line: 1109, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1109, column: 29, }, end: Position { line: 1109, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1109, column: 35, }, end: Position { line: 1109, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1109, column: 41, }, end: Position { line: 1109, column: 44, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "identity_endpoint specifies the HTTP endpoint that is required to work with\nthe Identity API of the appropriate version. While it's ultimately needed by\nall of the identity services, it will often be populated by a provider-level\nfunction.\n", span: Span { start: Position { line: 1110, column: 1, }, end: Position { line: 1114, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1109, column: 45, }, end: Position { line: 1114, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "username", span: Span { start: Position { line: 1116, column: 9, }, end: Position { line: 1116, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1116, column: 20, }, end: Position { line: 1116, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1116, column: 26, }, end: Position { line: 1116, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1116, column: 32, }, end: Position { line: 1116, column: 35, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "userDescription", span: Span { start: Position { line: 1116, column: 36, }, end: Position { line: 1116, column: 51, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "userid", span: Span { start: Position { line: 1117, column: 9, }, end: Position { line: 1117, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1117, column: 18, }, end: Position { line: 1117, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1117, column: 24, }, end: Position { line: 1117, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1117, column: 30, }, end: Position { line: 1117, column: 33, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "userDescription", span: Span { start: Position { line: 1117, column: 34, }, end: Position { line: 1117, column: 49, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 1119, column: 9, }, end: Position { line: 1119, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1119, column: 20, }, end: Position { line: 1119, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1119, column: 26, }, end: Position { line: 1119, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1119, column: 32, }, end: Position { line: 1119, column: 35, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "password for the Identity V2 and V3 APIs. Consult with your provider's\ncontrol panel to discover your account's preferred method of authentication.\n", span: Span { start: Position { line: 1120, column: 1, }, end: Position { line: 1122, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1119, column: 36, }, end: Position { line: 1122, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "domain_name", span: Span { start: Position { line: 1124, column: 9, }, end: Position { line: 1124, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1124, column: 23, }, end: Position { line: 1124, column: 28, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1124, column: 29, }, end: Position { line: 1124, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1124, column: 35, }, end: Position { line: 1124, column: 38, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "domainDescription", span: Span { start: Position { line: 1124, column: 39, }, end: Position { line: 1124, column: 56, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "domain_id", span: Span { start: Position { line: 1125, column: 9, }, end: Position { line: 1125, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1125, column: 21, }, end: Position { line: 1125, column: 26, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1125, column: 27, }, end: Position { line: 1125, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1125, column: 33, }, end: Position { line: 1125, column: 36, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "domainDescription", span: Span { start: Position { line: 1125, column: 37, }, end: Position { line: 1125, column: 54, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "project_name", span: Span { start: Position { line: 1127, column: 9, }, end: Position { line: 1127, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1127, column: 24, }, end: Position { line: 1127, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1127, column: 30, }, end: Position { line: 1127, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1127, column: 36, }, end: Position { line: 1127, column: 39, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "projectDescription", span: Span { start: Position { line: 1127, column: 40, }, end: Position { line: 1127, column: 58, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "project_id", span: Span { start: Position { line: 1128, column: 9, }, end: Position { line: 1128, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1128, column: 22, }, end: Position { line: 1128, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1128, column: 28, }, end: Position { line: 1128, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1128, column: 34, }, end: Position { line: 1128, column: 37, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "projectDescription", span: Span { start: Position { line: 1128, column: 38, }, end: Position { line: 1128, column: 56, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "application_credential_name", span: Span { start: Position { line: 1130, column: 9, }, end: Position { line: 1130, column: 36, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1130, column: 39, }, end: Position { line: 1130, column: 44, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1130, column: 45, }, end: Position { line: 1130, column: 50, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1130, column: 51, }, end: Position { line: 1130, column: 54, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "applicationDescription", span: Span { start: Position { line: 1130, column: 55, }, end: Position { line: 1130, column: 77, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "application_credential_id", span: Span { start: Position { line: 1131, column: 9, }, end: Position { line: 1131, column: 34, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1131, column: 37, }, end: Position { line: 1131, column: 42, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1131, column: 43, }, end: Position { line: 1131, column: 48, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1131, column: 49, }, end: Position { line: 1131, column: 52, }, }, }, ), ], default: None, }, ), Identifier( Identifier { id: "applicationDescription", span: Span { start: Position { line: 1131, column: 53, }, end: Position { line: 1131, column: 75, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "application_credential_secret", span: Span { start: Position { line: 1133, column: 9, }, end: Position { line: 1133, column: 38, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1133, column: 41, }, end: Position { line: 1133, column: 46, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1133, column: 47, }, end: Position { line: 1133, column: 52, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1133, column: 53, }, end: Position { line: 1133, column: 56, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The application_credential_secret field is required if using an application\ncredential to authenticate.\n", span: Span { start: Position { line: 1134, column: 1, }, end: Position { line: 1136, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1133, column: 57, }, end: Position { line: 1136, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "all_tenants", span: Span { start: Position { line: 1138, column: 9, }, end: Position { line: 1138, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1138, column: 23, }, end: Position { line: 1138, column: 31, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1138, column: 32, }, end: Position { line: 1138, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 1138, column: 38, }, end: Position { line: 1138, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "false", span: Span { start: Position { line: 1138, column: 44, }, end: Position { line: 1138, column: 49, }, }, }, ), ], span: Span { start: Position { line: 1138, column: 43, }, end: Position { line: 1138, column: 50, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether the service discovery should list all instances for all projects.\nIt is only relevant for the 'instance' role and usually requires admin permissions.\n", span: Span { start: Position { line: 1139, column: 1, }, end: Position { line: 1141, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1138, column: 51, }, end: Position { line: 1141, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 1143, column: 9, }, end: Position { line: 1143, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1143, column: 28, }, end: Position { line: 1143, column: 36, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1143, column: 37, }, end: Position { line: 1143, column: 42, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1143, column: 43, }, end: Position { line: 1143, column: 46, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 1143, column: 48, }, end: Position { line: 1143, column: 51, }, }, }, ), ], span: Span { start: Position { line: 1143, column: 47, }, end: Position { line: 1143, column: 52, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the instance list.\n", span: Span { start: Position { line: 1144, column: 1, }, end: Position { line: 1145, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1143, column: 53, }, end: Position { line: 1145, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 1147, column: 9, }, end: Position { line: 1147, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1147, column: 16, }, end: Position { line: 1147, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1147, column: 25, }, end: Position { line: 1147, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1147, column: 31, }, end: Position { line: 1147, column: 34, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 1147, column: 36, }, end: Position { line: 1147, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1147, column: 35, }, end: Position { line: 1147, column: 39, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from. If using the public IP address, this must\ninstead be specified in the relabeling rule.\n", span: Span { start: Position { line: 1148, column: 1, }, end: Position { line: 1150, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1147, column: 40, }, end: Position { line: 1150, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "availability", span: Span { start: Position { line: 1152, column: 9, }, end: Position { line: 1152, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1152, column: 24, }, end: Position { line: 1152, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1152, column: 34, }, end: Position { line: 1152, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 1152, column: 40, }, end: Position { line: 1152, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "public", span: Span { start: Position { line: 1152, column: 48, }, end: Position { line: 1152, column: 54, }, }, }, ), ], span: Span { start: Position { line: 1152, column: 47, }, end: Position { line: 1152, column: 55, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "admin", span: Span { start: Position { line: 1152, column: 57, }, end: Position { line: 1152, column: 62, }, }, }, ), ], span: Span { start: Position { line: 1152, column: 56, }, end: Position { line: 1152, column: 63, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "internal", span: Span { start: Position { line: 1152, column: 65, }, end: Position { line: 1152, column: 73, }, }, }, ), ], span: Span { start: Position { line: 1152, column: 64, }, end: Position { line: 1152, column: 74, }, }, }, ), ], span: Span { start: Position { line: 1152, column: 45, }, end: Position { line: 1152, column: 76, }, }, }, ), ], }, ), String( String_ { parts: [ Raw( PartRaw { content: "public", span: Span { start: Position { line: 1152, column: 79, }, end: Position { line: 1152, column: 85, }, }, }, ), ], span: Span { start: Position { line: 1152, column: 78, }, end: Position { line: 1152, column: 86, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The availability of the endpoint to connect to. Must be one of public, admin or internal.\n", span: Span { start: Position { line: 1153, column: 1, }, end: Position { line: 1154, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1152, column: 87, }, end: Position { line: 1154, column: 11, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1156, column: 9, }, end: Position { line: 1156, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1156, column: 22, }, end: Position { line: 1156, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1156, column: 28, }, end: Position { line: 1156, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1156, column: 38, }, end: Position { line: 1156, column: 48, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "TLS configuration.\n", span: Span { start: Position { line: 1157, column: 1, }, end: Position { line: 1158, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1156, column: 49, }, end: Position { line: 1158, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1094, column: 7, }, end: Position { line: 1159, column: 8, }, }, }, ), span: Span { start: Position { line: 1068, column: 7, }, end: Position { line: 1159, column: 8, }, }, }, ), }, ), ], span: Span { start: Position { line: 1066, column: 51, }, end: Position { line: 1160, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1162, column: 3, }, end: Position { line: 1162, column: 12, }, }, }, ), Raw( PartRaw { content: "puppetdb_sd_config", span: Span { start: Position { line: 1162, column: 13, }, end: Position { line: 1162, column: 31, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 1162, column: 34, }, end: Position { line: 1162, column: 50, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "url", span: Span { start: Position { line: 1163, column: 5, }, end: Position { line: 1163, column: 8, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1163, column: 11, }, end: Position { line: 1163, column: 19, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1164, column: 7, }, end: Position { line: 1164, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1164, column: 14, }, end: Position { line: 1164, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1164, column: 20, }, end: Position { line: 1164, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1165, column: 7, }, end: Position { line: 1165, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1165, column: 21, }, end: Position { line: 1165, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1165, column: 25, }, end: Position { line: 1165, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The URL of the PuppetDB root query endpoint.\n", span: Span { start: Position { line: 1166, column: 1, }, end: Position { line: 1167, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1165, column: 31, }, end: Position { line: 1167, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1163, column: 20, }, end: Position { line: 1168, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "query", span: Span { start: Position { line: 1170, column: 5, }, end: Position { line: 1170, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1170, column: 13, }, end: Position { line: 1170, column: 21, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1171, column: 7, }, end: Position { line: 1171, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1171, column: 14, }, end: Position { line: 1171, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1171, column: 20, }, end: Position { line: 1171, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1172, column: 7, }, end: Position { line: 1172, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1172, column: 21, }, end: Position { line: 1172, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1172, column: 25, }, end: Position { line: 1172, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Puppet Query Language (PQL) query. Only resources are supported.\nhttps://puppet.com/docs/puppetdb/latest/api/query/v4/pql.html\n", span: Span { start: Position { line: 1173, column: 1, }, end: Position { line: 1175, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1172, column: 31, }, end: Position { line: 1175, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1170, column: 22, }, end: Position { line: 1176, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "include_parameters", span: Span { start: Position { line: 1178, column: 5, }, end: Position { line: 1178, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1178, column: 26, }, end: Position { line: 1178, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1178, column: 35, }, end: Position { line: 1178, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 1178, column: 41, }, end: Position { line: 1178, column: 45, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "false", span: Span { start: Position { line: 1178, column: 47, }, end: Position { line: 1178, column: 52, }, }, }, ), ], span: Span { start: Position { line: 1178, column: 46, }, end: Position { line: 1178, column: 53, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether to include the parameters as meta labels.\nDue to the differences between parameter types and Prometheus labels,\nsome parameters might not be rendered. The format of the parameters might\nalso change in future releases.\n\nNote: Enabling this exposes parameters in the Prometheus UI and API. Make sure\nthat you don't have secrets exposed as parameters if you enable this.\n", span: Span { start: Position { line: 1179, column: 1, }, end: Position { line: 1186, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1178, column: 54, }, end: Position { line: 1186, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 1188, column: 5, }, end: Position { line: 1188, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1188, column: 24, }, end: Position { line: 1188, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1188, column: 33, }, end: Position { line: 1188, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1188, column: 39, }, end: Position { line: 1188, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 1188, column: 44, }, end: Position { line: 1188, column: 47, }, }, }, ), ], span: Span { start: Position { line: 1188, column: 43, }, end: Position { line: 1188, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the resources list.\n", span: Span { start: Position { line: 1189, column: 1, }, end: Position { line: 1190, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1188, column: 49, }, end: Position { line: 1190, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 1192, column: 5, }, end: Position { line: 1192, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1192, column: 12, }, end: Position { line: 1192, column: 20, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1192, column: 21, }, end: Position { line: 1192, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1192, column: 27, }, end: Position { line: 1192, column: 30, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 1192, column: 32, }, end: Position { line: 1192, column: 34, }, }, }, ), ], span: Span { start: Position { line: 1192, column: 31, }, end: Position { line: 1192, column: 35, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from.\n", span: Span { start: Position { line: 1193, column: 1, }, end: Position { line: 1194, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1192, column: 36, }, end: Position { line: 1194, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1162, column: 51, }, end: Position { line: 1195, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1197, column: 3, }, end: Position { line: 1197, column: 12, }, }, }, ), Raw( PartRaw { content: "scaleway_sd_config", span: Span { start: Position { line: 1197, column: 13, }, end: Position { line: 1197, column: 31, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1197, column: 34, }, end: Position { line: 1197, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1197, column: 40, }, end: Position { line: 1197, column: 49, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1198, column: 5, }, end: Position { line: 1198, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "access_key", span: Span { start: Position { line: 1199, column: 7, }, end: Position { line: 1199, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1199, column: 20, }, end: Position { line: 1199, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1200, column: 9, }, end: Position { line: 1200, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1200, column: 16, }, end: Position { line: 1200, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1200, column: 22, }, end: Position { line: 1200, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1201, column: 9, }, end: Position { line: 1201, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1201, column: 23, }, end: Position { line: 1201, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1201, column: 27, }, end: Position { line: 1201, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Access key to use. https://console.scaleway.com/project/credentials\n", span: Span { start: Position { line: 1202, column: 1, }, end: Position { line: 1203, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1201, column: 33, }, end: Position { line: 1203, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1199, column: 29, }, end: Position { line: 1204, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "secret_key", span: Span { start: Position { line: 1206, column: 7, }, end: Position { line: 1206, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1206, column: 20, }, end: Position { line: 1206, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1206, column: 26, }, end: Position { line: 1206, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1206, column: 32, }, end: Position { line: 1206, column: 35, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Secret key to use when listing targets. https://console.scaleway.com/project/credentials\nIt is mutually exclusive with `secret_key_file`.\n", span: Span { start: Position { line: 1207, column: 1, }, end: Position { line: 1209, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1206, column: 36, }, end: Position { line: 1209, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "secret_key_file", span: Span { start: Position { line: 1211, column: 7, }, end: Position { line: 1211, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1211, column: 25, }, end: Position { line: 1211, column: 30, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1211, column: 31, }, end: Position { line: 1211, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1211, column: 37, }, end: Position { line: 1211, column: 40, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the secret key with the credentials read from the configured file.\nIt is mutually exclusive with `secret_key`.\n", span: Span { start: Position { line: 1212, column: 1, }, end: Position { line: 1214, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1211, column: 41, }, end: Position { line: 1214, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "project_id", span: Span { start: Position { line: 1216, column: 7, }, end: Position { line: 1216, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1216, column: 20, }, end: Position { line: 1216, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1217, column: 9, }, end: Position { line: 1217, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1217, column: 16, }, end: Position { line: 1217, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1217, column: 22, }, end: Position { line: 1217, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1218, column: 9, }, end: Position { line: 1218, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1218, column: 23, }, end: Position { line: 1218, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1218, column: 27, }, end: Position { line: 1218, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Project ID of the targets.\n", span: Span { start: Position { line: 1219, column: 1, }, end: Position { line: 1220, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1218, column: 33, }, end: Position { line: 1220, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1216, column: 29, }, end: Position { line: 1221, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role", span: Span { start: Position { line: 1223, column: 7, }, end: Position { line: 1223, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1223, column: 14, }, end: Position { line: 1223, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1224, column: 9, }, end: Position { line: 1224, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1224, column: 16, }, end: Position { line: 1224, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 1224, column: 22, }, end: Position { line: 1224, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "instance", span: Span { start: Position { line: 1224, column: 30, }, end: Position { line: 1224, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1224, column: 29, }, end: Position { line: 1224, column: 39, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "baremetal", span: Span { start: Position { line: 1224, column: 41, }, end: Position { line: 1224, column: 50, }, }, }, ), ], span: Span { start: Position { line: 1224, column: 40, }, end: Position { line: 1224, column: 51, }, }, }, ), ], span: Span { start: Position { line: 1224, column: 27, }, end: Position { line: 1224, column: 53, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1225, column: 9, }, end: Position { line: 1225, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1225, column: 23, }, end: Position { line: 1225, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1225, column: 27, }, end: Position { line: 1225, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Role of the targets to retrieve. Must be `instance` or `baremetal`.\n", span: Span { start: Position { line: 1226, column: 1, }, end: Position { line: 1227, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1225, column: 33, }, end: Position { line: 1227, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1223, column: 23, }, end: Position { line: 1228, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 1230, column: 7, }, end: Position { line: 1230, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1230, column: 14, }, end: Position { line: 1230, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1230, column: 23, }, end: Position { line: 1230, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1230, column: 29, }, end: Position { line: 1230, column: 32, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "80", span: Span { start: Position { line: 1230, column: 34, }, end: Position { line: 1230, column: 36, }, }, }, ), ], span: Span { start: Position { line: 1230, column: 33, }, end: Position { line: 1230, column: 37, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to scrape metrics from.\n", span: Span { start: Position { line: 1231, column: 1, }, end: Position { line: 1232, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1230, column: 38, }, end: Position { line: 1232, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "api_url", span: Span { start: Position { line: 1234, column: 7, }, end: Position { line: 1234, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1234, column: 17, }, end: Position { line: 1234, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1234, column: 26, }, end: Position { line: 1234, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1234, column: 32, }, end: Position { line: 1234, column: 35, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "https://api.scaleway.com", span: Span { start: Position { line: 1234, column: 37, }, end: Position { line: 1234, column: 61, }, }, }, ), ], span: Span { start: Position { line: 1234, column: 36, }, end: Position { line: 1234, column: 62, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "API URL to use when doing the server listing requests.\n", span: Span { start: Position { line: 1235, column: 1, }, end: Position { line: 1236, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1234, column: 63, }, end: Position { line: 1236, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "zone", span: Span { start: Position { line: 1238, column: 7, }, end: Position { line: 1238, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1238, column: 14, }, end: Position { line: 1238, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1238, column: 23, }, end: Position { line: 1238, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1238, column: 29, }, end: Position { line: 1238, column: 32, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "fr-par-1", span: Span { start: Position { line: 1238, column: 34, }, end: Position { line: 1238, column: 42, }, }, }, ), ], span: Span { start: Position { line: 1238, column: 33, }, end: Position { line: 1238, column: 43, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Zone is the availability zone of your targets (e.g. fr-par-1).\n", span: Span { start: Position { line: 1239, column: 1, }, end: Position { line: 1240, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1238, column: 44, }, end: Position { line: 1240, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name_filter", span: Span { start: Position { line: 1242, column: 7, }, end: Position { line: 1242, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1242, column: 21, }, end: Position { line: 1242, column: 26, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1242, column: 27, }, end: Position { line: 1242, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1242, column: 33, }, end: Position { line: 1242, column: 36, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Specify a name filter (works as a LIKE) to apply on the server listing request.\n", span: Span { start: Position { line: 1243, column: 1, }, end: Position { line: 1244, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1242, column: 37, }, end: Position { line: 1244, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tags_filter", span: Span { start: Position { line: 1246, column: 7, }, end: Position { line: 1246, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1246, column: 21, }, end: Position { line: 1246, column: 26, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1246, column: 28, }, end: Position { line: 1246, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1246, column: 34, }, end: Position { line: 1246, column: 40, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1246, column: 41, }, end: Position { line: 1246, column: 46, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1246, column: 47, }, end: Position { line: 1246, column: 50, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Specify a tag filter (a server needs to have all defined tags to be listed) to apply on the server listing request.\n", span: Span { start: Position { line: 1247, column: 1, }, end: Position { line: 1248, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1246, column: 52, }, end: Position { line: 1248, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 1250, column: 7, }, end: Position { line: 1250, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1250, column: 26, }, end: Position { line: 1250, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1250, column: 35, }, end: Position { line: 1250, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1250, column: 41, }, end: Position { line: 1250, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 1250, column: 46, }, end: Position { line: 1250, column: 49, }, }, }, ), ], span: Span { start: Position { line: 1250, column: 45, }, end: Position { line: 1250, column: 50, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the managed targets list.\n", span: Span { start: Position { line: 1251, column: 1, }, end: Position { line: 1252, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1250, column: 51, }, end: Position { line: 1252, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "proxy_url", span: Span { start: Position { line: 1254, column: 7, }, end: Position { line: 1254, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1254, column: 19, }, end: Position { line: 1254, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1254, column: 25, }, end: Position { line: 1254, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1254, column: 31, }, end: Position { line: 1254, column: 34, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Optional proxy URL.\n", span: Span { start: Position { line: 1255, column: 1, }, end: Position { line: 1256, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1254, column: 35, }, end: Position { line: 1256, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "follow_redirects", span: Span { start: Position { line: 1258, column: 7, }, end: Position { line: 1258, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1258, column: 26, }, end: Position { line: 1258, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1258, column: 35, }, end: Position { line: 1258, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 1258, column: 41, }, end: Position { line: 1258, column: 45, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "true", span: Span { start: Position { line: 1258, column: 47, }, end: Position { line: 1258, column: 51, }, }, }, ), ], span: Span { start: Position { line: 1258, column: 46, }, end: Position { line: 1258, column: 52, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configure whether HTTP requests follow HTTP 3xx redirects.\n", span: Span { start: Position { line: 1259, column: 1, }, end: Position { line: 1260, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1258, column: 53, }, end: Position { line: 1260, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1262, column: 7, }, end: Position { line: 1262, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1262, column: 20, }, end: Position { line: 1262, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1262, column: 26, }, end: Position { line: 1262, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1262, column: 36, }, end: Position { line: 1262, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "TLS configuration.\n", span: Span { start: Position { line: 1263, column: 1, }, end: Position { line: 1264, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1262, column: 47, }, end: Position { line: 1264, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1198, column: 15, }, end: Position { line: 1265, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 1197, column: 50, }, end: Position { line: 1266, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1269, column: 3, }, end: Position { line: 1269, column: 12, }, }, }, ), Raw( PartRaw { content: "serverset_sd_config", span: Span { start: Position { line: 1269, column: 13, }, end: Position { line: 1269, column: 32, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1269, column: 35, }, end: Position { line: 1269, column: 44, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nerve_sd_config", span: Span { start: Position { line: 1269, column: 45, }, end: Position { line: 1269, column: 60, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1271, column: 3, }, end: Position { line: 1271, column: 12, }, }, }, ), Raw( PartRaw { content: "triton_sd_config", span: Span { start: Position { line: 1271, column: 13, }, end: Position { line: 1271, column: 29, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1271, column: 32, }, end: Position { line: 1271, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1271, column: 38, }, end: Position { line: 1271, column: 47, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1272, column: 5, }, end: Position { line: 1272, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "account", span: Span { start: Position { line: 1273, column: 7, }, end: Position { line: 1273, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1273, column: 17, }, end: Position { line: 1273, column: 25, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1274, column: 9, }, end: Position { line: 1274, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1274, column: 16, }, end: Position { line: 1274, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1274, column: 22, }, end: Position { line: 1274, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1275, column: 9, }, end: Position { line: 1275, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1275, column: 23, }, end: Position { line: 1275, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1275, column: 27, }, end: Position { line: 1275, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The account to use for discovering new targets.\n", span: Span { start: Position { line: 1276, column: 1, }, end: Position { line: 1277, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1275, column: 33, }, end: Position { line: 1277, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1273, column: 26, }, end: Position { line: 1278, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "role", span: Span { start: Position { line: 1280, column: 7, }, end: Position { line: 1280, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1280, column: 14, }, end: Position { line: 1280, column: 22, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1280, column: 24, }, end: Position { line: 1280, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 1280, column: 30, }, end: Position { line: 1280, column: 34, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "container", span: Span { start: Position { line: 1280, column: 38, }, end: Position { line: 1280, column: 47, }, }, }, ), ], span: Span { start: Position { line: 1280, column: 37, }, end: Position { line: 1280, column: 48, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "cn", span: Span { start: Position { line: 1280, column: 50, }, end: Position { line: 1280, column: 52, }, }, }, ), ], span: Span { start: Position { line: 1280, column: 49, }, end: Position { line: 1280, column: 53, }, }, }, ), ], span: Span { start: Position { line: 1280, column: 35, }, end: Position { line: 1280, column: 55, }, }, }, ), ], }, ), String( String_ { parts: [ Raw( PartRaw { content: "container", span: Span { start: Position { line: 1280, column: 58, }, end: Position { line: 1280, column: 67, }, }, }, ), ], span: Span { start: Position { line: 1280, column: 57, }, end: Position { line: 1280, column: 68, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The type of targets to discover, can be set to:\n- \"container\" to discover virtual machines (SmartOS zones, lx/KVM/bhyve branded zones) running on Triton\n- \"cn\" to discover compute nodes (servers/global zones) making up the Triton infrastructure\n", span: Span { start: Position { line: 1281, column: 1, }, end: Position { line: 1284, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1280, column: 69, }, end: Position { line: 1284, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "dns_suffix", span: Span { start: Position { line: 1286, column: 7, }, end: Position { line: 1286, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1286, column: 20, }, end: Position { line: 1286, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1287, column: 9, }, end: Position { line: 1287, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1287, column: 16, }, end: Position { line: 1287, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1287, column: 22, }, end: Position { line: 1287, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1288, column: 9, }, end: Position { line: 1288, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1288, column: 23, }, end: Position { line: 1288, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1288, column: 27, }, end: Position { line: 1288, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The DNS suffix which should be applied to target.\n", span: Span { start: Position { line: 1289, column: 1, }, end: Position { line: 1290, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1288, column: 33, }, end: Position { line: 1290, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1286, column: 29, }, end: Position { line: 1291, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "endpoint", span: Span { start: Position { line: 1293, column: 7, }, end: Position { line: 1293, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1293, column: 18, }, end: Position { line: 1293, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1294, column: 9, }, end: Position { line: 1294, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1294, column: 16, }, end: Position { line: 1294, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1294, column: 22, }, end: Position { line: 1294, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1295, column: 9, }, end: Position { line: 1295, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1295, column: 23, }, end: Position { line: 1295, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1295, column: 27, }, end: Position { line: 1295, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The Triton discovery endpoint (e.g. `cmon.us-east-3b.triton.zone`). This is\noften the same value as dns_suffix.\n", span: Span { start: Position { line: 1296, column: 1, }, end: Position { line: 1298, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1295, column: 33, }, end: Position { line: 1298, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1293, column: 27, }, end: Position { line: 1299, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "groups", span: Span { start: Position { line: 1301, column: 7, }, end: Position { line: 1301, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1301, column: 16, }, end: Position { line: 1301, column: 21, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1301, column: 23, }, end: Position { line: 1301, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1301, column: 29, }, end: Position { line: 1301, column: 35, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1301, column: 36, }, end: Position { line: 1301, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1301, column: 42, }, end: Position { line: 1301, column: 45, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "A list of groups for which targets are retrieved, only supported when targeting the `container` role.\nIf omitted all containers owned by the requesting account are scraped.\n", span: Span { start: Position { line: 1302, column: 1, }, end: Position { line: 1304, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1301, column: 47, }, end: Position { line: 1304, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 1306, column: 7, }, end: Position { line: 1306, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1306, column: 14, }, end: Position { line: 1306, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1306, column: 23, }, end: Position { line: 1306, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1306, column: 29, }, end: Position { line: 1306, column: 32, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "9163", span: Span { start: Position { line: 1306, column: 34, }, end: Position { line: 1306, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1306, column: 33, }, end: Position { line: 1306, column: 39, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The port to use for discovery and metric scraping.\n", span: Span { start: Position { line: 1307, column: 1, }, end: Position { line: 1308, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1306, column: 40, }, end: Position { line: 1308, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 1310, column: 7, }, end: Position { line: 1310, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1310, column: 26, }, end: Position { line: 1310, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1310, column: 35, }, end: Position { line: 1310, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1310, column: 41, }, end: Position { line: 1310, column: 44, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 1310, column: 46, }, end: Position { line: 1310, column: 49, }, }, }, ), ], span: Span { start: Position { line: 1310, column: 45, }, end: Position { line: 1310, column: 50, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The interval which should be used for refreshing targets.\n", span: Span { start: Position { line: 1311, column: 1, }, end: Position { line: 1312, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1310, column: 51, }, end: Position { line: 1312, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "version", span: Span { start: Position { line: 1314, column: 7, }, end: Position { line: 1314, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1314, column: 17, }, end: Position { line: 1314, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1314, column: 26, }, end: Position { line: 1314, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1314, column: 32, }, end: Position { line: 1314, column: 35, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "1", span: Span { start: Position { line: 1314, column: 37, }, end: Position { line: 1314, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1314, column: 36, }, end: Position { line: 1314, column: 39, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The Triton discovery API version.\n", span: Span { start: Position { line: 1315, column: 1, }, end: Position { line: 1316, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1314, column: 40, }, end: Position { line: 1316, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1318, column: 7, }, end: Position { line: 1318, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1318, column: 20, }, end: Position { line: 1318, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1318, column: 26, }, end: Position { line: 1318, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1318, column: 36, }, end: Position { line: 1318, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "TLS configuration.\n", span: Span { start: Position { line: 1319, column: 1, }, end: Position { line: 1320, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1318, column: 47, }, end: Position { line: 1320, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1272, column: 15, }, end: Position { line: 1321, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 1271, column: 48, }, end: Position { line: 1322, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1324, column: 3, }, end: Position { line: 1324, column: 12, }, }, }, ), Raw( PartRaw { content: "uyuni_sd_config", span: Span { start: Position { line: 1324, column: 13, }, end: Position { line: 1324, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkSdConfigModule", span: Span { start: Position { line: 1324, column: 31, }, end: Position { line: 1324, column: 47, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "server", span: Span { start: Position { line: 1325, column: 5, }, end: Position { line: 1325, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1325, column: 14, }, end: Position { line: 1325, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1326, column: 7, }, end: Position { line: 1326, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1326, column: 14, }, end: Position { line: 1326, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1326, column: 20, }, end: Position { line: 1326, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1327, column: 7, }, end: Position { line: 1327, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1327, column: 21, }, end: Position { line: 1327, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1327, column: 25, }, end: Position { line: 1327, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The URL to connect to the Uyuni server.\n", span: Span { start: Position { line: 1328, column: 1, }, end: Position { line: 1329, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1327, column: 31, }, end: Position { line: 1329, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1325, column: 23, }, end: Position { line: 1330, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "username", span: Span { start: Position { line: 1332, column: 5, }, end: Position { line: 1332, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1332, column: 16, }, end: Position { line: 1332, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1333, column: 7, }, end: Position { line: 1333, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1333, column: 14, }, end: Position { line: 1333, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1333, column: 20, }, end: Position { line: 1333, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1334, column: 7, }, end: Position { line: 1334, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1334, column: 21, }, end: Position { line: 1334, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1334, column: 25, }, end: Position { line: 1334, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Credentials are used to authenticate the requests to Uyuni API.\n", span: Span { start: Position { line: 1335, column: 1, }, end: Position { line: 1336, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1334, column: 31, }, end: Position { line: 1336, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1332, column: 25, }, end: Position { line: 1337, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "password", span: Span { start: Position { line: 1339, column: 5, }, end: Position { line: 1339, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1339, column: 16, }, end: Position { line: 1339, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1340, column: 7, }, end: Position { line: 1340, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1340, column: 14, }, end: Position { line: 1340, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1340, column: 20, }, end: Position { line: 1340, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1341, column: 7, }, end: Position { line: 1341, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1341, column: 21, }, end: Position { line: 1341, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1341, column: 25, }, end: Position { line: 1341, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Credentials are used to authenticate the requests to Uyuni API.\n", span: Span { start: Position { line: 1342, column: 1, }, end: Position { line: 1343, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1341, column: 31, }, end: Position { line: 1343, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1339, column: 25, }, end: Position { line: 1344, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "entitlement", span: Span { start: Position { line: 1346, column: 5, }, end: Position { line: 1346, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1346, column: 19, }, end: Position { line: 1346, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1346, column: 28, }, end: Position { line: 1346, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1346, column: 34, }, end: Position { line: 1346, column: 37, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "monitoring_entitled", span: Span { start: Position { line: 1346, column: 39, }, end: Position { line: 1346, column: 58, }, }, }, ), ], span: Span { start: Position { line: 1346, column: 38, }, end: Position { line: 1346, column: 59, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The entitlement string to filter eligible systems.\n", span: Span { start: Position { line: 1347, column: 1, }, end: Position { line: 1348, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1346, column: 60, }, end: Position { line: 1348, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "separator", span: Span { start: Position { line: 1350, column: 5, }, end: Position { line: 1350, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1350, column: 17, }, end: Position { line: 1350, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1350, column: 26, }, end: Position { line: 1350, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1350, column: 32, }, end: Position { line: 1350, column: 35, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: ",", span: Span { start: Position { line: 1350, column: 37, }, end: Position { line: 1350, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1350, column: 36, }, end: Position { line: 1350, column: 39, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The string by which Uyuni group names are joined into the groups label\n", span: Span { start: Position { line: 1351, column: 1, }, end: Position { line: 1352, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1350, column: 40, }, end: Position { line: 1352, column: 7, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "refresh_interval", span: Span { start: Position { line: 1354, column: 5, }, end: Position { line: 1354, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1354, column: 24, }, end: Position { line: 1354, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1354, column: 33, }, end: Position { line: 1354, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1354, column: 39, }, end: Position { line: 1354, column: 42, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "60s", span: Span { start: Position { line: 1354, column: 44, }, end: Position { line: 1354, column: 47, }, }, }, ), ], span: Span { start: Position { line: 1354, column: 43, }, end: Position { line: 1354, column: 48, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Refresh interval to re-read the managed targets list.\n", span: Span { start: Position { line: 1355, column: 1, }, end: Position { line: 1356, column: 5, }, }, }, ), ], span: Span { start: Position { line: 1354, column: 49, }, end: Position { line: 1356, column: 7, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1324, column: 48, }, end: Position { line: 1357, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1359, column: 3, }, end: Position { line: 1359, column: 12, }, }, }, ), Raw( PartRaw { content: "static_config", span: Span { start: Position { line: 1359, column: 13, }, end: Position { line: 1359, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1359, column: 29, }, end: Position { line: 1359, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1359, column: 35, }, end: Position { line: 1359, column: 44, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1360, column: 5, }, end: Position { line: 1360, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "targets", span: Span { start: Position { line: 1361, column: 7, }, end: Position { line: 1361, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1361, column: 17, }, end: Position { line: 1361, column: 25, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1362, column: 9, }, end: Position { line: 1362, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1362, column: 16, }, end: Position { line: 1362, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1362, column: 22, }, end: Position { line: 1362, column: 28, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1362, column: 29, }, end: Position { line: 1362, column: 34, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1362, column: 35, }, end: Position { line: 1362, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1363, column: 9, }, end: Position { line: 1363, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1363, column: 23, }, end: Position { line: 1363, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1363, column: 27, }, end: Position { line: 1363, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The targets specified by the target group.\n", span: Span { start: Position { line: 1364, column: 1, }, end: Position { line: 1365, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1363, column: 33, }, end: Position { line: 1365, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1361, column: 26, }, end: Position { line: 1366, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "labels", span: Span { start: Position { line: 1367, column: 7, }, end: Position { line: 1367, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1367, column: 16, }, end: Position { line: 1367, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1368, column: 9, }, end: Position { line: 1368, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1368, column: 16, }, end: Position { line: 1368, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrsOf", span: Span { start: Position { line: 1368, column: 22, }, end: Position { line: 1368, column: 29, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1368, column: 30, }, end: Position { line: 1368, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1368, column: 36, }, end: Position { line: 1368, column: 39, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1369, column: 9, }, end: Position { line: 1369, column: 16, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [], span: Span { start: Position { line: 1369, column: 19, }, end: Position { line: 1369, column: 22, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1370, column: 9, }, end: Position { line: 1370, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1370, column: 23, }, end: Position { line: 1370, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1370, column: 27, }, end: Position { line: 1370, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Labels assigned to all metrics scraped from the targets.\n", span: Span { start: Position { line: 1371, column: 1, }, end: Position { line: 1372, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1370, column: 33, }, end: Position { line: 1372, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1367, column: 25, }, end: Position { line: 1373, column: 8, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1360, column: 15, }, end: Position { line: 1374, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 1359, column: 45, }, end: Position { line: 1375, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1381, column: 3, }, end: Position { line: 1381, column: 12, }, }, }, ), Raw( PartRaw { content: "relabel_config", span: Span { start: Position { line: 1381, column: 13, }, end: Position { line: 1381, column: 27, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1381, column: 30, }, end: Position { line: 1381, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1381, column: 36, }, end: Position { line: 1381, column: 45, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1382, column: 5, }, end: Position { line: 1382, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "source_labels", span: Span { start: Position { line: 1383, column: 7, }, end: Position { line: 1383, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1383, column: 23, }, end: Position { line: 1383, column: 28, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1383, column: 30, }, end: Position { line: 1383, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1383, column: 36, }, end: Position { line: 1383, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1383, column: 43, }, end: Position { line: 1383, column: 48, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1383, column: 49, }, end: Position { line: 1383, column: 52, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The source labels select values from existing labels. Their content\nis concatenated using the configured separator and matched against\nthe configured regular expression.\n", span: Span { start: Position { line: 1384, column: 1, }, end: Position { line: 1387, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1383, column: 54, }, end: Position { line: 1387, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "separator", span: Span { start: Position { line: 1389, column: 7, }, end: Position { line: 1389, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1389, column: 19, }, end: Position { line: 1389, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1389, column: 28, }, end: Position { line: 1389, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1389, column: 34, }, end: Position { line: 1389, column: 37, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: ";", span: Span { start: Position { line: 1389, column: 39, }, end: Position { line: 1389, column: 40, }, }, }, ), ], span: Span { start: Position { line: 1389, column: 38, }, end: Position { line: 1389, column: 41, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Separator placed between concatenated source label values.\n", span: Span { start: Position { line: 1390, column: 1, }, end: Position { line: 1391, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1389, column: 42, }, end: Position { line: 1391, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "target_label", span: Span { start: Position { line: 1393, column: 7, }, end: Position { line: 1393, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1393, column: 22, }, end: Position { line: 1393, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1393, column: 28, }, end: Position { line: 1393, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1393, column: 34, }, end: Position { line: 1393, column: 37, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions.\n", span: Span { start: Position { line: 1394, column: 1, }, end: Position { line: 1396, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1393, column: 38, }, end: Position { line: 1396, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "regex", span: Span { start: Position { line: 1398, column: 7, }, end: Position { line: 1398, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1398, column: 15, }, end: Position { line: 1398, column: 23, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1398, column: 24, }, end: Position { line: 1398, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1398, column: 30, }, end: Position { line: 1398, column: 33, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "(.*)", span: Span { start: Position { line: 1398, column: 35, }, end: Position { line: 1398, column: 39, }, }, }, ), ], span: Span { start: Position { line: 1398, column: 34, }, end: Position { line: 1398, column: 40, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Regular expression against which the extracted value is matched.\n", span: Span { start: Position { line: 1399, column: 1, }, end: Position { line: 1400, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1398, column: 41, }, end: Position { line: 1400, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "modulus", span: Span { start: Position { line: 1402, column: 7, }, end: Position { line: 1402, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1402, column: 17, }, end: Position { line: 1402, column: 22, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1402, column: 23, }, end: Position { line: 1402, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1402, column: 29, }, end: Position { line: 1402, column: 32, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Modulus to take of the hash of the source label values.\n", span: Span { start: Position { line: 1403, column: 1, }, end: Position { line: 1404, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1402, column: 33, }, end: Position { line: 1404, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "replacement", span: Span { start: Position { line: 1406, column: 7, }, end: Position { line: 1406, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1406, column: 21, }, end: Position { line: 1406, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1406, column: 30, }, end: Position { line: 1406, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1406, column: 36, }, end: Position { line: 1406, column: 39, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "$1", span: Span { start: Position { line: 1406, column: 41, }, end: Position { line: 1406, column: 43, }, }, }, ), ], span: Span { start: Position { line: 1406, column: 40, }, end: Position { line: 1406, column: 44, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Replacement value against which a regex replace is performed if the\nregular expression matches.\n", span: Span { start: Position { line: 1407, column: 1, }, end: Position { line: 1409, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1406, column: 45, }, end: Position { line: 1409, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "action", span: Span { start: Position { line: 1411, column: 7, }, end: Position { line: 1411, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkDefOpt", span: Span { start: Position { line: 1412, column: 9, }, end: Position { line: 1412, column: 17, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1412, column: 19, }, end: Position { line: 1412, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enum", span: Span { start: Position { line: 1412, column: 25, }, end: Position { line: 1412, column: 29, }, }, }, ), ], default: None, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "replace", span: Span { start: Position { line: 1412, column: 33, }, end: Position { line: 1412, column: 40, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 32, }, end: Position { line: 1412, column: 41, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "keep", span: Span { start: Position { line: 1412, column: 43, }, end: Position { line: 1412, column: 47, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 42, }, end: Position { line: 1412, column: 48, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "drop", span: Span { start: Position { line: 1412, column: 50, }, end: Position { line: 1412, column: 54, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 49, }, end: Position { line: 1412, column: 55, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "hashmod", span: Span { start: Position { line: 1412, column: 57, }, end: Position { line: 1412, column: 64, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 56, }, end: Position { line: 1412, column: 65, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "labelmap", span: Span { start: Position { line: 1412, column: 67, }, end: Position { line: 1412, column: 75, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 66, }, end: Position { line: 1412, column: 76, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "labeldrop", span: Span { start: Position { line: 1412, column: 78, }, end: Position { line: 1412, column: 87, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 77, }, end: Position { line: 1412, column: 88, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "labelkeep", span: Span { start: Position { line: 1412, column: 90, }, end: Position { line: 1412, column: 99, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 89, }, end: Position { line: 1412, column: 100, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 30, }, end: Position { line: 1412, column: 102, }, }, }, ), ], }, ), String( String_ { parts: [ Raw( PartRaw { content: "replace", span: Span { start: Position { line: 1412, column: 105, }, end: Position { line: 1412, column: 112, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 104, }, end: Position { line: 1412, column: 113, }, }, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Action to perform based on regex matching.\n", span: Span { start: Position { line: 1413, column: 1, }, end: Position { line: 1414, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1412, column: 114, }, end: Position { line: 1414, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1382, column: 15, }, end: Position { line: 1415, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 1381, column: 46, }, end: Position { line: 1416, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1422, column: 3, }, end: Position { line: 1422, column: 12, }, }, }, ), Raw( PartRaw { content: "remote_write", span: Span { start: Position { line: 1422, column: 13, }, end: Position { line: 1422, column: 25, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1422, column: 28, }, end: Position { line: 1422, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1422, column: 34, }, end: Position { line: 1422, column: 43, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1423, column: 5, }, end: Position { line: 1423, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "url", span: Span { start: Position { line: 1424, column: 7, }, end: Position { line: 1424, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1424, column: 13, }, end: Position { line: 1424, column: 21, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1425, column: 9, }, end: Position { line: 1425, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1425, column: 16, }, end: Position { line: 1425, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1425, column: 22, }, end: Position { line: 1425, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1426, column: 9, }, end: Position { line: 1426, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1426, column: 23, }, end: Position { line: 1426, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1426, column: 27, }, end: Position { line: 1426, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "ServerName extension to indicate the name of the server.\nhttp://tools.ietf.org/html/rfc4366#section-3.1\n", span: Span { start: Position { line: 1427, column: 1, }, end: Position { line: 1429, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1426, column: 33, }, end: Position { line: 1429, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1424, column: 22, }, end: Position { line: 1430, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "remote_timeout", span: Span { start: Position { line: 1431, column: 7, }, end: Position { line: 1431, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1431, column: 24, }, end: Position { line: 1431, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1431, column: 30, }, end: Position { line: 1431, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1431, column: 36, }, end: Position { line: 1431, column: 39, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Timeout for requests to the remote write endpoint.\n", span: Span { start: Position { line: 1432, column: 1, }, end: Position { line: 1433, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1431, column: 40, }, end: Position { line: 1433, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "write_relabel_configs", span: Span { start: Position { line: 1434, column: 7, }, end: Position { line: 1434, column: 28, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1434, column: 31, }, end: Position { line: 1434, column: 36, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1434, column: 38, }, end: Position { line: 1434, column: 43, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1434, column: 44, }, end: Position { line: 1434, column: 50, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1434, column: 51, }, end: Position { line: 1434, column: 60, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "relabel_config", span: Span { start: Position { line: 1434, column: 61, }, end: Position { line: 1434, column: 75, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "List of remote write relabel configurations.\n", span: Span { start: Position { line: 1435, column: 1, }, end: Position { line: 1436, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1434, column: 77, }, end: Position { line: 1436, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 1437, column: 7, }, end: Position { line: 1437, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1437, column: 14, }, end: Position { line: 1437, column: 19, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1437, column: 20, }, end: Position { line: 1437, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1437, column: 26, }, end: Position { line: 1437, column: 29, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Name of the remote write config, which if specified must be unique among remote write configs.\nThe name will be used in metrics and logging in place of a generated value to help users distinguish between\nremote write configs.\n", span: Span { start: Position { line: 1438, column: 1, }, end: Position { line: 1441, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1437, column: 30, }, end: Position { line: 1441, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 1442, column: 7, }, end: Position { line: 1442, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1442, column: 20, }, end: Position { line: 1442, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1442, column: 26, }, end: Position { line: 1442, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 1442, column: 36, }, end: Position { line: 1442, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every remote write request with the\nconfigured username and password.\npassword and password_file are mutually exclusive.\n", span: Span { start: Position { line: 1443, column: 1, }, end: Position { line: 1446, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1442, column: 47, }, end: Position { line: 1446, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "bearer_token", span: Span { start: Position { line: 1447, column: 7, }, end: Position { line: 1447, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1447, column: 22, }, end: Position { line: 1447, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1447, column: 28, }, end: Position { line: 1447, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1447, column: 34, }, end: Position { line: 1447, column: 37, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every remote write request with\nthe configured bearer token. It is mutually exclusive with `bearer_token_file`.\n", span: Span { start: Position { line: 1448, column: 1, }, end: Position { line: 1450, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1447, column: 38, }, end: Position { line: 1450, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "bearer_token_file", span: Span { start: Position { line: 1451, column: 7, }, end: Position { line: 1451, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1451, column: 27, }, end: Position { line: 1451, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1451, column: 33, }, end: Position { line: 1451, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1451, column: 39, }, end: Position { line: 1451, column: 42, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every remote write request with the bearer token\nread from the configured file. It is mutually exclusive with `bearer_token`.\n", span: Span { start: Position { line: 1452, column: 1, }, end: Position { line: 1454, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1451, column: 43, }, end: Position { line: 1454, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1455, column: 7, }, end: Position { line: 1455, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1455, column: 20, }, end: Position { line: 1455, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1455, column: 26, }, end: Position { line: 1455, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1455, column: 36, }, end: Position { line: 1455, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configures the remote write request's TLS settings.\n", span: Span { start: Position { line: 1456, column: 1, }, end: Position { line: 1457, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1455, column: 47, }, end: Position { line: 1457, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "proxy_url", span: Span { start: Position { line: 1458, column: 7, }, end: Position { line: 1458, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1458, column: 19, }, end: Position { line: 1458, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1458, column: 25, }, end: Position { line: 1458, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1458, column: 31, }, end: Position { line: 1458, column: 34, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Optional Proxy URL.", span: Span { start: Position { line: 1458, column: 36, }, end: Position { line: 1458, column: 55, }, }, }, ), ], span: Span { start: Position { line: 1458, column: 35, }, end: Position { line: 1458, column: 56, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "queue_config", span: Span { start: Position { line: 1459, column: 7, }, end: Position { line: 1459, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1459, column: 22, }, end: Position { line: 1459, column: 27, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1460, column: 10, }, end: Position { line: 1460, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1460, column: 16, }, end: Position { line: 1460, column: 25, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1461, column: 11, }, end: Position { line: 1461, column: 18, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "capacity", span: Span { start: Position { line: 1462, column: 13, }, end: Position { line: 1462, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1462, column: 24, }, end: Position { line: 1462, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1462, column: 30, }, end: Position { line: 1462, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1462, column: 36, }, end: Position { line: 1462, column: 39, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Number of samples to buffer per shard before we block reading of more\nsamples from the WAL. It is recommended to have enough capacity in each\nshard to buffer several requests to keep throughput up while processing\noccasional slow remote requests.\n", span: Span { start: Position { line: 1463, column: 1, }, end: Position { line: 1467, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1462, column: 40, }, end: Position { line: 1467, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "max_shards", span: Span { start: Position { line: 1468, column: 13, }, end: Position { line: 1468, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1468, column: 26, }, end: Position { line: 1468, column: 31, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1468, column: 32, }, end: Position { line: 1468, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1468, column: 38, }, end: Position { line: 1468, column: 41, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Maximum number of shards, i.e. amount of concurrency.\n", span: Span { start: Position { line: 1469, column: 1, }, end: Position { line: 1470, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1468, column: 42, }, end: Position { line: 1470, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "min_shards", span: Span { start: Position { line: 1471, column: 13, }, end: Position { line: 1471, column: 23, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1471, column: 26, }, end: Position { line: 1471, column: 31, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1471, column: 32, }, end: Position { line: 1471, column: 37, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1471, column: 38, }, end: Position { line: 1471, column: 41, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Minimum number of shards, i.e. amount of concurrency.\n", span: Span { start: Position { line: 1472, column: 1, }, end: Position { line: 1473, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1471, column: 42, }, end: Position { line: 1473, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "max_samples_per_send", span: Span { start: Position { line: 1474, column: 13, }, end: Position { line: 1474, column: 33, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1474, column: 36, }, end: Position { line: 1474, column: 41, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1474, column: 42, }, end: Position { line: 1474, column: 47, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1474, column: 48, }, end: Position { line: 1474, column: 51, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Maximum number of samples per send.\n", span: Span { start: Position { line: 1475, column: 1, }, end: Position { line: 1476, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1474, column: 52, }, end: Position { line: 1476, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "batch_send_deadline", span: Span { start: Position { line: 1477, column: 13, }, end: Position { line: 1477, column: 32, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1477, column: 35, }, end: Position { line: 1477, column: 40, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1477, column: 41, }, end: Position { line: 1477, column: 46, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1477, column: 47, }, end: Position { line: 1477, column: 50, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Maximum time a sample will wait in buffer.\n", span: Span { start: Position { line: 1478, column: 1, }, end: Position { line: 1479, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1477, column: 51, }, end: Position { line: 1479, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "min_backoff", span: Span { start: Position { line: 1480, column: 13, }, end: Position { line: 1480, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1480, column: 27, }, end: Position { line: 1480, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1480, column: 33, }, end: Position { line: 1480, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1480, column: 39, }, end: Position { line: 1480, column: 42, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Initial retry delay. Gets doubled for every retry.\n", span: Span { start: Position { line: 1481, column: 1, }, end: Position { line: 1482, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1480, column: 43, }, end: Position { line: 1482, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "max_backoff", span: Span { start: Position { line: 1483, column: 13, }, end: Position { line: 1483, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1483, column: 27, }, end: Position { line: 1483, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1483, column: 33, }, end: Position { line: 1483, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1483, column: 39, }, end: Position { line: 1483, column: 42, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Maximum retry delay.\n", span: Span { start: Position { line: 1484, column: 1, }, end: Position { line: 1485, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1483, column: 43, }, end: Position { line: 1485, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1461, column: 21, }, end: Position { line: 1486, column: 12, }, }, }, ), }, ), ], span: Span { start: Position { line: 1460, column: 26, }, end: Position { line: 1487, column: 10, }, }, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configures the queue used to write to remote storage.\n", span: Span { start: Position { line: 1488, column: 1, }, end: Position { line: 1489, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1487, column: 12, }, end: Position { line: 1489, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "metadata_config", span: Span { start: Position { line: 1490, column: 7, }, end: Position { line: 1490, column: 22, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1490, column: 25, }, end: Position { line: 1490, column: 30, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1491, column: 10, }, end: Position { line: 1491, column: 15, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1491, column: 16, }, end: Position { line: 1491, column: 25, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1492, column: 11, }, end: Position { line: 1492, column: 18, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "send", span: Span { start: Position { line: 1493, column: 13, }, end: Position { line: 1493, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1493, column: 20, }, end: Position { line: 1493, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1493, column: 26, }, end: Position { line: 1493, column: 31, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 1493, column: 32, }, end: Position { line: 1493, column: 36, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether metric metadata is sent to remote storage or not.\n", span: Span { start: Position { line: 1494, column: 1, }, end: Position { line: 1495, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1493, column: 37, }, end: Position { line: 1495, column: 15, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "send_interval", span: Span { start: Position { line: 1496, column: 13, }, end: Position { line: 1496, column: 26, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1496, column: 29, }, end: Position { line: 1496, column: 34, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1496, column: 35, }, end: Position { line: 1496, column: 40, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1496, column: 41, }, end: Position { line: 1496, column: 44, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "How frequently metric metadata is sent to remote storage.\n", span: Span { start: Position { line: 1497, column: 1, }, end: Position { line: 1498, column: 13, }, }, }, ), ], span: Span { start: Position { line: 1496, column: 45, }, end: Position { line: 1498, column: 15, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1492, column: 21, }, end: Position { line: 1499, column: 12, }, }, }, ), }, ), ], span: Span { start: Position { line: 1491, column: 26, }, end: Position { line: 1500, column: 10, }, }, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configures the sending of series metadata to remote storage.\nMetadata configuration is subject to change at any point\nor be removed in future releases.\n", span: Span { start: Position { line: 1501, column: 1, }, end: Position { line: 1504, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1500, column: 12, }, end: Position { line: 1504, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1423, column: 15, }, end: Position { line: 1505, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 1422, column: 44, }, end: Position { line: 1506, column: 4, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "promTypes", span: Span { start: Position { line: 1508, column: 3, }, end: Position { line: 1508, column: 12, }, }, }, ), Raw( PartRaw { content: "remote_read", span: Span { start: Position { line: 1508, column: 13, }, end: Position { line: 1508, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1508, column: 27, }, end: Position { line: 1508, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "submodule", span: Span { start: Position { line: 1508, column: 33, }, end: Position { line: 1508, column: 42, }, }, }, ), ], default: None, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1509, column: 5, }, end: Position { line: 1509, column: 12, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "url", span: Span { start: Position { line: 1510, column: 7, }, end: Position { line: 1510, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1510, column: 13, }, end: Position { line: 1510, column: 21, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1511, column: 9, }, end: Position { line: 1511, column: 13, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1511, column: 16, }, end: Position { line: 1511, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1511, column: 22, }, end: Position { line: 1511, column: 25, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1512, column: 9, }, end: Position { line: 1512, column: 20, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1512, column: 23, }, end: Position { line: 1512, column: 26, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1512, column: 27, }, end: Position { line: 1512, column: 32, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "ServerName extension to indicate the name of the server.\nhttp://tools.ietf.org/html/rfc4366#section-3.1\n", span: Span { start: Position { line: 1513, column: 1, }, end: Position { line: 1515, column: 9, }, }, }, ), ], span: Span { start: Position { line: 1512, column: 33, }, end: Position { line: 1515, column: 11, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1510, column: 22, }, end: Position { line: 1516, column: 8, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "name", span: Span { start: Position { line: 1517, column: 7, }, end: Position { line: 1517, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1517, column: 14, }, end: Position { line: 1517, column: 19, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1517, column: 20, }, end: Position { line: 1517, column: 25, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1517, column: 26, }, end: Position { line: 1517, column: 29, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Name of the remote read config, which if specified must be unique among remote read configs.\nThe name will be used in metrics and logging in place of a generated value to help users distinguish between\nremote read configs.\n", span: Span { start: Position { line: 1518, column: 1, }, end: Position { line: 1521, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1517, column: 30, }, end: Position { line: 1521, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "required_matchers", span: Span { start: Position { line: 1522, column: 7, }, end: Position { line: 1522, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1522, column: 27, }, end: Position { line: 1522, column: 32, }, }, }, ), arguments: [ FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1522, column: 34, }, end: Position { line: 1522, column: 39, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrsOf", span: Span { start: Position { line: 1522, column: 40, }, end: Position { line: 1522, column: 47, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1522, column: 48, }, end: Position { line: 1522, column: 53, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1522, column: 54, }, end: Position { line: 1522, column: 57, }, }, }, ), ], default: None, }, ), ], }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "An optional list of equality matchers which have to be\npresent in a selector to query the remote read endpoint.\n", span: Span { start: Position { line: 1523, column: 1, }, end: Position { line: 1525, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1522, column: 59, }, end: Position { line: 1525, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "remote_timeout", span: Span { start: Position { line: 1526, column: 7, }, end: Position { line: 1526, column: 21, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1526, column: 24, }, end: Position { line: 1526, column: 29, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1526, column: 30, }, end: Position { line: 1526, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1526, column: 36, }, end: Position { line: 1526, column: 39, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Timeout for requests to the remote read endpoint.\n", span: Span { start: Position { line: 1527, column: 1, }, end: Position { line: 1528, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1526, column: 40, }, end: Position { line: 1528, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "read_recent", span: Span { start: Position { line: 1529, column: 7, }, end: Position { line: 1529, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1529, column: 21, }, end: Position { line: 1529, column: 26, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1529, column: 27, }, end: Position { line: 1529, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 1529, column: 33, }, end: Position { line: 1529, column: 37, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Whether reads should be made for queries for time ranges that\nthe local storage should have complete data for.\n", span: Span { start: Position { line: 1530, column: 1, }, end: Position { line: 1532, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1529, column: 38, }, end: Position { line: 1532, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 1533, column: 7, }, end: Position { line: 1533, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1533, column: 20, }, end: Position { line: 1533, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1533, column: 26, }, end: Position { line: 1533, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "basic_auth", span: Span { start: Position { line: 1533, column: 36, }, end: Position { line: 1533, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every remote read request with the\nconfigured username and password.\npassword and password_file are mutually exclusive.\n", span: Span { start: Position { line: 1534, column: 1, }, end: Position { line: 1537, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1533, column: 47, }, end: Position { line: 1537, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "bearer_token", span: Span { start: Position { line: 1538, column: 7, }, end: Position { line: 1538, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1538, column: 22, }, end: Position { line: 1538, column: 27, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1538, column: 28, }, end: Position { line: 1538, column: 33, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1538, column: 34, }, end: Position { line: 1538, column: 37, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every remote read request with\nthe configured bearer token. It is mutually exclusive with `bearer_token_file`.\n", span: Span { start: Position { line: 1539, column: 1, }, end: Position { line: 1541, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1538, column: 38, }, end: Position { line: 1541, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "bearer_token_file", span: Span { start: Position { line: 1542, column: 7, }, end: Position { line: 1542, column: 24, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1542, column: 27, }, end: Position { line: 1542, column: 32, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1542, column: 33, }, end: Position { line: 1542, column: 38, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1542, column: 39, }, end: Position { line: 1542, column: 42, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Sets the `Authorization` header on every remote read request with the bearer token\nread from the configured file. It is mutually exclusive with `bearer_token`.\n", span: Span { start: Position { line: 1543, column: 1, }, end: Position { line: 1545, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1542, column: 43, }, end: Position { line: 1545, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1546, column: 7, }, end: Position { line: 1546, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1546, column: 20, }, end: Position { line: 1546, column: 25, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1546, column: 26, }, end: Position { line: 1546, column: 35, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "tls_config", span: Span { start: Position { line: 1546, column: 36, }, end: Position { line: 1546, column: 46, }, }, }, ), ], default: None, }, ), IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Configures the remote read request's TLS settings.\n", span: Span { start: Position { line: 1547, column: 1, }, end: Position { line: 1548, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1546, column: 47, }, end: Position { line: 1548, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "proxy_url", span: Span { start: Position { line: 1549, column: 7, }, end: Position { line: 1549, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOpt", span: Span { start: Position { line: 1549, column: 19, }, end: Position { line: 1549, column: 24, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1549, column: 25, }, end: Position { line: 1549, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1549, column: 31, }, end: Position { line: 1549, column: 34, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Optional Proxy URL.", span: Span { start: Position { line: 1549, column: 36, }, end: Position { line: 1549, column: 55, }, }, }, ), ], span: Span { start: Position { line: 1549, column: 35, }, end: Position { line: 1549, column: 56, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1509, column: 15, }, end: Position { line: 1550, column: 6, }, }, }, ), }, ), ], span: Span { start: Position { line: 1508, column: 43, }, end: Position { line: 1551, column: 4, }, }, }, ), ], }, ), }, ), ], target: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "imports", span: Span { start: Position { line: 1556, column: 3, }, end: Position { line: 1556, column: 10, }, }, }, ), ], to: List( List { elements: [ FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRenamedOptionModule", span: Span { start: Position { line: 1557, column: 6, }, end: Position { line: 1557, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 1557, column: 31, }, end: Position { line: 1557, column: 39, }, }, }, ), ], span: Span { start: Position { line: 1557, column: 30, }, end: Position { line: 1557, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "prometheus2", span: Span { start: Position { line: 1557, column: 42, }, end: Position { line: 1557, column: 53, }, }, }, ), ], span: Span { start: Position { line: 1557, column: 41, }, end: Position { line: 1557, column: 54, }, }, }, ), ], span: Span { start: Position { line: 1557, column: 28, }, end: Position { line: 1557, column: 56, }, }, }, ), List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 1557, column: 60, }, end: Position { line: 1557, column: 68, }, }, }, ), ], span: Span { start: Position { line: 1557, column: 59, }, end: Position { line: 1557, column: 69, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1557, column: 71, }, end: Position { line: 1557, column: 81, }, }, }, ), ], span: Span { start: Position { line: 1557, column: 70, }, end: Position { line: 1557, column: 82, }, }, }, ), ], span: Span { start: Position { line: 1557, column: 57, }, end: Position { line: 1557, column: 84, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 1558, column: 6, }, end: Position { line: 1558, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 1558, column: 31, }, end: Position { line: 1558, column: 39, }, }, }, ), ], span: Span { start: Position { line: 1558, column: 30, }, end: Position { line: 1558, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1558, column: 42, }, end: Position { line: 1558, column: 52, }, }, }, ), ], span: Span { start: Position { line: 1558, column: 41, }, end: Position { line: 1558, column: 53, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "environmentFile", span: Span { start: Position { line: 1558, column: 55, }, end: Position { line: 1558, column: 70, }, }, }, ), ], span: Span { start: Position { line: 1558, column: 54, }, end: Position { line: 1558, column: 71, }, }, }, ), ], span: Span { start: Position { line: 1558, column: 28, }, end: Position { line: 1558, column: 73, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "It has been removed since it was causing issues (https://github.com/NixOS/nixpkgs/issues/126083) and Prometheus now has native support for secret files, i.e. `basic_auth.password_file` and `authorization.credentials_file`.", span: Span { start: Position { line: 1559, column: 8, }, end: Position { line: 1559, column: 230, }, }, }, ), ], span: Span { start: Position { line: 1559, column: 7, }, end: Position { line: 1559, column: 231, }, }, }, ), ], }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkRemovedOptionModule", span: Span { start: Position { line: 1560, column: 6, }, end: Position { line: 1560, column: 27, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "services", span: Span { start: Position { line: 1560, column: 31, }, end: Position { line: 1560, column: 39, }, }, }, ), ], span: Span { start: Position { line: 1560, column: 30, }, end: Position { line: 1560, column: 40, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1560, column: 42, }, end: Position { line: 1560, column: 52, }, }, }, ), ], span: Span { start: Position { line: 1560, column: 41, }, end: Position { line: 1560, column: 53, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "alertmanagerTimeout", span: Span { start: Position { line: 1560, column: 55, }, end: Position { line: 1560, column: 74, }, }, }, ), ], span: Span { start: Position { line: 1560, column: 54, }, end: Position { line: 1560, column: 75, }, }, }, ), ], span: Span { start: Position { line: 1560, column: 28, }, end: Position { line: 1560, column: 77, }, }, }, ), String( String_ { parts: [ Raw( PartRaw { content: "Deprecated upstream and no longer had any effect", span: Span { start: Position { line: 1561, column: 8, }, end: Position { line: 1561, column: 56, }, }, }, ), ], span: Span { start: Position { line: 1561, column: 7, }, end: Position { line: 1561, column: 57, }, }, }, ), ], }, ), ], span: Span { start: Position { line: 1556, column: 13, }, end: Position { line: 1562, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "options", span: Span { start: Position { line: 1564, column: 3, }, end: Position { line: 1564, column: 10, }, }, }, ), Raw( PartRaw { content: "services", span: Span { start: Position { line: 1564, column: 11, }, end: Position { line: 1564, column: 19, }, }, }, ), Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1564, column: 20, }, end: Position { line: 1564, column: 30, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 1566, column: 5, }, end: Position { line: 1566, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1566, column: 14, }, end: Position { line: 1566, column: 22, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1567, column: 7, }, end: Position { line: 1567, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1567, column: 14, }, end: Position { line: 1567, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 1567, column: 20, }, end: Position { line: 1567, column: 24, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1568, column: 7, }, end: Position { line: 1568, column: 14, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 1568, column: 17, }, end: Position { line: 1568, column: 22, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1569, column: 7, }, end: Position { line: 1569, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1569, column: 21, }, end: Position { line: 1569, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1569, column: 25, }, end: Position { line: 1569, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Enable the Prometheus monitoring daemon.\n", span: Span { start: Position { line: 1570, column: 1, }, end: Position { line: 1571, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1569, column: 31, }, end: Position { line: 1571, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1566, column: 23, }, end: Position { line: 1572, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 1574, column: 5, }, end: Position { line: 1574, column: 12, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1574, column: 15, }, end: Position { line: 1574, column: 23, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1575, column: 7, }, end: Position { line: 1575, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1575, column: 14, }, end: Position { line: 1575, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 1575, column: 20, }, end: Position { line: 1575, column: 27, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1576, column: 7, }, end: Position { line: 1576, column: 14, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 1576, column: 17, }, end: Position { line: 1576, column: 21, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1576, column: 22, }, end: Position { line: 1576, column: 32, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "defaultText", span: Span { start: Position { line: 1577, column: 7, }, end: Position { line: 1577, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 1577, column: 21, }, end: Position { line: 1577, column: 38, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "pkgs.prometheus", span: Span { start: Position { line: 1577, column: 40, }, end: Position { line: 1577, column: 55, }, }, }, ), ], span: Span { start: Position { line: 1577, column: 39, }, end: Position { line: 1577, column: 56, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1578, column: 7, }, end: Position { line: 1578, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1578, column: 21, }, end: Position { line: 1578, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1578, column: 25, }, end: Position { line: 1578, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The prometheus package that should be used.\n", span: Span { start: Position { line: 1579, column: 1, }, end: Position { line: 1580, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1578, column: 31, }, end: Position { line: 1580, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1574, column: 24, }, end: Position { line: 1581, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 1583, column: 5, }, end: Position { line: 1583, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1583, column: 12, }, end: Position { line: 1583, column: 20, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1584, column: 7, }, end: Position { line: 1584, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1584, column: 14, }, end: Position { line: 1584, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "port", span: Span { start: Position { line: 1584, column: 20, }, end: Position { line: 1584, column: 24, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1585, column: 7, }, end: Position { line: 1585, column: 14, }, }, }, ), ], to: Integer( Integer { value: "9090", span: Span { start: Position { line: 1585, column: 17, }, end: Position { line: 1585, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1586, column: 7, }, end: Position { line: 1586, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1586, column: 21, }, end: Position { line: 1586, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1586, column: 25, }, end: Position { line: 1586, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Port to listen on.\n", span: Span { start: Position { line: 1587, column: 1, }, end: Position { line: 1588, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1586, column: 31, }, end: Position { line: 1588, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1583, column: 21, }, end: Position { line: 1589, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "listenAddress", span: Span { start: Position { line: 1591, column: 5, }, end: Position { line: 1591, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1591, column: 21, }, end: Position { line: 1591, column: 29, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1592, column: 7, }, end: Position { line: 1592, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1592, column: 14, }, end: Position { line: 1592, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1592, column: 20, }, end: Position { line: 1592, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1593, column: 7, }, end: Position { line: 1593, column: 14, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "0.0.0.0", span: Span { start: Position { line: 1593, column: 18, }, end: Position { line: 1593, column: 25, }, }, }, ), ], span: Span { start: Position { line: 1593, column: 17, }, end: Position { line: 1593, column: 26, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1594, column: 7, }, end: Position { line: 1594, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1594, column: 21, }, end: Position { line: 1594, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1594, column: 25, }, end: Position { line: 1594, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Address to listen on for the web interface, API, and telemetry.\n", span: Span { start: Position { line: 1595, column: 1, }, end: Position { line: 1596, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1594, column: 31, }, end: Position { line: 1596, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1591, column: 30, }, end: Position { line: 1597, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "stateDir", span: Span { start: Position { line: 1599, column: 5, }, end: Position { line: 1599, column: 13, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1599, column: 16, }, end: Position { line: 1599, column: 24, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1600, column: 7, }, end: Position { line: 1600, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1600, column: 14, }, end: Position { line: 1600, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1600, column: 20, }, end: Position { line: 1600, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1601, column: 7, }, end: Position { line: 1601, column: 14, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "prometheus2", span: Span { start: Position { line: 1601, column: 18, }, end: Position { line: 1601, column: 29, }, }, }, ), ], span: Span { start: Position { line: 1601, column: 17, }, end: Position { line: 1601, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1602, column: 7, }, end: Position { line: 1602, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1602, column: 21, }, end: Position { line: 1602, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1602, column: 25, }, end: Position { line: 1602, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Directory below `/var/lib` to store Prometheus metrics data.\nThis directory will be created automatically using systemd's StateDirectory mechanism.\n", span: Span { start: Position { line: 1603, column: 1, }, end: Position { line: 1605, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1602, column: 31, }, end: Position { line: 1605, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1599, column: 25, }, end: Position { line: 1606, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "extraFlags", span: Span { start: Position { line: 1608, column: 5, }, end: Position { line: 1608, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1608, column: 18, }, end: Position { line: 1608, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1609, column: 7, }, end: Position { line: 1609, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1609, column: 14, }, end: Position { line: 1609, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1609, column: 20, }, end: Position { line: 1609, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1609, column: 27, }, end: Position { line: 1609, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1609, column: 33, }, end: Position { line: 1609, column: 36, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1610, column: 7, }, end: Position { line: 1610, column: 14, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1610, column: 17, }, end: Position { line: 1610, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1611, column: 7, }, end: Position { line: 1611, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1611, column: 21, }, end: Position { line: 1611, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1611, column: 25, }, end: Position { line: 1611, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Extra commandline options when launching Prometheus.\n", span: Span { start: Position { line: 1612, column: 1, }, end: Position { line: 1613, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1611, column: 31, }, end: Position { line: 1613, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1608, column: 27, }, end: Position { line: 1614, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "enableReload", span: Span { start: Position { line: 1616, column: 5, }, end: Position { line: 1616, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1616, column: 20, }, end: Position { line: 1616, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1617, column: 7, }, end: Position { line: 1617, column: 14, }, }, }, ), ], to: Identifier( Identifier { id: "false", span: Span { start: Position { line: 1617, column: 17, }, end: Position { line: 1617, column: 22, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1618, column: 7, }, end: Position { line: 1618, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1618, column: 14, }, end: Position { line: 1618, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "bool", span: Span { start: Position { line: 1618, column: 20, }, end: Position { line: 1618, column: 24, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1619, column: 7, }, end: Position { line: 1619, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1619, column: 21, }, end: Position { line: 1619, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1619, column: 25, }, end: Position { line: 1619, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Reload prometheus when configuration file changes (instead of restart).\n\nThe following property holds: switching to a configuration\n(`switch-to-configuration`) that changes the prometheus\nconfiguration only finishes successully when prometheus has finished\nloading the new configuration.\n", span: Span { start: Position { line: 1620, column: 1, }, end: Position { line: 1626, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1619, column: 31, }, end: Position { line: 1626, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1616, column: 29, }, end: Position { line: 1627, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "configText", span: Span { start: Position { line: 1629, column: 5, }, end: Position { line: 1629, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1629, column: 18, }, end: Position { line: 1629, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1630, column: 7, }, end: Position { line: 1630, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1630, column: 14, }, end: Position { line: 1630, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 1630, column: 20, }, end: Position { line: 1630, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1630, column: 27, }, end: Position { line: 1630, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "lines", span: Span { start: Position { line: 1630, column: 33, }, end: Position { line: 1630, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1631, column: 7, }, end: Position { line: 1631, column: 14, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1631, column: 17, }, end: Position { line: 1631, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1632, column: 7, }, end: Position { line: 1632, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1632, column: 21, }, end: Position { line: 1632, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1632, column: 25, }, end: Position { line: 1632, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "If non-null, this option defines the text that is written to\nprometheus.yml. If null, the contents of prometheus.yml is generated\nfrom the structured config options.\n", span: Span { start: Position { line: 1633, column: 1, }, end: Position { line: 1636, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1632, column: 31, }, end: Position { line: 1636, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1629, column: 27, }, end: Position { line: 1637, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "globalConfig", span: Span { start: Position { line: 1639, column: 5, }, end: Position { line: 1639, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1639, column: 20, }, end: Position { line: 1639, column: 28, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1640, column: 7, }, end: Position { line: 1640, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1640, column: 14, }, end: Position { line: 1640, column: 23, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "globalConfig", span: Span { start: Position { line: 1640, column: 24, }, end: Position { line: 1640, column: 36, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1641, column: 7, }, end: Position { line: 1641, column: 14, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [], span: Span { start: Position { line: 1641, column: 17, }, end: Position { line: 1641, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1642, column: 7, }, end: Position { line: 1642, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1642, column: 21, }, end: Position { line: 1642, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1642, column: 25, }, end: Position { line: 1642, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Parameters that are valid in all configuration contexts. They\nalso serve as defaults for other configuration sections\n", span: Span { start: Position { line: 1643, column: 1, }, end: Position { line: 1645, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1642, column: 31, }, end: Position { line: 1645, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1639, column: 29, }, end: Position { line: 1646, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "remoteRead", span: Span { start: Position { line: 1648, column: 5, }, end: Position { line: 1648, column: 15, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1648, column: 18, }, end: Position { line: 1648, column: 26, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1649, column: 7, }, end: Position { line: 1649, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1649, column: 14, }, end: Position { line: 1649, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1649, column: 20, }, end: Position { line: 1649, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1649, column: 27, }, end: Position { line: 1649, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "remote_read", span: Span { start: Position { line: 1649, column: 37, }, end: Position { line: 1649, column: 48, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1650, column: 7, }, end: Position { line: 1650, column: 14, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1650, column: 17, }, end: Position { line: 1650, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1651, column: 7, }, end: Position { line: 1651, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1651, column: 21, }, end: Position { line: 1651, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1651, column: 25, }, end: Position { line: 1651, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Parameters of the endpoints to query from.\nSee [the official documentation](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_read) for more information.\n", span: Span { start: Position { line: 1652, column: 1, }, end: Position { line: 1654, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1651, column: 31, }, end: Position { line: 1654, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1648, column: 27, }, end: Position { line: 1655, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "remoteWrite", span: Span { start: Position { line: 1657, column: 5, }, end: Position { line: 1657, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1657, column: 19, }, end: Position { line: 1657, column: 27, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1658, column: 7, }, end: Position { line: 1658, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1658, column: 14, }, end: Position { line: 1658, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1658, column: 20, }, end: Position { line: 1658, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1658, column: 27, }, end: Position { line: 1658, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "remote_write", span: Span { start: Position { line: 1658, column: 37, }, end: Position { line: 1658, column: 49, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1659, column: 7, }, end: Position { line: 1659, column: 14, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1659, column: 17, }, end: Position { line: 1659, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1660, column: 7, }, end: Position { line: 1660, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1660, column: 21, }, end: Position { line: 1660, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1660, column: 25, }, end: Position { line: 1660, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Parameters of the endpoints to send samples to.\nSee [the official documentation](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write) for more information.\n", span: Span { start: Position { line: 1661, column: 1, }, end: Position { line: 1663, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1660, column: 31, }, end: Position { line: 1663, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1657, column: 28, }, end: Position { line: 1664, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "rules", span: Span { start: Position { line: 1666, column: 5, }, end: Position { line: 1666, column: 10, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1666, column: 13, }, end: Position { line: 1666, column: 21, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1667, column: 7, }, end: Position { line: 1667, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1667, column: 14, }, end: Position { line: 1667, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1667, column: 20, }, end: Position { line: 1667, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1667, column: 27, }, end: Position { line: 1667, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1667, column: 33, }, end: Position { line: 1667, column: 36, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1668, column: 7, }, end: Position { line: 1668, column: 14, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1668, column: 17, }, end: Position { line: 1668, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1669, column: 7, }, end: Position { line: 1669, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1669, column: 21, }, end: Position { line: 1669, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1669, column: 25, }, end: Position { line: 1669, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Alerting and/or Recording rules to evaluate at runtime.\n", span: Span { start: Position { line: 1670, column: 1, }, end: Position { line: 1671, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1669, column: 31, }, end: Position { line: 1671, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1666, column: 22, }, end: Position { line: 1672, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ruleFiles", span: Span { start: Position { line: 1674, column: 5, }, end: Position { line: 1674, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1674, column: 17, }, end: Position { line: 1674, column: 25, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1675, column: 7, }, end: Position { line: 1675, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1675, column: 14, }, end: Position { line: 1675, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1675, column: 20, }, end: Position { line: 1675, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1675, column: 27, }, end: Position { line: 1675, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "path", span: Span { start: Position { line: 1675, column: 33, }, end: Position { line: 1675, column: 37, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1676, column: 7, }, end: Position { line: 1676, column: 14, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1676, column: 17, }, end: Position { line: 1676, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1677, column: 7, }, end: Position { line: 1677, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1677, column: 21, }, end: Position { line: 1677, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1677, column: 25, }, end: Position { line: 1677, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Any additional rules files to include in this configuration.\n", span: Span { start: Position { line: 1678, column: 1, }, end: Position { line: 1679, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1677, column: 31, }, end: Position { line: 1679, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1674, column: 26, }, end: Position { line: 1680, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "scrapeConfigs", span: Span { start: Position { line: 1682, column: 5, }, end: Position { line: 1682, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1682, column: 21, }, end: Position { line: 1682, column: 29, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1683, column: 7, }, end: Position { line: 1683, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1683, column: 14, }, end: Position { line: 1683, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1683, column: 20, }, end: Position { line: 1683, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "promTypes", span: Span { start: Position { line: 1683, column: 27, }, end: Position { line: 1683, column: 36, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "scrape_config", span: Span { start: Position { line: 1683, column: 37, }, end: Position { line: 1683, column: 50, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1684, column: 7, }, end: Position { line: 1684, column: 14, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1684, column: 17, }, end: Position { line: 1684, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1685, column: 7, }, end: Position { line: 1685, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1685, column: 21, }, end: Position { line: 1685, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1685, column: 25, }, end: Position { line: 1685, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "A list of scrape configurations.\n", span: Span { start: Position { line: 1686, column: 1, }, end: Position { line: 1687, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1685, column: 31, }, end: Position { line: 1687, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1682, column: 30, }, end: Position { line: 1688, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "alertmanagers", span: Span { start: Position { line: 1690, column: 5, }, end: Position { line: 1690, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1690, column: 21, }, end: Position { line: 1690, column: 29, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1691, column: 7, }, end: Position { line: 1691, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1691, column: 14, }, end: Position { line: 1691, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listOf", span: Span { start: Position { line: 1691, column: 20, }, end: Position { line: 1691, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1691, column: 27, }, end: Position { line: 1691, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "attrs", span: Span { start: Position { line: 1691, column: 33, }, end: Position { line: 1691, column: 38, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 1692, column: 7, }, end: Position { line: 1692, column: 14, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "literalExpression", span: Span { start: Position { line: 1692, column: 17, }, end: Position { line: 1692, column: 34, }, }, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "[ {\n scheme = \"https\";\n path_prefix = \"/alertmanager\";\n static_configs = [ {\n targets = [\n \"prometheus.domain.tld\"\n ];\n } ];\n} ]\n", span: Span { start: Position { line: 1693, column: 1, }, end: Position { line: 1702, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1692, column: 35, }, end: Position { line: 1702, column: 9, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1703, column: 7, }, end: Position { line: 1703, column: 14, }, }, }, ), ], to: List( List { elements: [], span: Span { start: Position { line: 1703, column: 17, }, end: Position { line: 1703, column: 20, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1704, column: 7, }, end: Position { line: 1704, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1704, column: 21, }, end: Position { line: 1704, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1704, column: 25, }, end: Position { line: 1704, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "A list of alertmanagers to send alerts to.\nSee [the official documentation](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alertmanager_config) for more information.\n", span: Span { start: Position { line: 1705, column: 1, }, end: Position { line: 1707, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1704, column: 31, }, end: Position { line: 1707, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1690, column: 30, }, end: Position { line: 1708, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "alertmanagerNotificationQueueCapacity", span: Span { start: Position { line: 1710, column: 5, }, end: Position { line: 1710, column: 42, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1710, column: 45, }, end: Position { line: 1710, column: 53, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1711, column: 7, }, end: Position { line: 1711, column: 11, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1711, column: 14, }, end: Position { line: 1711, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "int", span: Span { start: Position { line: 1711, column: 20, }, end: Position { line: 1711, column: 23, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1712, column: 7, }, end: Position { line: 1712, column: 14, }, }, }, ), ], to: Integer( Integer { value: "10000", span: Span { start: Position { line: 1712, column: 17, }, end: Position { line: 1712, column: 22, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1713, column: 7, }, end: Position { line: 1713, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1713, column: 21, }, end: Position { line: 1713, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1713, column: 25, }, end: Position { line: 1713, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The capacity of the queue for pending alert manager notifications.\n", span: Span { start: Position { line: 1714, column: 1, }, end: Position { line: 1715, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1713, column: 31, }, end: Position { line: 1715, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1710, column: 54, }, end: Position { line: 1716, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "webExternalUrl", span: Span { start: Position { line: 1718, column: 5, }, end: Position { line: 1718, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1718, column: 22, }, end: Position { line: 1718, column: 30, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1719, column: 7, }, end: Position { line: 1719, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1719, column: 14, }, end: Position { line: 1719, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 1719, column: 20, }, end: Position { line: 1719, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1719, column: 27, }, end: Position { line: 1719, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1719, column: 33, }, end: Position { line: 1719, column: 36, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1720, column: 7, }, end: Position { line: 1720, column: 14, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1720, column: 17, }, end: Position { line: 1720, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 1721, column: 7, }, end: Position { line: 1721, column: 14, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "https://example.com/", span: Span { start: Position { line: 1721, column: 18, }, end: Position { line: 1721, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1721, column: 17, }, end: Position { line: 1721, column: 39, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1722, column: 7, }, end: Position { line: 1722, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1722, column: 21, }, end: Position { line: 1722, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1722, column: 25, }, end: Position { line: 1722, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "The URL under which Prometheus is externally reachable (for example,\nif Prometheus is served via a reverse proxy).\n", span: Span { start: Position { line: 1723, column: 1, }, end: Position { line: 1725, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1722, column: 31, }, end: Position { line: 1725, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1718, column: 31, }, end: Position { line: 1726, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "checkConfig", span: Span { start: Position { line: 1728, column: 5, }, end: Position { line: 1728, column: 16, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1728, column: 19, }, end: Position { line: 1728, column: 27, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1729, column: 7, }, end: Position { line: 1729, column: 11, }, }, }, ), ], to: With( With { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1729, column: 19, }, end: Position { line: 1729, column: 24, }, }, }, ), target: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "either", span: Span { start: Position { line: 1729, column: 26, }, end: Position { line: 1729, column: 32, }, }, }, ), arguments: [ Identifier( Identifier { id: "bool", span: Span { start: Position { line: 1729, column: 33, }, end: Position { line: 1729, column: 37, }, }, }, ), FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "enum", span: Span { start: Position { line: 1729, column: 39, }, end: Position { line: 1729, column: 43, }, }, }, ), arguments: [ List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "syntax-only", span: Span { start: Position { line: 1729, column: 47, }, end: Position { line: 1729, column: 58, }, }, }, ), ], span: Span { start: Position { line: 1729, column: 46, }, end: Position { line: 1729, column: 59, }, }, }, ), ], span: Span { start: Position { line: 1729, column: 44, }, end: Position { line: 1729, column: 61, }, }, }, ), ], }, ), ], }, ), span: Span { start: Position { line: 1729, column: 14, }, end: Position { line: 1729, column: 62, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1730, column: 7, }, end: Position { line: 1730, column: 14, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1730, column: 17, }, end: Position { line: 1730, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 1731, column: 7, }, end: Position { line: 1731, column: 14, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "syntax-only", span: Span { start: Position { line: 1731, column: 18, }, end: Position { line: 1731, column: 29, }, }, }, ), ], span: Span { start: Position { line: 1731, column: 17, }, end: Position { line: 1731, column: 30, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1732, column: 7, }, end: Position { line: 1732, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1732, column: 21, }, end: Position { line: 1732, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1732, column: 25, }, end: Position { line: 1732, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Check configuration with `promtool check`. The call to `promtool` is\nsubject to sandboxing by Nix.\n\nIf you use credentials stored in external files\n(`password_file`, `bearer_token_file`, etc),\nthey will not be visible to `promtool`\nand it will report errors, despite a correct configuration.\nTo resolve this, you may set this option to `\"syntax-only\"`\nin order to only syntax check the Prometheus configuration.\n", span: Span { start: Position { line: 1733, column: 1, }, end: Position { line: 1742, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1732, column: 31, }, end: Position { line: 1742, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1728, column: 28, }, end: Position { line: 1743, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "retentionTime", span: Span { start: Position { line: 1745, column: 5, }, end: Position { line: 1745, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkOption", span: Span { start: Position { line: 1745, column: 21, }, end: Position { line: 1745, column: 29, }, }, }, ), arguments: [ Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "type", span: Span { start: Position { line: 1746, column: 7, }, end: Position { line: 1746, column: 11, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1746, column: 14, }, end: Position { line: 1746, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "nullOr", span: Span { start: Position { line: 1746, column: 20, }, end: Position { line: 1746, column: 26, }, }, }, ), ], default: None, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "types", span: Span { start: Position { line: 1746, column: 27, }, end: Position { line: 1746, column: 32, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "str", span: Span { start: Position { line: 1746, column: 33, }, end: Position { line: 1746, column: 36, }, }, }, ), ], default: None, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "default", span: Span { start: Position { line: 1747, column: 7, }, end: Position { line: 1747, column: 14, }, }, }, ), ], to: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1747, column: 17, }, end: Position { line: 1747, column: 21, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "example", span: Span { start: Position { line: 1748, column: 7, }, end: Position { line: 1748, column: 14, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "15d", span: Span { start: Position { line: 1748, column: 18, }, end: Position { line: 1748, column: 21, }, }, }, ), ], span: Span { start: Position { line: 1748, column: 17, }, end: Position { line: 1748, column: 22, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1749, column: 7, }, end: Position { line: 1749, column: 18, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "lib", span: Span { start: Position { line: 1749, column: 21, }, end: Position { line: 1749, column: 24, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "mdDoc", span: Span { start: Position { line: 1749, column: 25, }, end: Position { line: 1749, column: 30, }, }, }, ), ], default: None, }, ), arguments: [ IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "How long to retain samples in storage.\n", span: Span { start: Position { line: 1750, column: 1, }, end: Position { line: 1751, column: 7, }, }, }, ), ], span: Span { start: Position { line: 1749, column: 31, }, end: Position { line: 1751, column: 9, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1745, column: 30, }, end: Position { line: 1752, column: 6, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1564, column: 33, }, end: Position { line: 1753, column: 4, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "config", span: Span { start: Position { line: 1755, column: 3, }, end: Position { line: 1755, column: 9, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 1755, column: 12, }, end: Position { line: 1755, column: 16, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1755, column: 17, }, end: Position { line: 1755, column: 20, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enable", span: Span { start: Position { line: 1755, column: 21, }, end: Position { line: 1755, column: 27, }, }, }, ), ], default: None, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertions", span: Span { start: Position { line: 1756, column: 5, }, end: Position { line: 1756, column: 15, }, }, }, ), ], to: List( List { elements: [ LetIn( LetIn { bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "legacy", span: Span { start: Position { line: 1761, column: 11, }, end: Position { line: 1761, column: 17, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1761, column: 20, }, end: Position { line: 1761, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "match", span: Span { start: Position { line: 1761, column: 29, }, end: Position { line: 1761, column: 34, }, }, }, ), ], default: None, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: "(.*\\..*|.*]):([[:digit:]]+)", span: Span { start: Position { line: 1761, column: 36, }, end: Position { line: 1761, column: 64, }, }, }, ), ], span: Span { start: Position { line: 1761, column: 35, }, end: Position { line: 1761, column: 65, }, }, }, ), PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1761, column: 66, }, end: Position { line: 1761, column: 69, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "listenAddress", span: Span { start: Position { line: 1761, column: 70, }, end: Position { line: 1761, column: 83, }, }, }, ), ], default: None, }, ), ], }, ), }, ), ], target: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "assertion", span: Span { start: Position { line: 1764, column: 11, }, end: Position { line: 1764, column: 20, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: Identifier( Identifier { id: "legacy", span: Span { start: Position { line: 1764, column: 23, }, end: Position { line: 1764, column: 29, }, }, }, ), operator: EqualTo, right: Identifier( Identifier { id: "null", span: Span { start: Position { line: 1764, column: 33, }, end: Position { line: 1764, column: 37, }, }, }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "message", span: Span { start: Position { line: 1765, column: 11, }, end: Position { line: 1765, column: 18, }, }, }, ), ], to: IndentedString( IndentedString { parts: [ Raw( PartRaw { content: "Do not specify the port for Prometheus to listen on in the\nlistenAddress option; use the port option instead:\n services.prometheus.listenAddress = ", span: Span { start: Position { line: 1766, column: 1, }, end: Position { line: 1768, column: 51, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1768, column: 53, }, end: Position { line: 1768, column: 61, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "elemAt", span: Span { start: Position { line: 1768, column: 62, }, end: Position { line: 1768, column: 68, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "legacy", span: Span { start: Position { line: 1768, column: 69, }, end: Position { line: 1768, column: 75, }, }, }, ), Integer( Integer { value: "0", span: Span { start: Position { line: 1768, column: 76, }, end: Position { line: 1768, column: 77, }, }, }, ), ], }, ), }, ), Raw( PartRaw { content: ";\n services.prometheus.port = ", span: Span { start: Position { line: 1766, column: 1, }, end: Position { line: 1769, column: 42, }, }, }, ), Interpolation( PartInterpolation { expression: FunctionApplication( FunctionApplication { function: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "builtins", span: Span { start: Position { line: 1769, column: 44, }, end: Position { line: 1769, column: 52, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "elemAt", span: Span { start: Position { line: 1769, column: 53, }, end: Position { line: 1769, column: 59, }, }, }, ), ], default: None, }, ), arguments: [ Identifier( Identifier { id: "legacy", span: Span { start: Position { line: 1769, column: 60, }, end: Position { line: 1769, column: 66, }, }, }, ), Integer( Integer { value: "1", span: Span { start: Position { line: 1769, column: 67, }, end: Position { line: 1769, column: 68, }, }, }, ), ], }, ), }, ), Raw( PartRaw { content: ";\n", span: Span { start: Position { line: 1766, column: 1, }, end: Position { line: 1770, column: 11, }, }, }, ), ], span: Span { start: Position { line: 1765, column: 21, }, end: Position { line: 1770, column: 13, }, }, }, ), }, ), ], span: Span { start: Position { line: 1763, column: 9, }, end: Position { line: 1771, column: 10, }, }, }, ), span: Span { start: Position { line: 1758, column: 9, }, end: Position { line: 1771, column: 10, }, }, }, ), ], span: Span { start: Position { line: 1756, column: 18, }, end: Position { line: 1773, column: 6, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 1775, column: 5, }, end: Position { line: 1775, column: 10, }, }, }, ), Raw( PartRaw { content: "groups", span: Span { start: Position { line: 1775, column: 11, }, end: Position { line: 1775, column: 17, }, }, }, ), Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1775, column: 18, }, end: Position { line: 1775, column: 28, }, }, }, ), Raw( PartRaw { content: "gid", span: Span { start: Position { line: 1775, column: 29, }, end: Position { line: 1775, column: 32, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "config", span: Span { start: Position { line: 1775, column: 35, }, end: Position { line: 1775, column: 41, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "ids", span: Span { start: Position { line: 1775, column: 42, }, end: Position { line: 1775, column: 45, }, }, }, ), Raw( PartRaw { content: "gids", span: Span { start: Position { line: 1775, column: 46, }, end: Position { line: 1775, column: 50, }, }, }, ), Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1775, column: 51, }, end: Position { line: 1775, column: 61, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "users", span: Span { start: Position { line: 1776, column: 5, }, end: Position { line: 1776, column: 10, }, }, }, ), Raw( PartRaw { content: "users", span: Span { start: Position { line: 1776, column: 11, }, end: Position { line: 1776, column: 16, }, }, }, ), Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1776, column: 17, }, end: Position { line: 1776, column: 27, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "description", span: Span { start: Position { line: 1777, column: 7, }, end: Position { line: 1777, column: 18, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "Prometheus daemon user", span: Span { start: Position { line: 1777, column: 22, }, end: Position { line: 1777, column: 44, }, }, }, ), ], span: Span { start: Position { line: 1777, column: 21, }, end: Position { line: 1777, column: 45, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "uid", span: Span { start: Position { line: 1778, column: 7, }, end: Position { line: 1778, column: 10, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "config", span: Span { start: Position { line: 1778, column: 13, }, end: Position { line: 1778, column: 19, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "ids", span: Span { start: Position { line: 1778, column: 20, }, end: Position { line: 1778, column: 23, }, }, }, ), Raw( PartRaw { content: "uids", span: Span { start: Position { line: 1778, column: 24, }, end: Position { line: 1778, column: 28, }, }, }, ), Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1778, column: 29, }, end: Position { line: 1778, column: 39, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "group", span: Span { start: Position { line: 1779, column: 7, }, end: Position { line: 1779, column: 12, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1779, column: 16, }, end: Position { line: 1779, column: 26, }, }, }, ), ], span: Span { start: Position { line: 1779, column: 15, }, end: Position { line: 1779, column: 27, }, }, }, ), }, ), ], span: Span { start: Position { line: 1776, column: 30, }, end: Position { line: 1780, column: 6, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "environment", span: Span { start: Position { line: 1781, column: 5, }, end: Position { line: 1781, column: 16, }, }, }, ), Raw( PartRaw { content: "etc", span: Span { start: Position { line: 1781, column: 17, }, end: Position { line: 1781, column: 20, }, }, }, ), Expression( PartExpression { expression: String( String_ { parts: [ Raw( PartRaw { content: "prometheus/prometheus.yaml", span: Span { start: Position { line: 1781, column: 22, }, end: Position { line: 1781, column: 48, }, }, }, ), ], span: Span { start: Position { line: 1781, column: 21, }, end: Position { line: 1781, column: 49, }, }, }, ), }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 1781, column: 52, }, end: Position { line: 1781, column: 56, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1781, column: 57, }, end: Position { line: 1781, column: 60, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enableReload", span: Span { start: Position { line: 1781, column: 61, }, end: Position { line: 1781, column: 73, }, }, }, ), ], default: None, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "source", span: Span { start: Position { line: 1782, column: 7, }, end: Position { line: 1782, column: 13, }, }, }, ), ], to: Identifier( Identifier { id: "prometheusYml", span: Span { start: Position { line: 1782, column: 16, }, end: Position { line: 1782, column: 29, }, }, }, ), }, ), ], span: Span { start: Position { line: 1781, column: 74, }, end: Position { line: 1783, column: 6, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "systemd", span: Span { start: Position { line: 1784, column: 5, }, end: Position { line: 1784, column: 12, }, }, }, ), Raw( PartRaw { content: "services", span: Span { start: Position { line: 1784, column: 13, }, end: Position { line: 1784, column: 21, }, }, }, ), Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1784, column: 22, }, end: Position { line: 1784, column: 32, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "wantedBy", span: Span { start: Position { line: 1785, column: 7, }, end: Position { line: 1785, column: 15, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "multi-user.target", span: Span { start: Position { line: 1785, column: 21, }, end: Position { line: 1785, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1785, column: 20, }, end: Position { line: 1785, column: 39, }, }, }, ), ], span: Span { start: Position { line: 1785, column: 18, }, end: Position { line: 1785, column: 41, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "after", span: Span { start: Position { line: 1786, column: 7, }, end: Position { line: 1786, column: 12, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "network.target", span: Span { start: Position { line: 1786, column: 18, }, end: Position { line: 1786, column: 32, }, }, }, ), ], span: Span { start: Position { line: 1786, column: 17, }, end: Position { line: 1786, column: 33, }, }, }, ), ], span: Span { start: Position { line: 1786, column: 15, }, end: Position { line: 1786, column: 35, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "serviceConfig", span: Span { start: Position { line: 1787, column: 7, }, end: Position { line: 1787, column: 20, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ExecStart", span: Span { start: Position { line: 1788, column: 9, }, end: Position { line: 1788, column: 18, }, }, }, ), ], to: BinaryOperation( BinaryOperation { left: String( String_ { parts: [ Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1788, column: 24, }, end: Position { line: 1788, column: 27, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "package", span: Span { start: Position { line: 1788, column: 28, }, end: Position { line: 1788, column: 35, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/bin/prometheus", span: Span { start: Position { line: 1788, column: 22, }, end: Position { line: 1788, column: 51, }, }, }, ), ], span: Span { start: Position { line: 1788, column: 21, }, end: Position { line: 1788, column: 52, }, }, }, ), operator: Addition, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "optionalString", span: Span { start: Position { line: 1789, column: 11, }, end: Position { line: 1789, column: 25, }, }, }, ), arguments: [ BinaryOperation( BinaryOperation { left: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "length", span: Span { start: Position { line: 1789, column: 27, }, end: Position { line: 1789, column: 33, }, }, }, ), arguments: [ Identifier( Identifier { id: "cmdlineArgs", span: Span { start: Position { line: 1789, column: 34, }, end: Position { line: 1789, column: 45, }, }, }, ), ], }, ), operator: NotEqualTo, right: Integer( Integer { value: "0", span: Span { start: Position { line: 1789, column: 49, }, end: Position { line: 1789, column: 50, }, }, }, ), }, ), BinaryOperation( BinaryOperation { left: String( String_ { parts: [ Raw( PartRaw { content: " \\\n ", span: Span { start: Position { line: 1789, column: 54, }, end: Position { line: 1789, column: 61, }, }, }, ), ], span: Span { start: Position { line: 1789, column: 53, }, end: Position { line: 1789, column: 62, }, }, }, ), operator: Addition, right: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "concatStringsSep", span: Span { start: Position { line: 1790, column: 13, }, end: Position { line: 1790, column: 29, }, }, }, ), arguments: [ String( String_ { parts: [ Raw( PartRaw { content: " \\\n ", span: Span { start: Position { line: 1790, column: 31, }, end: Position { line: 1790, column: 38, }, }, }, ), ], span: Span { start: Position { line: 1790, column: 30, }, end: Position { line: 1790, column: 39, }, }, }, ), Identifier( Identifier { id: "cmdlineArgs", span: Span { start: Position { line: 1790, column: 40, }, end: Position { line: 1790, column: 51, }, }, }, ), ], }, ), }, ), ], }, ), }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ExecReload", span: Span { start: Position { line: 1791, column: 9, }, end: Position { line: 1791, column: 19, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 1791, column: 22, }, end: Position { line: 1791, column: 26, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1791, column: 27, }, end: Position { line: 1791, column: 30, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enableReload", span: Span { start: Position { line: 1791, column: 31, }, end: Position { line: 1791, column: 43, }, }, }, ), ], default: None, }, ), String( String_ { parts: [ Raw( PartRaw { content: "+", span: Span { start: Position { line: 1791, column: 45, }, end: Position { line: 1791, column: 55, }, }, }, ), Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "reload", span: Span { start: Position { line: 1791, column: 48, }, end: Position { line: 1791, column: 54, }, }, }, ), }, ), Raw( PartRaw { content: "/bin/reload-prometheus", span: Span { start: Position { line: 1791, column: 45, }, end: Position { line: 1791, column: 77, }, }, }, ), ], span: Span { start: Position { line: 1791, column: 44, }, end: Position { line: 1791, column: 78, }, }, }, ), ], }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "User", span: Span { start: Position { line: 1792, column: 9, }, end: Position { line: 1792, column: 13, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1792, column: 17, }, end: Position { line: 1792, column: 27, }, }, }, ), ], span: Span { start: Position { line: 1792, column: 16, }, end: Position { line: 1792, column: 28, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "Restart", span: Span { start: Position { line: 1793, column: 9, }, end: Position { line: 1793, column: 16, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "always", span: Span { start: Position { line: 1793, column: 20, }, end: Position { line: 1793, column: 26, }, }, }, ), ], span: Span { start: Position { line: 1793, column: 19, }, end: Position { line: 1793, column: 27, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RuntimeDirectory", span: Span { start: Position { line: 1794, column: 9, }, end: Position { line: 1794, column: 25, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "prometheus", span: Span { start: Position { line: 1794, column: 29, }, end: Position { line: 1794, column: 39, }, }, }, ), ], span: Span { start: Position { line: 1794, column: 28, }, end: Position { line: 1794, column: 40, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RuntimeDirectoryMode", span: Span { start: Position { line: 1795, column: 9, }, end: Position { line: 1795, column: 29, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "0700", span: Span { start: Position { line: 1795, column: 33, }, end: Position { line: 1795, column: 37, }, }, }, ), ], span: Span { start: Position { line: 1795, column: 32, }, end: Position { line: 1795, column: 38, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "WorkingDirectory", span: Span { start: Position { line: 1796, column: 9, }, end: Position { line: 1796, column: 25, }, }, }, ), ], to: Identifier( Identifier { id: "workingDir", span: Span { start: Position { line: 1796, column: 28, }, end: Position { line: 1796, column: 38, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "StateDirectory", span: Span { start: Position { line: 1797, column: 9, }, end: Position { line: 1797, column: 23, }, }, }, ), ], to: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1797, column: 26, }, end: Position { line: 1797, column: 29, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "stateDir", span: Span { start: Position { line: 1797, column: 30, }, end: Position { line: 1797, column: 38, }, }, }, ), ], default: None, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "StateDirectoryMode", span: Span { start: Position { line: 1798, column: 9, }, end: Position { line: 1798, column: 27, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "0700", span: Span { start: Position { line: 1798, column: 31, }, end: Position { line: 1798, column: 35, }, }, }, ), ], span: Span { start: Position { line: 1798, column: 30, }, end: Position { line: 1798, column: 36, }, }, }, ), }, ), ], span: Span { start: Position { line: 1787, column: 23, }, end: Position { line: 1799, column: 8, }, }, }, ), }, ), ], span: Span { start: Position { line: 1784, column: 35, }, end: Position { line: 1800, column: 6, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "systemd", span: Span { start: Position { line: 1812, column: 5, }, end: Position { line: 1812, column: 12, }, }, }, ), Raw( PartRaw { content: "services", span: Span { start: Position { line: 1812, column: 13, }, end: Position { line: 1812, column: 21, }, }, }, ), Raw( PartRaw { content: "prometheus-config-reload", span: Span { start: Position { line: 1812, column: 22, }, end: Position { line: 1812, column: 46, }, }, }, ), ], to: FunctionApplication( FunctionApplication { function: Identifier( Identifier { id: "mkIf", span: Span { start: Position { line: 1812, column: 49, }, end: Position { line: 1812, column: 53, }, }, }, ), arguments: [ PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "cfg", span: Span { start: Position { line: 1812, column: 54, }, end: Position { line: 1812, column: 57, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "enableReload", span: Span { start: Position { line: 1812, column: 58, }, end: Position { line: 1812, column: 70, }, }, }, ), ], default: None, }, ), Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "wantedBy", span: Span { start: Position { line: 1813, column: 7, }, end: Position { line: 1813, column: 15, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "prometheus.service", span: Span { start: Position { line: 1813, column: 21, }, end: Position { line: 1813, column: 39, }, }, }, ), ], span: Span { start: Position { line: 1813, column: 20, }, end: Position { line: 1813, column: 40, }, }, }, ), ], span: Span { start: Position { line: 1813, column: 18, }, end: Position { line: 1813, column: 42, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "after", span: Span { start: Position { line: 1814, column: 7, }, end: Position { line: 1814, column: 12, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Raw( PartRaw { content: "prometheus.service", span: Span { start: Position { line: 1814, column: 18, }, end: Position { line: 1814, column: 36, }, }, }, ), ], span: Span { start: Position { line: 1814, column: 17, }, end: Position { line: 1814, column: 37, }, }, }, ), ], span: Span { start: Position { line: 1814, column: 15, }, end: Position { line: 1814, column: 39, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "reloadIfChanged", span: Span { start: Position { line: 1815, column: 7, }, end: Position { line: 1815, column: 22, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1815, column: 25, }, end: Position { line: 1815, column: 29, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "restartTriggers", span: Span { start: Position { line: 1816, column: 7, }, end: Position { line: 1816, column: 22, }, }, }, ), ], to: List( List { elements: [ Identifier( Identifier { id: "prometheusYml", span: Span { start: Position { line: 1816, column: 27, }, end: Position { line: 1816, column: 40, }, }, }, ), ], span: Span { start: Position { line: 1816, column: 25, }, end: Position { line: 1816, column: 42, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "serviceConfig", span: Span { start: Position { line: 1817, column: 7, }, end: Position { line: 1817, column: 20, }, }, }, ), ], to: Map( Map { recursive: false, bindings: [ KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "Type", span: Span { start: Position { line: 1818, column: 9, }, end: Position { line: 1818, column: 13, }, }, }, ), ], to: String( String_ { parts: [ Raw( PartRaw { content: "oneshot", span: Span { start: Position { line: 1818, column: 17, }, end: Position { line: 1818, column: 24, }, }, }, ), ], span: Span { start: Position { line: 1818, column: 16, }, end: Position { line: 1818, column: 25, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "RemainAfterExit", span: Span { start: Position { line: 1819, column: 9, }, end: Position { line: 1819, column: 24, }, }, }, ), ], to: Identifier( Identifier { id: "true", span: Span { start: Position { line: 1819, column: 27, }, end: Position { line: 1819, column: 31, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "TimeoutSec", span: Span { start: Position { line: 1820, column: 9, }, end: Position { line: 1820, column: 19, }, }, }, ), ], to: Integer( Integer { value: "60", span: Span { start: Position { line: 1820, column: 22, }, end: Position { line: 1820, column: 24, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ExecStart", span: Span { start: Position { line: 1821, column: 9, }, end: Position { line: 1821, column: 18, }, }, }, ), ], to: String( String_ { parts: [ Interpolation( PartInterpolation { expression: PropertyAccess( PropertyAccess { expression: Identifier( Identifier { id: "pkgs", span: Span { start: Position { line: 1821, column: 24, }, end: Position { line: 1821, column: 28, }, }, }, ), attribute_path: [ Raw( PartRaw { content: "logger", span: Span { start: Position { line: 1821, column: 29, }, end: Position { line: 1821, column: 35, }, }, }, ), ], default: None, }, ), }, ), Raw( PartRaw { content: "/bin/logger 'prometheus-config-reload will only reload prometheus when reloaded itself.'", span: Span { start: Position { line: 1821, column: 22, }, end: Position { line: 1821, column: 124, }, }, }, ), ], span: Span { start: Position { line: 1821, column: 21, }, end: Position { line: 1821, column: 125, }, }, }, ), }, ), KeyValue( BindingKeyValue { from: [ Raw( PartRaw { content: "ExecReload", span: Span { start: Position { line: 1822, column: 9, }, end: Position { line: 1822, column: 19, }, }, }, ), ], to: List( List { elements: [ String( String_ { parts: [ Interpolation( PartInterpolation { expression: Identifier( Identifier { id: "triggerReload", span: Span { start: Position { line: 1822, column: 27, }, end: Position { line: 1822, column: 40, }, }, }, ), }, ), Raw( PartRaw { content: "/bin/trigger-reload-prometheus", span: Span { start: Position { line: 1822, column: 25, }, end: Position { line: 1822, column: 71, }, }, }, ), ], span: Span { start: Position { line: 1822, column: 24, }, end: Position { line: 1822, column: 72, }, }, }, ), ], span: Span { start: Position { line: 1822, column: 22, }, end: Position { line: 1822, column: 74, }, }, }, ), }, ), ], span: Span { start: Position { line: 1817, column: 23, }, end: Position { line: 1823, column: 8, }, }, }, ), }, ), ], span: Span { start: Position { line: 1812, column: 71, }, end: Position { line: 1824, column: 6, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1755, column: 28, }, end: Position { line: 1825, column: 4, }, }, }, ), ], }, ), }, ), ], span: Span { start: Position { line: 1554, column: 1, }, end: Position { line: 1826, column: 2, }, }, }, ), span: Span { start: Position { line: 5, column: 1, }, end: Position { line: 1826, column: 2, }, }, }, ), span: Span { start: Position { line: 3, column: 1, }, end: Position { line: 1826, column: 2, }, }, }, ), span: Span { start: Position { line: 1, column: 1, }, end: Position { line: 1826, column: 2, }, }, }, )