nominal-api 0.550.1__py3-none-any.whl → 0.551.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nominal-api might be problematic. Click here for more details.

nominal_api/_impl.py CHANGED
@@ -22143,7 +22143,7 @@ class scout_checks_api_CheckJobSpec(ConjureBeanType):
22143
22143
  @builtins.classmethod
22144
22144
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
22145
22145
  return {
22146
- 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_datareview_api_DataReviewRid),
22146
+ 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_rids_api_DataReviewRid),
22147
22147
  'check_rid': ConjureFieldDefinition('checkRid', scout_rids_api_CheckRid),
22148
22148
  'run_rid': ConjureFieldDefinition('runRid', OptionalTypeWrapper[scout_run_api_RunRid]),
22149
22149
  'check_implementation_index': ConjureFieldDefinition('checkImplementationIndex', OptionalTypeWrapper[int]),
@@ -23548,7 +23548,7 @@ class scout_checks_api_DeprecatedCheckJobSpec(ConjureBeanType):
23548
23548
  @builtins.classmethod
23549
23549
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
23550
23550
  return {
23551
- 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_datareview_api_DataReviewRid),
23551
+ 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_rids_api_DataReviewRid),
23552
23552
  'check_rid': ConjureFieldDefinition('checkRid', scout_rids_api_CheckRid),
23553
23553
  'check_evaluation_rid': ConjureFieldDefinition('checkEvaluationRid', scout_datareview_api_AutomaticCheckEvaluationRid),
23554
23554
  'check_condition': ConjureFieldDefinition('checkCondition', scout_checks_api_CheckCondition),
@@ -27686,7 +27686,7 @@ class scout_compute_api_AssetChannel(ConjureBeanType):
27686
27686
  """
27687
27687
  Tags to filter the channel by, in addition to tag filters defined for a given Asset data scope. Throws on
27688
27688
  collisions with tag keys already defined for the given Asset data scope. Only returns points that match
27689
- both sets of tag filters.
27689
+ both sets of tag filters. For log series, include arg filters here in addition to tag filters.
27690
27690
  """
27691
27691
  return self._additional_tags
27692
27692
 
@@ -30069,7 +30069,7 @@ class scout_compute_api_DataSourceChannel(ConjureBeanType):
30069
30069
  def tags(self) -> Dict[str, "scout_compute_api_StringConstant"]:
30070
30070
  """
30071
30071
  Tags to filter the channel by. Only returns points from the channel with matching tag values for the
30072
- provided tag keys.
30072
+ provided tag keys. For log series, include arg filters here in addition to tag filters.
30073
30073
  """
30074
30074
  return self._tags
30075
30075
 
@@ -32153,30 +32153,92 @@ scout_compute_api_LatLongPoint.__qualname__ = "LatLongPoint"
32153
32153
  scout_compute_api_LatLongPoint.__module__ = "nominal_api.scout_compute_api"
32154
32154
 
32155
32155
 
32156
- class scout_compute_api_LogArgFilterOperator(ConjureBeanType):
32156
+ class scout_compute_api_LogFilterOperator(ConjureUnionType):
32157
+ _regex_filter: Optional["scout_compute_api_LogRegexFilterOperator"] = None
32158
+
32159
+ @builtins.classmethod
32160
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
32161
+ return {
32162
+ 'regex_filter': ConjureFieldDefinition('regexFilter', scout_compute_api_LogRegexFilterOperator)
32163
+ }
32164
+
32165
+ def __init__(
32166
+ self,
32167
+ regex_filter: Optional["scout_compute_api_LogRegexFilterOperator"] = None,
32168
+ type_of_union: Optional[str] = None
32169
+ ) -> None:
32170
+ if type_of_union is None:
32171
+ if (regex_filter is not None) != 1:
32172
+ raise ValueError('a union must contain a single member')
32173
+
32174
+ if regex_filter is not None:
32175
+ self._regex_filter = regex_filter
32176
+ self._type = 'regexFilter'
32177
+
32178
+ elif type_of_union == 'regexFilter':
32179
+ if regex_filter is None:
32180
+ raise ValueError('a union value must not be None')
32181
+ self._regex_filter = regex_filter
32182
+ self._type = 'regexFilter'
32183
+
32184
+ @builtins.property
32185
+ def regex_filter(self) -> Optional["scout_compute_api_LogRegexFilterOperator"]:
32186
+ return self._regex_filter
32187
+
32188
+ def accept(self, visitor) -> Any:
32189
+ if not isinstance(visitor, scout_compute_api_LogFilterOperatorVisitor):
32190
+ raise ValueError('{} is not an instance of scout_compute_api_LogFilterOperatorVisitor'.format(visitor.__class__.__name__))
32191
+ if self._type == 'regexFilter' and self.regex_filter is not None:
32192
+ return visitor._regex_filter(self.regex_filter)
32193
+
32194
+
32195
+ scout_compute_api_LogFilterOperator.__name__ = "LogFilterOperator"
32196
+ scout_compute_api_LogFilterOperator.__qualname__ = "LogFilterOperator"
32197
+ scout_compute_api_LogFilterOperator.__module__ = "nominal_api.scout_compute_api"
32198
+
32199
+
32200
+ class scout_compute_api_LogFilterOperatorVisitor:
32201
+
32202
+ @abstractmethod
32203
+ def _regex_filter(self, regex_filter: "scout_compute_api_LogRegexFilterOperator") -> Any:
32204
+ pass
32205
+
32206
+
32207
+ scout_compute_api_LogFilterOperatorVisitor.__name__ = "LogFilterOperatorVisitor"
32208
+ scout_compute_api_LogFilterOperatorVisitor.__qualname__ = "LogFilterOperatorVisitor"
32209
+ scout_compute_api_LogFilterOperatorVisitor.__module__ = "nominal_api.scout_compute_api"
32210
+
32211
+
32212
+ class scout_compute_api_LogFilterSeries(ConjureBeanType):
32157
32213
  """
32158
- Outputs a new series where the log message in each point contains all of the given arg key-value pairs.
32214
+ Outputs only values of the log plot that satisfy the filter.
32159
32215
  """
32160
32216
 
32161
32217
  @builtins.classmethod
32162
32218
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
32163
32219
  return {
32164
- 'args': ConjureFieldDefinition('args', Dict[str, scout_compute_api_StringConstant])
32220
+ 'input': ConjureFieldDefinition('input', scout_compute_api_LogSeries),
32221
+ 'operator': ConjureFieldDefinition('operator', scout_compute_api_LogFilterOperator)
32165
32222
  }
32166
32223
 
32167
- __slots__: List[str] = ['_args']
32224
+ __slots__: List[str] = ['_input', '_operator']
32168
32225
 
32169
- def __init__(self, args: Dict[str, "scout_compute_api_StringConstant"]) -> None:
32170
- self._args = args
32226
+ def __init__(self, input: "scout_compute_api_LogSeries", operator: "scout_compute_api_LogFilterOperator") -> None:
32227
+ self._input = input
32228
+ self._operator = operator
32171
32229
 
32172
32230
  @builtins.property
32173
- def args(self) -> Dict[str, "scout_compute_api_StringConstant"]:
32174
- return self._args
32231
+ def input(self) -> "scout_compute_api_LogSeries":
32232
+ return self._input
32233
+
32234
+ @builtins.property
32235
+ def operator(self) -> "scout_compute_api_LogFilterOperator":
32236
+ return self._operator
32175
32237
 
32176
32238
 
32177
- scout_compute_api_LogArgFilterOperator.__name__ = "LogArgFilterOperator"
32178
- scout_compute_api_LogArgFilterOperator.__qualname__ = "LogArgFilterOperator"
32179
- scout_compute_api_LogArgFilterOperator.__module__ = "nominal_api.scout_compute_api"
32239
+ scout_compute_api_LogFilterSeries.__name__ = "LogFilterSeries"
32240
+ scout_compute_api_LogFilterSeries.__qualname__ = "LogFilterSeries"
32241
+ scout_compute_api_LogFilterSeries.__module__ = "nominal_api.scout_compute_api"
32180
32242
 
32181
32243
 
32182
32244
  class scout_compute_api_LogPlot(ConjureBeanType):
@@ -32239,23 +32301,23 @@ scout_compute_api_LogPoint.__module__ = "nominal_api.scout_compute_api"
32239
32301
 
32240
32302
  class scout_compute_api_LogRegexFilterOperator(ConjureBeanType):
32241
32303
  """
32242
- Outputs a new series where the log message in each point satisfies the given re2 regular expression filter.
32304
+ Filters points such that the log message in each point satisfies the given re2 regular expression filter.
32243
32305
  Regular expression syntax: https://github.com/google/re2/wiki/Syntax.
32244
32306
  """
32245
32307
 
32246
32308
  @builtins.classmethod
32247
32309
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
32248
32310
  return {
32249
- 'regex': ConjureFieldDefinition('regex', scout_compute_api_StringConstant)
32311
+ 'regex': ConjureFieldDefinition('regex', str)
32250
32312
  }
32251
32313
 
32252
32314
  __slots__: List[str] = ['_regex']
32253
32315
 
32254
- def __init__(self, regex: "scout_compute_api_StringConstant") -> None:
32316
+ def __init__(self, regex: str) -> None:
32255
32317
  self._regex = regex
32256
32318
 
32257
32319
  @builtins.property
32258
- def regex(self) -> "scout_compute_api_StringConstant":
32320
+ def regex(self) -> str:
32259
32321
  return self._regex
32260
32322
 
32261
32323
 
@@ -32267,31 +32329,31 @@ scout_compute_api_LogRegexFilterOperator.__module__ = "nominal_api.scout_compute
32267
32329
  class scout_compute_api_LogSeries(ConjureUnionType):
32268
32330
  _raw: Optional["scout_compute_api_Reference"] = None
32269
32331
  _channel: Optional["scout_compute_api_ChannelSeries"] = None
32270
- _time_range_filter: Optional["scout_compute_api_LogTimeRangeFilterSeries"] = None
32271
32332
  _union: Optional["scout_compute_api_LogUnionSeries"] = None
32272
- _value_filter: Optional["scout_compute_api_LogValueFilterSeries"] = None
32333
+ _filter: Optional["scout_compute_api_LogFilterSeries"] = None
32334
+ _time_shift: Optional["scout_compute_api_LogTimeShiftSeries"] = None
32273
32335
 
32274
32336
  @builtins.classmethod
32275
32337
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
32276
32338
  return {
32277
32339
  'raw': ConjureFieldDefinition('raw', scout_compute_api_Reference),
32278
32340
  'channel': ConjureFieldDefinition('channel', scout_compute_api_ChannelSeries),
32279
- 'time_range_filter': ConjureFieldDefinition('timeRangeFilter', scout_compute_api_LogTimeRangeFilterSeries),
32280
32341
  'union': ConjureFieldDefinition('union', scout_compute_api_LogUnionSeries),
32281
- 'value_filter': ConjureFieldDefinition('valueFilter', scout_compute_api_LogValueFilterSeries)
32342
+ 'filter': ConjureFieldDefinition('filter', scout_compute_api_LogFilterSeries),
32343
+ 'time_shift': ConjureFieldDefinition('timeShift', scout_compute_api_LogTimeShiftSeries)
32282
32344
  }
32283
32345
 
32284
32346
  def __init__(
32285
32347
  self,
32286
32348
  raw: Optional["scout_compute_api_Reference"] = None,
32287
32349
  channel: Optional["scout_compute_api_ChannelSeries"] = None,
32288
- time_range_filter: Optional["scout_compute_api_LogTimeRangeFilterSeries"] = None,
32289
32350
  union: Optional["scout_compute_api_LogUnionSeries"] = None,
32290
- value_filter: Optional["scout_compute_api_LogValueFilterSeries"] = None,
32351
+ filter: Optional["scout_compute_api_LogFilterSeries"] = None,
32352
+ time_shift: Optional["scout_compute_api_LogTimeShiftSeries"] = None,
32291
32353
  type_of_union: Optional[str] = None
32292
32354
  ) -> None:
32293
32355
  if type_of_union is None:
32294
- if (raw is not None) + (channel is not None) + (time_range_filter is not None) + (union is not None) + (value_filter is not None) != 1:
32356
+ if (raw is not None) + (channel is not None) + (union is not None) + (filter is not None) + (time_shift is not None) != 1:
32295
32357
  raise ValueError('a union must contain a single member')
32296
32358
 
32297
32359
  if raw is not None:
@@ -32300,15 +32362,15 @@ class scout_compute_api_LogSeries(ConjureUnionType):
32300
32362
  if channel is not None:
32301
32363
  self._channel = channel
32302
32364
  self._type = 'channel'
32303
- if time_range_filter is not None:
32304
- self._time_range_filter = time_range_filter
32305
- self._type = 'timeRangeFilter'
32306
32365
  if union is not None:
32307
32366
  self._union = union
32308
32367
  self._type = 'union'
32309
- if value_filter is not None:
32310
- self._value_filter = value_filter
32311
- self._type = 'valueFilter'
32368
+ if filter is not None:
32369
+ self._filter = filter
32370
+ self._type = 'filter'
32371
+ if time_shift is not None:
32372
+ self._time_shift = time_shift
32373
+ self._type = 'timeShift'
32312
32374
 
32313
32375
  elif type_of_union == 'raw':
32314
32376
  if raw is None:
@@ -32320,21 +32382,21 @@ class scout_compute_api_LogSeries(ConjureUnionType):
32320
32382
  raise ValueError('a union value must not be None')
32321
32383
  self._channel = channel
32322
32384
  self._type = 'channel'
32323
- elif type_of_union == 'timeRangeFilter':
32324
- if time_range_filter is None:
32325
- raise ValueError('a union value must not be None')
32326
- self._time_range_filter = time_range_filter
32327
- self._type = 'timeRangeFilter'
32328
32385
  elif type_of_union == 'union':
32329
32386
  if union is None:
32330
32387
  raise ValueError('a union value must not be None')
32331
32388
  self._union = union
32332
32389
  self._type = 'union'
