Function(
Function {
head: Destructured(
FunctionHeadDestructured {
ellipsis: true,
identifier: None,
arguments: [
FunctionHeadDestructuredArgument {
identifier: "config",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "lib",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "pkgs",
default: None,
},
],
},
),
body: LetIn(
LetIn {
bindings: [
Inherit(
BindingInherit {
from: Some(
Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 4,
column: 12,
},
end: Position {
line: 4,
column: 15,
},
},
},
),
),
attributes: [
Raw(
PartRaw {
content: "concatStringsSep",
span: Span {
start: Position {
line: 5,
column: 5,
},
end: Position {
line: 5,
column: 21,
},
},
},
),
Raw(
PartRaw {
content: "flip",
span: Span {
start: Position {
line: 6,
column: 5,
},
end: Position {
line: 6,
column: 9,
},
},
},
),
Raw(
PartRaw {
content: "literalMD",
span: Span {
start: Position {
line: 7,
column: 5,
},
end: Position {
line: 7,
column: 14,
},
},
},
),
Raw(
PartRaw {
content: "literalExpression",
span: Span {
start: Position {
line: 8,
column: 5,
},
end: Position {
line: 8,
column: 22,
},
},
},
),
Raw(
PartRaw {
content: "optionalAttrs",
span: Span {
start: Position {
line: 9,
column: 5,
},
end: Position {
line: 9,
column: 18,
},
},
},
),
Raw(
PartRaw {
content: "optionals",
span: Span {
start: Position {
line: 10,
column: 5,
},
end: Position {
line: 10,
column: 14,
},
},
},
),
Raw(
PartRaw {
content: "recursiveUpdate",
span: Span {
start: Position {
line: 11,
column: 5,
},
end: Position {
line: 11,
column: 20,
},
},
},
),
Raw(
PartRaw {
content: "mdDoc",
span: Span {
start: Position {
line: 12,
column: 5,
},
end: Position {
line: 12,
column: 10,
},
},
},
),
Raw(
PartRaw {
content: "mkEnableOption",
span: Span {
start: Position {
line: 13,
column: 5,
},
end: Position {
line: 13,
column: 19,
},
},
},
),
Raw(
PartRaw {
content: "mkIf",
span: Span {
start: Position {
line: 14,
column: 5,
},
end: Position {
line: 14,
column: 9,
},
},
},
),
Raw(
PartRaw {
content: "mkOption",
span: Span {
start: Position {
line: 15,
column: 5,
},
end: Position {
line: 15,
column: 13,
},
},
},
),
Raw(
PartRaw {
content: "types",
span: Span {
start: Position {
line: 16,
column: 5,
},
end: Position {
line: 16,
column: 10,
},
},
},
),
Raw(
PartRaw {
content: "versionAtLeast",
span: Span {
start: Position {
line: 17,
column: 5,
},
end: Position {
line: 17,
column: 19,
},
},
},
),
],
span: Span {
start: Position {
line: 3,
column: 4,
},
end: Position {
line: 18,
column: 6,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cfg",
span: Span {
start: Position {
line: 20,
column: 3,
},
end: Position {
line: 20,
column: 6,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "config",
span: Span {
start: Position {
line: 20,
column: 9,
},
end: Position {
line: 20,
column: 15,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "services",
span: Span {
start: Position {
line: 20,
column: 16,
},
end: Position {
line: 20,
column: 24,
},
},
},
),
Raw(
PartRaw {
content: "cassandra",
span: Span {
start: Position {
line: 20,
column: 25,
},
end: Position {
line: 20,
column: 34,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "defaultUser",
span: Span {
start: Position {
line: 22,
column: 3,
},
end: Position {
line: 22,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "cassandra",
span: Span {
start: Position {
line: 22,
column: 18,
},
end: Position {
line: 22,
column: 27,
},
},
},
),
],
span: Span {
start: Position {
line: 22,
column: 17,
},
end: Position {
line: 22,
column: 28,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cassandraConfig",
span: Span {
start: Position {
line: 24,
column: 3,
},
end: Position {
line: 24,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "flip",
span: Span {
start: Position {
line: 24,
column: 21,
},
end: Position {
line: 24,
column: 25,
},
},
},
),
arguments: [
Identifier(
Identifier {
id: "recursiveUpdate",
span: Span {
start: Position {
line: 24,
column: 26,
},
end: Position {
line: 24,
column: 41,
},
},
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 24,
column: 42,
},
end: Position {
line: 24,
column: 45,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "extraConfig",
span: Span {
start: Position {
line: 24,
column: 46,
},
end: Position {
line: 24,
column: 57,
},
},
},
),
],
default: None,
},
),
BinaryOperation(
BinaryOperation {
left: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "commitlog_sync",
span: Span {
start: Position {
line: 26,
column: 7,
},
end: Position {
line: 26,
column: 21,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "batch",
span: Span {
start: Position {
line: 26,
column: 25,
},
end: Position {
line: 26,
column: 30,
},
},
},
),
],
span: Span {
start: Position {
line: 26,
column: 24,
},
end: Position {
line: 26,
column: 31,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "commitlog_sync_batch_window_in_ms",
span: Span {
start: Position {
line: 27,
column: 7,
},
end: Position {
line: 27,
column: 40,
},
},
},
),
],
to: Integer(
Integer {
value: "2",
span: Span {
start: Position {
line: 27,
column: 43,
},
end: Position {
line: 27,
column: 44,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "start_native_transport",
span: Span {
start: Position {
line: 28,
column: 7,
},
end: Position {
line: 28,
column: 29,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 28,
column: 32,
},
end: Position {
line: 28,
column: 35,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "allowClients",
span: Span {
start: Position {
line: 28,
column: 36,
},
end: Position {
line: 28,
column: 48,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cluster_name",
span: Span {
start: Position {
line: 29,
column: 7,
},
end: Position {
line: 29,
column: 19,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 29,
column: 22,
},
end: Position {
line: 29,
column: 25,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "clusterName",
span: Span {
start: Position {
line: 29,
column: 26,
},
end: Position {
line: 29,
column: 37,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "partitioner",
span: Span {
start: Position {
line: 30,
column: 7,
},
end: Position {
line: 30,
column: 18,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "org.apache.cassandra.dht.Murmur3Partitioner",
span: Span {
start: Position {
line: 30,
column: 22,
},
end: Position {
line: 30,
column: 65,
},
},
},
),
],
span: Span {
start: Position {
line: 30,
column: 21,
},
end: Position {
line: 30,
column: 66,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "endpoint_snitch",
span: Span {
start: Position {
line: 31,
column: 7,
},
end: Position {
line: 31,
column: 22,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "SimpleSnitch",
span: Span {
start: Position {
line: 31,
column: 26,
},
end: Position {
line: 31,
column: 38,
},
},
},
),
],
span: Span {
start: Position {
line: 31,
column: 25,
},
end: Position {
line: 31,
column: 39,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "data_file_directories",
span: Span {
start: Position {
line: 32,
column: 7,
},
end: Position {
line: 32,
column: 28,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 32,
column: 36,
},
end: Position {
line: 32,
column: 39,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "homeDir",
span: Span {
start: Position {
line: 32,
column: 40,
},
end: Position {
line: 32,
column: 47,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: "/data",
span: Span {
start: Position {
line: 32,
column: 34,
},
end: Position {
line: 32,
column: 53,
},
},
},
),
],
span: Span {
start: Position {
line: 32,
column: 33,
},
end: Position {
line: 32,
column: 54,
},
},
},
),
],
span: Span {
start: Position {
line: 32,
column: 31,
},
end: Position {
line: 32,
column: 56,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "commitlog_directory",
span: Span {
start: Position {
line: 33,
column: 7,
},
end: Position {
line: 33,
column: 26,
},
},
},
),
],
to: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 33,
column: 32,
},
end: Position {
line: 33,
column: 35,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "homeDir",
span: Span {
start: Position {
line: 33,
column: 36,
},
end: Position {
line: 33,
column: 43,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: "/commitlog",
span: Span {
start: Position {
line: 33,
column: 30,
},
end: Position {
line: 33,
column: 54,
},
},
},
),
],
span: Span {
start: Position {
line: 33,
column: 29,
},
end: Position {
line: 33,
column: 55,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "saved_caches_directory",
span: Span {
start: Position {
line: 34,
column: 7,
},
end: Position {
line: 34,
column: 29,
},
},
},
),
],
to: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 34,
column: 35,
},
end: Position {
line: 34,
column: 38,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "homeDir",
span: Span {
start: Position {
line: 34,
column: 39,
},
end: Position {
line: 34,
column: 46,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: "/saved_caches",
span: Span {
start: Position {
line: 34,
column: 33,
},
end: Position {
line: 34,
column: 60,
},
},
},
),
],
span: Span {
start: Position {
line: 34,
column: 32,
},
end: Position {
line: 34,
column: 61,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 25,
column: 5,
},
end: Position {
line: 35,
column: 6,
},
},
},
),
operator: Update,
right: BinaryOperation(
BinaryOperation {
left: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "optionalAttrs",
span: Span {
start: Position {
line: 35,
column: 10,
},
end: Position {
line: 35,
column: 23,
},
},
},
),
arguments: [
BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 35,
column: 25,
},
end: Position {
line: 35,
column: 28,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "seedAddresses",
span: Span {
start: Position {
line: 35,
column: 29,
},
end: Position {
line: 35,
column: 42,
},
},
},
),
],
default: None,
},
),
operator: NotEqualTo,
right: List(
List {
elements: [],
span: Span {
start: Position {
line: 35,
column: 46,
},
end: Position {
line: 35,
column: 49,
},
},
},
),
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "seed_provider",
span: Span {
start: Position {
line: 36,
column: 7,
},
end: Position {
line: 36,
column: 20,
},
},
},
),
],
to: List(
List {
elements: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "class_name",
span: Span {
start: Position {
line: 38,
column: 11,
},
end: Position {
line: 38,
column: 21,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "org.apache.cassandra.locator.SimpleSeedProvider",
span: Span {
start: Position {
line: 38,
column: 25,
},
end: Position {
line: 38,
column: 72,
},
},
},
),
],
span: Span {
start: Position {
line: 38,
column: 24,
},
end: Position {
line: 38,
column: 73,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "parameters",
span: Span {
start: Position {
line: 39,
column: 11,
},
end: Position {
line: 39,
column: 21,
},
},
},
),
],
to: List(
List {
elements: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "seeds",
span: Span {
start: Position {
line: 39,
column: 27,
},
end: Position {
line: 39,
column: 32,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "concatStringsSep",
span: Span {
start: Position {
line: 39,
column: 35,
},
end: Position {
line: 39,
column: 51,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: ",",
span: Span {
start: Position {
line: 39,
column: 53,
},
end: Position {
line: 39,
column: 54,
},
},
},
),
],
span: Span {
start: Position {
line: 39,
column: 52,
},
end: Position {
line: 39,
column: 55,
},
},
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 39,
column: 56,
},
end: Position {
line: 39,
column: 59,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "seedAddresses",
span: Span {
start: Position {
line: 39,
column: 60,
},
end: Position {
line: 39,
column: 73,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 39,
column: 25,
},
end: Position {
line: 39,
column: 76,
},
},
},
),
],
span: Span {
start: Position {
line: 39,
column: 24,
},
end: Position {
line: 39,
column: 77,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 37,
column: 9,
},
end: Position {
line: 40,
column: 10,
},
},
},
),
],
span: Span {
start: Position {
line: 36,
column: 23,
},
end: Position {
line: 41,
column: 8,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 35,
column: 51,
},
end: Position {
line: 42,
column: 6,
},
},
},
),
],
},
),
operator: Update,
right: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "optionalAttrs",
span: Span {
start: Position {
line: 42,
column: 10,
},
end: Position {
line: 42,
column: 23,
},
},
},
),
arguments: [
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "versionAtLeast",
span: Span {
start: Position {
line: 42,
column: 25,
},
end: Position {
line: 42,
column: 39,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 42,
column: 40,
},
end: Position {
line: 42,
column: 43,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "package",
span: Span {
start: Position {
line: 42,
column: 44,
},
end: Position {
line: 42,
column: 51,
},
},
},
),
Raw(
PartRaw {
content: "version",
span: Span {
start: Position {
line: 42,
column: 52,
},
end: Position {
line: 42,
column: 59,
},
},
},
),
],
default: None,
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "3",
span: Span {
start: Position {
line: 42,
column: 61,
},
end: Position {
line: 42,
column: 62,
},
},
},
),
],
span: Span {
start: Position {
line: 42,
column: 60,
},
end: Position {
line: 42,
column: 63,
},
},
},
),
],
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "hints_directory",
span: Span {
start: Position {
line: 43,
column: 7,
},
end: Position {
line: 43,
column: 22,
},
},
},
),
],
to: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 43,
column: 28,
},
end: Position {
line: 43,
column: 31,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "homeDir",
span: Span {
start: Position {
line: 43,
column: 32,
},
end: Position {
line: 43,
column: 39,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: "/hints",
span: Span {
start: Position {
line: 43,
column: 26,
},
end: Position {
line: 43,
column: 46,
},
},
},
),
],
span: Span {
start: Position {
line: 43,
column: 25,
},
end: Position {
line: 43,
column: 47,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 42,
column: 65,
},
end: Position {
line: 44,
column: 6,
},
},
},
),
],
},
),
},
),
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cassandraConfigWithAddresses",
span: Span {
start: Position {
line: 47,
column: 3,
},
end: Position {
line: 47,
column: 31,
},
},
},
),
],
to: BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "cassandraConfig",
span: Span {
start: Position {
line: 47,
column: 34,
},
end: Position {
line: 47,
column: 49,
},
},
},
),
operator: Update,
right: BinaryOperation(
BinaryOperation {
left: IfThenElse(
IfThenElse {
predicate: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 48,
column: 8,
},
end: Position {
line: 48,
column: 11,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listenAddress",
span: Span {
start: Position {
line: 48,
column: 12,
},
end: Position {
line: 48,
column: 25,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 48,
column: 29,
},
end: Position {
line: 48,
column: 33,
},
},
},
),
},
),
then: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "listen_interface",
span: Span {
start: Position {
line: 49,
column: 12,
},
end: Position {
line: 49,
column: 28,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 49,
column: 31,
},
end: Position {
line: 49,
column: 34,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listenInterface",
span: Span {
start: Position {
line: 49,
column: 35,
},
end: Position {
line: 49,
column: 50,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 49,
column: 10,
},
end: Position {
line: 49,
column: 53,
},
},
},
),
else_: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "listen_address",
span: Span {
start: Position {
line: 50,
column: 12,
},
end: Position {
line: 50,
column: 26,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 50,
column: 29,
},
end: Position {
line: 50,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listenAddress",
span: Span {
start: Position {
line: 50,
column: 33,
},
end: Position {
line: 50,
column: 46,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 50,
column: 10,
},
end: Position {
line: 50,
column: 49,
},
},
},
),
span: Span {
start: Position {
line: 48,
column: 5,
},
end: Position {
line: 50,
column: 49,
},
},
},
),
operator: Update,
right: IfThenElse(
IfThenElse {
predicate: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 52,
column: 8,
},
end: Position {
line: 52,
column: 11,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "rpcAddress",
span: Span {
start: Position {
line: 52,
column: 12,
},
end: Position {
line: 52,
column: 22,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 52,
column: 26,
},
end: Position {
line: 52,
column: 30,
},
},
},
),
},
),
then: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "rpc_interface",
span: Span {
start: Position {
line: 53,
column: 12,
},
end: Position {
line: 53,
column: 25,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 53,
column: 28,
},
end: Position {
line: 53,
column: 31,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "rpcInterface",
span: Span {
start: Position {
line: 53,
column: 32,
},
end: Position {
line: 53,
column: 44,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 53,
column: 10,
},
end: Position {
line: 53,
column: 47,
},
},
},
),
else_: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "rpc_address",
span: Span {
start: Position {
line: 54,
column: 12,
},
end: Position {
line: 54,
column: 23,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 54,
column: 26,
},
end: Position {
line: 54,
column: 29,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "rpcAddress",
span: Span {
start: Position {
line: 54,
column: 30,
},
end: Position {
line: 54,
column: 40,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 54,
column: 10,
},
end: Position {
line: 54,
column: 43,
},
},
},
),
span: Span {
start: Position {
line: 52,
column: 5,
},
end: Position {
line: 54,
column: 43,
},
},
},
),
},
),
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cassandraEtc",
span: Span {
start: Position {
line: 57,
column: 3,
},
end: Position {
line: 57,
column: 15,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 57,
column: 18,
},
end: Position {
line: 57,
column: 22,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "stdenv",
span: Span {
start: Position {
line: 57,
column: 23,
},
end: Position {
line: 57,
column: 29,
},
},
},
),
Raw(
PartRaw {
content: "mkDerivation",
span: Span {
start: Position {
line: 57,
column: 30,
},
end: Position {
line: 57,
column: 42,
},
},
},
),
],
default: None,
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "name",
span: Span {
start: Position {
line: 58,
column: 5,
},
end: Position {
line: 58,
column: 9,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "cassandra-etc",
span: Span {
start: Position {
line: 58,
column: 13,
},
end: Position {
line: 58,
column: 26,
},
},
},
),
],
span: Span {
start: Position {
line: 58,
column: 12,
},
end: Position {
line: 58,
column: 27,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cassandraYaml",
span: Span {
start: Position {
line: 60,
column: 5,
},
end: Position {
line: 60,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 60,
column: 21,
},
end: Position {
line: 60,
column: 29,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "toJSON",
span: Span {
start: Position {
line: 60,
column: 30,
},
end: Position {
line: 60,
column: 36,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "cassandraConfigWithAddresses",
span: Span {
start: Position {
line: 60,
column: 37,
},
end: Position {
line: 60,
column: 65,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cassandraEnvPkg",
span: Span {
start: Position {
line: 61,
column: 5,
},
end: Position {
line: 61,
column: 20,
},
},
},
),
],
to: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 61,
column: 26,
},
end: Position {
line: 61,
column: 29,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "package",
span: Span {
start: Position {
line: 61,
column: 30,
},
end: Position {
line: 61,
column: 37,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: "/conf/cassandra-env.sh",
span: Span {
start: Position {
line: 61,
column: 24,
},
end: Position {
line: 61,
column: 60,
},
},
},
),
],
span: Span {
start: Position {
line: 61,
column: 23,
},
end: Position {
line: 61,
column: 61,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cassandraLogbackConfig",
span: Span {
start: Position {
line: 62,
column: 5,
},
end: Position {
line: 62,
column: 27,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 62,
column: 30,
},
end: Position {
line: 62,
column: 34,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "writeText",
span: Span {
start: Position {
line: 62,
column: 35,
},
end: Position {
line: 62,
column: 44,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "logback.xml",
span: Span {
start: Position {
line: 62,
column: 46,
},
end: Position {
line: 62,
column: 57,
},
},
},
),
],
span: Span {
start: Position {
line: 62,
column: 45,
},
end: Position {
line: 62,
column: 58,
},
},
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 62,
column: 59,
},
end: Position {
line: 62,
column: 62,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "logbackConfig",
span: Span {
start: Position {
line: 62,
column: 63,
},
end: Position {
line: 62,
column: 76,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "passAsFile",
span: Span {
start: Position {
line: 64,
column: 5,
},
end: Position {
line: 64,
column: 15,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "extraEnvSh",
span: Span {
start: Position {
line: 64,
column: 21,
},
end: Position {
line: 64,
column: 31,
},
},
},
),
],
span: Span {
start: Position {
line: 64,
column: 20,
},
end: Position {
line: 64,
column: 32,
},
},
},
),
],
span: Span {
start: Position {
line: 64,
column: 18,
},
end: Position {
line: 64,
column: 34,
},
},
},
),
},
),
Inherit(
BindingInherit {
from: Some(
Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 65,
column: 14,
},
end: Position {
line: 65,
column: 17,
},
},
},
),
),
attributes: [
Raw(
PartRaw {
content: "extraEnvSh",
span: Span {
start: Position {
line: 65,
column: 19,
},
end: Position {
line: 65,
column: 29,
},
},
},
),
],
span: Span {
start: Position {
line: 57,
column: 44,
},
end: Position {
line: 65,
column: 30,
},
},
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "buildCommand",
span: Span {
start: Position {
line: 67,
column: 5,
},
end: Position {
line: 67,
column: 17,
},
},
},
),
],
to: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "mkdir -p \"$out\"\n\necho \"$cassandraYaml\" > \"$out/cassandra.yaml\"\nln -s \"$cassandraLogbackConfig\" \"$out/logback.xml\"\n\n( cat \"$cassandraEnvPkg\"\n echo \"# lines from services.cassandra.extraEnvSh: \"\n cat \"$extraEnvShPath\"\n) > \"$out/cassandra-env.sh\"\n\n# Delete default JMX Port, otherwise we can't set it using env variable\nsed -i '/JMX_PORT=\"7199\"/d' \"$out/cassandra-env.sh\"\n\n# Delete default password file\nsed -i '/-Dcom.sun.management.jmxremote.password.file=\\/etc\\/cassandra\\/jmxremote.password/d' \"$out/cassandra-env.sh\"\n",
span: Span {
start: Position {
line: 68,
column: 1,
},
end: Position {
line: 83,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 67,
column: 20,
},
end: Position {
line: 83,
column: 7,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 57,
column: 43,
},
end: Position {
line: 84,
column: 4,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "defaultJmxRolesFile",
span: Span {
start: Position {
line: 86,
column: 3,
},
end: Position {
line: 86,
column: 22,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 87,
column: 5,
},
end: Position {
line: 87,
column: 13,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "foldl'",
span: Span {
start: Position {
line: 87,
column: 14,
},
end: Position {
line: 87,
column: 20,
},
},
},
),
],
default: None,
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "left",
},
),
body: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "right",
},
),
body: BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "left",
span: Span {
start: Position {
line: 88,
column: 21,
},
end: Position {
line: 88,
column: 25,
},
},
},
),
operator: Addition,
right: Identifier(
Identifier {
id: "right",
span: Span {
start: Position {
line: 88,
column: 28,
},
end: Position {
line: 88,
column: 33,
},
},
},
),
},
),
span: Span {
start: Position {
line: 88,
column: 14,
},
end: Position {
line: 88,
column: 33,
},
},
},
),
span: Span {
start: Position {
line: 88,
column: 8,
},
end: Position {
line: 88,
column: 33,
},
},
},
),
String(
String_ {
parts: [],
span: Span {
start: Position {
line: 88,
column: 35,
},
end: Position {
line: 88,
column: 37,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "map",
span: Span {
start: Position {
line: 89,
column: 8,
},
end: Position {
line: 89,
column: 11,
},
},
},
),
arguments: [
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "role",
},
),
body: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "role",
span: Span {
start: Position {
line: 89,
column: 22,
},
end: Position {
line: 89,
column: 26,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "username",
span: Span {
start: Position {
line: 89,
column: 27,
},
end: Position {
line: 89,
column: 35,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: " ",
span: Span {
start: Position {
line: 89,
column: 20,
},
end: Position {
line: 89,
column: 37,
},
},
},
),
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "role",
span: Span {
start: Position {
line: 89,
column: 39,
},
end: Position {
line: 89,
column: 43,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "password",
span: Span {
start: Position {
line: 89,
column: 44,
},
end: Position {
line: 89,
column: 52,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 89,
column: 19,
},
end: Position {
line: 89,
column: 54,
},
},
},
),
span: Span {
start: Position {
line: 89,
column: 13,
},
end: Position {
line: 89,
column: 54,
},
},
},
),
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 89,
column: 56,
},
end: Position {
line: 89,
column: 59,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "jmxRoles",
span: Span {
start: Position {
line: 89,
column: 60,
},
end: Position {
line: 89,
column: 68,
},
},
},
),
],
default: None,
},
),
],
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "fullJvmOptions",
span: Span {
start: Position {
line: 91,
column: 3,
},
end: Position {
line: 91,
column: 17,
},
},
},
),
],
to: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 92,
column: 5,
},
end: Position {
line: 92,
column: 8,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "jvmOpts",
span: Span {
start: Position {
line: 92,
column: 9,
},
end: Position {
line: 92,
column: 16,
},
},
},
),
],
default: None,
},
),
operator: Concatenation,
right: BinaryOperation(
BinaryOperation {
left: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "optionals",
span: Span {
start: Position {
line: 93,
column: 8,
},
end: Position {
line: 93,
column: 17,
},
},
},
),
arguments: [
BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 93,
column: 19,
},
end: Position {
line: 93,
column: 22,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "jmxRoles",
span: Span {
start: Position {
line: 93,
column: 23,
},
end: Position {
line: 93,
column: 31,
},
},
},
),
],
default: None,
},
),
operator: NotEqualTo,
right: List(
List {
elements: [],
span: Span {
start: Position {
line: 93,
column: 35,
},
end: Position {
line: 93,
column: 38,
},
},
},
),
},
),
List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "-Dcom.sun.management.jmxremote.authenticate=true",
span: Span {
start: Position {
line: 94,
column: 8,
},
end: Position {
line: 94,
column: 56,
},
},
},
),
],
span: Span {
start: Position {
line: 94,
column: 7,
},
end: Position {
line: 94,
column: 57,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "-Dcom.sun.management.jmxremote.password.file=",
span: Span {
start: Position {
line: 95,
column: 8,
},
end: Position {
line: 95,
column: 72,
},
},
},
),
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 95,
column: 55,
},
end: Position {
line: 95,
column: 58,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "jmxRolesFile",
span: Span {
start: Position {
line: 95,
column: 59,
},
end: Position {
line: 95,
column: 71,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 95,
column: 7,
},
end: Position {
line: 95,
column: 73,
},
},
},
),
],
span: Span {
start: Position {
line: 93,
column: 40,
},
end: Position {
line: 96,
column: 6,
},
},
},
),
],
},
),
operator: Concatenation,
right: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "optionals",
span: Span {
start: Position {
line: 96,
column: 10,
},
end: Position {
line: 96,
column: 19,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 96,
column: 20,
},
end: Position {
line: 96,
column: 23,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "remoteJmx",
span: Span {
start: Position {
line: 96,
column: 24,
},
end: Position {
line: 96,
column: 33,
},
},
},
),
],
default: None,
},
),
List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "-Djava.rmi.server.hostname=",
span: Span {
start: Position {
line: 97,
column: 8,
},
end: Position {
line: 97,
column: 52,
},
},
},
),
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 97,
column: 37,
},
end: Position {
line: 97,
column: 40,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "rpcAddress",
span: Span {
start: Position {
line: 97,
column: 41,
},
end: Position {
line: 97,
column: 51,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 97,
column: 7,
},
end: Position {
line: 97,
column: 53,
},
},
},
),
],
span: Span {
start: Position {
line: 96,
column: 34,
},
end: Position {
line: 98,
column: 6,
},
},
},
),
],
},
),
},
),
},
),
},
),
],
target: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "options",
span: Span {
start: Position {
line: 102,
column: 3,
},
end: Position {
line: 102,
column: 10,
},
},
},
),
Raw(
PartRaw {
content: "services",
span: Span {
start: Position {
line: 102,
column: 11,
},
end: Position {
line: 102,
column: 19,
},
},
},
),
Raw(
PartRaw {
content: "cassandra",
span: Span {
start: Position {
line: 102,
column: 20,
},
end: Position {
line: 102,
column: 29,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "enable",
span: Span {
start: Position {
line: 104,
column: 5,
},
end: Position {
line: 104,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkEnableOption",
span: Span {
start: Position {
line: 104,
column: 14,
},
end: Position {
line: 104,
column: 28,
},
},
},
),
arguments: [
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 104,
column: 30,
},
end: Position {
line: 104,
column: 33,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "mdDoc",
span: Span {
start: Position {
line: 104,
column: 34,
},
end: Position {
line: 104,
column: 39,
},
},
},
),
],
default: None,
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Apache Cassandra – Scalable and highly available database.\n",
span: Span {
start: Position {
line: 105,
column: 1,
},
end: Position {
line: 106,
column: 5,
},
},
},
),
],
span: Span {
start: Position {
line: 104,
column: 40,
},
end: Position {
line: 106,
column: 7,
},
},
},
),
],
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "clusterName",
span: Span {
start: Position {
line: 108,
column: 5,
},
end: Position {
line: 108,
column: 16,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 108,
column: 19,
},
end: Position {
line: 108,
column: 27,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 109,
column: 7,
},
end: Position {
line: 109,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 109,
column: 14,
},
end: Position {
line: 109,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 109,
column: 20,
},
end: Position {
line: 109,
column: 23,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 110,
column: 7,
},
end: Position {
line: 110,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "Test Cluster",
span: Span {
start: Position {
line: 110,
column: 18,
},
end: Position {
line: 110,
column: 30,
},
},
},
),
],
span: Span {
start: Position {
line: 110,
column: 17,
},
end: Position {
line: 110,
column: 31,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 111,
column: 7,
},
end: Position {
line: 111,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 111,
column: 21,
},
end: Position {
line: 111,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "The name of the cluster.\nThis setting prevents nodes in one logical cluster from joining\nanother. All nodes in a cluster must have the same value.\n",
span: Span {
start: Position {
line: 112,
column: 1,
},
end: Position {
line: 115,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 111,
column: 27,
},
end: Position {
line: 115,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 108,
column: 28,
},
end: Position {
line: 116,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "user",
span: Span {
start: Position {
line: 118,
column: 5,
},
end: Position {
line: 118,
column: 9,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 118,
column: 12,
},
end: Position {
line: 118,
column: 20,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 119,
column: 7,
},
end: Position {
line: 119,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 119,
column: 14,
},
end: Position {
line: 119,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 119,
column: 20,
},
end: Position {
line: 119,
column: 23,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 120,
column: 7,
},
end: Position {
line: 120,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "defaultUser",
span: Span {
start: Position {
line: 120,
column: 17,
},
end: Position {
line: 120,
column: 28,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 121,
column: 7,
},
end: Position {
line: 121,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 121,
column: 21,
},
end: Position {
line: 121,
column: 26,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "Run Apache Cassandra under this user.",
span: Span {
start: Position {
line: 121,
column: 28,
},
end: Position {
line: 121,
column: 65,
},
},
},
),
],
span: Span {
start: Position {
line: 121,
column: 27,
},
end: Position {
line: 121,
column: 66,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 118,
column: 21,
},
end: Position {
line: 122,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "group",
span: Span {
start: Position {
line: 124,
column: 5,
},
end: Position {
line: 124,
column: 10,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 124,
column: 13,
},
end: Position {
line: 124,
column: 21,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 125,
column: 7,
},
end: Position {
line: 125,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 125,
column: 14,
},
end: Position {
line: 125,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 125,
column: 20,
},
end: Position {
line: 125,
column: 23,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 126,
column: 7,
},
end: Position {
line: 126,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "defaultUser",
span: Span {
start: Position {
line: 126,
column: 17,
},
end: Position {
line: 126,
column: 28,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 127,
column: 7,
},
end: Position {
line: 127,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 127,
column: 21,
},
end: Position {
line: 127,
column: 26,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "Run Apache Cassandra under this group.",
span: Span {
start: Position {
line: 127,
column: 28,
},
end: Position {
line: 127,
column: 66,
},
},
},
),
],
span: Span {
start: Position {
line: 127,
column: 27,
},
end: Position {
line: 127,
column: 67,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 124,
column: 22,
},
end: Position {
line: 128,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "homeDir",
span: Span {
start: Position {
line: 130,
column: 5,
},
end: Position {
line: 130,
column: 12,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 130,
column: 15,
},
end: Position {
line: 130,
column: 23,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 131,
column: 7,
},
end: Position {
line: 131,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 131,
column: 14,
},
end: Position {
line: 131,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "path",
span: Span {
start: Position {
line: 131,
column: 20,
},
end: Position {
line: 131,
column: 24,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 132,
column: 7,
},
end: Position {
line: 132,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "/var/lib/cassandra",
span: Span {
start: Position {
line: 132,
column: 18,
},
end: Position {
line: 132,
column: 36,
},
},
},
),
],
span: Span {
start: Position {
line: 132,
column: 17,
},
end: Position {
line: 132,
column: 37,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 133,
column: 7,
},
end: Position {
line: 133,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 133,
column: 21,
},
end: Position {
line: 133,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Home directory for Apache Cassandra.\n",
span: Span {
start: Position {
line: 134,
column: 1,
},
end: Position {
line: 135,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 133,
column: 27,
},
end: Position {
line: 135,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 130,
column: 24,
},
end: Position {
line: 136,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "package",
span: Span {
start: Position {
line: 138,
column: 5,
},
end: Position {
line: 138,
column: 12,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 138,
column: 15,
},
end: Position {
line: 138,
column: 23,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 139,
column: 7,
},
end: Position {
line: 139,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 139,
column: 14,
},
end: Position {
line: 139,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "package",
span: Span {
start: Position {
line: 139,
column: 20,
},
end: Position {
line: 139,
column: 27,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 140,
column: 7,
},
end: Position {
line: 140,
column: 14,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 140,
column: 17,
},
end: Position {
line: 140,
column: 21,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "cassandra",
span: Span {
start: Position {
line: 140,
column: 22,
},
end: Position {
line: 140,
column: 31,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "defaultText",
span: Span {
start: Position {
line: 141,
column: 7,
},
end: Position {
line: 141,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "literalExpression",
span: Span {
start: Position {
line: 141,
column: 21,
},
end: Position {
line: 141,
column: 38,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "pkgs.cassandra",
span: Span {
start: Position {
line: 141,
column: 40,
},
end: Position {
line: 141,
column: 54,
},
},
},
),
],
span: Span {
start: Position {
line: 141,
column: 39,
},
end: Position {
line: 141,
column: 55,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 142,
column: 7,
},
end: Position {
line: 142,
column: 14,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "literalExpression",
span: Span {
start: Position {
line: 142,
column: 17,
},
end: Position {
line: 142,
column: 34,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "pkgs.cassandra_3_11",
span: Span {
start: Position {
line: 142,
column: 36,
},
end: Position {
line: 142,
column: 55,
},
},
},
),
],
span: Span {
start: Position {
line: 142,
column: 35,
},
end: Position {
line: 142,
column: 56,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 143,
column: 7,
},
end: Position {
line: 143,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 143,
column: 21,
},
end: Position {
line: 143,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "The Apache Cassandra package to use.\n",
span: Span {
start: Position {
line: 144,
column: 1,
},
end: Position {
line: 145,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 143,
column: 27,
},
end: Position {
line: 145,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 138,
column: 24,
},
end: Position {
line: 146,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "jvmOpts",
span: Span {
start: Position {
line: 148,
column: 5,
},
end: Position {
line: 148,
column: 12,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 148,
column: 15,
},
end: Position {
line: 148,
column: 23,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 149,
column: 7,
},
end: Position {
line: 149,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 149,
column: 14,
},
end: Position {
line: 149,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listOf",
span: Span {
start: Position {
line: 149,
column: 20,
},
end: Position {
line: 149,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 149,
column: 27,
},
end: Position {
line: 149,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 149,
column: 33,
},
end: Position {
line: 149,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 150,
column: 7,
},
end: Position {
line: 150,
column: 14,
},
},
},
),
],
to: List(
List {
elements: [],
span: Span {
start: Position {
line: 150,
column: 17,
},
end: Position {
line: 150,
column: 20,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 151,
column: 7,
},
end: Position {
line: 151,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 151,
column: 21,
},
end: Position {
line: 151,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Populate the `JVM_OPT` environment variable.\n",
span: Span {
start: Position {
line: 152,
column: 1,
},
end: Position {
line: 153,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 151,
column: 27,
},
end: Position {
line: 153,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 148,
column: 24,
},
end: Position {
line: 154,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "listenAddress",
span: Span {
start: Position {
line: 156,
column: 5,
},
end: Position {
line: 156,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 156,
column: 21,
},
end: Position {
line: 156,
column: 29,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 157,
column: 7,
},
end: Position {
line: 157,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 157,
column: 14,
},
end: Position {
line: 157,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 157,
column: 20,
},
end: Position {
line: 157,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 157,
column: 27,
},
end: Position {
line: 157,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 157,
column: 33,
},
end: Position {
line: 157,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 158,
column: 7,
},
end: Position {
line: 158,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "127.0.0.1",
span: Span {
start: Position {
line: 158,
column: 18,
},
end: Position {
line: 158,
column: 27,
},
},
},
),
],
span: Span {
start: Position {
line: 158,
column: 17,
},
end: Position {
line: 158,
column: 28,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 159,
column: 7,
},
end: Position {
line: 159,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 159,
column: 17,
},
end: Position {
line: 159,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 160,
column: 7,
},
end: Position {
line: 160,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 160,
column: 21,
},
end: Position {
line: 160,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Address or interface to bind to and tell other Cassandra nodes\nto connect to. You _must_ change this if you want multiple\nnodes to be able to communicate!\n\nSet {option}`listenAddress` OR {option}`listenInterface`, not both.\n\nLeaving it blank leaves it up to\n`InetAddress.getLocalHost()`. This will always do the \"Right\nThing\" _if_ the node is properly configured (hostname, name\nresolution, etc), and the Right Thing is to use the address\nassociated with the hostname (it might not be).\n\nSetting {option}`listenAddress` to `0.0.0.0` is always wrong.\n",
span: Span {
start: Position {
line: 161,
column: 1,
},
end: Position {
line: 174,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 160,
column: 27,
},
end: Position {
line: 174,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 156,
column: 30,
},
end: Position {
line: 175,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "listenInterface",
span: Span {
start: Position {
line: 177,
column: 5,
},
end: Position {
line: 177,
column: 20,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 177,
column: 23,
},
end: Position {
line: 177,
column: 31,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 178,
column: 7,
},
end: Position {
line: 178,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 178,
column: 14,
},
end: Position {
line: 178,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 178,
column: 20,
},
end: Position {
line: 178,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 178,
column: 27,
},
end: Position {
line: 178,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 178,
column: 33,
},
end: Position {
line: 178,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 179,
column: 7,
},
end: Position {
line: 179,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 179,
column: 17,
},
end: Position {
line: 179,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 180,
column: 7,
},
end: Position {
line: 180,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "eth1",
span: Span {
start: Position {
line: 180,
column: 18,
},
end: Position {
line: 180,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 180,
column: 17,
},
end: Position {
line: 180,
column: 23,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 181,
column: 7,
},
end: Position {
line: 181,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 181,
column: 21,
},
end: Position {
line: 181,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Set `listenAddress` OR `listenInterface`, not both. Interfaces\nmust correspond to a single address, IP aliasing is not\nsupported.\n",
span: Span {
start: Position {
line: 182,
column: 1,
},
end: Position {
line: 185,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 181,
column: 27,
},
end: Position {
line: 185,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 177,
column: 32,
},
end: Position {
line: 186,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "rpcAddress",
span: Span {
start: Position {
line: 188,
column: 5,
},
end: Position {
line: 188,
column: 15,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 188,
column: 18,
},
end: Position {
line: 188,
column: 26,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 189,
column: 7,
},
end: Position {
line: 189,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 189,
column: 14,
},
end: Position {
line: 189,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 189,
column: 20,
},
end: Position {
line: 189,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 189,
column: 27,
},
end: Position {
line: 189,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 189,
column: 33,
},
end: Position {
line: 189,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 190,
column: 7,
},
end: Position {
line: 190,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "127.0.0.1",
span: Span {
start: Position {
line: 190,
column: 18,
},
end: Position {
line: 190,
column: 27,
},
},
},
),
],
span: Span {
start: Position {
line: 190,
column: 17,
},
end: Position {
line: 190,
column: 28,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 191,
column: 7,
},
end: Position {
line: 191,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 191,
column: 17,
},
end: Position {
line: 191,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 192,
column: 7,
},
end: Position {
line: 192,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 192,
column: 21,
},
end: Position {
line: 192,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "The address or interface to bind the native transport server to.\n\nSet {option}`rpcAddress` OR {option}`rpcInterface`, not both.\n\nLeaving {option}`rpcAddress` blank has the same effect as on\n{option}`listenAddress` (i.e. it will be based on the configured hostname\nof the node).\n\nNote that unlike {option}`listenAddress`, you can specify `\"0.0.0.0\"`, but you\nmust also set `extraConfig.broadcast_rpc_address` to a value other\nthan `\"0.0.0.0\"`.\n\nFor security reasons, you should not expose this port to the\ninternet. Firewall it if needed.\n",
span: Span {
start: Position {
line: 193,
column: 1,
},
end: Position {
line: 207,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 192,
column: 27,
},
end: Position {
line: 207,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 188,
column: 27,
},
end: Position {
line: 208,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "rpcInterface",
span: Span {
start: Position {
line: 210,
column: 5,
},
end: Position {
line: 210,
column: 17,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 210,
column: 20,
},
end: Position {
line: 210,
column: 28,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 211,
column: 7,
},
end: Position {
line: 211,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 211,
column: 14,
},
end: Position {
line: 211,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 211,
column: 20,
},
end: Position {
line: 211,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 211,
column: 27,
},
end: Position {
line: 211,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 211,
column: 33,
},
end: Position {
line: 211,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 212,
column: 7,
},
end: Position {
line: 212,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 212,
column: 17,
},
end: Position {
line: 212,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 213,
column: 7,
},
end: Position {
line: 213,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "eth1",
span: Span {
start: Position {
line: 213,
column: 18,
},
end: Position {
line: 213,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 213,
column: 17,
},
end: Position {
line: 213,
column: 23,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 214,
column: 7,
},
end: Position {
line: 214,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 214,
column: 21,
},
end: Position {
line: 214,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Set {option}`rpcAddress` OR {option}`rpcInterface`, not both. Interfaces must\ncorrespond to a single address, IP aliasing is not supported.\n",
span: Span {
start: Position {
line: 215,
column: 1,
},
end: Position {
line: 217,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 214,
column: 27,
},
end: Position {
line: 217,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 210,
column: 29,
},
end: Position {
line: 218,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "logbackConfig",
span: Span {
start: Position {
line: 220,
column: 5,
},
end: Position {
line: 220,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 220,
column: 21,
},
end: Position {
line: 220,
column: 29,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 221,
column: 7,
},
end: Position {
line: 221,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 221,
column: 14,
},
end: Position {
line: 221,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "lines",
span: Span {
start: Position {
line: 221,
column: 20,
},
end: Position {
line: 221,
column: 25,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 222,
column: 7,
},
end: Position {
line: 222,
column: 14,
},
},
},
),
],
to: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "\n \n \n %-5level %date{HH:mm:ss,SSS} %msg%n\n \n \n\n \n \n \n\n \n\n",
span: Span {
start: Position {
line: 223,
column: 1,
},
end: Position {
line: 236,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 222,
column: 17,
},
end: Position {
line: 236,
column: 9,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 237,
column: 7,
},
end: Position {
line: 237,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 237,
column: 21,
},
end: Position {
line: 237,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "XML logback configuration for cassandra\n",
span: Span {
start: Position {
line: 238,
column: 1,
},
end: Position {
line: 239,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 237,
column: 27,
},
end: Position {
line: 239,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 220,
column: 30,
},
end: Position {
line: 240,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "seedAddresses",
span: Span {
start: Position {
line: 242,
column: 5,
},
end: Position {
line: 242,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 242,
column: 21,
},
end: Position {
line: 242,
column: 29,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 243,
column: 7,
},
end: Position {
line: 243,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 243,
column: 14,
},
end: Position {
line: 243,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listOf",
span: Span {
start: Position {
line: 243,
column: 20,
},
end: Position {
line: 243,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 243,
column: 27,
},
end: Position {
line: 243,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 243,
column: 33,
},
end: Position {
line: 243,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 244,
column: 7,
},
end: Position {
line: 244,
column: 14,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "127.0.0.1",
span: Span {
start: Position {
line: 244,
column: 20,
},
end: Position {
line: 244,
column: 29,
},
},
},
),
],
span: Span {
start: Position {
line: 244,
column: 19,
},
end: Position {
line: 244,
column: 30,
},
},
},
),
],
span: Span {
start: Position {
line: 244,
column: 17,
},
end: Position {
line: 244,
column: 32,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 245,
column: 7,
},
end: Position {
line: 245,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 245,
column: 21,
},
end: Position {
line: 245,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "The addresses of hosts designated as contact points in the cluster. A\njoining node contacts one of the nodes in the seeds list to learn the\ntopology of the ring.\nSet to `[ \"127.0.0.1\" ]` for a single node cluster.\n",
span: Span {
start: Position {
line: 246,
column: 1,
},
end: Position {
line: 250,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 245,
column: 27,
},
end: Position {
line: 250,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 242,
column: 30,
},
end: Position {
line: 251,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "allowClients",
span: Span {
start: Position {
line: 253,
column: 5,
},
end: Position {
line: 253,
column: 17,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 253,
column: 20,
},
end: Position {
line: 253,
column: 28,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 254,
column: 7,
},
end: Position {
line: 254,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 254,
column: 14,
},
end: Position {
line: 254,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "bool",
span: Span {
start: Position {
line: 254,
column: 20,
},
end: Position {
line: 254,
column: 24,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 255,
column: 7,
},
end: Position {
line: 255,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "true",
span: Span {
start: Position {
line: 255,
column: 17,
},
end: Position {
line: 255,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 256,
column: 7,
},
end: Position {
line: 256,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 256,
column: 21,
},
end: Position {
line: 256,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Enables or disables the native transport server (CQL binary protocol).\nThis server uses the same address as the {option}`rpcAddress`,\nbut the port it uses is not `rpc_port` but\n`native_transport_port`. See the official Cassandra\ndocs for more information on these variables and set them using\n{option}`extraConfig`.\n",
span: Span {
start: Position {
line: 257,
column: 1,
},
end: Position {
line: 263,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 256,
column: 27,
},
end: Position {
line: 263,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 253,
column: 29,
},
end: Position {
line: 264,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "extraConfig",
span: Span {
start: Position {
line: 266,
column: 5,
},
end: Position {
line: 266,
column: 16,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 266,
column: 19,
},
end: Position {
line: 266,
column: 27,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 267,
column: 7,
},
end: Position {
line: 267,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 267,
column: 14,
},
end: Position {
line: 267,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "attrs",
span: Span {
start: Position {
line: 267,
column: 20,
},
end: Position {
line: 267,
column: 25,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 268,
column: 7,
},
end: Position {
line: 268,
column: 14,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [],
span: Span {
start: Position {
line: 268,
column: 17,
},
end: Position {
line: 268,
column: 20,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 269,
column: 7,
},
end: Position {
line: 269,
column: 14,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "commitlog_sync_batch_window_in_ms",
span: Span {
start: Position {
line: 271,
column: 11,
},
end: Position {
line: 271,
column: 44,
},
},
},
),
],
to: Integer(
Integer {
value: "3",
span: Span {
start: Position {
line: 271,
column: 47,
},
end: Position {
line: 271,
column: 48,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 270,
column: 9,
},
end: Position {
line: 272,
column: 10,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 273,
column: 7,
},
end: Position {
line: 273,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 273,
column: 21,
},
end: Position {
line: 273,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Extra options to be merged into {file}`cassandra.yaml` as nix attribute set.\n",
span: Span {
start: Position {
line: 274,
column: 1,
},
end: Position {
line: 275,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 273,
column: 27,
},
end: Position {
line: 275,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 266,
column: 28,
},
end: Position {
line: 276,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "extraEnvSh",
span: Span {
start: Position {
line: 278,
column: 5,
},
end: Position {
line: 278,
column: 15,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 278,
column: 18,
},
end: Position {
line: 278,
column: 26,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 279,
column: 7,
},
end: Position {
line: 279,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 279,
column: 14,
},
end: Position {
line: 279,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "lines",
span: Span {
start: Position {
line: 279,
column: 20,
},
end: Position {
line: 279,
column: 25,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 280,
column: 7,
},
end: Position {
line: 280,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [],
span: Span {
start: Position {
line: 280,
column: 17,
},
end: Position {
line: 280,
column: 19,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 281,
column: 7,
},
end: Position {
line: 281,
column: 14,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "literalExpression",
span: Span {
start: Position {
line: 281,
column: 17,
},
end: Position {
line: 281,
column: 34,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "\"CLASSPATH=$CLASSPATH:",
span: Span {
start: Position {
line: 281,
column: 37,
},
end: Position {
line: 281,
column: 59,
},
},
},
),
Raw(
PartRaw {
content: "$",
span: Span {
start: Position {
line: 281,
column: 37,
},
end: Position {
line: 281,
column: 62,
},
},
},
),
Raw(
PartRaw {
content: "{extraJar}\"",
span: Span {
start: Position {
line: 281,
column: 37,
},
end: Position {
line: 281,
column: 73,
},
},
},
),
],
span: Span {
start: Position {
line: 281,
column: 35,
},
end: Position {
line: 281,
column: 75,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 282,
column: 7,
},
end: Position {
line: 282,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 282,
column: 21,
},
end: Position {
line: 282,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Extra shell lines to be appended onto {file}`cassandra-env.sh`.\n",
span: Span {
start: Position {
line: 283,
column: 1,
},
end: Position {
line: 284,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 282,
column: 27,
},
end: Position {
line: 284,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 278,
column: 27,
},
end: Position {
line: 285,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "fullRepairInterval",
span: Span {
start: Position {
line: 287,
column: 5,
},
end: Position {
line: 287,
column: 23,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 287,
column: 26,
},
end: Position {
line: 287,
column: 34,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 288,
column: 7,
},
end: Position {
line: 288,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 288,
column: 14,
},
end: Position {
line: 288,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 288,
column: 20,
},
end: Position {
line: 288,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 288,
column: 27,
},
end: Position {
line: 288,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 288,
column: 33,
},
end: Position {
line: 288,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 289,
column: 7,
},
end: Position {
line: 289,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "3w",
span: Span {
start: Position {
line: 289,
column: 18,
},
end: Position {
line: 289,
column: 20,
},
},
},
),
],
span: Span {
start: Position {
line: 289,
column: 17,
},
end: Position {
line: 289,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 290,
column: 7,
},
end: Position {
line: 290,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 290,
column: 17,
},
end: Position {
line: 290,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 291,
column: 7,
},
end: Position {
line: 291,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 291,
column: 21,
},
end: Position {
line: 291,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Set the interval how often full repairs are run, i.e.\n{command}`nodetool repair --full` is executed. See\n\nfor more information.\n\nSet to `null` to disable full repairs.\n",
span: Span {
start: Position {
line: 292,
column: 1,
},
end: Position {
line: 298,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 291,
column: 27,
},
end: Position {
line: 298,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 287,
column: 35,
},
end: Position {
line: 299,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "fullRepairOptions",
span: Span {
start: Position {
line: 301,
column: 5,
},
end: Position {
line: 301,
column: 22,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 301,
column: 25,
},
end: Position {
line: 301,
column: 33,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 302,
column: 7,
},
end: Position {
line: 302,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 302,
column: 14,
},
end: Position {
line: 302,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listOf",
span: Span {
start: Position {
line: 302,
column: 20,
},
end: Position {
line: 302,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 302,
column: 27,
},
end: Position {
line: 302,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 302,
column: 33,
},
end: Position {
line: 302,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 303,
column: 7,
},
end: Position {
line: 303,
column: 14,
},
},
},
),
],
to: List(
List {
elements: [],
span: Span {
start: Position {
line: 303,
column: 17,
},
end: Position {
line: 303,
column: 20,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 304,
column: 7,
},
end: Position {
line: 304,
column: 14,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--partitioner-range",
span: Span {
start: Position {
line: 304,
column: 20,
},
end: Position {
line: 304,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 304,
column: 19,
},
end: Position {
line: 304,
column: 40,
},
},
},
),
],
span: Span {
start: Position {
line: 304,
column: 17,
},
end: Position {
line: 304,
column: 42,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 305,
column: 7,
},
end: Position {
line: 305,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 305,
column: 21,
},
end: Position {
line: 305,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Options passed through to the full repair command.\n",
span: Span {
start: Position {
line: 306,
column: 1,
},
end: Position {
line: 307,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 305,
column: 27,
},
end: Position {
line: 307,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 301,
column: 34,
},
end: Position {
line: 308,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "incrementalRepairInterval",
span: Span {
start: Position {
line: 310,
column: 5,
},
end: Position {
line: 310,
column: 30,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 310,
column: 33,
},
end: Position {
line: 310,
column: 41,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 311,
column: 7,
},
end: Position {
line: 311,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 311,
column: 14,
},
end: Position {
line: 311,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 311,
column: 20,
},
end: Position {
line: 311,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 311,
column: 27,
},
end: Position {
line: 311,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 311,
column: 33,
},
end: Position {
line: 311,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 312,
column: 7,
},
end: Position {
line: 312,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "3d",
span: Span {
start: Position {
line: 312,
column: 18,
},
end: Position {
line: 312,
column: 20,
},
},
},
),
],
span: Span {
start: Position {
line: 312,
column: 17,
},
end: Position {
line: 312,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 313,
column: 7,
},
end: Position {
line: 313,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 313,
column: 17,
},
end: Position {
line: 313,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 314,
column: 7,
},
end: Position {
line: 314,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 314,
column: 21,
},
end: Position {
line: 314,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Set the interval how often incremental repairs are run, i.e.\n{command}`nodetool repair` is executed. See\n\nfor more information.\n\nSet to `null` to disable incremental repairs.\n",
span: Span {
start: Position {
line: 315,
column: 1,
},
end: Position {
line: 321,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 314,
column: 27,
},
end: Position {
line: 321,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 310,
column: 42,
},
end: Position {
line: 322,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "incrementalRepairOptions",
span: Span {
start: Position {
line: 324,
column: 5,
},
end: Position {
line: 324,
column: 29,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 324,
column: 32,
},
end: Position {
line: 324,
column: 40,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 325,
column: 7,
},
end: Position {
line: 325,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 325,
column: 14,
},
end: Position {
line: 325,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listOf",
span: Span {
start: Position {
line: 325,
column: 20,
},
end: Position {
line: 325,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 325,
column: 27,
},
end: Position {
line: 325,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 325,
column: 33,
},
end: Position {
line: 325,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 326,
column: 7,
},
end: Position {
line: 326,
column: 14,
},
},
},
),
],
to: List(
List {
elements: [],
span: Span {
start: Position {
line: 326,
column: 17,
},
end: Position {
line: 326,
column: 20,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 327,
column: 7,
},
end: Position {
line: 327,
column: 14,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--partitioner-range",
span: Span {
start: Position {
line: 327,
column: 20,
},
end: Position {
line: 327,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 327,
column: 19,
},
end: Position {
line: 327,
column: 40,
},
},
},
),
],
span: Span {
start: Position {
line: 327,
column: 17,
},
end: Position {
line: 327,
column: 42,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 328,
column: 7,
},
end: Position {
line: 328,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 328,
column: 21,
},
end: Position {
line: 328,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Options passed through to the incremental repair command.\n",
span: Span {
start: Position {
line: 329,
column: 1,
},
end: Position {
line: 330,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 328,
column: 27,
},
end: Position {
line: 330,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 324,
column: 41,
},
end: Position {
line: 331,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "maxHeapSize",
span: Span {
start: Position {
line: 333,
column: 5,
},
end: Position {
line: 333,
column: 16,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 333,
column: 19,
},
end: Position {
line: 333,
column: 27,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 334,
column: 7,
},
end: Position {
line: 334,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 334,
column: 14,
},
end: Position {
line: 334,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 334,
column: 20,
},
end: Position {
line: 334,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 334,
column: 27,
},
end: Position {
line: 334,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 334,
column: 33,
},
end: Position {
line: 334,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 335,
column: 7,
},
end: Position {
line: 335,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 335,
column: 17,
},
end: Position {
line: 335,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 336,
column: 7,
},
end: Position {
line: 336,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "4G",
span: Span {
start: Position {
line: 336,
column: 18,
},
end: Position {
line: 336,
column: 20,
},
},
},
),
],
span: Span {
start: Position {
line: 336,
column: 17,
},
end: Position {
line: 336,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 337,
column: 7,
},
end: Position {
line: 337,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 337,
column: 21,
},
end: Position {
line: 337,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Must be left blank or set together with {option}`heapNewSize`.\nIf left blank a sensible value for the available amount of RAM and CPU\ncores is calculated.\n\nOverride to set the amount of memory to allocate to the JVM at\nstart-up. For production use you may wish to adjust this for your\nenvironment. `MAX_HEAP_SIZE` is the total amount of memory dedicated\nto the Java heap. `HEAP_NEWSIZE` refers to the size of the young\ngeneration.\n\nThe main trade-off for the young generation is that the larger it\nis, the longer GC pause times will be. The shorter it is, the more\nexpensive GC will be (usually).\n",
span: Span {
start: Position {
line: 338,
column: 1,
},
end: Position {
line: 351,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 337,
column: 27,
},
end: Position {
line: 351,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 333,
column: 28,
},
end: Position {
line: 352,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "heapNewSize",
span: Span {
start: Position {
line: 354,
column: 5,
},
end: Position {
line: 354,
column: 16,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 354,
column: 19,
},
end: Position {
line: 354,
column: 27,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 355,
column: 7,
},
end: Position {
line: 355,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 355,
column: 14,
},
end: Position {
line: 355,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 355,
column: 20,
},
end: Position {
line: 355,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 355,
column: 27,
},
end: Position {
line: 355,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 355,
column: 33,
},
end: Position {
line: 355,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 356,
column: 7,
},
end: Position {
line: 356,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 356,
column: 17,
},
end: Position {
line: 356,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 357,
column: 7,
},
end: Position {
line: 357,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "800M",
span: Span {
start: Position {
line: 357,
column: 18,
},
end: Position {
line: 357,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 357,
column: 17,
},
end: Position {
line: 357,
column: 23,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 358,
column: 7,
},
end: Position {
line: 358,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 358,
column: 21,
},
end: Position {
line: 358,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Must be left blank or set together with {option}`heapNewSize`.\nIf left blank a sensible value for the available amount of RAM and CPU\ncores is calculated.\n\nOverride to set the amount of memory to allocate to the JVM at\nstart-up. For production use you may wish to adjust this for your\nenvironment. `HEAP_NEWSIZE` refers to the size of the young\ngeneration.\n\nThe main trade-off for the young generation is that the larger it\nis, the longer GC pause times will be. The shorter it is, the more\nexpensive GC will be (usually).\n\nThe example `HEAP_NEWSIZE` assumes a modern 8-core+ machine for decent pause\ntimes. If in doubt, and if you do not particularly want to tweak, go with\n100 MB per physical CPU core.\n",
span: Span {
start: Position {
line: 359,
column: 1,
},
end: Position {
line: 375,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 358,
column: 27,
},
end: Position {
line: 375,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 354,
column: 28,
},
end: Position {
line: 376,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "mallocArenaMax",
span: Span {
start: Position {
line: 378,
column: 5,
},
end: Position {
line: 378,
column: 19,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 378,
column: 22,
},
end: Position {
line: 378,
column: 30,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 379,
column: 7,
},
end: Position {
line: 379,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 379,
column: 14,
},
end: Position {
line: 379,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 379,
column: 20,
},
end: Position {
line: 379,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 379,
column: 27,
},
end: Position {
line: 379,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "int",
span: Span {
start: Position {
line: 379,
column: 33,
},
end: Position {
line: 379,
column: 36,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 380,
column: 7,
},
end: Position {
line: 380,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 380,
column: 17,
},
end: Position {
line: 380,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 381,
column: 7,
},
end: Position {
line: 381,
column: 14,
},
},
},
),
],
to: Integer(
Integer {
value: "4",
span: Span {
start: Position {
line: 381,
column: 17,
},
end: Position {
line: 381,
column: 18,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 382,
column: 7,
},
end: Position {
line: 382,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 382,
column: 21,
},
end: Position {
line: 382,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Set this to control the amount of arenas per-thread in glibc.\n",
span: Span {
start: Position {
line: 383,
column: 1,
},
end: Position {
line: 384,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 382,
column: 27,
},
end: Position {
line: 384,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 378,
column: 31,
},
end: Position {
line: 385,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "remoteJmx",
span: Span {
start: Position {
line: 387,
column: 5,
},
end: Position {
line: 387,
column: 14,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 387,
column: 17,
},
end: Position {
line: 387,
column: 25,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 388,
column: 7,
},
end: Position {
line: 388,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 388,
column: 14,
},
end: Position {
line: 388,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "bool",
span: Span {
start: Position {
line: 388,
column: 20,
},
end: Position {
line: 388,
column: 24,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 389,
column: 7,
},
end: Position {
line: 389,
column: 14,
},
},
},
),
],
to: Identifier(
Identifier {
id: "false",
span: Span {
start: Position {
line: 389,
column: 17,
},
end: Position {
line: 389,
column: 22,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 390,
column: 7,
},
end: Position {
line: 390,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 390,
column: 21,
},
end: Position {
line: 390,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Cassandra ships with JMX accessible *only* from localhost.\nTo enable remote JMX connections set to true.\n\nBe sure to also enable authentication and/or TLS.\nSee: \n",
span: Span {
start: Position {
line: 391,
column: 1,
},
end: Position {
line: 396,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 390,
column: 27,
},
end: Position {
line: 396,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 387,
column: 26,
},
end: Position {
line: 397,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "jmxPort",
span: Span {
start: Position {
line: 399,
column: 5,
},
end: Position {
line: 399,
column: 12,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 399,
column: 15,
},
end: Position {
line: 399,
column: 23,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 400,
column: 7,
},
end: Position {
line: 400,
column: 11,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 400,
column: 14,
},
end: Position {
line: 400,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "int",
span: Span {
start: Position {
line: 400,
column: 20,
},
end: Position {
line: 400,
column: 23,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 401,
column: 7,
},
end: Position {
line: 401,
column: 14,
},
},
},
),
],
to: Integer(
Integer {
value: "7199",
span: Span {
start: Position {
line: 401,
column: 17,
},
end: Position {
line: 401,
column: 21,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 402,
column: 7,
},
end: Position {
line: 402,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 402,
column: 21,
},
end: Position {
line: 402,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Specifies the default port over which Cassandra will be available for\nJMX connections.\nFor security reasons, you should not expose this port to the internet.\nFirewall it if needed.\n",
span: Span {
start: Position {
line: 403,
column: 1,
},
end: Position {
line: 407,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 402,
column: 27,
},
end: Position {
line: 407,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 399,
column: 24,
},
end: Position {
line: 408,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "jmxRoles",
span: Span {
start: Position {
line: 410,
column: 5,
},
end: Position {
line: 410,
column: 13,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 410,
column: 16,
},
end: Position {
line: 410,
column: 24,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 411,
column: 7,
},
end: Position {
line: 411,
column: 14,
},
},
},
),
],
to: List(
List {
elements: [],
span: Span {
start: Position {
line: 411,
column: 17,
},
end: Position {
line: 411,
column: 20,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 412,
column: 7,
},
end: Position {
line: 412,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mdDoc",
span: Span {
start: Position {
line: 412,
column: 21,
},
end: Position {
line: 412,
column: 26,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Roles that are allowed to access the JMX (e.g. {command}`nodetool`)\nBEWARE: The passwords will be stored world readable in the nix store.\n It's recommended to use your own protected file using\n {option}`jmxRolesFile`\n\nDoesn't work in versions older than 3.11 because they don't like that\nit's world readable.\n",
span: Span {
start: Position {
line: 413,
column: 1,
},
end: Position {
line: 420,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 412,
column: 27,
},
end: Position {
line: 420,
column: 9,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 421,
column: 7,
},
end: Position {
line: 421,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 421,
column: 14,
},
end: Position {
line: 421,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listOf",
span: Span {
start: Position {
line: 421,
column: 20,
},
end: Position {
line: 421,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 421,
column: 28,
},
end: Position {
line: 421,
column: 33,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "submodule",
span: Span {
start: Position {
line: 421,
column: 34,
},
end: Position {
line: 421,
column: 43,
},
},
},
),
],
default: None,
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "options",
span: Span {
start: Position {
line: 422,
column: 9,
},
end: Position {
line: 422,
column: 16,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "username",
span: Span {
start: Position {
line: 423,
column: 11,
},
end: Position {
line: 423,
column: 19,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 423,
column: 22,
},
end: Position {
line: 423,
column: 30,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 424,
column: 13,
},
end: Position {
line: 424,
column: 17,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 424,
column: 20,
},
end: Position {
line: 424,
column: 25,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 424,
column: 26,
},
end: Position {
line: 424,
column: 29,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 425,
column: 13,
},
end: Position {
line: 425,
column: 24,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 425,
column: 27,
},
end: Position {
line: 425,
column: 30,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "mdDoc",
span: Span {
start: Position {
line: 425,
column: 31,
},
end: Position {
line: 425,
column: 36,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "Username for JMX",
span: Span {
start: Position {
line: 425,
column: 38,
},
end: Position {
line: 425,
column: 54,
},
},
},
),
],
span: Span {
start: Position {
line: 425,
column: 37,
},
end: Position {
line: 425,
column: 55,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 423,
column: 31,
},
end: Position {
line: 426,
column: 12,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "password",
span: Span {
start: Position {
line: 427,
column: 11,
},
end: Position {
line: 427,
column: 19,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 427,
column: 22,
},
end: Position {
line: 427,
column: 30,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 428,
column: 13,
},
end: Position {
line: 428,
column: 17,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 428,
column: 20,
},
end: Position {
line: 428,
column: 25,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "str",
span: Span {
start: Position {
line: 428,
column: 26,
},
end: Position {
line: 428,
column: 29,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 429,
column: 13,
},
end: Position {
line: 429,
column: 24,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 429,
column: 27,
},
end: Position {
line: 429,
column: 30,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "mdDoc",
span: Span {
start: Position {
line: 429,
column: 31,
},
end: Position {
line: 429,
column: 36,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "Password for JMX",
span: Span {
start: Position {
line: 429,
column: 38,
},
end: Position {
line: 429,
column: 54,
},
},
},
),
],
span: Span {
start: Position {
line: 429,
column: 37,
},
end: Position {
line: 429,
column: 55,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 427,
column: 31,
},
end: Position {
line: 430,
column: 12,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 422,
column: 19,
},
end: Position {
line: 431,
column: 10,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 421,
column: 44,
},
end: Position {
line: 432,
column: 8,
},
},
},
),
],
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 410,
column: 25,
},
end: Position {
line: 433,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "jmxRolesFile",
span: Span {
start: Position {
line: 435,
column: 5,
},
end: Position {
line: 435,
column: 17,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkOption",
span: Span {
start: Position {
line: 435,
column: 20,
},
end: Position {
line: 435,
column: 28,
},
},
},
),
arguments: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "type",
span: Span {
start: Position {
line: 436,
column: 7,
},
end: Position {
line: 436,
column: 11,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 436,
column: 14,
},
end: Position {
line: 436,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "nullOr",
span: Span {
start: Position {
line: 436,
column: 20,
},
end: Position {
line: 436,
column: 26,
},
},
},
),
],
default: None,
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "types",
span: Span {
start: Position {
line: 436,
column: 27,
},
end: Position {
line: 436,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "path",
span: Span {
start: Position {
line: 436,
column: 33,
},
end: Position {
line: 436,
column: 37,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "default",
span: Span {
start: Position {
line: 437,
column: 7,
},
end: Position {
line: 437,
column: 14,
},
},
},
),
],
to: IfThenElse(
IfThenElse {
predicate: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "versionAtLeast",
span: Span {
start: Position {
line: 438,
column: 12,
},
end: Position {
line: 438,
column: 26,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 438,
column: 27,
},
end: Position {
line: 438,
column: 30,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "package",
span: Span {
start: Position {
line: 438,
column: 31,
},
end: Position {
line: 438,
column: 38,
},
},
},
),
Raw(
PartRaw {
content: "version",
span: Span {
start: Position {
line: 438,
column: 39,
},
end: Position {
line: 438,
column: 46,
},
},
},
),
],
default: None,
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "3.11",
span: Span {
start: Position {
line: 438,
column: 48,
},
end: Position {
line: 438,
column: 52,
},
},
},
),
],
span: Span {
start: Position {
line: 438,
column: 47,
},
end: Position {
line: 438,
column: 53,
},
},
},
),
],
},
),
then: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 439,
column: 14,
},
end: Position {
line: 439,
column: 18,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "writeText",
span: Span {
start: Position {
line: 439,
column: 19,
},
end: Position {
line: 439,
column: 28,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "jmx-roles-file",
span: Span {
start: Position {
line: 439,
column: 30,
},
end: Position {
line: 439,
column: 44,
},
},
},
),
],
span: Span {
start: Position {
line: 439,
column: 29,
},
end: Position {
line: 439,
column: 45,
},
},
},
),
Identifier(
Identifier {
id: "defaultJmxRolesFile",
span: Span {
start: Position {
line: 439,
column: 46,
},
end: Position {
line: 439,
column: 65,
},
},
},
),
],
},
),
else_: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 440,
column: 14,
},
end: Position {
line: 440,
column: 18,
},
},
},
),
span: Span {
start: Position {
line: 438,
column: 9,
},
end: Position {
line: 440,
column: 18,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "defaultText",
span: Span {
start: Position {
line: 441,
column: 7,
},
end: Position {
line: 441,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "literalMD",
span: Span {
start: Position {
line: 441,
column: 21,
},
end: Position {
line: 441,
column: 30,
},
},
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "generated configuration file if version is at least 3.11, otherwise `null`",
span: Span {
start: Position {
line: 441,
column: 33,
},
end: Position {
line: 441,
column: 107,
},
},
},
),
],
span: Span {
start: Position {
line: 441,
column: 31,
},
end: Position {
line: 441,
column: 109,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "example",
span: Span {
start: Position {
line: 442,
column: 7,
},
end: Position {
line: 442,
column: 14,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "/var/lib/cassandra/jmx.password",
span: Span {
start: Position {
line: 442,
column: 18,
},
end: Position {
line: 442,
column: 49,
},
},
},
),
],
span: Span {
start: Position {
line: 442,
column: 17,
},
end: Position {
line: 442,
column: 50,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 443,
column: 7,
},
end: Position {
line: 443,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 443,
column: 21,
},
end: Position {
line: 443,
column: 24,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "mdDoc",
span: Span {
start: Position {
line: 443,
column: 25,
},
end: Position {
line: 443,
column: 30,
},
},
},
),
],
default: None,
},
),
arguments: [
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "Specify your own jmx roles file.\n\nMake sure the permissions forbid \"others\" from reading the file if\nyou're using Cassandra below version 3.11.\n",
span: Span {
start: Position {
line: 444,
column: 1,
},
end: Position {
line: 448,
column: 7,
},
},
},
),
],
span: Span {
start: Position {
line: 443,
column: 31,
},
end: Position {
line: 448,
column: 9,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 435,
column: 29,
},
end: Position {
line: 449,
column: 6,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 102,
column: 32,
},
end: Position {
line: 450,
column: 4,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "config",
span: Span {
start: Position {
line: 452,
column: 3,
},
end: Position {
line: 452,
column: 9,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkIf",
span: Span {
start: Position {
line: 452,
column: 12,
},
end: Position {
line: 452,
column: 16,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 452,
column: 17,
},
end: Position {
line: 452,
column: 20,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "enable",
span: Span {
start: Position {
line: 452,
column: 21,
},
end: Position {
line: 452,
column: 27,
},
},
},
),
],
default: None,
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "assertions",
span: Span {
start: Position {
line: 453,
column: 5,
},
end: Position {
line: 453,
column: 15,
},
},
},
),
],
to: List(
List {
elements: [
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "assertion",
span: Span {
start: Position {
line: 455,
column: 9,
},
end: Position {
line: 455,
column: 18,
},
},
},
),
],
to: BinaryOperation(
BinaryOperation {
left: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 455,
column: 22,
},
end: Position {
line: 455,
column: 25,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listenAddress",
span: Span {
start: Position {
line: 455,
column: 26,
},
end: Position {
line: 455,
column: 39,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 455,
column: 43,
},
end: Position {
line: 455,
column: 47,
},
},
},
),
},
),
operator: NotEqualTo,
right: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 455,
column: 53,
},
end: Position {
line: 455,
column: 56,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "listenInterface",
span: Span {
start: Position {
line: 455,
column: 57,
},
end: Position {
line: 455,
column: 72,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 455,
column: 76,
},
end: Position {
line: 455,
column: 80,
},
},
},
),
},
),
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "message",
span: Span {
start: Position {
line: 456,
column: 9,
},
end: Position {
line: 456,
column: 16,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "You have to set either listenAddress or listenInterface",
span: Span {
start: Position {
line: 456,
column: 20,
},
end: Position {
line: 456,
column: 75,
},
},
},
),
],
span: Span {
start: Position {
line: 456,
column: 19,
},
end: Position {
line: 456,
column: 76,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 454,
column: 7,
},
end: Position {
line: 457,
column: 8,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "assertion",
span: Span {
start: Position {
line: 459,
column: 9,
},
end: Position {
line: 459,
column: 18,
},
},
},
),
],
to: BinaryOperation(
BinaryOperation {
left: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 459,
column: 22,
},
end: Position {
line: 459,
column: 25,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "rpcAddress",
span: Span {
start: Position {
line: 459,
column: 26,
},
end: Position {
line: 459,
column: 36,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 459,
column: 40,
},
end: Position {
line: 459,
column: 44,
},
},
},
),
},
),
operator: NotEqualTo,
right: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 459,
column: 50,
},
end: Position {
line: 459,
column: 53,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "rpcInterface",
span: Span {
start: Position {
line: 459,
column: 54,
},
end: Position {
line: 459,
column: 66,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 459,
column: 70,
},
end: Position {
line: 459,
column: 74,
},
},
},
),
},
),
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "message",
span: Span {
start: Position {
line: 460,
column: 9,
},
end: Position {
line: 460,
column: 16,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "You have to set either rpcAddress or rpcInterface",
span: Span {
start: Position {
line: 460,
column: 20,
},
end: Position {
line: 460,
column: 69,
},
},
},
),
],
span: Span {
start: Position {
line: 460,
column: 19,
},
end: Position {
line: 460,
column: 70,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 458,
column: 7,
},
end: Position {
line: 461,
column: 8,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "assertion",
span: Span {
start: Position {
line: 463,
column: 9,
},
end: Position {
line: 463,
column: 18,
},
},
},
),
],
to: BinaryOperation(
BinaryOperation {
left: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 463,
column: 22,
},
end: Position {
line: 463,
column: 25,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "maxHeapSize",
span: Span {
start: Position {
line: 463,
column: 26,
},
end: Position {
line: 463,
column: 37,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 463,
column: 41,
},
end: Position {
line: 463,
column: 45,
},
},
},
),
},
),
operator: EqualTo,
right: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 463,
column: 51,
},
end: Position {
line: 463,
column: 54,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "heapNewSize",
span: Span {
start: Position {
line: 463,
column: 55,
},
end: Position {
line: 463,
column: 66,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 463,
column: 70,
},
end: Position {
line: 463,
column: 74,
},
},
},
),
},
),
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "message",
span: Span {
start: Position {
line: 464,
column: 9,
},
end: Position {
line: 464,
column: 16,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "If you set either of maxHeapSize or heapNewSize you have to set both",
span: Span {
start: Position {
line: 464,
column: 20,
},
end: Position {
line: 464,
column: 88,
},
},
},
),
],
span: Span {
start: Position {
line: 464,
column: 19,
},
end: Position {
line: 464,
column: 89,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 462,
column: 7,
},
end: Position {
line: 465,
column: 8,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "assertion",
span: Span {
start: Position {
line: 467,
column: 9,
},
end: Position {
line: 467,
column: 18,
},
},
},
),
],
to: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 467,
column: 21,
},
end: Position {
line: 467,
column: 24,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "remoteJmx",
span: Span {
start: Position {
line: 467,
column: 25,
},
end: Position {
line: 467,
column: 34,
},
},
},
),
],
default: None,
},
),
operator: Implication,
right: BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 467,
column: 38,
},
end: Position {
line: 467,
column: 41,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "jmxRolesFile",
span: Span {
start: Position {
line: 467,
column: 42,
},
end: Position {
line: 467,
column: 54,
},
},
},
),
],
default: None,
},
),
operator: NotEqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 467,
column: 58,
},
end: Position {
line: 467,
column: 62,
},
},
},
),
},
),
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "message",
span: Span {
start: Position {
line: 468,
column: 9,
},
end: Position {
line: 468,
column: 16,
},
},
},
),
],
to: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "If you want JMX available remotely you need to set a password using\njmxRoles or jmxRolesFile if\nusing Cassandra older than v3.11.\n",
span: Span {
start: Position {
line: 469,
column: 1,
},
end: Position {
line: 472,
column: 9,
},
},
},
),
],
span: Span {
start: Position {
line: 468,
column: 19,
},
end: Position {
line: 472,
column: 11,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 466,
column: 7,
},
end: Position {
line: 473,
column: 8,
},
},
},
),
],
span: Span {
start: Position {
line: 453,
column: 18,
},
end: Position {
line: 474,
column: 6,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "users",
span: Span {
start: Position {
line: 475,
column: 5,
},
end: Position {
line: 475,
column: 10,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkIf",
span: Span {
start: Position {
line: 475,
column: 13,
},
end: Position {
line: 475,
column: 17,
},
},
},
),
arguments: [
BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 475,
column: 19,
},
end: Position {
line: 475,
column: 22,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "user",
span: Span {
start: Position {
line: 475,
column: 23,
},
end: Position {
line: 475,
column: 27,
},
},
},
),
],
default: None,
},
),
operator: EqualTo,
right: Identifier(
Identifier {
id: "defaultUser",
span: Span {
start: Position {
line: 475,
column: 31,
},
end: Position {
line: 475,
column: 42,
},
},
},
),
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "users",
span: Span {
start: Position {
line: 476,
column: 7,
},
end: Position {
line: 476,
column: 12,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "defaultUser",
span: Span {
start: Position {
line: 476,
column: 15,
},
end: Position {
line: 476,
column: 26,
},
},
},
),
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "group",
span: Span {
start: Position {
line: 477,
column: 9,
},
end: Position {
line: 477,
column: 14,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 477,
column: 17,
},
end: Position {
line: 477,
column: 20,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "group",
span: Span {
start: Position {
line: 477,
column: 21,
},
end: Position {
line: 477,
column: 26,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "home",
span: Span {
start: Position {
line: 478,
column: 9,
},
end: Position {
line: 478,
column: 13,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 478,
column: 16,
},
end: Position {
line: 478,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "homeDir",
span: Span {
start: Position {
line: 478,
column: 20,
},
end: Position {
line: 478,
column: 27,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "createHome",
span: Span {
start: Position {
line: 479,
column: 9,
},
end: Position {
line: 479,
column: 19,
},
},
},
),
],
to: Identifier(
Identifier {
id: "true",
span: Span {
start: Position {
line: 479,
column: 22,
},
end: Position {
line: 479,
column: 26,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "uid",
span: Span {
start: Position {
line: 480,
column: 9,
},
end: Position {
line: 480,
column: 12,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "config",
span: Span {
start: Position {
line: 480,
column: 15,
},
end: Position {
line: 480,
column: 21,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "ids",
span: Span {
start: Position {
line: 480,
column: 22,
},
end: Position {
line: 480,
column: 25,
},
},
},
),
Raw(
PartRaw {
content: "uids",
span: Span {
start: Position {
line: 480,
column: 26,
},
end: Position {
line: 480,
column: 30,
},
},
},
),
Raw(
PartRaw {
content: "cassandra",
span: Span {
start: Position {
line: 480,
column: 31,
},
end: Position {
line: 480,
column: 40,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 481,
column: 9,
},
end: Position {
line: 481,
column: 20,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "Cassandra service user",
span: Span {
start: Position {
line: 481,
column: 24,
},
end: Position {
line: 481,
column: 46,
},
},
},
),
],
span: Span {
start: Position {
line: 481,
column: 23,
},
end: Position {
line: 481,
column: 47,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 476,
column: 30,
},
end: Position {
line: 482,
column: 8,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "groups",
span: Span {
start: Position {
line: 483,
column: 7,
},
end: Position {
line: 483,
column: 13,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "defaultUser",
span: Span {
start: Position {
line: 483,
column: 16,
},
end: Position {
line: 483,
column: 27,
},
},
},
),
},
),
Raw(
PartRaw {
content: "gid",
span: Span {
start: Position {
line: 483,
column: 29,
},
end: Position {
line: 483,
column: 32,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "config",
span: Span {
start: Position {
line: 483,
column: 35,
},
end: Position {
line: 483,
column: 41,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "ids",
span: Span {
start: Position {
line: 483,
column: 42,
},
end: Position {
line: 483,
column: 45,
},
},
},
),
Raw(
PartRaw {
content: "gids",
span: Span {
start: Position {
line: 483,
column: 46,
},
end: Position {
line: 483,
column: 50,
},
},
},
),
Raw(
PartRaw {
content: "cassandra",
span: Span {
start: Position {
line: 483,
column: 51,
},
end: Position {
line: 483,
column: 60,
},
},
},
),
],
default: None,
},
),
},
),
],
span: Span {
start: Position {
line: 475,
column: 44,
},
end: Position {
line: 484,
column: 6,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "systemd",
span: Span {
start: Position {
line: 486,
column: 5,
},
end: Position {
line: 486,
column: 12,
},
},
},
),
Raw(
PartRaw {
content: "services",
span: Span {
start: Position {
line: 486,
column: 13,
},
end: Position {
line: 486,
column: 21,
},
},
},
),
Raw(
PartRaw {
content: "cassandra",
span: Span {
start: Position {
line: 486,
column: 22,
},
end: Position {
line: 486,
column: 31,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 487,
column: 7,
},
end: Position {
line: 487,
column: 18,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "Apache Cassandra service",
span: Span {
start: Position {
line: 487,
column: 22,
},
end: Position {
line: 487,
column: 46,
},
},
},
),
],
span: Span {
start: Position {
line: 487,
column: 21,
},
end: Position {
line: 487,
column: 47,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "after",
span: Span {
start: Position {
line: 488,
column: 7,
},
end: Position {
line: 488,
column: 12,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "network.target",
span: Span {
start: Position {
line: 488,
column: 18,
},
end: Position {
line: 488,
column: 32,
},
},
},
),
],
span: Span {
start: Position {
line: 488,
column: 17,
},
end: Position {
line: 488,
column: 33,
},
},
},
),
],
span: Span {
start: Position {
line: 488,
column: 15,
},
end: Position {
line: 488,
column: 35,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "environment",
span: Span {
start: Position {
line: 489,
column: 7,
},
end: Position {
line: 489,
column: 18,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "CASSANDRA_CONF",
span: Span {
start: Position {
line: 490,
column: 9,
},
end: Position {
line: 490,
column: 23,
},
},
},
),
],
to: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "cassandraEtc",
span: Span {
start: Position {
line: 490,
column: 29,
},
end: Position {
line: 490,
column: 41,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 490,
column: 26,
},
end: Position {
line: 490,
column: 43,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "JVM_OPTS",
span: Span {
start: Position {
line: 491,
column: 9,
},
end: Position {
line: 491,
column: 17,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 491,
column: 20,
},
end: Position {
line: 491,
column: 28,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "concatStringsSep",
span: Span {
start: Position {
line: 491,
column: 29,
},
end: Position {
line: 491,
column: 45,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: " ",
span: Span {
start: Position {
line: 491,
column: 47,
},
end: Position {
line: 491,
column: 48,
},
},
},
),
],
span: Span {
start: Position {
line: 491,
column: 46,
},
end: Position {
line: 491,
column: 49,
},
},
},
),
Identifier(
Identifier {
id: "fullJvmOptions",
span: Span {
start: Position {
line: 491,
column: 50,
},
end: Position {
line: 491,
column: 64,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "MAX_HEAP_SIZE",
span: Span {
start: Position {
line: 492,
column: 9,
},
end: Position {
line: 492,
column: 22,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 492,
column: 25,
},
end: Position {
line: 492,
column: 33,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 492,
column: 34,
},
end: Position {
line: 492,
column: 37,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "maxHeapSize",
span: Span {
start: Position {
line: 492,
column: 38,
},
end: Position {
line: 492,
column: 49,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "HEAP_NEWSIZE",
span: Span {
start: Position {
line: 493,
column: 9,
},
end: Position {
line: 493,
column: 21,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 493,
column: 24,
},
end: Position {
line: 493,
column: 32,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 493,
column: 33,
},
end: Position {
line: 493,
column: 36,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "heapNewSize",
span: Span {
start: Position {
line: 493,
column: 37,
},
end: Position {
line: 493,
column: 48,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "MALLOC_ARENA_MAX",
span: Span {
start: Position {
line: 494,
column: 9,
},
end: Position {
line: 494,
column: 25,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 494,
column: 28,
},
end: Position {
line: 494,
column: 36,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 494,
column: 37,
},
end: Position {
line: 494,
column: 40,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "mallocArenaMax",
span: Span {
start: Position {
line: 494,
column: 41,
},
end: Position {
line: 494,
column: 55,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "LOCAL_JMX",
span: Span {
start: Position {
line: 495,
column: 9,
},
end: Position {
line: 495,
column: 18,
},
},
},
),
],
to: IfThenElse(
IfThenElse {
predicate: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 495,
column: 24,
},
end: Position {
line: 495,
column: 27,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "remoteJmx",
span: Span {
start: Position {
line: 495,
column: 28,
},
end: Position {
line: 495,
column: 37,
},
},
},
),
],
default: None,
},
),
then: String(
String_ {
parts: [
Raw(
PartRaw {
content: "no",
span: Span {
start: Position {
line: 495,
column: 44,
},
end: Position {
line: 495,
column: 46,
},
},
},
),
],
span: Span {
start: Position {
line: 495,
column: 43,
},
end: Position {
line: 495,
column: 47,
},
},
},
),
else_: String(
String_ {
parts: [
Raw(
PartRaw {
content: "yes",
span: Span {
start: Position {
line: 495,
column: 54,
},
end: Position {
line: 495,
column: 57,
},
},
},
),
],
span: Span {
start: Position {
line: 495,
column: 53,
},
end: Position {
line: 495,
column: 58,
},
},
},
),
span: Span {
start: Position {
line: 495,
column: 21,
},
end: Position {
line: 495,
column: 58,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "JMX_PORT",
span: Span {
start: Position {
line: 496,
column: 9,
},
end: Position {
line: 496,
column: 17,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "toString",
span: Span {
start: Position {
line: 496,
column: 20,
},
end: Position {
line: 496,
column: 28,
},
},
},
),
arguments: [
PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 496,
column: 29,
},
end: Position {
line: 496,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "jmxPort",
span: Span {
start: Position {
line: 496,
column: 33,
},
end: Position {
line: 496,
column: 40,
},
},
},
),
],
default: None,
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 489,
column: 21,
},
end: Position {
line: 497,
column: 8,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "wantedBy",
span: Span {
start: Position {
line: 498,
column: 7,
},
end: Position {
line: 498,
column: 15,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "multi-user.target",
span: Span {
start: Position {
line: 498,
column: 21,
},
end: Position {
line: 498,
column: 38,
},
},
},
),
],
span: Span {
start: Position {
line: 498,
column: 20,
},
end: Position {
line: 498,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 498,
column: 18,
},
end: Position {
line: 498,
column: 41,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "serviceConfig",
span: Span {
start: Position {
line: 499,
column: 7,
},
end: Position {
line: 499,
column: 20,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "User",
span: Span {
start: Position {
line: 500,
column: 9,
},
end: Position {
line: 500,
column: 13,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 500,
column: 16,
},
end: Position {
line: 500,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "user",
span: Span {
start: Position {
line: 500,
column: 20,
},
end: Position {
line: 500,
column: 24,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "Group",
span: Span {
start: Position {
line: 501,
column: 9,
},
end: Position {
line: 501,
column: 14,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 501,
column: 17,
},
end: Position {
line: 501,
column: 20,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "group",
span: Span {
start: Position {
line: 501,
column: 21,
},
end: Position {
line: 501,
column: 26,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "ExecStart",
span: Span {
start: Position {
line: 502,
column: 9,
},
end: Position {
line: 502,
column: 18,
},
},
},
),
],
to: String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 502,
column: 24,
},
end: Position {
line: 502,
column: 27,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "package",
span: Span {
start: Position {
line: 502,
column: 28,
},
end: Position {
line: 502,
column: 35,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: "/bin/cassandra -f",
span: Span {
start: Position {
line: 502,
column: 22,
},
end: Position {
line: 502,
column: 53,
},
},
},
),
],
span: Span {
start: Position {
line: 502,
column: 21,
},
end: Position {
line: 502,
column: 54,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "SuccessExitStatus",
span: Span {
start: Position {
line: 503,
column: 9,
},
end: Position {
line: 503,
column: 26,
},
},
},
),
],
to: Integer(
Integer {
value: "143",
span: Span {
start: Position {
line: 503,
column: 29,
},
end: Position {
line: 503,
column: 32,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 499,
column: 23,
},
end: Position {
line: 504,
column: 8,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 486,
column: 34,
},
end: Position {
line: 505,
column: 6,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "systemd",
span: Span {
start: Position {
line: 507,
column: 5,
},
end: Position {
line: 507,
column: 12,
},
},
},
),
Raw(
PartRaw {
content: "services",
span: Span {
start: Position {
line: 507,
column: 13,
},
end: Position {
line: 507,
column: 21,
},
},
},
),
Raw(
PartRaw {
content: "cassandra-full-repair",
span: Span {
start: Position {
line: 507,
column: 22,
},
end: Position {
line: 507,
column: 43,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 508,
column: 7,
},
end: Position {
line: 508,
column: 18,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "Perform a full repair on this Cassandra node",
span: Span {
start: Position {
line: 508,
column: 22,
},
end: Position {
line: 508,
column: 66,
},
},
},
),
],
span: Span {
start: Position {
line: 508,
column: 21,
},
end: Position {
line: 508,
column: 67,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "after",
span: Span {
start: Position {
line: 509,
column: 7,
},
end: Position {
line: 509,
column: 12,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "cassandra.service",
span: Span {
start: Position {
line: 509,
column: 18,
},
end: Position {
line: 509,
column: 35,
},
},
},
),
],
span: Span {
start: Position {
line: 509,
column: 17,
},
end: Position {
line: 509,
column: 36,
},
},
},
),
],
span: Span {
start: Position {
line: 509,
column: 15,
},
end: Position {
line: 509,
column: 38,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "requires",
span: Span {
start: Position {
line: 510,
column: 7,
},
end: Position {
line: 510,
column: 15,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "cassandra.service",
span: Span {
start: Position {
line: 510,
column: 21,
},
end: Position {
line: 510,
column: 38,
},
},
},
),
],
span: Span {
start: Position {
line: 510,
column: 20,
},
end: Position {
line: 510,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 510,
column: 18,
},
end: Position {
line: 510,
column: 41,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "serviceConfig",
span: Span {
start: Position {
line: 511,
column: 7,
},
end: Position {
line: 511,
column: 20,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "User",
span: Span {
start: Position {
line: 512,
column: 9,
},
end: Position {
line: 512,
column: 13,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 512,
column: 16,
},
end: Position {
line: 512,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "user",
span: Span {
start: Position {
line: 512,
column: 20,
},
end: Position {
line: 512,
column: 24,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "Group",
span: Span {
start: Position {
line: 513,
column: 9,
},
end: Position {
line: 513,
column: 14,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 513,
column: 17,
},
end: Position {
line: 513,
column: 20,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "group",
span: Span {
start: Position {
line: 513,
column: 21,
},
end: Position {
line: 513,
column: 26,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "ExecStart",
span: Span {
start: Position {
line: 514,
column: 9,
},
end: Position {
line: 514,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "concatStringsSep",
span: Span {
start: Position {
line: 515,
column: 11,
},
end: Position {
line: 515,
column: 27,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: " ",
span: Span {
start: Position {
line: 515,
column: 29,
},
end: Position {
line: 515,
column: 30,
},
},
},
),
],
span: Span {
start: Position {
line: 515,
column: 28,
},
end: Position {
line: 515,
column: 31,
},
},
},
),
BinaryOperation(
BinaryOperation {
left: List(
List {
elements: [
String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 517,
column: 18,
},
end: Position {
line: 517,
column: 21,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "package",
span: Span {
start: Position {
line: 517,
column: 22,
},
end: Position {
line: 517,
column: 29,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: "/bin/nodetool",
span: Span {
start: Position {
line: 517,
column: 16,
},
end: Position {
line: 517,
column: 43,
},
},
},
),
],
span: Span {
start: Position {
line: 517,
column: 15,
},
end: Position {
line: 517,
column: 44,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "repair",
span: Span {
start: Position {
line: 518,
column: 16,
},
end: Position {
line: 518,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 518,
column: 15,
},
end: Position {
line: 518,
column: 23,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "--full",
span: Span {
start: Position {
line: 519,
column: 16,
},
end: Position {
line: 519,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 519,
column: 15,
},
end: Position {
line: 519,
column: 23,
},
},
},
),
],
span: Span {
start: Position {
line: 516,
column: 14,
},
end: Position {
line: 520,
column: 14,
},
},
},
),
operator: Concatenation,
right: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 520,
column: 18,
},
end: Position {
line: 520,
column: 21,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "fullRepairOptions",
span: Span {
start: Position {
line: 520,
column: 22,
},
end: Position {
line: 520,
column: 39,
},
},
},
),
],
default: None,
},
),
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 511,
column: 23,
},
end: Position {
line: 521,
column: 8,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 507,
column: 46,
},
end: Position {
line: 522,
column: 6,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "systemd",
span: Span {
start: Position {
line: 524,
column: 5,
},
end: Position {
line: 524,
column: 12,
},
},
},
),
Raw(
PartRaw {
content: "timers",
span: Span {
start: Position {
line: 524,
column: 13,
},
end: Position {
line: 524,
column: 19,
},
},
},
),
Raw(
PartRaw {
content: "cassandra-full-repair",
span: Span {
start: Position {
line: 524,
column: 20,
},
end: Position {
line: 524,
column: 41,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkIf",
span: Span {
start: Position {
line: 525,
column: 7,
},
end: Position {
line: 525,
column: 11,
},
},
},
),
arguments: [
BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 525,
column: 13,
},
end: Position {
line: 525,
column: 16,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "fullRepairInterval",
span: Span {
start: Position {
line: 525,
column: 17,
},
end: Position {
line: 525,
column: 35,
},
},
},
),
],
default: None,
},
),
operator: NotEqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 525,
column: 39,
},
end: Position {
line: 525,
column: 43,
},
},
},
),
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 526,
column: 9,
},
end: Position {
line: 526,
column: 20,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "Schedule full repairs on Cassandra",
span: Span {
start: Position {
line: 526,
column: 24,
},
end: Position {
line: 526,
column: 58,
},
},
},
),
],
span: Span {
start: Position {
line: 526,
column: 23,
},
end: Position {
line: 526,
column: 59,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "wantedBy",
span: Span {
start: Position {
line: 527,
column: 9,
},
end: Position {
line: 527,
column: 17,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "timers.target",
span: Span {
start: Position {
line: 527,
column: 23,
},
end: Position {
line: 527,
column: 36,
},
},
},
),
],
span: Span {
start: Position {
line: 527,
column: 22,
},
end: Position {
line: 527,
column: 37,
},
},
},
),
],
span: Span {
start: Position {
line: 527,
column: 20,
},
end: Position {
line: 527,
column: 39,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "timerConfig",
span: Span {
start: Position {
line: 528,
column: 9,
},
end: Position {
line: 528,
column: 20,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "OnBootSec",
span: Span {
start: Position {
line: 529,
column: 11,
},
end: Position {
line: 529,
column: 20,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 529,
column: 23,
},
end: Position {
line: 529,
column: 26,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "fullRepairInterval",
span: Span {
start: Position {
line: 529,
column: 27,
},
end: Position {
line: 529,
column: 45,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "OnUnitActiveSec",
span: Span {
start: Position {
line: 530,
column: 11,
},
end: Position {
line: 530,
column: 26,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 530,
column: 29,
},
end: Position {
line: 530,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "fullRepairInterval",
span: Span {
start: Position {
line: 530,
column: 33,
},
end: Position {
line: 530,
column: 51,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "Persistent",
span: Span {
start: Position {
line: 531,
column: 11,
},
end: Position {
line: 531,
column: 21,
},
},
},
),
],
to: Identifier(
Identifier {
id: "true",
span: Span {
start: Position {
line: 531,
column: 24,
},
end: Position {
line: 531,
column: 28,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 528,
column: 23,
},
end: Position {
line: 532,
column: 10,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 525,
column: 45,
},
end: Position {
line: 533,
column: 8,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "systemd",
span: Span {
start: Position {
line: 535,
column: 5,
},
end: Position {
line: 535,
column: 12,
},
},
},
),
Raw(
PartRaw {
content: "services",
span: Span {
start: Position {
line: 535,
column: 13,
},
end: Position {
line: 535,
column: 21,
},
},
},
),
Raw(
PartRaw {
content: "cassandra-incremental-repair",
span: Span {
start: Position {
line: 535,
column: 22,
},
end: Position {
line: 535,
column: 50,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 536,
column: 7,
},
end: Position {
line: 536,
column: 18,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "Perform an incremental repair on this cassandra node.",
span: Span {
start: Position {
line: 536,
column: 22,
},
end: Position {
line: 536,
column: 75,
},
},
},
),
],
span: Span {
start: Position {
line: 536,
column: 21,
},
end: Position {
line: 536,
column: 76,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "after",
span: Span {
start: Position {
line: 537,
column: 7,
},
end: Position {
line: 537,
column: 12,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "cassandra.service",
span: Span {
start: Position {
line: 537,
column: 18,
},
end: Position {
line: 537,
column: 35,
},
},
},
),
],
span: Span {
start: Position {
line: 537,
column: 17,
},
end: Position {
line: 537,
column: 36,
},
},
},
),
],
span: Span {
start: Position {
line: 537,
column: 15,
},
end: Position {
line: 537,
column: 38,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "requires",
span: Span {
start: Position {
line: 538,
column: 7,
},
end: Position {
line: 538,
column: 15,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "cassandra.service",
span: Span {
start: Position {
line: 538,
column: 21,
},
end: Position {
line: 538,
column: 38,
},
},
},
),
],
span: Span {
start: Position {
line: 538,
column: 20,
},
end: Position {
line: 538,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 538,
column: 18,
},
end: Position {
line: 538,
column: 41,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "serviceConfig",
span: Span {
start: Position {
line: 539,
column: 7,
},
end: Position {
line: 539,
column: 20,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "User",
span: Span {
start: Position {
line: 540,
column: 9,
},
end: Position {
line: 540,
column: 13,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 540,
column: 16,
},
end: Position {
line: 540,
column: 19,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "user",
span: Span {
start: Position {
line: 540,
column: 20,
},
end: Position {
line: 540,
column: 24,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "Group",
span: Span {
start: Position {
line: 541,
column: 9,
},
end: Position {
line: 541,
column: 14,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 541,
column: 17,
},
end: Position {
line: 541,
column: 20,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "group",
span: Span {
start: Position {
line: 541,
column: 21,
},
end: Position {
line: 541,
column: 26,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "ExecStart",
span: Span {
start: Position {
line: 542,
column: 9,
},
end: Position {
line: 542,
column: 18,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "concatStringsSep",
span: Span {
start: Position {
line: 543,
column: 11,
},
end: Position {
line: 543,
column: 27,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: " ",
span: Span {
start: Position {
line: 543,
column: 29,
},
end: Position {
line: 543,
column: 30,
},
},
},
),
],
span: Span {
start: Position {
line: 543,
column: 28,
},
end: Position {
line: 543,
column: 31,
},
},
},
),
BinaryOperation(
BinaryOperation {
left: List(
List {
elements: [
String(
String_ {
parts: [
Interpolation(
PartInterpolation {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 545,
column: 18,
},
end: Position {
line: 545,
column: 21,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "package",
span: Span {
start: Position {
line: 545,
column: 22,
},
end: Position {
line: 545,
column: 29,
},
},
},
),
],
default: None,
},
),
},
),
Raw(
PartRaw {
content: "/bin/nodetool",
span: Span {
start: Position {
line: 545,
column: 16,
},
end: Position {
line: 545,
column: 43,
},
},
},
),
],
span: Span {
start: Position {
line: 545,
column: 15,
},
end: Position {
line: 545,
column: 44,
},
},
},
),
String(
String_ {
parts: [
Raw(
PartRaw {
content: "repair",
span: Span {
start: Position {
line: 546,
column: 16,
},
end: Position {
line: 546,
column: 22,
},
},
},
),
],
span: Span {
start: Position {
line: 546,
column: 15,
},
end: Position {
line: 546,
column: 23,
},
},
},
),
],
span: Span {
start: Position {
line: 544,
column: 14,
},
end: Position {
line: 547,
column: 14,
},
},
},
),
operator: Concatenation,
right: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 547,
column: 18,
},
end: Position {
line: 547,
column: 21,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "incrementalRepairOptions",
span: Span {
start: Position {
line: 547,
column: 22,
},
end: Position {
line: 547,
column: 46,
},
},
},
),
],
default: None,
},
),
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 539,
column: 23,
},
end: Position {
line: 548,
column: 8,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 535,
column: 53,
},
end: Position {
line: 549,
column: 6,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "systemd",
span: Span {
start: Position {
line: 551,
column: 5,
},
end: Position {
line: 551,
column: 12,
},
},
},
),
Raw(
PartRaw {
content: "timers",
span: Span {
start: Position {
line: 551,
column: 13,
},
end: Position {
line: 551,
column: 19,
},
},
},
),
Raw(
PartRaw {
content: "cassandra-incremental-repair",
span: Span {
start: Position {
line: 551,
column: 20,
},
end: Position {
line: 551,
column: 48,
},
},
},
),
],
to: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "mkIf",
span: Span {
start: Position {
line: 552,
column: 7,
},
end: Position {
line: 552,
column: 11,
},
},
},
),
arguments: [
BinaryOperation(
BinaryOperation {
left: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 552,
column: 13,
},
end: Position {
line: 552,
column: 16,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "incrementalRepairInterval",
span: Span {
start: Position {
line: 552,
column: 17,
},
end: Position {
line: 552,
column: 42,
},
},
},
),
],
default: None,
},
),
operator: NotEqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 552,
column: 46,
},
end: Position {
line: 552,
column: 50,
},
},
},
),
},
),
Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "description",
span: Span {
start: Position {
line: 553,
column: 9,
},
end: Position {
line: 553,
column: 20,
},
},
},
),
],
to: String(
String_ {
parts: [
Raw(
PartRaw {
content: "Schedule incremental repairs on Cassandra",
span: Span {
start: Position {
line: 553,
column: 24,
},
end: Position {
line: 553,
column: 65,
},
},
},
),
],
span: Span {
start: Position {
line: 553,
column: 23,
},
end: Position {
line: 553,
column: 66,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "wantedBy",
span: Span {
start: Position {
line: 554,
column: 9,
},
end: Position {
line: 554,
column: 17,
},
},
},
),
],
to: List(
List {
elements: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "timers.target",
span: Span {
start: Position {
line: 554,
column: 23,
},
end: Position {
line: 554,
column: 36,
},
},
},
),
],
span: Span {
start: Position {
line: 554,
column: 22,
},
end: Position {
line: 554,
column: 37,
},
},
},
),
],
span: Span {
start: Position {
line: 554,
column: 20,
},
end: Position {
line: 554,
column: 39,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "timerConfig",
span: Span {
start: Position {
line: 555,
column: 9,
},
end: Position {
line: 555,
column: 20,
},
},
},
),
],
to: Map(
Map {
recursive: false,
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "OnBootSec",
span: Span {
start: Position {
line: 556,
column: 11,
},
end: Position {
line: 556,
column: 20,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 556,
column: 23,
},
end: Position {
line: 556,
column: 26,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "incrementalRepairInterval",
span: Span {
start: Position {
line: 556,
column: 27,
},
end: Position {
line: 556,
column: 52,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "OnUnitActiveSec",
span: Span {
start: Position {
line: 557,
column: 11,
},
end: Position {
line: 557,
column: 26,
},
},
},
),
],
to: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 557,
column: 29,
},
end: Position {
line: 557,
column: 32,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "incrementalRepairInterval",
span: Span {
start: Position {
line: 557,
column: 33,
},
end: Position {
line: 557,
column: 58,
},
},
},
),
],
default: None,
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "Persistent",
span: Span {
start: Position {
line: 558,
column: 11,
},
end: Position {
line: 558,
column: 21,
},
},
},
),
],
to: Identifier(
Identifier {
id: "true",
span: Span {
start: Position {
line: 558,
column: 24,
},
end: Position {
line: 558,
column: 28,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 555,
column: 23,
},
end: Position {
line: 559,
column: 10,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 552,
column: 52,
},
end: Position {
line: 560,
column: 8,
},
},
},
),
],
},
),
},
),
],
span: Span {
start: Position {
line: 452,
column: 28,
},
end: Position {
line: 561,
column: 4,
},
},
},
),
],
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "meta",
span: Span {
start: Position {
line: 563,
column: 3,
},
end: Position {
line: 563,
column: 7,
},
},
},
),
Raw(
PartRaw {
content: "maintainers",
span: Span {
start: Position {
line: 563,
column: 8,
},
end: Position {
line: 563,
column: 19,
},
},
},
),
],
to: With(
With {
expression: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 563,
column: 27,
},
end: Position {
line: 563,
column: 30,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "maintainers",
span: Span {
start: Position {
line: 563,
column: 31,
},
end: Position {
line: 563,
column: 42,
},
},
},
),
],
default: None,
},
),
target: List(
List {
elements: [
Identifier(
Identifier {
id: "roberth",
span: Span {
start: Position {
line: 563,
column: 46,
},
end: Position {
line: 563,
column: 53,
},
},
},
),
],
span: Span {
start: Position {
line: 563,
column: 44,
},
end: Position {
line: 563,
column: 55,
},
},
},
),
span: Span {
start: Position {
line: 563,
column: 22,
},
end: Position {
line: 563,
column: 55,
},
},
},
),
},
),
],
span: Span {
start: Position {
line: 101,
column: 1,
},
end: Position {
line: 564,
column: 2,
},
},
},
),
span: Span {
start: Position {
line: 3,
column: 1,
},
end: Position {
line: 564,
column: 2,
},
},
},
),
span: Span {
start: Position {
line: 1,
column: 1,
},
end: Position {
line: 564,
column: 2,
},
},
},
)