32333
- elif type_of_union == 'valueFilter':
32334
- if value_filter is None:
32390
+ elif type_of_union == 'filter':
32391
+ if filter is None:
32392
+ raise ValueError('a union value must not be None')
32393
+ self._filter = filter
32394
+ self._type = 'filter'
32395
+ elif type_of_union == 'timeShift':
32396
+ if time_shift is None:
32335
32397
  raise ValueError('a union value must not be None')
32336
- self._value_filter = value_filter
32337
- self._type = 'valueFilter'
32398
+ self._time_shift = time_shift
32399
+ self._type = 'timeShift'
32338
32400
 
32339
32401
  @builtins.property
32340
32402
  def raw(self) -> Optional["scout_compute_api_Reference"]:
@@ -32344,17 +32406,17 @@ class scout_compute_api_LogSeries(ConjureUnionType):
32344
32406
  def channel(self) -> Optional["scout_compute_api_ChannelSeries"]:
32345
32407
  return self._channel
32346
32408
 
32347
- @builtins.property
32348
- def time_range_filter(self) -> Optional["scout_compute_api_LogTimeRangeFilterSeries"]:
32349
- return self._time_range_filter
32350
-
32351
32409
  @builtins.property
32352
32410
  def union(self) -> Optional["scout_compute_api_LogUnionSeries"]:
32353
32411
  return self._union
32354
32412
 
32355
32413
  @builtins.property
32356
- def value_filter(self) -> Optional["scout_compute_api_LogValueFilterSeries"]:
32357
- return self._value_filter
32414
+ def filter(self) -> Optional["scout_compute_api_LogFilterSeries"]:
32415
+ return self._filter
32416
+
32417
+ @builtins.property
32418
+ def time_shift(self) -> Optional["scout_compute_api_LogTimeShiftSeries"]:
32419
+ return self._time_shift
32358
32420
 
32359
32421
  def accept(self, visitor) -> Any:
32360
32422
  if not isinstance(visitor, scout_compute_api_LogSeriesVisitor):
@@ -32363,12 +32425,12 @@ class scout_compute_api_LogSeries(ConjureUnionType):
32363
32425
  return visitor._raw(self.raw)
32364
32426
  if self._type == 'channel' and self.channel is not None:
32365
32427
  return visitor._channel(self.channel)
32366
- if self._type == 'timeRangeFilter' and self.time_range_filter is not None:
32367
- return visitor._time_range_filter(self.time_range_filter)
32368
32428
  if self._type == 'union' and self.union is not None:
32369
32429
  return visitor._union(self.union)
32370
- if self._type == 'valueFilter' and self.value_filter is not None:
32371
- return visitor._value_filter(self.value_filter)
32430
+ if self._type == 'filter' and self.filter is not None:
32431
+ return visitor._filter(self.filter)
32432
+ if self._type == 'timeShift' and self.time_shift is not None:
32433
+ return visitor._time_shift(self.time_shift)
32372
32434
 
32373
32435
 
32374
32436
  scout_compute_api_LogSeries.__name__ = "LogSeries"
@@ -32387,15 +32449,15 @@ class scout_compute_api_LogSeriesVisitor:
32387
32449
  pass
32388
32450
 
32389
32451
  @abstractmethod
32390
- def _time_range_filter(self, time_range_filter: "scout_compute_api_LogTimeRangeFilterSeries") -> Any:
32452
+ def _union(self, union: "scout_compute_api_LogUnionSeries") -> Any:
32391
32453
  pass
32392
32454
 
32393
32455
  @abstractmethod
32394
- def _union(self, union: "scout_compute_api_LogUnionSeries") -> Any:
32456
+ def _filter(self, filter: "scout_compute_api_LogFilterSeries") -> Any:
32395
32457
  pass
32396
32458
 
32397
32459
  @abstractmethod
32398
- def _value_filter(self, value_filter: "scout_compute_api_LogValueFilterSeries") -> Any:
32460
+ def _time_shift(self, time_shift: "scout_compute_api_LogTimeShiftSeries") -> Any:
32399
32461
  pass
32400
32462
 
32401
32463
 
@@ -32404,48 +32466,33 @@ scout_compute_api_LogSeriesVisitor.__qualname__ = "LogSeriesVisitor"
32404
32466
  scout_compute_api_LogSeriesVisitor.__module__ = "nominal_api.scout_compute_api"
32405
32467
 
32406
32468
 
32407
- class scout_compute_api_LogTimeRangeFilterSeries(ConjureBeanType):
32408
- """
32409
- Filters the series to points within the specified time range.
32410
- """
32469
+ class scout_compute_api_LogTimeShiftSeries(ConjureBeanType):
32411
32470
 
32412
32471
  @builtins.classmethod
32413
32472
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
32414
32473
  return {
32415
32474
  'input': ConjureFieldDefinition('input', scout_compute_api_LogSeries),
32416
- 'start_time': ConjureFieldDefinition('startTime', OptionalTypeWrapper[scout_compute_api_TimestampConstant]),
32417
- 'end_time': ConjureFieldDefinition('endTime', OptionalTypeWrapper[scout_compute_api_TimestampConstant])
32475
+ 'duration': ConjureFieldDefinition('duration', scout_compute_api_DurationConstant)
32418
32476
  }
32419
32477
 
32420
- __slots__: List[str] = ['_input', '_start_time', '_end_time']
32478
+ __slots__: List[str] = ['_input', '_duration']
32421
32479
 
32422
- def __init__(self, input: "scout_compute_api_LogSeries", end_time: Optional["scout_compute_api_TimestampConstant"] = None, start_time: Optional["scout_compute_api_TimestampConstant"] = None) -> None:
32480
+ def __init__(self, duration: "scout_compute_api_DurationConstant", input: "scout_compute_api_LogSeries") -> None:
32423
32481
  self._input = input
32424
- self._start_time = start_time
32425
- self._end_time = end_time
32482
+ self._duration = duration
32426
32483
 
32427
32484
  @builtins.property
32428
32485
  def input(self) -> "scout_compute_api_LogSeries":
32429
32486
  return self._input
32430
32487
 
32431
32488
  @builtins.property
32432
- def start_time(self) -> Optional["scout_compute_api_TimestampConstant"]:
32433
- """
32434
- Represents the start time (inclusive) of the time range.
32435
- """
32436
- return self._start_time
32437
-
32438
- @builtins.property
32439
- def end_time(self) -> Optional["scout_compute_api_TimestampConstant"]:
32440
- """
32441
- Represents the end time (inclusive) of the time range.
32442
- """
32443
- return self._end_time
32489
+ def duration(self) -> "scout_compute_api_DurationConstant":
32490
+ return self._duration
32444
32491
 
32445
32492
 
32446
- scout_compute_api_LogTimeRangeFilterSeries.__name__ = "LogTimeRangeFilterSeries"
32447
- scout_compute_api_LogTimeRangeFilterSeries.__qualname__ = "LogTimeRangeFilterSeries"
32448
- scout_compute_api_LogTimeRangeFilterSeries.__module__ = "nominal_api.scout_compute_api"
32493
+ scout_compute_api_LogTimeShiftSeries.__name__ = "LogTimeShiftSeries"
32494
+ scout_compute_api_LogTimeShiftSeries.__qualname__ = "LogTimeShiftSeries"
32495
+ scout_compute_api_LogTimeShiftSeries.__module__ = "nominal_api.scout_compute_api"
32449
32496
 
32450
32497
 
32451
32498
  class scout_compute_api_LogUnionOperation(ConjureEnumType):
@@ -32529,112 +32576,6 @@ scout_compute_api_LogValue.__qualname__ = "LogValue"
32529
32576
  scout_compute_api_LogValue.__module__ = "nominal_api.scout_compute_api"
32530
32577
 
32531
32578
 
32532
- class scout_compute_api_LogValueFilterOperator(ConjureUnionType):
32533
- _arg_filter: Optional["scout_compute_api_LogArgFilterOperator"] = None
32534
- _regex_filter: Optional["scout_compute_api_LogRegexFilterOperator"] = None
32535
-
32536
- @builtins.classmethod
32537
- def _options(cls) -> Dict[str, ConjureFieldDefinition]:
32538
- return {
32539
- 'arg_filter': ConjureFieldDefinition('argFilter', scout_compute_api_LogArgFilterOperator),
32540
- 'regex_filter': ConjureFieldDefinition('regexFilter', scout_compute_api_LogRegexFilterOperator)
32541
- }
32542
-
32543
- def __init__(
32544
- self,
32545
- arg_filter: Optional["scout_compute_api_LogArgFilterOperator"] = None,
32546
- regex_filter: Optional["scout_compute_api_LogRegexFilterOperator"] = None,
32547
- type_of_union: Optional[str] = None
32548
- ) -> None:
32549
- if type_of_union is None:
32550
- if (arg_filter is not None) + (regex_filter is not None) != 1:
32551
- raise ValueError('a union must contain a single member')
32552
-
32553
- if arg_filter is not None:
32554
- self._arg_filter = arg_filter
32555
- self._type = 'argFilter'
32556
- if regex_filter is not None:
32557
- self._regex_filter = regex_filter
32558
- self._type = 'regexFilter'
32559
-
32560
- elif type_of_union == 'argFilter':
32561
- if arg_filter is None:
32562
- raise ValueError('a union value must not be None')
32563
- self._arg_filter = arg_filter
32564
- self._type = 'argFilter'
32565
- elif type_of_union == 'regexFilter':
32566
- if regex_filter is None:
32567
- raise ValueError('a union value must not be None')
32568
- self._regex_filter = regex_filter
32569
- self._type = 'regexFilter'
32570
-
32571
- @builtins.property
32572
- def arg_filter(self) -> Optional["scout_compute_api_LogArgFilterOperator"]:
32573
- return self._arg_filter
32574
-
32575
- @builtins.property
32576
- def regex_filter(self) -> Optional["scout_compute_api_LogRegexFilterOperator"]:
32577
- return self._regex_filter
32578
-
32579
- def accept(self, visitor) -> Any:
32580
- if not isinstance(visitor, scout_compute_api_LogValueFilterOperatorVisitor):
32581
- raise ValueError('{} is not an instance of scout_compute_api_LogValueFilterOperatorVisitor'.format(visitor.__class__.__name__))
32582
- if self._type == 'argFilter' and self.arg_filter is not None:
32583
- return visitor._arg_filter(self.arg_filter)
32584
- if self._type == 'regexFilter' and self.regex_filter is not None:
32585
- return visitor._regex_filter(self.regex_filter)
32586
-
32587
-
32588
- scout_compute_api_LogValueFilterOperator.__name__ = "LogValueFilterOperator"
32589
- scout_compute_api_LogValueFilterOperator.__qualname__ = "LogValueFilterOperator"
32590
- scout_compute_api_LogValueFilterOperator.__module__ = "nominal_api.scout_compute_api"
32591
-
32592
-
32593
- class scout_compute_api_LogValueFilterOperatorVisitor:
32594
-
32595
- @abstractmethod
32596
- def _arg_filter(self, arg_filter: "scout_compute_api_LogArgFilterOperator") -> Any:
32597
- pass
32598
-
32599
- @abstractmethod
32600
- def _regex_filter(self, regex_filter: "scout_compute_api_LogRegexFilterOperator") -> Any:
32601
- pass
32602
-
32603
-
32604
- scout_compute_api_LogValueFilterOperatorVisitor.__name__ = "LogValueFilterOperatorVisitor"
32605
- scout_compute_api_LogValueFilterOperatorVisitor.__qualname__ = "LogValueFilterOperatorVisitor"
32606
- scout_compute_api_LogValueFilterOperatorVisitor.__module__ = "nominal_api.scout_compute_api"
32607
-
32608
-
32609
- class scout_compute_api_LogValueFilterSeries(ConjureBeanType):
32610
-
32611
- @builtins.classmethod
32612
- def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
32613
- return {
32614
- 'input': ConjureFieldDefinition('input', scout_compute_api_LogSeries),
32615
- 'operator': ConjureFieldDefinition('operator', scout_compute_api_LogValueFilterOperator)
32616
- }
32617
-
32618
- __slots__: List[str] = ['_input', '_operator']
32619
-
32620
- def __init__(self, input: "scout_compute_api_LogSeries", operator: "scout_compute_api_LogValueFilterOperator") -> None:
32621
- self._input = input
32622
- self._operator = operator
32623
-
32624
- @builtins.property
32625
- def input(self) -> "scout_compute_api_LogSeries":
32626
- return self._input
32627
-
32628
- @builtins.property
32629
- def operator(self) -> "scout_compute_api_LogValueFilterOperator":
32630
- return self._operator
32631
-
32632
-
32633
- scout_compute_api_LogValueFilterSeries.__name__ = "LogValueFilterSeries"
32634
- scout_compute_api_LogValueFilterSeries.__qualname__ = "LogValueFilterSeries"
32635
- scout_compute_api_LogValueFilterSeries.__module__ = "nominal_api.scout_compute_api"
32636
-
32637
-
32638
32579
  class scout_compute_api_LowPassConfiguration(ConjureBeanType):
32639
32580
 
32640
32581
  @builtins.classmethod
@@ -35096,95 +35037,101 @@ scout_compute_api_RangeAggregationOperationVisitor.__module__ = "nominal_api.sco
35096
35037
 
35097
35038
 
35098
35039
  class scout_compute_api_RangeSeries(ConjureUnionType):
35040
+ _approximate_threshold: Optional["scout_compute_api_ApproximateThresholdRanges"] = None
35099
35041
  _enum_filter: Optional["scout_compute_api_EnumFilterRanges"] = None
35042
+ _enum_series_equality_ranges_node: Optional["scout_compute_api_EnumSeriesEqualityRanges"] = None
35100
35043
  _function: Optional["scout_compute_api_RangesFunction"] = None
35101
35044
  _intersect_range: Optional["scout_compute_api_IntersectRanges"] = None
35045
+ _min_max_threshold: Optional["scout_compute_api_MinMaxThresholdRanges"] = None
35102
35046
  _not_: Optional["scout_compute_api_NotRanges"] = None
35103
35047
  _on_change: Optional["scout_compute_api_OnChangeRanges"] = None
35104
- _approximate_threshold: Optional["scout_compute_api_ApproximateThresholdRanges"] = None
35105
- _min_max_threshold: Optional["scout_compute_api_MinMaxThresholdRanges"] = None
35106
35048
  _peak: Optional["scout_compute_api_PeakRanges"] = None
35049
+ _range_numeric_aggregation: Optional["scout_compute_api_RangesNumericAggregation"] = None
35107
35050
  _raw: Optional["scout_compute_api_Reference"] = None
35108
35051
  _series_crossover_ranges_node: Optional["scout_compute_api_SeriesCrossoverRanges"] = None
35109
35052
  _series_equality_ranges_node: Optional["scout_compute_api_SeriesEqualityRanges"] = None
35110
- _enum_series_equality_ranges_node: Optional["scout_compute_api_EnumSeriesEqualityRanges"] = None
35053
+ _stability_detection: Optional["scout_compute_api_StabilityDetectionRanges"] = None
35111
35054
  _stale_range: Optional["scout_compute_api_StaleRanges"] = None
35112
35055
  _threshold: Optional["scout_compute_api_ThresholdingRanges"] = None
35113
35056
  _union_range: Optional["scout_compute_api_UnionRanges"] = None
35114
- _range_numeric_aggregation: Optional["scout_compute_api_RangesNumericAggregation"] = None
35115
- _stability_detection: Optional["scout_compute_api_StabilityDetectionRanges"] = None
35116
35057
 
35117
35058
  @builtins.classmethod
35118
35059
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
35119
35060
  return {
35061
+ 'approximate_threshold': ConjureFieldDefinition('approximateThreshold', scout_compute_api_ApproximateThresholdRanges),
35120
35062
  'enum_filter': ConjureFieldDefinition('enumFilter', scout_compute_api_EnumFilterRanges),
35063
+ 'enum_series_equality_ranges_node': ConjureFieldDefinition('enumSeriesEqualityRangesNode', scout_compute_api_EnumSeriesEqualityRanges),
35121
35064
  'function': ConjureFieldDefinition('function', scout_compute_api_RangesFunction),
35122
35065
  'intersect_range': ConjureFieldDefinition('intersectRange', scout_compute_api_IntersectRanges),
35066
+ 'min_max_threshold': ConjureFieldDefinition('minMaxThreshold', scout_compute_api_MinMaxThresholdRanges),
35123
35067
  'not_': ConjureFieldDefinition('not', scout_compute_api_NotRanges),
35124
35068
  'on_change': ConjureFieldDefinition('onChange', scout_compute_api_OnChangeRanges),
35125
- 'approximate_threshold': ConjureFieldDefinition('approximateThreshold', scout_compute_api_ApproximateThresholdRanges),
35126
- 'min_max_threshold': ConjureFieldDefinition('minMaxThreshold', scout_compute_api_MinMaxThresholdRanges),
35127
35069
  'peak': ConjureFieldDefinition('peak', scout_compute_api_PeakRanges),
35070
+ 'range_numeric_aggregation': ConjureFieldDefinition('rangeNumericAggregation', scout_compute_api_RangesNumericAggregation),
35128
35071
  'raw': ConjureFieldDefinition('raw', scout_compute_api_Reference),
35129
35072
  'series_crossover_ranges_node': ConjureFieldDefinition('seriesCrossoverRangesNode', scout_compute_api_SeriesCrossoverRanges),
35130
35073
  'series_equality_ranges_node': ConjureFieldDefinition('seriesEqualityRangesNode', scout_compute_api_SeriesEqualityRanges),
35131
- 'enum_series_equality_ranges_node': ConjureFieldDefinition('enumSeriesEqualityRangesNode', scout_compute_api_EnumSeriesEqualityRanges),
35074
+ 'stability_detection': ConjureFieldDefinition('stabilityDetection', scout_compute_api_StabilityDetectionRanges),
35132
35075
  'stale_range': ConjureFieldDefinition('staleRange', scout_compute_api_StaleRanges),
35133
35076
  'threshold': ConjureFieldDefinition('threshold', scout_compute_api_ThresholdingRanges),
35134
- 'union_range': ConjureFieldDefinition('unionRange', scout_compute_api_UnionRanges),
35135
- 'range_numeric_aggregation': ConjureFieldDefinition('rangeNumericAggregation', scout_compute_api_RangesNumericAggregation),
35136
- 'stability_detection': ConjureFieldDefinition('stabilityDetection', scout_compute_api_StabilityDetectionRanges)
35077
+ 'union_range': ConjureFieldDefinition('unionRange', scout_compute_api_UnionRanges)
35137
35078
  }
35138
35079
 
35139
35080
  def __init__(
35140
35081
  self,
35082
+ approximate_threshold: Optional["scout_compute_api_ApproximateThresholdRanges"] = None,
35141
35083
  enum_filter: Optional["scout_compute_api_EnumFilterRanges"] = None,
35084
+ enum_series_equality_ranges_node: Optional["scout_compute_api_EnumSeriesEqualityRanges"] = None,
35142
35085
  function: Optional["scout_compute_api_RangesFunction"] = None,
35143
35086
  intersect_range: Optional["scout_compute_api_IntersectRanges"] = None,
35087
+ min_max_threshold: Optional["scout_compute_api_MinMaxThresholdRanges"] = None,
35144
35088
  not_: Optional["scout_compute_api_NotRanges"] = None,
35145
35089
  on_change: Optional["scout_compute_api_OnChangeRanges"] = None,
35146
- approximate_threshold: Optional["scout_compute_api_ApproximateThresholdRanges"] = None,
35147
- min_max_threshold: Optional["scout_compute_api_MinMaxThresholdRanges"] = None,
35148
35090
  peak: Optional["scout_compute_api_PeakRanges"] = None,
35091
+ range_numeric_aggregation: Optional["scout_compute_api_RangesNumericAggregation"] = None,
35149
35092
  raw: Optional["scout_compute_api_Reference"] = None,
35150
35093
  series_crossover_ranges_node: Optional["scout_compute_api_SeriesCrossoverRanges"] = None,
35151
35094
  series_equality_ranges_node: Optional["scout_compute_api_SeriesEqualityRanges"] = None,
35152
- enum_series_equality_ranges_node: Optional["scout_compute_api_EnumSeriesEqualityRanges"] = None,
35095
+ stability_detection: Optional["scout_compute_api_StabilityDetectionRanges"] = None,
35153
35096
  stale_range: Optional["scout_compute_api_StaleRanges"] = None,
35154
35097
  threshold: Optional["scout_compute_api_ThresholdingRanges"] = None,
35155
35098
  union_range: Optional["scout_compute_api_UnionRanges"] = None,
35156
- range_numeric_aggregation: Optional["scout_compute_api_RangesNumericAggregation"] = None,
35157
- stability_detection: Optional["scout_compute_api_StabilityDetectionRanges"] = None,
35158
35099
  type_of_union: Optional[str] = None
35159
35100
  ) -> None:
35160
35101
  if type_of_union is None:
35161
- if (enum_filter is not None) + (function is not None) + (intersect_range is not None) + (not_ is not None) + (on_change is not None) + (approximate_threshold is not None) + (min_max_threshold is not None) + (peak is not None) + (raw is not None) + (series_crossover_ranges_node is not None) + (series_equality_ranges_node is not None) + (enum_series_equality_ranges_node is not None) + (stale_range is not None) + (threshold is not None) + (union_range is not None) + (range_numeric_aggregation is not None) + (stability_detection is not None) != 1:
35102
+ if (approximate_threshold is not None) + (enum_filter is not None) + (enum_series_equality_ranges_node is not None) + (function is not None) + (intersect_range is not None) + (min_max_threshold is not None) + (not_ is not None) + (on_change is not None) + (peak is not None) + (range_numeric_aggregation is not None) + (raw is not None) + (series_crossover_ranges_node is not None) + (series_equality_ranges_node is not None) + (stability_detection is not None) + (stale_range is not None) + (threshold is not None) + (union_range is not None) != 1:
35162
35103
  raise ValueError('a union must contain a single member')
35163
35104
 
35105
+ if approximate_threshold is not None:
35106
+ self._approximate_threshold = approximate_threshold
35107
+ self._type = 'approximateThreshold'
35164
35108
  if enum_filter is not None:
35165
35109
  self._enum_filter = enum_filter
35166
35110
  self._type = 'enumFilter'
35111
+ if enum_series_equality_ranges_node is not None:
35112
+ self._enum_series_equality_ranges_node = enum_series_equality_ranges_node
35113
+ self._type = 'enumSeriesEqualityRangesNode'
35167
35114
  if function is not None:
35168
35115
  self._function = function
35169
35116
  self._type = 'function'
35170
35117
  if intersect_range is not None:
35171
35118
  self._intersect_range = intersect_range
35172
35119
  self._type = 'intersectRange'
35120
+ if min_max_threshold is not None:
35121
+ self._min_max_threshold = min_max_threshold
35122
+ self._type = 'minMaxThreshold'
35173
35123
  if not_ is not None:
35174
35124
  self._not_ = not_
35175
35125
  self._type = 'not'
35176
35126
  if on_change is not None:
35177
35127
  self._on_change = on_change
35178
35128
  self._type = 'onChange'
35179
- if approximate_threshold is not None:
35180
- self._approximate_threshold = approximate_threshold
35181
- self._type = 'approximateThreshold'
35182
- if min_max_threshold is not None:
35183
- self._min_max_threshold = min_max_threshold
35184
- self._type = 'minMaxThreshold'
35185
35129
  if peak is not None:
35186
35130
  self._peak = peak
35187
35131
  self._type = 'peak'
35132
+ if range_numeric_aggregation is not None:
35133
+ self._range_numeric_aggregation = range_numeric_aggregation
35134
+ self._type = 'rangeNumericAggregation'
35188
35135
  if raw is not None:
35189
35136
  self._raw = raw
35190
35137
  self._type = 'raw'
@@ -35194,9 +35141,9 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35194
35141
  if series_equality_ranges_node is not None:
35195
35142
  self._series_equality_ranges_node = series_equality_ranges_node
35196
35143
  self._type = 'seriesEqualityRangesNode'
35197
- if enum_series_equality_ranges_node is not None:
35198
- self._enum_series_equality_ranges_node = enum_series_equality_ranges_node
35199
- self._type = 'enumSeriesEqualityRangesNode'
35144
+ if stability_detection is not None:
35145
+ self._stability_detection = stability_detection
35146
+ self._type = 'stabilityDetection'
35200
35147
  if stale_range is not None:
35201
35148
  self._stale_range = stale_range
35202
35149
  self._type = 'staleRange'
@@ -35206,18 +35153,22 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35206
35153
  if union_range is not None:
35207
35154
  self._union_range = union_range
35208
35155
  self._type = 'unionRange'
35209
- if range_numeric_aggregation is not None:
35210
- self._range_numeric_aggregation = range_numeric_aggregation
35211
- self._type = 'rangeNumericAggregation'
35212
- if stability_detection is not None:
35213
- self._stability_detection = stability_detection
35214
- self._type = 'stabilityDetection'
35215
35156
 
35157
+ elif type_of_union == 'approximateThreshold':
35158
+ if approximate_threshold is None:
35159
+ raise ValueError('a union value must not be None')
35160
+ self._approximate_threshold = approximate_threshold
35161
+ self._type = 'approximateThreshold'
35216
35162
  elif type_of_union == 'enumFilter':
35217
35163
  if enum_filter is None:
35218
35164
  raise ValueError('a union value must not be None')
35219
35165
  self._enum_filter = enum_filter
35220
35166
  self._type = 'enumFilter'
35167
+ elif type_of_union == 'enumSeriesEqualityRangesNode':
35168
+ if enum_series_equality_ranges_node is None:
35169
+ raise ValueError('a union value must not be None')
35170
+ self._enum_series_equality_ranges_node = enum_series_equality_ranges_node
35171
+ self._type = 'enumSeriesEqualityRangesNode'
35221
35172
  elif type_of_union == 'function':
35222
35173
  if function is None:
35223
35174
  raise ValueError('a union value must not be None')
@@ -35228,6 +35179,11 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35228
35179
  raise ValueError('a union value must not be None')
35229
35180
  self._intersect_range = intersect_range
35230
35181
  self._type = 'intersectRange'
35182
+ elif type_of_union == 'minMaxThreshold':
35183
+ if min_max_threshold is None:
35184
+ raise ValueError('a union value must not be None')
35185
+ self._min_max_threshold = min_max_threshold
35186
+ self._type = 'minMaxThreshold'
35231
35187
  elif type_of_union == 'not':
35232
35188
  if not_ is None:
35233
35189
  raise ValueError('a union value must not be None')
@@ -35238,21 +35194,16 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35238
35194
  raise ValueError('a union value must not be None')
35239
35195
  self._on_change = on_change
35240
35196
  self._type = 'onChange'
35241
- elif type_of_union == 'approximateThreshold':
35242
- if approximate_threshold is None:
35243
- raise ValueError('a union value must not be None')
35244
- self._approximate_threshold = approximate_threshold
35245
- self._type = 'approximateThreshold'
35246
- elif type_of_union == 'minMaxThreshold':
35247
- if min_max_threshold is None:
35248
- raise ValueError('a union value must not be None')
35249
- self._min_max_threshold = min_max_threshold
35250
- self._type = 'minMaxThreshold'
35251
35197
  elif type_of_union == 'peak':
35252
35198
  if peak is None:
35253
35199
  raise ValueError('a union value must not be None')
35254
35200
  self._peak = peak
35255
35201
  self._type = 'peak'
35202
+ elif type_of_union == 'rangeNumericAggregation':
35203
+ if range_numeric_aggregation is None:
35204
+ raise ValueError('a union value must not be None')
35205
+ self._range_numeric_aggregation = range_numeric_aggregation
35206
+ self._type = 'rangeNumericAggregation'
35256
35207
  elif type_of_union == 'raw':
35257
35208
  if raw is None:
35258
35209
  raise ValueError('a union value must not be None')
@@ -35268,11 +35219,11 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35268
35219
  raise ValueError('a union value must not be None')
35269
35220
  self._series_equality_ranges_node = series_equality_ranges_node
35270
35221
  self._type = 'seriesEqualityRangesNode'
35271
- elif type_of_union == 'enumSeriesEqualityRangesNode':
35272
- if enum_series_equality_ranges_node is None:
35222
+ elif type_of_union == 'stabilityDetection':
35223
+ if stability_detection is None:
35273
35224
  raise ValueError('a union value must not be None')
35274
- self._enum_series_equality_ranges_node = enum_series_equality_ranges_node
35275
- self._type = 'enumSeriesEqualityRangesNode'
35225
+ self._stability_detection = stability_detection
35226
+ self._type = 'stabilityDetection'
35276
35227
  elif type_of_union == 'staleRange':
35277
35228
  if stale_range is None:
35278
35229
  raise ValueError('a union value must not be None')
@@ -35288,21 +35239,19 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35288
35239
  raise ValueError('a union value must not be None')
35289
35240
  self._union_range = union_range
35290
35241
  self._type = 'unionRange'
35291
- elif type_of_union == 'rangeNumericAggregation':
35292
- if range_numeric_aggregation is None:
35293
- raise ValueError('a union value must not be None')
35294
- self._range_numeric_aggregation = range_numeric_aggregation
35295
- self._type = 'rangeNumericAggregation'
35296
- elif type_of_union == 'stabilityDetection':
35297
- if stability_detection is None:
35298
- raise ValueError('a union value must not be None')
35299
- self._stability_detection = stability_detection
35300
- self._type = 'stabilityDetection'
35242
+
35243
+ @builtins.property
35244
+ def approximate_threshold(self) -> Optional["scout_compute_api_ApproximateThresholdRanges"]:
35245
+ return self._approximate_threshold
35301
35246
 
35302
35247
  @builtins.property
35303
35248
  def enum_filter(self) -> Optional["scout_compute_api_EnumFilterRanges"]:
35304
35249
  return self._enum_filter
35305
35250
 
35251
+ @builtins.property
35252
+ def enum_series_equality_ranges_node(self) -> Optional["scout_compute_api_EnumSeriesEqualityRanges"]:
35253
+ return self._enum_series_equality_ranges_node
35254
+
35306
35255
  @builtins.property
35307
35256
  def function(self) -> Optional["scout_compute_api_RangesFunction"]:
35308
35257
  return self._function
@@ -35311,6 +35260,13 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35311
35260
  def intersect_range(self) -> Optional["scout_compute_api_IntersectRanges"]:
35312
35261
  return self._intersect_range
35313
35262
 
35263
+ @builtins.property
35264
+ def min_max_threshold(self) -> Optional["scout_compute_api_MinMaxThresholdRanges"]:
35265
+ """
35266
+ Computes ranges where the input time series matches a filter defined by lower and upper bounds, and an operator.
35267
+ """
35268
+ return self._min_max_threshold
35269
+
35314
35270
  @builtins.property
35315
35271
  def not_(self) -> Optional["scout_compute_api_NotRanges"]:
35316
35272
  return self._not_
@@ -35319,21 +35275,14 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35319
35275
  def on_change(self) -> Optional["scout_compute_api_OnChangeRanges"]:
35320
35276
  return self._on_change
35321
35277
 
35322
- @builtins.property
35323
- def approximate_threshold(self) -> Optional["scout_compute_api_ApproximateThresholdRanges"]:
35324
- return self._approximate_threshold
35325
-
35326
- @builtins.property
35327
- def min_max_threshold(self) -> Optional["scout_compute_api_MinMaxThresholdRanges"]:
35328
- """
35329
- Computes ranges where the input time series matches a filter defined by lower and upper bounds, and an operator.
35330
- """
35331
- return self._min_max_threshold
35332
-
35333
35278
  @builtins.property
35334
35279
  def peak(self) -> Optional["scout_compute_api_PeakRanges"]:
35335
35280
  return self._peak
35336
35281
 
35282
+ @builtins.property
35283
+ def range_numeric_aggregation(self) -> Optional["scout_compute_api_RangesNumericAggregation"]:
35284
+ return self._range_numeric_aggregation
35285
+
35337
35286
  @builtins.property
35338
35287
  def raw(self) -> Optional["scout_compute_api_Reference"]:
35339
35288
  return self._raw
@@ -35347,8 +35296,8 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35347
35296
  return self._series_equality_ranges_node
35348
35297
 
35349
35298
  @builtins.property
35350
- def enum_series_equality_ranges_node(self) -> Optional["scout_compute_api_EnumSeriesEqualityRanges"]:
35351
- return self._enum_series_equality_ranges_node
35299
+ def stability_detection(self) -> Optional["scout_compute_api_StabilityDetectionRanges"]:
35300
+ return self._stability_detection
35352
35301
 
35353
35302
  @builtins.property
35354
35303
  def stale_range(self) -> Optional["scout_compute_api_StaleRanges"]:
@@ -35365,51 +35314,43 @@ class scout_compute_api_RangeSeries(ConjureUnionType):
35365
35314
  def union_range(self) -> Optional["scout_compute_api_UnionRanges"]:
35366
35315
  return self._union_range
35367
35316
 
35368
- @builtins.property
35369
- def range_numeric_aggregation(self) -> Optional["scout_compute_api_RangesNumericAggregation"]:
35370
- return self._range_numeric_aggregation
35371
-
35372
- @builtins.property
35373
- def stability_detection(self) -> Optional["scout_compute_api_StabilityDetectionRanges"]:
35374
- return self._stability_detection
35375
-
35376
35317
  def accept(self, visitor) -> Any:
35377
35318
  if not isinstance(visitor, scout_compute_api_RangeSeriesVisitor):
35378
35319
  raise ValueError('{} is not an instance of scout_compute_api_RangeSeriesVisitor'.format(visitor.__class__.__name__))
35320
+ if self._type == 'approximateThreshold' and self.approximate_threshold is not None:
35321
+ return visitor._approximate_threshold(self.approximate_threshold)
35379
35322
  if self._type == 'enumFilter' and self.enum_filter is not None:
35380
35323
  return visitor._enum_filter(self.enum_filter)
35324
+ if self._type == 'enumSeriesEqualityRangesNode' and self.enum_series_equality_ranges_node is not None:
35325
+ return visitor._enum_series_equality_ranges_node(self.enum_series_equality_ranges_node)
35381
35326
  if self._type == 'function' and self.function is not None:
35382
35327
  return visitor._function(self.function)
35383
35328
  if self._type == 'intersectRange' and self.intersect_range is not None:
35384
35329
  return visitor._intersect_range(self.intersect_range)
35330
+ if self._type == 'minMaxThreshold' and self.min_max_threshold is not None:
35331
+ return visitor._min_max_threshold(self.min_max_threshold)
35385
35332
  if self._type == 'not' and self.not_ is not None:
35386
35333
  return visitor._not(self.not_)
35387
35334
  if self._type == 'onChange' and self.on_change is not None:
35388
35335
  return visitor._on_change(self.on_change)
35389
- if self._type == 'approximateThreshold' and self.approximate_threshold is not None:
35390
- return visitor._approximate_threshold(self.approximate_threshold)
35391
- if self._type == 'minMaxThreshold' and self.min_max_threshold is not None:
35392
- return visitor._min_max_threshold(self.min_max_threshold)
35393
35336
  if self._type == 'peak' and self.peak is not None:
35394
35337
  return visitor._peak(self.peak)
35338
+ if self._type == 'rangeNumericAggregation' and self.range_numeric_aggregation is not None:
35339
+ return visitor._range_numeric_aggregation(self.range_numeric_aggregation)
35395
35340
  if self._type == 'raw' and self.raw is not None:
35396
35341
  return visitor._raw(self.raw)
35397
35342
  if self._type == 'seriesCrossoverRangesNode' and self.series_crossover_ranges_node is not None:
35398
35343
  return visitor._series_crossover_ranges_node(self.series_crossover_ranges_node)
35399
35344
  if self._type == 'seriesEqualityRangesNode' and self.series_equality_ranges_node is not None:
35400
35345
  return visitor._series_equality_ranges_node(self.series_equality_ranges_node)
35401
- if self._type == 'enumSeriesEqualityRangesNode' and self.enum_series_equality_ranges_node is not None:
35402
- return visitor._enum_series_equality_ranges_node(self.enum_series_equality_ranges_node)
35346
+ if self._type == 'stabilityDetection' and self.stability_detection is not None:
35347
+ return visitor._stability_detection(self.stability_detection)
35403
35348
  if self._type == 'staleRange' and self.stale_range is not None:
35404
35349
  return visitor._stale_range(self.stale_range)
35405
35350
  if self._type == 'threshold' and self.threshold is not None:
35406
35351
  return visitor._threshold(self.threshold)
35407
35352
  if self._type == 'unionRange' and self.union_range is not None:
35408
35353
  return visitor._union_range(self.union_range)
35409
- if self._type == 'rangeNumericAggregation' and self.range_numeric_aggregation is not None:
35410
- return visitor._range_numeric_aggregation(self.range_numeric_aggregation)
35411
- if self._type == 'stabilityDetection' and self.stability_detection is not None:
35412
- return visitor._stability_detection(self.stability_detection)
35413
35354
 
35414
35355
 
35415
35356
  scout_compute_api_RangeSeries.__name__ = "RangeSeries"
@@ -35419,10 +35360,18 @@ scout_compute_api_RangeSeries.__module__ = "nominal_api.scout_compute_api"
35419
35360
 
35420
35361
  class scout_compute_api_RangeSeriesVisitor:
35421
35362
 
35363
+ @abstractmethod
35364
+ def _approximate_threshold(self, approximate_threshold: "scout_compute_api_ApproximateThresholdRanges") -> Any:
35365
+ pass
35366
+
35422
35367
  @abstractmethod
35423
35368
  def _enum_filter(self, enum_filter: "scout_compute_api_EnumFilterRanges") -> Any:
35424
35369
  pass
35425
35370
 
35371
+ @abstractmethod
35372
+ def _enum_series_equality_ranges_node(self, enum_series_equality_ranges_node: "scout_compute_api_EnumSeriesEqualityRanges") -> Any:
35373
+ pass
35374
+
35426
35375
  @abstractmethod
35427
35376
  def _function(self, function: "scout_compute_api_RangesFunction") -> Any:
35428
35377
  pass
@@ -35432,23 +35381,23 @@ class scout_compute_api_RangeSeriesVisitor:
35432
35381
  pass
35433
35382
 
35434
35383
  @abstractmethod
35435
- def _not(self, not_: "scout_compute_api_NotRanges") -> Any:
35384
+ def _min_max_threshold(self, min_max_threshold: "scout_compute_api_MinMaxThresholdRanges") -> Any:
35436
35385
  pass
35437
35386
 
35438
35387
  @abstractmethod
35439
- def _on_change(self, on_change: "scout_compute_api_OnChangeRanges") -> Any:
35388
+ def _not(self, not_: "scout_compute_api_NotRanges") -> Any:
35440
35389
  pass
35441
35390
 
35442
35391
  @abstractmethod
35443
- def _approximate_threshold(self, approximate_threshold: "scout_compute_api_ApproximateThresholdRanges") -> Any:
35392
+ def _on_change(self, on_change: "scout_compute_api_OnChangeRanges") -> Any:
35444
35393
  pass
35445
35394
 
35446
35395
  @abstractmethod
35447
- def _min_max_threshold(self, min_max_threshold: "scout_compute_api_MinMaxThresholdRanges") -> Any:
35396
+ def _peak(self, peak: "scout_compute_api_PeakRanges") -> Any:
35448
35397
  pass
35449
35398
 
35450
35399
  @abstractmethod
35451
- def _peak(self, peak: "scout_compute_api_PeakRanges") -> Any:
35400
+ def _range_numeric_aggregation(self, range_numeric_aggregation: "scout_compute_api_RangesNumericAggregation") -> Any:
35452
35401
  pass
35453
35402
 
35454
35403
  @abstractmethod
@@ -35464,7 +35413,7 @@ class scout_compute_api_RangeSeriesVisitor:
35464
35413
  pass
35465
35414
 
35466
35415
  @abstractmethod
35467
- def _enum_series_equality_ranges_node(self, enum_series_equality_ranges_node: "scout_compute_api_EnumSeriesEqualityRanges") -> Any:
35416
+ def _stability_detection(self, stability_detection: "scout_compute_api_StabilityDetectionRanges") -> Any:
35468
35417
  pass
35469
35418
 
35470
35419
  @abstractmethod
@@ -35479,14 +35428,6 @@ class scout_compute_api_RangeSeriesVisitor:
35479
35428
  def _union_range(self, union_range: "scout_compute_api_UnionRanges") -> Any:
35480
35429
  pass
35481
35430
 
35482
- @abstractmethod
35483
- def _range_numeric_aggregation(self, range_numeric_aggregation: "scout_compute_api_RangesNumericAggregation") -> Any:
35484
- pass
35485
-
35486
- @abstractmethod
35487
- def _stability_detection(self, stability_detection: "scout_compute_api_StabilityDetectionRanges") -> Any:
35488
- pass
35489
-
35490
35431
 
35491
35432
  scout_compute_api_RangeSeriesVisitor.__name__ = "RangeSeriesVisitor"
35492
35433
  scout_compute_api_RangeSeriesVisitor.__qualname__ = "RangeSeriesVisitor"
@@ -36081,7 +36022,7 @@ class scout_compute_api_RunChannel(ConjureBeanType):
36081
36022
  """
36082
36023
  Tags to filter the channel by, in addition to tag filters defined for a given Run data scope. Throws on
36083
36024
  collisions with tag keys already defined for the given Run data scope. Only returns points that match
36084
- both sets of tag filters.
36025
+ both sets of tag filters. For log series, include arg filters here in addition to tag filters.
36085
36026
  """
36086
36027
  return self._additional_tags
36087
36028
 
@@ -42465,6 +42406,250 @@ scout_compute_resolved_api_LatLongGeoNode.__qualname__ = "LatLongGeoNode"
42465
42406
  scout_compute_resolved_api_LatLongGeoNode.__module__ = "nominal_api.scout_compute_resolved_api"
42466
42407
 
42467
42408
 
42409
+ class scout_compute_resolved_api_LogFilterRangesNode(ConjureBeanType):
42410
+
42411
+ @builtins.classmethod
42412
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
42413
+ return {
42414
+ 'input': ConjureFieldDefinition('input', scout_compute_resolved_api_LogSeriesNode),
42415
+ 'operator': ConjureFieldDefinition('operator', scout_compute_api_LogFilterOperator),
42416
+ 'persistence_window_configuration': ConjureFieldDefinition('persistenceWindowConfiguration', OptionalTypeWrapper[scout_compute_resolved_api_PersistenceWindowConfiguration])
42417
+ }
42418
+
42419
+ __slots__: List[str] = ['_input', '_operator', '_persistence_window_configuration']
42420
+
42421
+ def __init__(self, input: "scout_compute_resolved_api_LogSeriesNode", operator: "scout_compute_api_LogFilterOperator", persistence_window_configuration: Optional["scout_compute_resolved_api_PersistenceWindowConfiguration"] = None) -> None:
42422
+ self._input = input
42423
+ self._operator = operator
42424
+ self._persistence_window_configuration = persistence_window_configuration
42425
+
42426
+ @builtins.property
42427
+ def input(self) -> "scout_compute_resolved_api_LogSeriesNode":
42428
+ return self._input
42429
+
42430
+ @builtins.property
42431
+ def operator(self) -> "scout_compute_api_LogFilterOperator":
42432
+ return self._operator
42433
+
42434
+ @builtins.property
42435
+ def persistence_window_configuration(self) -> Optional["scout_compute_resolved_api_PersistenceWindowConfiguration"]:
42436
+ return self._persistence_window_configuration
42437
+
42438
+
42439
+ scout_compute_resolved_api_LogFilterRangesNode.__name__ = "LogFilterRangesNode"
42440
+ scout_compute_resolved_api_LogFilterRangesNode.__qualname__ = "LogFilterRangesNode"
42441
+ scout_compute_resolved_api_LogFilterRangesNode.__module__ = "nominal_api.scout_compute_resolved_api"
42442
+
42443
+
42444
+ class scout_compute_resolved_api_LogFilterTransformationSeriesNode(ConjureBeanType):
42445
+ """
42446
+ Outputs the values of the log plot value within the ranges specified by a ranges node
42447
+ """
42448
+
42449
+ @builtins.classmethod
42450
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
42451
+ return {
42452
+ 'input': ConjureFieldDefinition('input', scout_compute_resolved_api_LogSeriesNode),
42453
+ 'filter': ConjureFieldDefinition('filter', scout_compute_resolved_api_RangesNode)
42454
+ }
42455
+
42456
+ __slots__: List[str] = ['_input', '_filter']
42457
+
42458
+ def __init__(self, filter: "scout_compute_resolved_api_RangesNode", input: "scout_compute_resolved_api_LogSeriesNode") -> None:
42459
+ self._input = input
42460
+ self._filter = filter
42461
+
42462
+ @builtins.property
42463
+ def input(self) -> "scout_compute_resolved_api_LogSeriesNode":
42464
+ return self._input
42465
+
42466
+ @builtins.property
42467
+ def filter(self) -> "scout_compute_resolved_api_RangesNode":
42468
+ return self._filter
42469
+
42470
+
42471
+ scout_compute_resolved_api_LogFilterTransformationSeriesNode.__name__ = "LogFilterTransformationSeriesNode"
42472
+ scout_compute_resolved_api_LogFilterTransformationSeriesNode.__qualname__ = "LogFilterTransformationSeriesNode"
42473
+ scout_compute_resolved_api_LogFilterTransformationSeriesNode.__module__ = "nominal_api.scout_compute_resolved_api"
42474
+
42475
+
42476
+ class scout_compute_resolved_api_LogSeriesNode(ConjureUnionType):
42477
+ _raw: Optional["scout_compute_resolved_api_RawLogSeriesNode"] = None
42478
+ _union: Optional["scout_compute_resolved_api_LogUnionSeriesNode"] = None
42479
+ _filter_transformation: Optional["scout_compute_resolved_api_LogFilterTransformationSeriesNode"] = None
42480
+ _time_shift: Optional["scout_compute_resolved_api_LogTimeShiftSeriesNode"] = None
42481
+
42482
+ @builtins.classmethod
42483
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
42484
+ return {
42485
+ 'raw': ConjureFieldDefinition('raw', scout_compute_resolved_api_RawLogSeriesNode),
42486
+ 'union': ConjureFieldDefinition('union', scout_compute_resolved_api_LogUnionSeriesNode),
42487
+ 'filter_transformation': ConjureFieldDefinition('filterTransformation', scout_compute_resolved_api_LogFilterTransformationSeriesNode),
42488
+ 'time_shift': ConjureFieldDefinition('timeShift', scout_compute_resolved_api_LogTimeShiftSeriesNode)
42489
+ }
42490
+
42491
+ def __init__(
42492
+ self,
42493
+ raw: Optional["scout_compute_resolved_api_RawLogSeriesNode"] = None,
42494
+ union: Optional["scout_compute_resolved_api_LogUnionSeriesNode"] = None,
42495
+ filter_transformation: Optional["scout_compute_resolved_api_LogFilterTransformationSeriesNode"] = None,
42496
+ time_shift: Optional["scout_compute_resolved_api_LogTimeShiftSeriesNode"] = None,
42497
+ type_of_union: Optional[str] = None
42498
+ ) -> None:
42499
+ if type_of_union is None:
42500
+ if (raw is not None) + (union is not None) + (filter_transformation is not None) + (time_shift is not None) != 1:
42501
+ raise ValueError('a union must contain a single member')
42502
+
42503
+ if raw is not None:
42504
+ self._raw = raw
42505
+ self._type = 'raw'
42506
+ if union is not None:
42507
+ self._union = union
42508
+ self._type = 'union'
42509
+ if filter_transformation is not None:
42510
+ self._filter_transformation = filter_transformation
42511
+ self._type = 'filterTransformation'
42512
+ if time_shift is not None:
42513
+ self._time_shift = time_shift
42514
+ self._type = 'timeShift'
42515
+
42516
+ elif type_of_union == 'raw':
42517
+ if raw is None:
42518
+ raise ValueError('a union value must not be None')
42519
+ self._raw = raw
42520
+ self._type = 'raw'
42521
+ elif type_of_union == 'union':
42522
+ if union is None:
42523
+ raise ValueError('a union value must not be None')
42524
+ self._union = union
42525
+ self._type = 'union'
42526
+ elif type_of_union == 'filterTransformation':
42527
+ if filter_transformation is None:
42528
+ raise ValueError('a union value must not be None')
42529
+ self._filter_transformation = filter_transformation
42530
+ self._type = 'filterTransformation'
42531
+ elif type_of_union == 'timeShift':
42532
+ if time_shift is None:
42533
+ raise ValueError('a union value must not be None')
42534
+ self._time_shift = time_shift
42535
+ self._type = 'timeShift'
42536
+
42537
+ @builtins.property
42538
+ def raw(self) -> Optional["scout_compute_resolved_api_RawLogSeriesNode"]:
42539
+ return self._raw
42540
+
42541
+ @builtins.property
42542
+ def union(self) -> Optional["scout_compute_resolved_api_LogUnionSeriesNode"]:
42543
+ return self._union
42544
+
42545
+ @builtins.property
42546
+ def filter_transformation(self) -> Optional["scout_compute_resolved_api_LogFilterTransformationSeriesNode"]:
42547
+ return self._filter_transformation
42548
+
42549
+ @builtins.property
42550
+ def time_shift(self) -> Optional["scout_compute_resolved_api_LogTimeShiftSeriesNode"]:
42551
+ return self._time_shift
42552
+
42553
+ def accept(self, visitor) -> Any:
42554
+ if not isinstance(visitor, scout_compute_resolved_api_LogSeriesNodeVisitor):
42555
+ raise ValueError('{} is not an instance of scout_compute_resolved_api_LogSeriesNodeVisitor'.format(visitor.__class__.__name__))
42556
+ if self._type == 'raw' and self.raw is not None:
42557
+ return visitor._raw(self.raw)
42558
+ if self._type == 'union' and self.union is not None:
42559
+ return visitor._union(self.union)
42560
+ if self._type == 'filterTransformation' and self.filter_transformation is not None:
42561
+ return visitor._filter_transformation(self.filter_transformation)
42562
+ if self._type == 'timeShift' and self.time_shift is not None:
42563
+ return visitor._time_shift(self.time_shift)
42564
+
42565
+
42566
+ scout_compute_resolved_api_LogSeriesNode.__name__ = "LogSeriesNode"
42567
+ scout_compute_resolved_api_LogSeriesNode.__qualname__ = "LogSeriesNode"
42568
+ scout_compute_resolved_api_LogSeriesNode.__module__ = "nominal_api.scout_compute_resolved_api"
42569
+
42570
+
42571
+ class scout_compute_resolved_api_LogSeriesNodeVisitor:
42572
+
42573
+ @abstractmethod
42574
+ def _raw(self, raw: "scout_compute_resolved_api_RawLogSeriesNode") -> Any:
42575
+ pass
42576
+
42577
+ @abstractmethod
42578
+ def _union(self, union: "scout_compute_resolved_api_LogUnionSeriesNode") -> Any:
42579
+ pass
42580
+
42581
+ @abstractmethod
42582
+ def _filter_transformation(self, filter_transformation: "scout_compute_resolved_api_LogFilterTransformationSeriesNode") -> Any:
42583
+ pass
42584
+
42585
+ @abstractmethod
42586
+ def _time_shift(self, time_shift: "scout_compute_resolved_api_LogTimeShiftSeriesNode") -> Any:
42587
+ pass
42588
+
42589
+
42590
+ scout_compute_resolved_api_LogSeriesNodeVisitor.__name__ = "LogSeriesNodeVisitor"
42591
+ scout_compute_resolved_api_LogSeriesNodeVisitor.__qualname__ = "LogSeriesNodeVisitor"
42592
+ scout_compute_resolved_api_LogSeriesNodeVisitor.__module__ = "nominal_api.scout_compute_resolved_api"
42593
+
42594
+
42595
+ class scout_compute_resolved_api_LogTimeShiftSeriesNode(ConjureBeanType):
42596
+
42597
+ @builtins.classmethod
42598
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
42599
+ return {
42600
+ 'input': ConjureFieldDefinition('input', scout_compute_resolved_api_LogSeriesNode),
42601
+ 'duration': ConjureFieldDefinition('duration', scout_run_api_Duration)
42602
+ }
42603
+
42604
+ __slots__: List[str] = ['_input', '_duration']
42605
+
42606
+ def __init__(self, duration: "scout_run_api_Duration", input: "scout_compute_resolved_api_LogSeriesNode") -> None:
42607
+ self._input = input
42608
+ self._duration = duration
42609
+
42610
+ @builtins.property
42611
+ def input(self) -> "scout_compute_resolved_api_LogSeriesNode":
42612
+ return self._input
42613
+
42614
+ @builtins.property
42615
+ def duration(self) -> "scout_run_api_Duration":
42616
+ return self._duration
42617
+
42618
+
42619
+ scout_compute_resolved_api_LogTimeShiftSeriesNode.__name__ = "LogTimeShiftSeriesNode"
42620
+ scout_compute_resolved_api_LogTimeShiftSeriesNode.__qualname__ = "LogTimeShiftSeriesNode"
42621
+ scout_compute_resolved_api_LogTimeShiftSeriesNode.__module__ = "nominal_api.scout_compute_resolved_api"
42622
+
42623
+
42624
+ class scout_compute_resolved_api_LogUnionSeriesNode(ConjureBeanType):
42625
+
42626
+ @builtins.classmethod
42627
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
42628
+ return {
42629
+ 'input': ConjureFieldDefinition('input', List[scout_compute_resolved_api_LogSeriesNode]),
42630
+ 'operation': ConjureFieldDefinition('operation', scout_compute_api_LogUnionOperation)
42631
+ }
42632
+
42633
+ __slots__: List[str] = ['_input', '_operation']
42634
+
42635
+ def __init__(self, input: List["scout_compute_resolved_api_LogSeriesNode"], operation: "scout_compute_api_LogUnionOperation") -> None:
42636
+ self._input = input
42637
+ self._operation = operation
42638
+
42639
+ @builtins.property
42640
+ def input(self) -> List["scout_compute_resolved_api_LogSeriesNode"]:
42641
+ return self._input
42642
+
42643
+ @builtins.property
42644
+ def operation(self) -> "scout_compute_api_LogUnionOperation":
42645
+ return self._operation
42646
+
42647
+
42648
+ scout_compute_resolved_api_LogUnionSeriesNode.__name__ = "LogUnionSeriesNode"
42649
+ scout_compute_resolved_api_LogUnionSeriesNode.__qualname__ = "LogUnionSeriesNode"
42650
+ scout_compute_resolved_api_LogUnionSeriesNode.__module__ = "nominal_api.scout_compute_resolved_api"
42651
+
42652
+
42468
42653
  class scout_compute_resolved_api_LowPassConfiguration(ConjureBeanType):
42469
42654
 
42470
42655
  @builtins.classmethod
@@ -43676,109 +43861,115 @@ scout_compute_resolved_api_ProductSeriesNode.__module__ = "nominal_api.scout_com
43676
43861
 
43677
43862
 
43678
43863
  class scout_compute_resolved_api_RangesNode(ConjureUnionType):
43679
- _enum_filter: Optional["scout_compute_resolved_api_EnumFilterRangesNode"] = None
43680
43864
  _enum_equality: Optional["scout_compute_resolved_api_EnumEqualityRangesNode"] = None
43865
+ _enum_filter: Optional["scout_compute_resolved_api_EnumFilterRangesNode"] = None
43681
43866
  _extrema: Optional["scout_compute_resolved_api_ExtremaRangesNode"] = None
43682
43867
  _intersect_range: Optional["scout_compute_resolved_api_IntersectRangesNode"] = None
43683
- _not_: Optional["scout_compute_resolved_api_NotRangesNode"] = None
43868
+ _log_filter: Optional["scout_compute_resolved_api_LogFilterRangesNode"] = None
43684
43869
  _min_max_threshold: Optional["scout_compute_resolved_api_MinMaxThresholdRangesNode"] = None
43870
+ _not_: Optional["scout_compute_resolved_api_NotRangesNode"] = None
43685
43871
  _on_change: Optional["scout_compute_resolved_api_OnChangeRangesNode"] = None
43686
- _threshold: Optional["scout_compute_resolved_api_ThresholdingRangesNode"] = None
43872
+ _range_numeric_aggregation: Optional["scout_compute_resolved_api_RangesNumericAggregationNode"] = None
43687
43873
  _series_crossover_ranges_node: Optional["scout_compute_resolved_api_SeriesCrossoverRangesNode"] = None
43688
43874
  _stale_range: Optional["scout_compute_resolved_api_StaleRangesNode"] = None
43689
- _union_range: Optional["scout_compute_resolved_api_UnionRangesNode"] = None
43690
- _range_numeric_aggregation: Optional["scout_compute_resolved_api_RangesNumericAggregationNode"] = None
43691
43875
  _stability_detection: Optional["scout_compute_resolved_api_StabilityDetectionRangesNode"] = None
43876
+ _threshold: Optional["scout_compute_resolved_api_ThresholdingRangesNode"] = None
43877
+ _union_range: Optional["scout_compute_resolved_api_UnionRangesNode"] = None
43692
43878
 
43693
43879
  @builtins.classmethod
43694
43880
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
43695
43881
  return {
43696
- 'enum_filter': ConjureFieldDefinition('enumFilter', scout_compute_resolved_api_EnumFilterRangesNode),
43697
43882
  'enum_equality': ConjureFieldDefinition('enumEquality', scout_compute_resolved_api_EnumEqualityRangesNode),
43883
+ 'enum_filter': ConjureFieldDefinition('enumFilter', scout_compute_resolved_api_EnumFilterRangesNode),
43698
43884
  'extrema': ConjureFieldDefinition('extrema', scout_compute_resolved_api_ExtremaRangesNode),
43699
43885
  'intersect_range': ConjureFieldDefinition('intersectRange', scout_compute_resolved_api_IntersectRangesNode),
43700
- 'not_': ConjureFieldDefinition('not', scout_compute_resolved_api_NotRangesNode),
43886
+ 'log_filter': ConjureFieldDefinition('logFilter', scout_compute_resolved_api_LogFilterRangesNode),
43701
43887
  'min_max_threshold': ConjureFieldDefinition('minMaxThreshold', scout_compute_resolved_api_MinMaxThresholdRangesNode),
43888
+ 'not_': ConjureFieldDefinition('not', scout_compute_resolved_api_NotRangesNode),
43702
43889
  'on_change': ConjureFieldDefinition('onChange', scout_compute_resolved_api_OnChangeRangesNode),
43703
- 'threshold': ConjureFieldDefinition('threshold', scout_compute_resolved_api_ThresholdingRangesNode),
43890
+ 'range_numeric_aggregation': ConjureFieldDefinition('rangeNumericAggregation', scout_compute_resolved_api_RangesNumericAggregationNode),
43704
43891
  'series_crossover_ranges_node': ConjureFieldDefinition('seriesCrossoverRangesNode', scout_compute_resolved_api_SeriesCrossoverRangesNode),
43705
43892
  'stale_range': ConjureFieldDefinition('staleRange', scout_compute_resolved_api_StaleRangesNode),
43706
- 'union_range': ConjureFieldDefinition('unionRange', scout_compute_resolved_api_UnionRangesNode),
43707
- 'range_numeric_aggregation': ConjureFieldDefinition('rangeNumericAggregation', scout_compute_resolved_api_RangesNumericAggregationNode),
43708
- 'stability_detection': ConjureFieldDefinition('stabilityDetection', scout_compute_resolved_api_StabilityDetectionRangesNode)
43893
+ 'stability_detection': ConjureFieldDefinition('stabilityDetection', scout_compute_resolved_api_StabilityDetectionRangesNode),
43894
+ 'threshold': ConjureFieldDefinition('threshold', scout_compute_resolved_api_ThresholdingRangesNode),
43895
+ 'union_range': ConjureFieldDefinition('unionRange', scout_compute_resolved_api_UnionRangesNode)
43709
43896
  }
43710
43897
 
43711
43898
  def __init__(
43712
43899
  self,
43713
- enum_filter: Optional["scout_compute_resolved_api_EnumFilterRangesNode"] = None,
43714
43900
  enum_equality: Optional["scout_compute_resolved_api_EnumEqualityRangesNode"] = None,
43901
+ enum_filter: Optional["scout_compute_resolved_api_EnumFilterRangesNode"] = None,
43715
43902
  extrema: Optional["scout_compute_resolved_api_ExtremaRangesNode"] = None,
43716
43903
  intersect_range: Optional["scout_compute_resolved_api_IntersectRangesNode"] = None,
43717
- not_: Optional["scout_compute_resolved_api_NotRangesNode"] = None,
43904
+ log_filter: Optional["scout_compute_resolved_api_LogFilterRangesNode"] = None,
43718
43905
  min_max_threshold: Optional["scout_compute_resolved_api_MinMaxThresholdRangesNode"] = None,
43906
+ not_: Optional["scout_compute_resolved_api_NotRangesNode"] = None,
43719
43907
  on_change: Optional["scout_compute_resolved_api_OnChangeRangesNode"] = None,
43720
- threshold: Optional["scout_compute_resolved_api_ThresholdingRangesNode"] = None,
43908
+ range_numeric_aggregation: Optional["scout_compute_resolved_api_RangesNumericAggregationNode"] = None,
43721
43909
  series_crossover_ranges_node: Optional["scout_compute_resolved_api_SeriesCrossoverRangesNode"] = None,
43722
43910
  stale_range: Optional["scout_compute_resolved_api_StaleRangesNode"] = None,
43723
- union_range: Optional["scout_compute_resolved_api_UnionRangesNode"] = None,
43724
- range_numeric_aggregation: Optional["scout_compute_resolved_api_RangesNumericAggregationNode"] = None,
43725
43911
  stability_detection: Optional["scout_compute_resolved_api_StabilityDetectionRangesNode"] = None,
43912
+ threshold: Optional["scout_compute_resolved_api_ThresholdingRangesNode"] = None,
43913
+ union_range: Optional["scout_compute_resolved_api_UnionRangesNode"] = None,
43726
43914
  type_of_union: Optional[str] = None
43727
43915
  ) -> None:
43728
43916
  if type_of_union is None:
43729
- if (enum_filter is not None) + (enum_equality is not None) + (extrema is not None) + (intersect_range is not None) + (not_ is not None) + (min_max_threshold is not None) + (on_change is not None) + (threshold is not None) + (series_crossover_ranges_node is not None) + (stale_range is not None) + (union_range is not None) + (range_numeric_aggregation is not None) + (stability_detection is not None) != 1:
43917
+ if (enum_equality is not None) + (enum_filter is not None) + (extrema is not None) + (intersect_range is not None) + (log_filter is not None) + (min_max_threshold is not None) + (not_ is not None) + (on_change is not None) + (range_numeric_aggregation is not None) + (series_crossover_ranges_node is not None) + (stale_range is not None) + (stability_detection is not None) + (threshold is not None) + (union_range is not None) != 1:
43730
43918
  raise ValueError('a union must contain a single member')
43731
43919
 
43732
- if enum_filter is not None:
43733
- self._enum_filter = enum_filter
43734
- self._type = 'enumFilter'
43735
43920
  if enum_equality is not None:
43736
43921
  self._enum_equality = enum_equality
43737
43922
  self._type = 'enumEquality'
43923
+ if enum_filter is not None:
43924
+ self._enum_filter = enum_filter
43925
+ self._type = 'enumFilter'
43738
43926
  if extrema is not None:
43739
43927
  self._extrema = extrema
43740
43928
  self._type = 'extrema'
43741
43929
  if intersect_range is not None:
43742
43930
  self._intersect_range = intersect_range
43743
43931
  self._type = 'intersectRange'
43744
- if not_ is not None:
43745
- self._not_ = not_
43746
- self._type = 'not'
43932
+ if log_filter is not None:
43933
+ self._log_filter = log_filter
43934
+ self._type = 'logFilter'
43747
43935
  if min_max_threshold is not None:
43748
43936
  self._min_max_threshold = min_max_threshold
43749
43937
  self._type = 'minMaxThreshold'
43938
+ if not_ is not None:
43939
+ self._not_ = not_
43940
+ self._type = 'not'
43750
43941
  if on_change is not None:
43751
43942
  self._on_change = on_change
43752
43943
  self._type = 'onChange'
43753
- if threshold is not None:
43754
- self._threshold = threshold
43755
- self._type = 'threshold'
43944
+ if range_numeric_aggregation is not None:
43945
+ self._range_numeric_aggregation = range_numeric_aggregation
43946
+ self._type = 'rangeNumericAggregation'
43756
43947
  if series_crossover_ranges_node is not None:
43757
43948
  self._series_crossover_ranges_node = series_crossover_ranges_node
43758
43949
  self._type = 'seriesCrossoverRangesNode'
43759
43950
  if stale_range is not None:
43760
43951
  self._stale_range = stale_range
43761
43952
  self._type = 'staleRange'
43762
- if union_range is not None:
43763
- self._union_range = union_range
43764
- self._type = 'unionRange'
43765
- if range_numeric_aggregation is not None:
43766
- self._range_numeric_aggregation = range_numeric_aggregation
43767
- self._type = 'rangeNumericAggregation'
43768
43953
  if stability_detection is not None:
43769
43954
  self._stability_detection = stability_detection
43770
43955
  self._type = 'stabilityDetection'
43956
+ if threshold is not None:
43957
+ self._threshold = threshold
43958
+ self._type = 'threshold'
43959
+ if union_range is not None:
43960
+ self._union_range = union_range
43961
+ self._type = 'unionRange'
43771
43962
 
43772
- elif type_of_union == 'enumFilter':
43773
- if enum_filter is None:
43774
- raise ValueError('a union value must not be None')
43775
- self._enum_filter = enum_filter
43776
- self._type = 'enumFilter'
43777
43963
  elif type_of_union == 'enumEquality':
43778
43964
  if enum_equality is None:
43779
43965
  raise ValueError('a union value must not be None')
43780
43966
  self._enum_equality = enum_equality
43781
43967
  self._type = 'enumEquality'
43968
+ elif type_of_union == 'enumFilter':
43969
+ if enum_filter is None:
43970
+ raise ValueError('a union value must not be None')
43971
+ self._enum_filter = enum_filter
43972
+ self._type = 'enumFilter'
43782
43973
  elif type_of_union == 'extrema':
43783
43974
  if extrema is None:
43784
43975
  raise ValueError('a union value must not be None')
@@ -43789,26 +43980,31 @@ class scout_compute_resolved_api_RangesNode(ConjureUnionType):
43789
43980
  raise ValueError('a union value must not be None')
43790
43981
  self._intersect_range = intersect_range
43791
43982
  self._type = 'intersectRange'
43792
- elif type_of_union == 'not':
43793
- if not_ is None:
43983
+ elif type_of_union == 'logFilter':
43984
+ if log_filter is None:
43794
43985
  raise ValueError('a union value must not be None')
43795
- self._not_ = not_
43796
- self._type = 'not'
43986
+ self._log_filter = log_filter
43987
+ self._type = 'logFilter'
43797
43988
  elif type_of_union == 'minMaxThreshold':
43798
43989
  if min_max_threshold is None:
43799
43990
  raise ValueError('a union value must not be None')
43800
43991
  self._min_max_threshold = min_max_threshold
43801
43992
  self._type = 'minMaxThreshold'
43993
+ elif type_of_union == 'not':
43994
+ if not_ is None:
43995
+ raise ValueError('a union value must not be None')
43996
+ self._not_ = not_
43997
+ self._type = 'not'
43802
43998
  elif type_of_union == 'onChange':
43803
43999
  if on_change is None:
43804
44000
  raise ValueError('a union value must not be None')
43805
44001
  self._on_change = on_change
43806
44002
  self._type = 'onChange'
43807
- elif type_of_union == 'threshold':
43808
- if threshold is None:
44003
+ elif type_of_union == 'rangeNumericAggregation':
44004
+ if range_numeric_aggregation is None:
43809
44005
  raise ValueError('a union value must not be None')
43810
- self._threshold = threshold
43811
- self._type = 'threshold'
44006
+ self._range_numeric_aggregation = range_numeric_aggregation
44007
+ self._type = 'rangeNumericAggregation'
43812
44008
  elif type_of_union == 'seriesCrossoverRangesNode':
43813
44009
  if series_crossover_ranges_node is None:
43814
44010
  raise ValueError('a union value must not be None')
@@ -43819,30 +44015,30 @@ class scout_compute_resolved_api_RangesNode(ConjureUnionType):
43819
44015
  raise ValueError('a union value must not be None')
43820
44016
  self._stale_range = stale_range
43821
44017
  self._type = 'staleRange'
43822
- elif type_of_union == 'unionRange':
43823
- if union_range is None:
43824
- raise ValueError('a union value must not be None')
43825
- self._union_range = union_range
43826
- self._type = 'unionRange'
43827
- elif type_of_union == 'rangeNumericAggregation':
43828
- if range_numeric_aggregation is None:
43829
- raise ValueError('a union value must not be None')
43830
- self._range_numeric_aggregation = range_numeric_aggregation
43831
- self._type = 'rangeNumericAggregation'
43832
44018
  elif type_of_union == 'stabilityDetection':
43833
44019
  if stability_detection is None:
43834
44020
  raise ValueError('a union value must not be None')
43835
44021
  self._stability_detection = stability_detection
43836
44022
  self._type = 'stabilityDetection'
43837
-
43838
- @builtins.property
43839
- def enum_filter(self) -> Optional["scout_compute_resolved_api_EnumFilterRangesNode"]:
43840
- return self._enum_filter
44023
+ elif type_of_union == 'threshold':
44024
+ if threshold is None:
44025
+ raise ValueError('a union value must not be None')
44026
+ self._threshold = threshold
44027
+ self._type = 'threshold'
44028
+ elif type_of_union == 'unionRange':
44029
+ if union_range is None:
44030
+ raise ValueError('a union value must not be None')
44031
+ self._union_range = union_range
44032
+ self._type = 'unionRange'
43841
44033
 
43842
44034
  @builtins.property
43843
44035
  def enum_equality(self) -> Optional["scout_compute_resolved_api_EnumEqualityRangesNode"]:
43844
44036
  return self._enum_equality
43845
44037
 
44038
+ @builtins.property
44039
+ def enum_filter(self) -> Optional["scout_compute_resolved_api_EnumFilterRangesNode"]:
44040
+ return self._enum_filter
44041
+
43846
44042
  @builtins.property
43847
44043
  def extrema(self) -> Optional["scout_compute_resolved_api_ExtremaRangesNode"]:
43848
44044
  return self._extrema
@@ -43852,20 +44048,24 @@ class scout_compute_resolved_api_RangesNode(ConjureUnionType):
43852
44048
  return self._intersect_range
43853
44049
 
43854
44050
  @builtins.property
43855
- def not_(self) -> Optional["scout_compute_resolved_api_NotRangesNode"]:
43856
- return self._not_
44051
+ def log_filter(self) -> Optional["scout_compute_resolved_api_LogFilterRangesNode"]:
44052
+ return self._log_filter
43857
44053
 
43858
44054
  @builtins.property
43859
44055
  def min_max_threshold(self) -> Optional["scout_compute_resolved_api_MinMaxThresholdRangesNode"]:
43860
44056
  return self._min_max_threshold
43861
44057
 
44058
+ @builtins.property
44059
+ def not_(self) -> Optional["scout_compute_resolved_api_NotRangesNode"]:
44060
+ return self._not_
44061
+
43862
44062
  @builtins.property
43863
44063
  def on_change(self) -> Optional["scout_compute_resolved_api_OnChangeRangesNode"]:
43864
44064
  return self._on_change
43865
44065
 
43866
44066
  @builtins.property
43867
- def threshold(self) -> Optional["scout_compute_resolved_api_ThresholdingRangesNode"]:
43868
- return self._threshold
44067
+ def range_numeric_aggregation(self) -> Optional["scout_compute_resolved_api_RangesNumericAggregationNode"]:
44068
+ return self._range_numeric_aggregation
43869
44069
 
43870
44070
  @builtins.property
43871
44071
  def series_crossover_ranges_node(self) -> Optional["scout_compute_resolved_api_SeriesCrossoverRangesNode"]:
@@ -43876,46 +44076,48 @@ class scout_compute_resolved_api_RangesNode(ConjureUnionType):
43876
44076
  return self._stale_range
43877
44077
 
43878
44078
  @builtins.property
43879
- def union_range(self) -> Optional["scout_compute_resolved_api_UnionRangesNode"]:
43880
- return self._union_range
44079
+ def stability_detection(self) -> Optional["scout_compute_resolved_api_StabilityDetectionRangesNode"]:
44080
+ return self._stability_detection
43881
44081
 
43882
44082
  @builtins.property
43883
- def range_numeric_aggregation(self) -> Optional["scout_compute_resolved_api_RangesNumericAggregationNode"]:
43884
- return self._range_numeric_aggregation
44083
+ def threshold(self) -> Optional["scout_compute_resolved_api_ThresholdingRangesNode"]:
44084
+ return self._threshold
43885
44085
 
43886
44086
  @builtins.property
43887
- def stability_detection(self) -> Optional["scout_compute_resolved_api_StabilityDetectionRangesNode"]:
43888
- return self._stability_detection
44087
+ def union_range(self) -> Optional["scout_compute_resolved_api_UnionRangesNode"]:
44088
+ return self._union_range
43889
44089
 
43890
44090
  def accept(self, visitor) -> Any:
43891
44091
  if not isinstance(visitor, scout_compute_resolved_api_RangesNodeVisitor):
43892
44092
  raise ValueError('{} is not an instance of scout_compute_resolved_api_RangesNodeVisitor'.format(visitor.__class__.__name__))
43893
- if self._type == 'enumFilter' and self.enum_filter is not None:
43894
- return visitor._enum_filter(self.enum_filter)
43895
44093
  if self._type == 'enumEquality' and self.enum_equality is not None:
43896
44094
  return visitor._enum_equality(self.enum_equality)
44095
+ if self._type == 'enumFilter' and self.enum_filter is not None:
44096
+ return visitor._enum_filter(self.enum_filter)
43897
44097
  if self._type == 'extrema' and self.extrema is not None:
43898
44098
  return visitor._extrema(self.extrema)
43899
44099
  if self._type == 'intersectRange' and self.intersect_range is not None:
43900
44100
  return visitor._intersect_range(self.intersect_range)
43901
- if self._type == 'not' and self.not_ is not None:
43902
- return visitor._not(self.not_)
44101
+ if self._type == 'logFilter' and self.log_filter is not None:
44102
+ return visitor._log_filter(self.log_filter)
43903
44103
  if self._type == 'minMaxThreshold' and self.min_max_threshold is not None:
43904
44104
  return visitor._min_max_threshold(self.min_max_threshold)
44105
+ if self._type == 'not' and self.not_ is not None:
44106
+ return visitor._not(self.not_)
43905
44107
  if self._type == 'onChange' and self.on_change is not None:
43906
44108
  return visitor._on_change(self.on_change)
43907
- if self._type == 'threshold' and self.threshold is not None:
43908
- return visitor._threshold(self.threshold)
44109
+ if self._type == 'rangeNumericAggregation' and self.range_numeric_aggregation is not None:
44110
+ return visitor._range_numeric_aggregation(self.range_numeric_aggregation)
43909
44111
  if self._type == 'seriesCrossoverRangesNode' and self.series_crossover_ranges_node is not None:
43910
44112
  return visitor._series_crossover_ranges_node(self.series_crossover_ranges_node)
43911
44113
  if self._type == 'staleRange' and self.stale_range is not None:
43912
44114
  return visitor._stale_range(self.stale_range)
43913
- if self._type == 'unionRange' and self.union_range is not None:
43914
- return visitor._union_range(self.union_range)
43915
- if self._type == 'rangeNumericAggregation' and self.range_numeric_aggregation is not None:
43916
- return visitor._range_numeric_aggregation(self.range_numeric_aggregation)
43917
44115
  if self._type == 'stabilityDetection' and self.stability_detection is not None:
43918
44116
  return visitor._stability_detection(self.stability_detection)
44117
+ if self._type == 'threshold' and self.threshold is not None:
44118
+ return visitor._threshold(self.threshold)
44119
+ if self._type == 'unionRange' and self.union_range is not None:
44120
+ return visitor._union_range(self.union_range)
43919
44121
 
43920
44122
 
43921
44123
  scout_compute_resolved_api_RangesNode.__name__ = "RangesNode"
@@ -43926,11 +44128,11 @@ scout_compute_resolved_api_RangesNode.__module__ = "nominal_api.scout_compute_re
43926
44128
  class scout_compute_resolved_api_RangesNodeVisitor:
43927
44129
 
43928
44130
  @abstractmethod
43929
- def _enum_filter(self, enum_filter: "scout_compute_resolved_api_EnumFilterRangesNode") -> Any:
44131
+ def _enum_equality(self, enum_equality: "scout_compute_resolved_api_EnumEqualityRangesNode") -> Any:
43930
44132
  pass
43931
44133
 
43932
44134
  @abstractmethod
43933
- def _enum_equality(self, enum_equality: "scout_compute_resolved_api_EnumEqualityRangesNode") -> Any:
44135
+ def _enum_filter(self, enum_filter: "scout_compute_resolved_api_EnumFilterRangesNode") -> Any:
43934
44136
  pass
43935
44137
 
43936
44138
  @abstractmethod
@@ -43942,19 +44144,23 @@ class scout_compute_resolved_api_RangesNodeVisitor:
43942
44144
  pass
43943
44145
 
43944
44146
  @abstractmethod
43945
- def _not(self, not_: "scout_compute_resolved_api_NotRangesNode") -> Any:
44147
+ def _log_filter(self, log_filter: "scout_compute_resolved_api_LogFilterRangesNode") -> Any:
43946
44148
  pass
43947
44149
 
43948
44150
  @abstractmethod
43949
44151
  def _min_max_threshold(self, min_max_threshold: "scout_compute_resolved_api_MinMaxThresholdRangesNode") -> Any:
43950
44152
  pass
43951
44153
 
44154
+ @abstractmethod
44155
+ def _not(self, not_: "scout_compute_resolved_api_NotRangesNode") -> Any:
44156
+ pass
44157
+
43952
44158
  @abstractmethod
43953
44159
  def _on_change(self, on_change: "scout_compute_resolved_api_OnChangeRangesNode") -> Any:
43954
44160
  pass
43955
44161
 
43956
44162
  @abstractmethod
43957
- def _threshold(self, threshold: "scout_compute_resolved_api_ThresholdingRangesNode") -> Any:
44163
+ def _range_numeric_aggregation(self, range_numeric_aggregation: "scout_compute_resolved_api_RangesNumericAggregationNode") -> Any:
43958
44164
  pass
43959
44165
 
43960
44166
  @abstractmethod
@@ -43966,15 +44172,15 @@ class scout_compute_resolved_api_RangesNodeVisitor:
43966
44172
  pass
43967
44173
 
43968
44174
  @abstractmethod
43969
- def _union_range(self, union_range: "scout_compute_resolved_api_UnionRangesNode") -> Any:
44175
+ def _stability_detection(self, stability_detection: "scout_compute_resolved_api_StabilityDetectionRangesNode") -> Any:
43970
44176
  pass
43971
44177
 
43972
44178
  @abstractmethod
43973
- def _range_numeric_aggregation(self, range_numeric_aggregation: "scout_compute_resolved_api_RangesNumericAggregationNode") -> Any:
44179
+ def _threshold(self, threshold: "scout_compute_resolved_api_ThresholdingRangesNode") -> Any:
43974
44180
  pass
43975
44181
 
43976
44182
  @abstractmethod
43977
- def _stability_detection(self, stability_detection: "scout_compute_resolved_api_StabilityDetectionRangesNode") -> Any:
44183
+ def _union_range(self, union_range: "scout_compute_resolved_api_UnionRangesNode") -> Any:
43978
44184
  pass
43979
44185
 
43980
44186
 
@@ -44041,6 +44247,29 @@ scout_compute_resolved_api_RawEnumSeriesNode.__qualname__ = "RawEnumSeriesNode"
44041
44247
  scout_compute_resolved_api_RawEnumSeriesNode.__module__ = "nominal_api.scout_compute_resolved_api"
44042
44248
 
44043
44249
 
44250
+ class scout_compute_resolved_api_RawLogSeriesNode(ConjureBeanType):
44251
+
44252
+ @builtins.classmethod
44253
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
44254
+ return {
44255
+ 'series': ConjureFieldDefinition('series', scout_compute_api_SeriesSpec)
44256
+ }
44257
+
44258
+ __slots__: List[str] = ['_series']
44259
+
44260
+ def __init__(self, series: "scout_compute_api_SeriesSpec") -> None:
44261
+ self._series = series
44262
+
44263
+ @builtins.property
44264
+ def series(self) -> "scout_compute_api_SeriesSpec":
44265
+ return self._series
44266
+
44267
+
44268
+ scout_compute_resolved_api_RawLogSeriesNode.__name__ = "RawLogSeriesNode"
44269
+ scout_compute_resolved_api_RawLogSeriesNode.__qualname__ = "RawLogSeriesNode"
44270
+ scout_compute_resolved_api_RawLogSeriesNode.__module__ = "nominal_api.scout_compute_resolved_api"
44271
+
44272
+
44044
44273
  class scout_compute_resolved_api_RawNumericSeriesNode(ConjureBeanType):
44045
44274
 
44046
44275
  @builtins.classmethod
@@ -44584,13 +44813,15 @@ class scout_compute_resolved_api_SeriesNode(ConjureUnionType):
44584
44813
  _raw: Optional["scout_compute_resolved_api_RawUntypedSeriesNode"] = None
44585
44814
  _enum: Optional["scout_compute_resolved_api_EnumSeriesNode"] = None
44586
44815
  _numeric: Optional["scout_compute_resolved_api_NumericSeriesNode"] = None
44816
+ _log: Optional["scout_compute_resolved_api_LogSeriesNode"] = None
44587
44817
 
44588
44818
  @builtins.classmethod
44589
44819
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
44590
44820
  return {
44591
44821
  'raw': ConjureFieldDefinition('raw', scout_compute_resolved_api_RawUntypedSeriesNode),
44592
44822
  'enum': ConjureFieldDefinition('enum', scout_compute_resolved_api_EnumSeriesNode),
44593
- 'numeric': ConjureFieldDefinition('numeric', scout_compute_resolved_api_NumericSeriesNode)
44823
+ 'numeric': ConjureFieldDefinition('numeric', scout_compute_resolved_api_NumericSeriesNode),
44824
+ 'log': ConjureFieldDefinition('log', scout_compute_resolved_api_LogSeriesNode)
44594
44825
  }
44595
44826
 
44596
44827
  def __init__(
@@ -44598,10 +44829,11 @@ class scout_compute_resolved_api_SeriesNode(ConjureUnionType):
44598
44829
  raw: Optional["scout_compute_resolved_api_RawUntypedSeriesNode"] = None,
44599
44830
  enum: Optional["scout_compute_resolved_api_EnumSeriesNode"] = None,
44600
44831
  numeric: Optional["scout_compute_resolved_api_NumericSeriesNode"] = None,
44832
+ log: Optional["scout_compute_resolved_api_LogSeriesNode"] = None,
44601
44833
  type_of_union: Optional[str] = None
44602
44834
  ) -> None:
44603
44835
  if type_of_union is None:
44604
- if (raw is not None) + (enum is not None) + (numeric is not None) != 1:
44836
+ if (raw is not None) + (enum is not None) + (numeric is not None) + (log is not None) != 1:
44605
44837
  raise ValueError('a union must contain a single member')
44606
44838
 
44607
44839
  if raw is not None:
@@ -44613,6 +44845,9 @@ class scout_compute_resolved_api_SeriesNode(ConjureUnionType):
44613
44845
  if numeric is not None:
44614
44846
  self._numeric = numeric
44615
44847
  self._type = 'numeric'
44848
+ if log is not None:
44849
+ self._log = log
44850
+ self._type = 'log'
44616
44851
 
44617
44852
  elif type_of_union == 'raw':
44618
44853
  if raw is None:
@@ -44629,6 +44864,11 @@ class scout_compute_resolved_api_SeriesNode(ConjureUnionType):
44629
44864
  raise ValueError('a union value must not be None')
44630
44865
  self._numeric = numeric
44631
44866
  self._type = 'numeric'
44867
+ elif type_of_union == 'log':
44868
+ if log is None:
44869
+ raise ValueError('a union value must not be None')
44870
+ self._log = log
44871
+ self._type = 'log'
44632
44872
 
44633
44873
  @builtins.property
44634
44874
  def raw(self) -> Optional["scout_compute_resolved_api_RawUntypedSeriesNode"]:
@@ -44642,6 +44882,10 @@ class scout_compute_resolved_api_SeriesNode(ConjureUnionType):
44642
44882
  def numeric(self) -> Optional["scout_compute_resolved_api_NumericSeriesNode"]:
44643
44883
  return self._numeric
44644
44884
 
44885
+ @builtins.property
44886
+ def log(self) -> Optional["scout_compute_resolved_api_LogSeriesNode"]:
44887
+ return self._log
44888
+
44645
44889
  def accept(self, visitor) -> Any:
44646
44890
  if not isinstance(visitor, scout_compute_resolved_api_SeriesNodeVisitor):
44647
44891
  raise ValueError('{} is not an instance of scout_compute_resolved_api_SeriesNodeVisitor'.format(visitor.__class__.__name__))
@@ -44651,6 +44895,8 @@ class scout_compute_resolved_api_SeriesNode(ConjureUnionType):
44651
44895
  return visitor._enum(self.enum)
44652
44896
  if self._type == 'numeric' and self.numeric is not None:
44653
44897
  return visitor._numeric(self.numeric)
44898
+ if self._type == 'log' and self.log is not None:
44899
+ return visitor._log(self.log)
44654
44900
 
44655
44901
 
44656
44902
  scout_compute_resolved_api_SeriesNode.__name__ = "SeriesNode"
@@ -44672,6 +44918,10 @@ class scout_compute_resolved_api_SeriesNodeVisitor:
44672
44918
  def _numeric(self, numeric: "scout_compute_resolved_api_NumericSeriesNode") -> Any:
44673
44919
  pass
44674
44920
 
44921
+ @abstractmethod
44922
+ def _log(self, log: "scout_compute_resolved_api_LogSeriesNode") -> Any:
44923
+ pass
44924
+
44675
44925
 
44676
44926
  scout_compute_resolved_api_SeriesNodeVisitor.__name__ = "SeriesNodeVisitor"
44677
44927
  scout_compute_resolved_api_SeriesNodeVisitor.__qualname__ = "SeriesNodeVisitor"
@@ -46083,7 +46333,7 @@ class scout_datareview_api_AutomaticCheckEvaluation(ConjureBeanType):
46083
46333
  'rid': ConjureFieldDefinition('rid', scout_datareview_api_AutomaticCheckEvaluationRid),
46084
46334
  'check_rid': ConjureFieldDefinition('checkRid', scout_rids_api_CheckRid),
46085
46335
  'check_implementation_index': ConjureFieldDefinition('checkImplementationIndex', OptionalTypeWrapper[int]),
46086
- 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_datareview_api_DataReviewRid),
46336
+ 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_rids_api_DataReviewRid),
46087
46337
  'state': ConjureFieldDefinition('state', scout_datareview_api_AutomaticCheckEvaluationState)
46088
46338
  }
46089
46339
 
@@ -46789,7 +47039,7 @@ class scout_datareview_api_BatchCheckAlertActionRequest(ConjureBeanType):
46789
47039
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
46790
47040
  return {
46791
47041
  'check_alert_action': ConjureFieldDefinition('checkAlertAction', scout_datareview_api_CheckAlertAction),
46792
- 'check_alert_rids': ConjureFieldDefinition('checkAlertRids', List[scout_datareview_api_CheckAlertRid])
47042
+ 'check_alert_rids': ConjureFieldDefinition('checkAlertRids', List[scout_rids_api_CheckAlertRid])
46793
47043
  }
46794
47044
 
46795
47045
  __slots__: List[str] = ['_check_alert_action', '_check_alert_rids']
@@ -46875,7 +47125,7 @@ class scout_datareview_api_BatchInitiateDataReviewResponse(ConjureBeanType):
46875
47125
  @builtins.classmethod
46876
47126
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
46877
47127
  return {
46878
- 'rids': ConjureFieldDefinition('rids', List[scout_datareview_api_DataReviewRid])
47128
+ 'rids': ConjureFieldDefinition('rids', List[scout_rids_api_DataReviewRid])
46879
47129
  }
46880
47130
 
46881
47131
  __slots__: List[str] = ['_rids']
@@ -46927,10 +47177,10 @@ class scout_datareview_api_CheckAlert(ConjureBeanType):
46927
47177
  @builtins.classmethod
46928
47178
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
46929
47179
  return {
46930
- 'rid': ConjureFieldDefinition('rid', scout_datareview_api_CheckAlertRid),
47180
+ 'rid': ConjureFieldDefinition('rid', scout_rids_api_CheckAlertRid),
46931
47181
  'check_rid': ConjureFieldDefinition('checkRid', scout_rids_api_CheckRid),
46932
47182
  'implementation_index': ConjureFieldDefinition('implementationIndex', OptionalTypeWrapper[int]),
46933
- 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_datareview_api_DataReviewRid),
47183
+ 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_rids_api_DataReviewRid),
46934
47184
  'check_evaluation_rid': ConjureFieldDefinition('checkEvaluationRid', scout_datareview_api_AutomaticCheckEvaluationRid),
46935
47185
  'name': ConjureFieldDefinition('name', str),
46936
47186
  'autogenerated_check_title': ConjureFieldDefinition('autogeneratedCheckTitle', OptionalTypeWrapper[str]),
@@ -47448,7 +47698,7 @@ class scout_datareview_api_CheckAlertsHistogramRequest(ConjureBeanType):
47448
47698
  'start_time_before': ConjureFieldDefinition('startTimeBefore', api_Timestamp),
47449
47699
  'status': ConjureFieldDefinition('status', OptionalTypeWrapper[List[scout_datareview_api_CheckAlertStatus]]),
47450
47700
  'check_rids': ConjureFieldDefinition('checkRids', OptionalTypeWrapper[List[scout_rids_api_CheckRid]]),
47451
- 'data_review_rids': ConjureFieldDefinition('dataReviewRids', OptionalTypeWrapper[List[scout_datareview_api_DataReviewRid]]),
47701
+ 'data_review_rids': ConjureFieldDefinition('dataReviewRids', OptionalTypeWrapper[List[scout_rids_api_DataReviewRid]]),
47452
47702
  'assignee_rids': ConjureFieldDefinition('assigneeRids', OptionalTypeWrapper[List[scout_rids_api_UserRid]]),
47453
47703
  'priorities': ConjureFieldDefinition('priorities', OptionalTypeWrapper[List[scout_checks_api_Priority]]),
47454
47704
  'run_rids': ConjureFieldDefinition('runRids', List[scout_run_api_RunRid]),
@@ -47761,7 +48011,7 @@ class scout_datareview_api_ChecklistEvaluation(ConjureBeanType):
47761
48011
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
47762
48012
  return {
47763
48013
  'checklist': ConjureFieldDefinition('checklist', scout_checks_api_PinnedChecklistRef),
47764
- 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_datareview_api_DataReviewRid),
48014
+ 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_rids_api_DataReviewRid),
47765
48015
  'checks': ConjureFieldDefinition('checks', List[scout_datareview_api_CheckEvaluation])
47766
48016
  }
47767
48017
 
@@ -48197,7 +48447,7 @@ class scout_datareview_api_DataReview(ConjureBeanType):
48197
48447
  @builtins.classmethod
48198
48448
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
48199
48449
  return {
48200
- 'rid': ConjureFieldDefinition('rid', scout_datareview_api_DataReviewRid),
48450
+ 'rid': ConjureFieldDefinition('rid', scout_rids_api_DataReviewRid),
48201
48451
  'run_rid': ConjureFieldDefinition('runRid', scout_run_api_RunRid),
48202
48452
  'created_at': ConjureFieldDefinition('createdAt', str),
48203
48453
  'created_by': ConjureFieldDefinition('createdBy', scout_rids_api_UserRid),
@@ -49113,7 +49363,7 @@ class scout_datareview_api_GeneratedAlertsState(ConjureBeanType):
49113
49363
  @builtins.classmethod
49114
49364
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
49115
49365
  return {
49116
- 'rids': ConjureFieldDefinition('rids', List[scout_datareview_api_CheckAlertRid])
49366
+ 'rids': ConjureFieldDefinition('rids', List[scout_rids_api_CheckAlertRid])
49117
49367
  }
49118
49368
 
49119
49369
  __slots__: List[str] = ['_rids']
@@ -49732,7 +49982,7 @@ class scout_datareview_api_ManualCheckEvaluation(ConjureBeanType):
49732
49982
  return {
49733
49983
  'rid': ConjureFieldDefinition('rid', scout_datareview_api_ManualCheckEvaluationRid),
49734
49984
  'check_rid': ConjureFieldDefinition('checkRid', scout_rids_api_CheckRid),
49735
- 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_datareview_api_DataReviewRid),
49985
+ 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_rids_api_DataReviewRid),
49736
49986
  'state': ConjureFieldDefinition('state', scout_datareview_api_ManualCheckEvaluationState),
49737
49987
  'assignee_rids': ConjureFieldDefinition('assigneeRids', List[scout_rids_api_UserRid]),
49738
49988
  'chart': ConjureFieldDefinition('chart', OptionalTypeWrapper[scout_rids_api_VersionedVizId]),
@@ -50298,7 +50548,7 @@ class scout_datareview_api_RerunFailedAutomaticChecksRequest(ConjureBeanType):
50298
50548
  @builtins.classmethod
50299
50549
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
50300
50550
  return {
50301
- 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_datareview_api_DataReviewRid)
50551
+ 'data_review_rid': ConjureFieldDefinition('dataReviewRid', scout_rids_api_DataReviewRid)
50302
50552
  }
50303
50553
 
50304
50554
  __slots__: List[str] = ['_data_review_rid']
@@ -50329,7 +50579,7 @@ class scout_datareview_api_SearchCheckAlertsRequest(ConjureBeanType):
50329
50579
  'before': ConjureFieldDefinition('before', OptionalTypeWrapper[api_Timestamp]),
50330
50580
  'status': ConjureFieldDefinition('status', OptionalTypeWrapper[List[scout_datareview_api_CheckAlertStatus]]),
50331
50581
  'check_rids': ConjureFieldDefinition('checkRids', OptionalTypeWrapper[List[scout_rids_api_CheckRid]]),
50332
- 'data_review_rids': ConjureFieldDefinition('dataReviewRids', OptionalTypeWrapper[List[scout_datareview_api_DataReviewRid]]),
50582
+ 'data_review_rids': ConjureFieldDefinition('dataReviewRids', OptionalTypeWrapper[List[scout_rids_api_DataReviewRid]]),
50333
50583
  'assignee_rids': ConjureFieldDefinition('assigneeRids', OptionalTypeWrapper[List[scout_rids_api_UserRid]]),
50334
50584
  'priorities': ConjureFieldDefinition('priorities', OptionalTypeWrapper[List[scout_checks_api_Priority]]),
50335
50585
  'run_rids': ConjureFieldDefinition('runRids', List[scout_run_api_RunRid]),
@@ -69092,8 +69342,6 @@ authentication_api_OrgRid = str
69092
69342
 
69093
69343
  themes_api_ChartThemeRid = str
69094
69344
 
69095
- scout_datareview_api_DataReviewRid = str
69096
-
69097
69345
  scout_rids_api_SnapshotRid = str
69098
69346
 
69099
69347
  scout_units_api_UnitName = str
@@ -69150,6 +69398,8 @@ scout_compute_api_ErrorCode = int
69150
69398
 
69151
69399
  api_rids_ChunkRid = str
69152
69400
 
69401
+ scout_rids_api_CheckAlertRid = str
69402
+
69153
69403
  datasource_Token = str
69154
69404
 
69155
69405
  scout_chart_api_JsonString = str
@@ -69164,6 +69414,8 @@ datasource_pagination_api_PageToken = str
69164
69414
 
69165
69415
  scout_datasource_connection_api_ProjectName = str
69166
69416
 
69417
+ scout_rids_api_DataReviewRid = str
69418
+
69167
69419
  api_rids_SegmentRid = str
69168
69420
 
69169
69421
  scout_comparisonnotebook_api_VariableName = str
@@ -69222,8 +69474,6 @@ scout_rids_api_UserRid = str
69222
69474
 
69223
69475
  api_rids_DatasetRid = str
69224
69476
 
69225
- scout_datareview_api_CheckAlertRid = str
69226
-
69227
69477
  scout_units_api_UnitSymbol = str
69228
69478
 
69229
69479
  datasource_logset_api_Token = str