nominal-api 0.533.0__py3-none-any.whl → 0.535.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
@@ -5126,8 +5126,6 @@ class event_CreateEvent(ConjureBeanType):
5126
5126
  return {
5127
5127
  'asset_rids': ConjureFieldDefinition('assetRids', List[scout_rids_api_AssetRid]),
5128
5128
  'origins': ConjureFieldDefinition('origins', List[event_EventOrigin]),
5129
- 'associations': ConjureFieldDefinition('associations', List[str]),
5130
- 'authorization_rid': ConjureFieldDefinition('authorizationRid', OptionalTypeWrapper[str]),
5131
5129
  'timestamp': ConjureFieldDefinition('timestamp', api_Timestamp),
5132
5130
  'duration': ConjureFieldDefinition('duration', scout_run_api_Duration),
5133
5131
  'name': ConjureFieldDefinition('name', str),
@@ -5136,13 +5134,11 @@ class event_CreateEvent(ConjureBeanType):
5136
5134
  'properties': ConjureFieldDefinition('properties', Dict[scout_run_api_PropertyName, scout_run_api_PropertyValue])
5137
5135
  }
5138
5136
 
5139
- __slots__: List[str] = ['_asset_rids', '_origins', '_associations', '_authorization_rid', '_timestamp', '_duration', '_name', '_type', '_labels', '_properties']
5137
+ __slots__: List[str] = ['_asset_rids', '_origins', '_timestamp', '_duration', '_name', '_type', '_labels', '_properties']
5140
5138
 
5141
- def __init__(self, asset_rids: List[str], associations: List[str], duration: "scout_run_api_Duration", labels: List[str], name: str, origins: List["event_EventOrigin"], properties: Dict[str, str], timestamp: "api_Timestamp", type: "event_EventType", authorization_rid: Optional[str] = None) -> None:
5139
+ def __init__(self, asset_rids: List[str], duration: "scout_run_api_Duration", labels: List[str], name: str, origins: List["event_EventOrigin"], properties: Dict[str, str], timestamp: "api_Timestamp", type: "event_EventType") -> None:
5142
5140
  self._asset_rids = asset_rids
5143
5141
  self._origins = origins
5144
- self._associations = associations
5145
- self._authorization_rid = authorization_rid
5146
5142
  self._timestamp = timestamp
5147
5143
  self._duration = duration
5148
5144
  self._name = name
@@ -5160,18 +5156,10 @@ class event_CreateEvent(ConjureBeanType):
5160
5156
  @builtins.property
5161
5157
  def origins(self) -> List["event_EventOrigin"]:
5162
5158
  """
5163
- If empty, will default to set<EventOrigin.api>. Should be nonempty, but not enforced yet.
5159
+ If empty, will default to set<EventOrigin.api>.
5164
5160
  """
5165
5161
  return self._origins
5166
5162
 
5167
- @builtins.property
5168
- def associations(self) -> List[str]:
5169
- return self._associations
5170
-
5171
- @builtins.property
5172
- def authorization_rid(self) -> Optional[str]:
5173
- return self._authorization_rid
5174
-
5175
5163
  @builtins.property
5176
5164
  def timestamp(self) -> "api_Timestamp":
5177
5165
  return self._timestamp
@@ -5210,23 +5198,22 @@ class event_Event(ConjureBeanType):
5210
5198
  'uuid': ConjureFieldDefinition('uuid', str),
5211
5199
  'asset_rids': ConjureFieldDefinition('assetRids', List[scout_rids_api_AssetRid]),
5212
5200
  'origins': ConjureFieldDefinition('origins', List[event_EventOrigin]),
5213
- 'authorization_rid': ConjureFieldDefinition('authorizationRid', OptionalTypeWrapper[str]),
5214
5201
  'timestamp': ConjureFieldDefinition('timestamp', api_Timestamp),
5215
5202
  'duration': ConjureFieldDefinition('duration', scout_run_api_Duration),
5216
5203
  'name': ConjureFieldDefinition('name', str),
5217
5204
  'type': ConjureFieldDefinition('type', event_EventType),
5218
5205
  'labels': ConjureFieldDefinition('labels', List[scout_run_api_Label]),
5219
5206
  'properties': ConjureFieldDefinition('properties', Dict[scout_run_api_PropertyName, scout_run_api_PropertyValue]),
5220
- 'is_archived': ConjureFieldDefinition('isArchived', bool)
5207
+ 'is_archived': ConjureFieldDefinition('isArchived', bool),
5208
+ 'created_by': ConjureFieldDefinition('createdBy', OptionalTypeWrapper[scout_rids_api_UserRid])
5221
5209
  }
5222
5210
 
5223
- __slots__: List[str] = ['_uuid', '_asset_rids', '_origins', '_authorization_rid', '_timestamp', '_duration', '_name', '_type', '_labels', '_properties', '_is_archived']
5211
+ __slots__: List[str] = ['_uuid', '_asset_rids', '_origins', '_timestamp', '_duration', '_name', '_type', '_labels', '_properties', '_is_archived', '_created_by']
5224
5212
 
5225
- def __init__(self, asset_rids: List[str], duration: "scout_run_api_Duration", is_archived: bool, labels: List[str], name: str, origins: List["event_EventOrigin"], properties: Dict[str, str], timestamp: "api_Timestamp", type: "event_EventType", uuid: str, authorization_rid: Optional[str] = None) -> None:
5213
+ def __init__(self, asset_rids: List[str], duration: "scout_run_api_Duration", is_archived: bool, labels: List[str], name: str, origins: List["event_EventOrigin"], properties: Dict[str, str], timestamp: "api_Timestamp", type: "event_EventType", uuid: str, created_by: Optional[str] = None) -> None:
5226
5214
  self._uuid = uuid
5227
5215
  self._asset_rids = asset_rids
5228
5216
  self._origins = origins
5229
- self._authorization_rid = authorization_rid
5230
5217
  self._timestamp = timestamp
5231
5218
  self._duration = duration
5232
5219
  self._name = name
@@ -5234,6 +5221,7 @@ class event_Event(ConjureBeanType):
5234
5221
  self._labels = labels
5235
5222
  self._properties = properties
5236
5223
  self._is_archived = is_archived
5224
+ self._created_by = created_by
5237
5225
 
5238
5226
  @builtins.property
5239
5227
  def uuid(self) -> str:
@@ -5253,14 +5241,6 @@ class event_Event(ConjureBeanType):
5253
5241
  """
5254
5242
  return self._origins
5255
5243
 
5256
- @builtins.property
5257
- def authorization_rid(self) -> Optional[str]:
5258
- """
5259
- A user authorized for this rid can access the event.
5260
- Can be a workbook rid, asset rid, etc.
5261
- """
5262
- return self._authorization_rid
5263
-
5264
5244
  @builtins.property
5265
5245
  def timestamp(self) -> "api_Timestamp":
5266
5246
  return self._timestamp
@@ -5289,6 +5269,14 @@ Can be a workbook rid, asset rid, etc.
5289
5269
  def is_archived(self) -> bool:
5290
5270
  return self._is_archived
5291
5271
 
5272
+ @builtins.property
5273
+ def created_by(self) -> Optional[str]:
5274
+ """
5275
+ The user who created the event.
5276
+ This field may be missing for legacy events.
5277
+ """
5278
+ return self._created_by
5279
+
5292
5280
 
5293
5281
  event_Event.__name__ = "Event"
5294
5282
  event_Event.__qualname__ = "Event"
@@ -5536,7 +5524,7 @@ The Event Service is responsible for creating and retrieving events for a partic
5536
5524
 
5537
5525
  return
5538
5526
 
5539
- def search_events(self, auth_header: str, list_runs_request: "event_SearchEventsRequest") -> "event_SearchEventsResponse":
5527
+ def search_events(self, auth_header: str, request: "event_SearchEventsRequest") -> "event_SearchEventsResponse":
5540
5528
  """
5541
5529
  Searches for events that match the given filters.
5542
5530
  """
@@ -5553,7 +5541,7 @@ The Event Service is responsible for creating and retrieving events for a partic
5553
5541
  _path_params: Dict[str, Any] = {
5554
5542
  }
5555
5543
 
5556
- _json: Any = ConjureEncoder().default(list_runs_request)
5544
+ _json: Any = ConjureEncoder().default(request)
5557
5545
 
5558
5546
  _path = '/event/v1/search-events'
5559
5547
  _path = _path.format(**_path_params)
@@ -5985,7 +5973,6 @@ class event_UpdateEvent(ConjureBeanType):
5985
5973
  return {
5986
5974
  'uuid': ConjureFieldDefinition('uuid', str),
5987
5975
  'asset_rids': ConjureFieldDefinition('assetRids', OptionalTypeWrapper[List[scout_rids_api_AssetRid]]),
5988
- 'authorization_rid': ConjureFieldDefinition('authorizationRid', OptionalTypeWrapper[str]),
5989
5976
  'timestamp': ConjureFieldDefinition('timestamp', OptionalTypeWrapper[api_Timestamp]),
5990
5977
  'duration': ConjureFieldDefinition('duration', OptionalTypeWrapper[scout_run_api_Duration]),
5991
5978
  'name': ConjureFieldDefinition('name', OptionalTypeWrapper[str]),
@@ -5994,12 +5981,11 @@ class event_UpdateEvent(ConjureBeanType):
5994
5981
  'properties': ConjureFieldDefinition('properties', OptionalTypeWrapper[Dict[scout_run_api_PropertyName, scout_run_api_PropertyValue]])
5995
5982
  }
5996
5983
 
5997
- __slots__: List[str] = ['_uuid', '_asset_rids', '_authorization_rid', '_timestamp', '_duration', '_name', '_type', '_labels', '_properties']
5984
+ __slots__: List[str] = ['_uuid', '_asset_rids', '_timestamp', '_duration', '_name', '_type', '_labels', '_properties']
5998
5985
 
5999
- def __init__(self, uuid: str, asset_rids: Optional[List[str]] = None, authorization_rid: Optional[str] = None, duration: Optional["scout_run_api_Duration"] = None, labels: Optional[List[str]] = None, name: Optional[str] = None, properties: Optional[Dict[str, str]] = None, timestamp: Optional["api_Timestamp"] = None, type: Optional["event_EventType"] = None) -> None:
5986
+ def __init__(self, uuid: str, asset_rids: Optional[List[str]] = None, duration: Optional["scout_run_api_Duration"] = None, labels: Optional[List[str]] = None, name: Optional[str] = None, properties: Optional[Dict[str, str]] = None, timestamp: Optional["api_Timestamp"] = None, type: Optional["event_EventType"] = None) -> None:
6000
5987
  self._uuid = uuid
6001
5988
  self._asset_rids = asset_rids
6002
- self._authorization_rid = authorization_rid
6003
5989
  self._timestamp = timestamp
6004
5990
  self._duration = duration
6005
5991
  self._name = name
@@ -6019,10 +6005,6 @@ If provided, must contain at least one asset rid.
6019
6005
  """
6020
6006
  return self._asset_rids
6021
6007
 
6022
- @builtins.property
6023
- def authorization_rid(self) -> Optional[str]:
6024
- return self._authorization_rid
6025
-
6026
6008
  @builtins.property
6027
6009
  def timestamp(self) -> Optional["api_Timestamp"]:
6028
6010
  return self._timestamp
@@ -10953,6 +10935,36 @@ Throws if the template, branch, or commit doesn't exist.
10953
10935
  _decoder = ConjureDecoder()
10954
10936
  return _decoder.decode(_response.json(), scout_template_api_Template, self._return_none_for_unknown_union_types)
10955
10937
 
10938
+ def batch_get_metadata(self, auth_header: str, rids: List[str] = None) -> List["scout_template_api_TemplateSummary"]:
10939
+ rids = rids if rids is not None else []
10940
+
10941
+ _headers: Dict[str, Any] = {
10942
+ 'Accept': 'application/json',
10943
+ 'Content-Type': 'application/json',
10944
+ 'Authorization': auth_header,
10945
+ }
10946
+
10947
+ _params: Dict[str, Any] = {
10948
+ }
10949
+
10950
+ _path_params: Dict[str, Any] = {
10951
+ }
10952
+
10953
+ _json: Any = ConjureEncoder().default(rids)
10954
+
10955
+ _path = '/scout/v1/template/batch-get-metadata'
10956
+ _path = _path.format(**_path_params)
10957
+
10958
+ _response: Response = self._request(
10959
+ 'POST',
10960
+ self._uri + _path,
10961
+ params=_params,
10962
+ headers=_headers,
10963
+ json=_json)
10964
+
10965
+ _decoder = ConjureDecoder()
10966
+ return _decoder.decode(_response.json(), List[scout_template_api_TemplateSummary], self._return_none_for_unknown_union_types)
10967
+
10956
10968
  def save_working_state(self, auth_header: str, request: "scout_template_api_SaveTemplateRequest", template_rid: str, branch: Optional[str] = None) -> "scout_template_api_Template":
10957
10969
  """
10958
10970
  Creates a commit that may be compacted, e.g cleaned up and not exist anymore.
@@ -17450,6 +17462,29 @@ scout_chartdefinition_api_DefaultFill.__qualname__ = "DefaultFill"
17450
17462
  scout_chartdefinition_api_DefaultFill.__module__ = "nominal_api.scout_chartdefinition_api"
17451
17463
 
17452
17464
 
17465
+ class scout_chartdefinition_api_EnumCellConfig(ConjureBeanType):
17466
+
17467
+ @builtins.classmethod
17468
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
17469
+ return {
17470
+ 'visualisation': ConjureFieldDefinition('visualisation', OptionalTypeWrapper[scout_chartdefinition_api_EnumValueVisualisation])
17471
+ }
17472
+
17473
+ __slots__: List[str] = ['_visualisation']
17474
+
17475
+ def __init__(self, visualisation: Optional["scout_chartdefinition_api_EnumValueVisualisation"] = None) -> None:
17476
+ self._visualisation = visualisation
17477
+
17478
+ @builtins.property
17479
+ def visualisation(self) -> Optional["scout_chartdefinition_api_EnumValueVisualisation"]:
17480
+ return self._visualisation
17481
+
17482
+
17483
+ scout_chartdefinition_api_EnumCellConfig.__name__ = "EnumCellConfig"
17484
+ scout_chartdefinition_api_EnumCellConfig.__qualname__ = "EnumCellConfig"
17485
+ scout_chartdefinition_api_EnumCellConfig.__module__ = "nominal_api.scout_chartdefinition_api"
17486
+
17487
+
17453
17488
  class scout_chartdefinition_api_EnumRawVisualisation(ConjureBeanType):
17454
17489
  """
17455
17490
  The settings for a raw enum visualisation.
@@ -18525,6 +18560,58 @@ scout_chartdefinition_api_LineThresholdGroup.__qualname__ = "LineThresholdGroup"
18525
18560
  scout_chartdefinition_api_LineThresholdGroup.__module__ = "nominal_api.scout_chartdefinition_api"
18526
18561
 
18527
18562
 
18563
+ class scout_chartdefinition_api_NumberFormat(ConjureBeanType):
18564
+ """
18565
+ Number format for numeric cells, eg 1e4 | 10000 | 10,000.
18566
+ """
18567
+
18568
+ @builtins.classmethod
18569
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
18570
+ return {
18571
+ 'sig_figs': ConjureFieldDefinition('sigFigs', OptionalTypeWrapper[int]),
18572
+ 'display_option': ConjureFieldDefinition('displayOption', OptionalTypeWrapper[scout_chartdefinition_api_NumberFormatDisplayOption])
18573
+ }
18574
+
18575
+ __slots__: List[str] = ['_sig_figs', '_display_option']
18576
+
18577
+ def __init__(self, display_option: Optional["scout_chartdefinition_api_NumberFormatDisplayOption"] = None, sig_figs: Optional[int] = None) -> None:
18578
+ self._sig_figs = sig_figs
18579
+ self._display_option = display_option
18580
+
18581
+ @builtins.property
18582
+ def sig_figs(self) -> Optional[int]:
18583
+ return self._sig_figs
18584
+
18585
+ @builtins.property
18586
+ def display_option(self) -> Optional["scout_chartdefinition_api_NumberFormatDisplayOption"]:
18587
+ return self._display_option
18588
+
18589
+
18590
+ scout_chartdefinition_api_NumberFormat.__name__ = "NumberFormat"
18591
+ scout_chartdefinition_api_NumberFormat.__qualname__ = "NumberFormat"
18592
+ scout_chartdefinition_api_NumberFormat.__module__ = "nominal_api.scout_chartdefinition_api"
18593
+
18594
+
18595
+ class scout_chartdefinition_api_NumberFormatDisplayOption(ConjureEnumType):
18596
+
18597
+ SUCCINCT = 'SUCCINCT'
18598
+ '''SUCCINCT'''
18599
+ LOCALE = 'LOCALE'
18600
+ '''LOCALE'''
18601
+ PLAIN = 'PLAIN'
18602
+ '''PLAIN'''
18603
+ UNKNOWN = 'UNKNOWN'
18604
+ '''UNKNOWN'''
18605
+
18606
+ def __reduce_ex__(self, proto):
18607
+ return self.__class__, (self.name,)
18608
+
18609
+
18610
+ scout_chartdefinition_api_NumberFormatDisplayOption.__name__ = "NumberFormatDisplayOption"
18611
+ scout_chartdefinition_api_NumberFormatDisplayOption.__qualname__ = "NumberFormatDisplayOption"
18612
+ scout_chartdefinition_api_NumberFormatDisplayOption.__module__ = "nominal_api.scout_chartdefinition_api"
18613
+
18614
+
18528
18615
  class scout_chartdefinition_api_NumericBarGaugeVisualisation(ConjureBeanType):
18529
18616
  """
18530
18617
  The settings for a bar gauge visualisation.
@@ -18557,6 +18644,69 @@ scout_chartdefinition_api_NumericBarGaugeVisualisation.__qualname__ = "NumericBa
18557
18644
  scout_chartdefinition_api_NumericBarGaugeVisualisation.__module__ = "nominal_api.scout_chartdefinition_api"
18558
18645
 
18559
18646
 
18647
+ class scout_chartdefinition_api_NumericBarVisualisationV2(ConjureBeanType):
18648
+ """
18649
+ A numeric visualisation that will fill the cell from left to right with a colored background
18650
+ representing where the value falls inside a set range.
18651
+ The lowest and highest values in the thresholds determine the start and end of the range.
18652
+ Middle threshold values will still affect the cell's coloration.
18653
+ """
18654
+
18655
+ @builtins.classmethod
18656
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
18657
+ return {
18658
+ 'thresholds': ConjureFieldDefinition('thresholds', OptionalTypeWrapper[List[scout_chartdefinition_api_Threshold]])
18659
+ }
18660
+
18661
+ __slots__: List[str] = ['_thresholds']
18662
+
18663
+ def __init__(self, thresholds: Optional[List["scout_chartdefinition_api_Threshold"]] = None) -> None:
18664
+ self._thresholds = thresholds
18665
+
18666
+ @builtins.property
18667
+ def thresholds(self) -> Optional[List["scout_chartdefinition_api_Threshold"]]:
18668
+ """
18669
+ Modifies the visualisation based on the highest threshold value that
18670
+ the computed value equals or surpasses. The lowest and highest value will determine
18671
+ the 0% and 100% values of the bar.
18672
+ """
18673
+ return self._thresholds
18674
+
18675
+
18676
+ scout_chartdefinition_api_NumericBarVisualisationV2.__name__ = "NumericBarVisualisationV2"
18677
+ scout_chartdefinition_api_NumericBarVisualisationV2.__qualname__ = "NumericBarVisualisationV2"
18678
+ scout_chartdefinition_api_NumericBarVisualisationV2.__module__ = "nominal_api.scout_chartdefinition_api"
18679
+
18680
+
18681
+ class scout_chartdefinition_api_NumericCellConfig(ConjureBeanType):
18682
+
18683
+ @builtins.classmethod
18684
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
18685
+ return {
18686
+ 'visualisation': ConjureFieldDefinition('visualisation', OptionalTypeWrapper[scout_chartdefinition_api_NumericValueVisualisationV2]),
18687
+ 'number_format': ConjureFieldDefinition('numberFormat', OptionalTypeWrapper[scout_chartdefinition_api_NumberFormat])
18688
+ }
18689
+
18690
+ __slots__: List[str] = ['_visualisation', '_number_format']
18691
+
18692
+ def __init__(self, number_format: Optional["scout_chartdefinition_api_NumberFormat"] = None, visualisation: Optional["scout_chartdefinition_api_NumericValueVisualisationV2"] = None) -> None:
18693
+ self._visualisation = visualisation
18694
+ self._number_format = number_format
18695
+
18696
+ @builtins.property
18697
+ def visualisation(self) -> Optional["scout_chartdefinition_api_NumericValueVisualisationV2"]:
18698
+ return self._visualisation
18699
+
18700
+ @builtins.property
18701
+ def number_format(self) -> Optional["scout_chartdefinition_api_NumberFormat"]:
18702
+ return self._number_format
18703
+
18704
+
18705
+ scout_chartdefinition_api_NumericCellConfig.__name__ = "NumericCellConfig"
18706
+ scout_chartdefinition_api_NumericCellConfig.__qualname__ = "NumericCellConfig"
18707
+ scout_chartdefinition_api_NumericCellConfig.__module__ = "nominal_api.scout_chartdefinition_api"
18708
+
18709
+
18560
18710
  class scout_chartdefinition_api_NumericRawVisualisation(ConjureBeanType):
18561
18711
 
18562
18712
  @builtins.classmethod
@@ -18573,6 +18723,36 @@ scout_chartdefinition_api_NumericRawVisualisation.__qualname__ = "NumericRawVisu
18573
18723
  scout_chartdefinition_api_NumericRawVisualisation.__module__ = "nominal_api.scout_chartdefinition_api"
18574
18724
 
18575
18725
 
18726
+ class scout_chartdefinition_api_NumericRawVisualisationV2(ConjureBeanType):
18727
+ """
18728
+ A raw numeric visualisation with optional coloring based on numeric thresholds.
18729
+ """
18730
+
18731
+ @builtins.classmethod
18732
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
18733
+ return {
18734
+ 'thresholds': ConjureFieldDefinition('thresholds', OptionalTypeWrapper[List[scout_chartdefinition_api_Threshold]])
18735
+ }
18736
+
18737
+ __slots__: List[str] = ['_thresholds']
18738
+
18739
+ def __init__(self, thresholds: Optional[List["scout_chartdefinition_api_Threshold"]] = None) -> None:
18740
+ self._thresholds = thresholds
18741
+
18742
+ @builtins.property
18743
+ def thresholds(self) -> Optional[List["scout_chartdefinition_api_Threshold"]]:
18744
+ """
18745
+ Modifies the visualisation based on the highest threshold value that
18746
+ the computed value surpasses.
18747
+ """
18748
+ return self._thresholds
18749
+
18750
+
18751
+ scout_chartdefinition_api_NumericRawVisualisationV2.__name__ = "NumericRawVisualisationV2"
18752
+ scout_chartdefinition_api_NumericRawVisualisationV2.__qualname__ = "NumericRawVisualisationV2"
18753
+ scout_chartdefinition_api_NumericRawVisualisationV2.__module__ = "nominal_api.scout_chartdefinition_api"
18754
+
18755
+
18576
18756
  class scout_chartdefinition_api_NumericValueChannel(ConjureBeanType):
18577
18757
 
18578
18758
  @builtins.classmethod
@@ -18679,6 +18859,106 @@ scout_chartdefinition_api_NumericValueVisualisationVisitor.__qualname__ = "Numer
18679
18859
  scout_chartdefinition_api_NumericValueVisualisationVisitor.__module__ = "nominal_api.scout_chartdefinition_api"
18680
18860
 
18681
18861
 
18862
+ class scout_chartdefinition_api_NumericValueVisualisationV2(ConjureUnionType):
18863
+ _raw: Optional["scout_chartdefinition_api_NumericRawVisualisationV2"] = None
18864
+ _bar: Optional["scout_chartdefinition_api_NumericBarVisualisationV2"] = None
18865
+
18866
+ @builtins.classmethod
18867
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
18868
+ return {
18869
+ 'raw': ConjureFieldDefinition('raw', scout_chartdefinition_api_NumericRawVisualisationV2),
18870
+ 'bar': ConjureFieldDefinition('bar', scout_chartdefinition_api_NumericBarVisualisationV2)
18871
+ }
18872
+
18873
+ def __init__(
18874
+ self,
18875
+ raw: Optional["scout_chartdefinition_api_NumericRawVisualisationV2"] = None,
18876
+ bar: Optional["scout_chartdefinition_api_NumericBarVisualisationV2"] = None,
18877
+ type_of_union: Optional[str] = None
18878
+ ) -> None:
18879
+ if type_of_union is None:
18880
+ if (raw is not None) + (bar is not None) != 1:
18881
+ raise ValueError('a union must contain a single member')
18882
+
18883
+ if raw is not None:
18884
+ self._raw = raw
18885
+ self._type = 'raw'
18886
+ if bar is not None:
18887
+ self._bar = bar
18888
+ self._type = 'bar'
18889
+
18890
+ elif type_of_union == 'raw':
18891
+ if raw is None:
18892
+ raise ValueError('a union value must not be None')
18893
+ self._raw = raw
18894
+ self._type = 'raw'
18895
+ elif type_of_union == 'bar':
18896
+ if bar is None:
18897
+ raise ValueError('a union value must not be None')
18898
+ self._bar = bar
18899
+ self._type = 'bar'
18900
+
18901
+ @builtins.property
18902
+ def raw(self) -> Optional["scout_chartdefinition_api_NumericRawVisualisationV2"]:
18903
+ return self._raw
18904
+
18905
+ @builtins.property
18906
+ def bar(self) -> Optional["scout_chartdefinition_api_NumericBarVisualisationV2"]:
18907
+ return self._bar
18908
+
18909
+ def accept(self, visitor) -> Any:
18910
+ if not isinstance(visitor, scout_chartdefinition_api_NumericValueVisualisationV2Visitor):
18911
+ raise ValueError('{} is not an instance of scout_chartdefinition_api_NumericValueVisualisationV2Visitor'.format(visitor.__class__.__name__))
18912
+ if self._type == 'raw' and self.raw is not None:
18913
+ return visitor._raw(self.raw)
18914
+ if self._type == 'bar' and self.bar is not None:
18915
+ return visitor._bar(self.bar)
18916
+
18917
+
18918
+ scout_chartdefinition_api_NumericValueVisualisationV2.__name__ = "NumericValueVisualisationV2"
18919
+ scout_chartdefinition_api_NumericValueVisualisationV2.__qualname__ = "NumericValueVisualisationV2"
18920
+ scout_chartdefinition_api_NumericValueVisualisationV2.__module__ = "nominal_api.scout_chartdefinition_api"
18921
+
18922
+
18923
+ class scout_chartdefinition_api_NumericValueVisualisationV2Visitor:
18924
+
18925
+ @abstractmethod
18926
+ def _raw(self, raw: "scout_chartdefinition_api_NumericRawVisualisationV2") -> Any:
18927
+ pass
18928
+
18929
+ @abstractmethod
18930
+ def _bar(self, bar: "scout_chartdefinition_api_NumericBarVisualisationV2") -> Any:
18931
+ pass
18932
+
18933
+
18934
+ scout_chartdefinition_api_NumericValueVisualisationV2Visitor.__name__ = "NumericValueVisualisationV2Visitor"
18935
+ scout_chartdefinition_api_NumericValueVisualisationV2Visitor.__qualname__ = "NumericValueVisualisationV2Visitor"
18936
+ scout_chartdefinition_api_NumericValueVisualisationV2Visitor.__module__ = "nominal_api.scout_chartdefinition_api"
18937
+
18938
+
18939
+ class scout_chartdefinition_api_RangeCellConfig(ConjureBeanType):
18940
+
18941
+ @builtins.classmethod
18942
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
18943
+ return {
18944
+ 'visualisation': ConjureFieldDefinition('visualisation', OptionalTypeWrapper[scout_chartdefinition_api_RangeValueVisualisation])
18945
+ }
18946
+
18947
+ __slots__: List[str] = ['_visualisation']
18948
+
18949
+ def __init__(self, visualisation: Optional["scout_chartdefinition_api_RangeValueVisualisation"] = None) -> None:
18950
+ self._visualisation = visualisation
18951
+
18952
+ @builtins.property
18953
+ def visualisation(self) -> Optional["scout_chartdefinition_api_RangeValueVisualisation"]:
18954
+ return self._visualisation
18955
+
18956
+
18957
+ scout_chartdefinition_api_RangeCellConfig.__name__ = "RangeCellConfig"
18958
+ scout_chartdefinition_api_RangeCellConfig.__qualname__ = "RangeCellConfig"
18959
+ scout_chartdefinition_api_RangeCellConfig.__module__ = "nominal_api.scout_chartdefinition_api"
18960
+
18961
+
18682
18962
  class scout_chartdefinition_api_RangeRawVisualisation(ConjureBeanType):
18683
18963
  """
18684
18964
  The settings for a raw range visualisation.
@@ -18796,6 +19076,50 @@ scout_chartdefinition_api_RangeValueVisualisationVisitor.__qualname__ = "RangeVa
18796
19076
  scout_chartdefinition_api_RangeValueVisualisationVisitor.__module__ = "nominal_api.scout_chartdefinition_api"
18797
19077
 
18798
19078
 
19079
+ class scout_chartdefinition_api_Threshold(ConjureBeanType):
19080
+
19081
+ @builtins.classmethod
19082
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
19083
+ return {
19084
+ 'value': ConjureFieldDefinition('value', float),
19085
+ 'color': ConjureFieldDefinition('color', scout_api_HexColor),
19086
+ 'label': ConjureFieldDefinition('label', OptionalTypeWrapper[str])
19087
+ }
19088
+
19089
+ __slots__: List[str] = ['_value', '_color', '_label']
19090
+
19091
+ def __init__(self, color: str, value: float, label: Optional[str] = None) -> None:
19092
+ self._value = value
19093
+ self._color = color
19094
+ self._label = label
19095
+
19096
+ @builtins.property
19097
+ def value(self) -> float:
19098
+ """
19099
+ The minimum value a number must be to .
19100
+ """
19101
+ return self._value
19102
+
19103
+ @builtins.property
19104
+ def color(self) -> str:
19105
+ """
19106
+ The color to apply to the cell when the threshold is active.
19107
+ """
19108
+ return self._color
19109
+
19110
+ @builtins.property
19111
+ def label(self) -> Optional[str]:
19112
+ """
19113
+ A name for this threshold to display while editing.
19114
+ """
19115
+ return self._label
19116
+
19117
+
19118
+ scout_chartdefinition_api_Threshold.__name__ = "Threshold"
19119
+ scout_chartdefinition_api_Threshold.__qualname__ = "Threshold"
19120
+ scout_chartdefinition_api_Threshold.__module__ = "nominal_api.scout_chartdefinition_api"
19121
+
19122
+
18799
19123
  class scout_chartdefinition_api_ThresholdLineStyle(ConjureEnumType):
18800
19124
 
18801
19125
  DOTTED = 'DOTTED'
@@ -19090,6 +19414,133 @@ scout_chartdefinition_api_ValueAxis.__qualname__ = "ValueAxis"
19090
19414
  scout_chartdefinition_api_ValueAxis.__module__ = "nominal_api.scout_chartdefinition_api"
19091
19415
 
19092
19416
 
19417
+ class scout_chartdefinition_api_ValueTableCell(ConjureBeanType):
19418
+
19419
+ @builtins.classmethod
19420
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
19421
+ return {
19422
+ 'variable_name': ConjureFieldDefinition('variableName', str),
19423
+ 'config': ConjureFieldDefinition('config', scout_chartdefinition_api_ValueTableCellConfig)
19424
+ }
19425
+
19426
+ __slots__: List[str] = ['_variable_name', '_config']
19427
+
19428
+ def __init__(self, config: "scout_chartdefinition_api_ValueTableCellConfig", variable_name: str) -> None:
19429
+ self._variable_name = variable_name
19430
+ self._config = config
19431
+
19432
+ @builtins.property
19433
+ def variable_name(self) -> str:
19434
+ return self._variable_name
19435
+
19436
+ @builtins.property
19437
+ def config(self) -> "scout_chartdefinition_api_ValueTableCellConfig":
19438
+ return self._config
19439
+
19440
+
19441
+ scout_chartdefinition_api_ValueTableCell.__name__ = "ValueTableCell"
19442
+ scout_chartdefinition_api_ValueTableCell.__qualname__ = "ValueTableCell"
19443
+ scout_chartdefinition_api_ValueTableCell.__module__ = "nominal_api.scout_chartdefinition_api"
19444
+
19445
+
19446
+ class scout_chartdefinition_api_ValueTableCellConfig(ConjureUnionType):
19447
+ _numeric: Optional["scout_chartdefinition_api_NumericCellConfig"] = None
19448
+ _enum: Optional["scout_chartdefinition_api_EnumCellConfig"] = None
19449
+ _range: Optional["scout_chartdefinition_api_RangeCellConfig"] = None
19450
+
19451
+ @builtins.classmethod
19452
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
19453
+ return {
19454
+ 'numeric': ConjureFieldDefinition('numeric', scout_chartdefinition_api_NumericCellConfig),
19455
+ 'enum': ConjureFieldDefinition('enum', scout_chartdefinition_api_EnumCellConfig),
19456
+ 'range': ConjureFieldDefinition('range', scout_chartdefinition_api_RangeCellConfig)
19457
+ }
19458
+
19459
+ def __init__(
19460
+ self,
19461
+ numeric: Optional["scout_chartdefinition_api_NumericCellConfig"] = None,
19462
+ enum: Optional["scout_chartdefinition_api_EnumCellConfig"] = None,
19463
+ range: Optional["scout_chartdefinition_api_RangeCellConfig"] = None,
19464
+ type_of_union: Optional[str] = None
19465
+ ) -> None:
19466
+ if type_of_union is None:
19467
+ if (numeric is not None) + (enum is not None) + (range is not None) != 1:
19468
+ raise ValueError('a union must contain a single member')
19469
+
19470
+ if numeric is not None:
19471
+ self._numeric = numeric
19472
+ self._type = 'numeric'
19473
+ if enum is not None:
19474
+ self._enum = enum
19475
+ self._type = 'enum'
19476
+ if range is not None:
19477
+ self._range = range
19478
+ self._type = 'range'
19479
+
19480
+ elif type_of_union == 'numeric':
19481
+ if numeric is None:
19482
+ raise ValueError('a union value must not be None')
19483
+ self._numeric = numeric
19484
+ self._type = 'numeric'
19485
+ elif type_of_union == 'enum':
19486
+ if enum is None:
19487
+ raise ValueError('a union value must not be None')
19488
+ self._enum = enum
19489
+ self._type = 'enum'
19490
+ elif type_of_union == 'range':
19491
+ if range is None:
19492
+ raise ValueError('a union value must not be None')
19493
+ self._range = range
19494
+ self._type = 'range'
19495
+
19496
+ @builtins.property
19497
+ def numeric(self) -> Optional["scout_chartdefinition_api_NumericCellConfig"]:
19498
+ return self._numeric
19499
+
19500
+ @builtins.property
19501
+ def enum(self) -> Optional["scout_chartdefinition_api_EnumCellConfig"]:
19502
+ return self._enum
19503
+
19504
+ @builtins.property
19505
+ def range(self) -> Optional["scout_chartdefinition_api_RangeCellConfig"]:
19506
+ return self._range
19507
+
19508
+ def accept(self, visitor) -> Any:
19509
+ if not isinstance(visitor, scout_chartdefinition_api_ValueTableCellConfigVisitor):
19510
+ raise ValueError('{} is not an instance of scout_chartdefinition_api_ValueTableCellConfigVisitor'.format(visitor.__class__.__name__))
19511
+ if self._type == 'numeric' and self.numeric is not None:
19512
+ return visitor._numeric(self.numeric)
19513
+ if self._type == 'enum' and self.enum is not None:
19514
+ return visitor._enum(self.enum)
19515
+ if self._type == 'range' and self.range is not None:
19516
+ return visitor._range(self.range)
19517
+
19518
+
19519
+ scout_chartdefinition_api_ValueTableCellConfig.__name__ = "ValueTableCellConfig"
19520
+ scout_chartdefinition_api_ValueTableCellConfig.__qualname__ = "ValueTableCellConfig"
19521
+ scout_chartdefinition_api_ValueTableCellConfig.__module__ = "nominal_api.scout_chartdefinition_api"
19522
+
19523
+
19524
+ class scout_chartdefinition_api_ValueTableCellConfigVisitor:
19525
+
19526
+ @abstractmethod
19527
+ def _numeric(self, numeric: "scout_chartdefinition_api_NumericCellConfig") -> Any:
19528
+ pass
19529
+
19530
+ @abstractmethod
19531
+ def _enum(self, enum: "scout_chartdefinition_api_EnumCellConfig") -> Any:
19532
+ pass
19533
+
19534
+ @abstractmethod
19535
+ def _range(self, range: "scout_chartdefinition_api_RangeCellConfig") -> Any:
19536
+ pass
19537
+
19538
+
19539
+ scout_chartdefinition_api_ValueTableCellConfigVisitor.__name__ = "ValueTableCellConfigVisitor"
19540
+ scout_chartdefinition_api_ValueTableCellConfigVisitor.__qualname__ = "ValueTableCellConfigVisitor"
19541
+ scout_chartdefinition_api_ValueTableCellConfigVisitor.__module__ = "nominal_api.scout_chartdefinition_api"
19542
+
19543
+
19093
19544
  class scout_chartdefinition_api_ValueTableChannel(ConjureUnionType):
19094
19545
  _numeric: Optional["scout_chartdefinition_api_NumericValueChannel"] = None
19095
19546
  _enum: Optional["scout_chartdefinition_api_EnumValueChannel"] = None
@@ -19190,41 +19641,58 @@ scout_chartdefinition_api_ValueTableChannelVisitor.__module__ = "nominal_api.sco
19190
19641
 
19191
19642
  class scout_chartdefinition_api_ValueTableDefinition(ConjureUnionType):
19192
19643
  _v1: Optional["scout_chartdefinition_api_ValueTableDefinitionV1"] = None
19644
+ _v2: Optional["scout_chartdefinition_api_ValueTableDefinitionV2"] = None
19193
19645
 
19194
19646
  @builtins.classmethod
19195
19647
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
19196
19648
  return {
19197
- 'v1': ConjureFieldDefinition('v1', scout_chartdefinition_api_ValueTableDefinitionV1)
19649
+ 'v1': ConjureFieldDefinition('v1', scout_chartdefinition_api_ValueTableDefinitionV1),
19650
+ 'v2': ConjureFieldDefinition('v2', scout_chartdefinition_api_ValueTableDefinitionV2)
19198
19651
  }
19199
19652
 
19200
19653
  def __init__(
19201
19654
  self,
19202
19655
  v1: Optional["scout_chartdefinition_api_ValueTableDefinitionV1"] = None,
19656
+ v2: Optional["scout_chartdefinition_api_ValueTableDefinitionV2"] = None,
19203
19657
  type_of_union: Optional[str] = None
19204
19658
  ) -> None:
19205
19659
  if type_of_union is None:
19206
- if (v1 is not None) != 1:
19660
+ if (v1 is not None) + (v2 is not None) != 1:
19207
19661
  raise ValueError('a union must contain a single member')
19208
19662
 
19209
19663
  if v1 is not None:
19210
19664
  self._v1 = v1
19211
19665
  self._type = 'v1'
19666
+ if v2 is not None:
19667
+ self._v2 = v2
19668
+ self._type = 'v2'
19212
19669
 
19213
19670
  elif type_of_union == 'v1':
19214
19671
  if v1 is None:
19215
19672
  raise ValueError('a union value must not be None')
19216
19673
  self._v1 = v1
19217
19674
  self._type = 'v1'
19675
+ elif type_of_union == 'v2':
19676
+ if v2 is None:
19677
+ raise ValueError('a union value must not be None')
19678
+ self._v2 = v2
19679
+ self._type = 'v2'
19218
19680
 
19219
19681
  @builtins.property
19220
19682
  def v1(self) -> Optional["scout_chartdefinition_api_ValueTableDefinitionV1"]:
19221
19683
  return self._v1
19222
19684
 
19685
+ @builtins.property
19686
+ def v2(self) -> Optional["scout_chartdefinition_api_ValueTableDefinitionV2"]:
19687
+ return self._v2
19688
+
19223
19689
  def accept(self, visitor) -> Any:
19224
19690
  if not isinstance(visitor, scout_chartdefinition_api_ValueTableDefinitionVisitor):
19225
19691
  raise ValueError('{} is not an instance of scout_chartdefinition_api_ValueTableDefinitionVisitor'.format(visitor.__class__.__name__))
19226
19692
  if self._type == 'v1' and self.v1 is not None:
19227
19693
  return visitor._v1(self.v1)
19694
+ if self._type == 'v2' and self.v2 is not None:
19695
+ return visitor._v2(self.v2)
19228
19696
 
19229
19697
 
19230
19698
  scout_chartdefinition_api_ValueTableDefinition.__name__ = "ValueTableDefinition"
@@ -19238,6 +19706,10 @@ class scout_chartdefinition_api_ValueTableDefinitionVisitor:
19238
19706
  def _v1(self, v1: "scout_chartdefinition_api_ValueTableDefinitionV1") -> Any:
19239
19707
  pass
19240
19708
 
19709
+ @abstractmethod
19710
+ def _v2(self, v2: "scout_chartdefinition_api_ValueTableDefinitionV2") -> Any:
19711
+ pass
19712
+
19241
19713
 
19242
19714
  scout_chartdefinition_api_ValueTableDefinitionVisitor.__name__ = "ValueTableDefinitionVisitor"
19243
19715
  scout_chartdefinition_api_ValueTableDefinitionVisitor.__qualname__ = "ValueTableDefinitionVisitor"
@@ -19277,6 +19749,312 @@ scout_chartdefinition_api_ValueTableDefinitionV1.__qualname__ = "ValueTableDefin
19277
19749
  scout_chartdefinition_api_ValueTableDefinitionV1.__module__ = "nominal_api.scout_chartdefinition_api"
19278
19750
 
19279
19751
 
19752
+ class scout_chartdefinition_api_ValueTableDefinitionV2(ConjureBeanType):
19753
+
19754
+ @builtins.classmethod
19755
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
19756
+ return {
19757
+ 'title': ConjureFieldDefinition('title', OptionalTypeWrapper[str]),
19758
+ 'show_units': ConjureFieldDefinition('showUnits', OptionalTypeWrapper[bool]),
19759
+ 'layout': ConjureFieldDefinition('layout', scout_chartdefinition_api_ValueTableLayout)
19760
+ }
19761
+
19762
+ __slots__: List[str] = ['_title', '_show_units', '_layout']
19763
+
19764
+ def __init__(self, layout: "scout_chartdefinition_api_ValueTableLayout", show_units: Optional[bool] = None, title: Optional[str] = None) -> None:
19765
+ self._title = title
19766
+ self._show_units = show_units
19767
+ self._layout = layout
19768
+
19769
+ @builtins.property
19770
+ def title(self) -> Optional[str]:
19771
+ """
19772
+ The display title of the panel.
19773
+ """
19774
+ return self._title
19775
+
19776
+ @builtins.property
19777
+ def show_units(self) -> Optional[bool]:
19778
+ """
19779
+ If true, display units in the cells when available.
19780
+ """
19781
+ return self._show_units
19782
+
19783
+ @builtins.property
19784
+ def layout(self) -> "scout_chartdefinition_api_ValueTableLayout":
19785
+ return self._layout
19786
+
19787
+
19788
+ scout_chartdefinition_api_ValueTableDefinitionV2.__name__ = "ValueTableDefinitionV2"
19789
+ scout_chartdefinition_api_ValueTableDefinitionV2.__qualname__ = "ValueTableDefinitionV2"
19790
+ scout_chartdefinition_api_ValueTableDefinitionV2.__module__ = "nominal_api.scout_chartdefinition_api"
19791
+
19792
+
19793
+ class scout_chartdefinition_api_ValueTableGridRowColumnConfig(ConjureBeanType):
19794
+
19795
+ @builtins.classmethod
19796
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
19797
+ return {
19798
+ 'position': ConjureFieldDefinition('position', int),
19799
+ 'header': ConjureFieldDefinition('header', OptionalTypeWrapper[str]),
19800
+ 'cell_config': ConjureFieldDefinition('cellConfig', OptionalTypeWrapper[scout_chartdefinition_api_ValueTableMultiCellConfig])
19801
+ }
19802
+
19803
+ __slots__: List[str] = ['_position', '_header', '_cell_config']
19804
+
19805
+ def __init__(self, position: int, cell_config: Optional["scout_chartdefinition_api_ValueTableMultiCellConfig"] = None, header: Optional[str] = None) -> None:
19806
+ self._position = position
19807
+ self._header = header
19808
+ self._cell_config = cell_config
19809
+
19810
+ @builtins.property
19811
+ def position(self) -> int:
19812
+ """
19813
+ The index of the row or column to apply this configuration to.
19814
+ """
19815
+ return self._position
19816
+
19817
+ @builtins.property
19818
+ def header(self) -> Optional[str]:
19819
+ return self._header
19820
+
19821
+ @builtins.property
19822
+ def cell_config(self) -> Optional["scout_chartdefinition_api_ValueTableMultiCellConfig"]:
19823
+ return self._cell_config
19824
+
19825
+
19826
+ scout_chartdefinition_api_ValueTableGridRowColumnConfig.__name__ = "ValueTableGridRowColumnConfig"
19827
+ scout_chartdefinition_api_ValueTableGridRowColumnConfig.__qualname__ = "ValueTableGridRowColumnConfig"
19828
+ scout_chartdefinition_api_ValueTableGridRowColumnConfig.__module__ = "nominal_api.scout_chartdefinition_api"
19829
+
19830
+
19831
+ class scout_chartdefinition_api_ValueTableGridValueTableCell(ConjureBeanType):
19832
+
19833
+ @builtins.classmethod
19834
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
19835
+ return {
19836
+ 'row': ConjureFieldDefinition('row', int),
19837
+ 'column': ConjureFieldDefinition('column', int),
19838
+ 'cell': ConjureFieldDefinition('cell', scout_chartdefinition_api_ValueTableCell)
19839
+ }
19840
+
19841
+ __slots__: List[str] = ['_row', '_column', '_cell']
19842
+
19843
+ def __init__(self, cell: "scout_chartdefinition_api_ValueTableCell", column: int, row: int) -> None:
19844
+ self._row = row
19845
+ self._column = column
19846
+ self._cell = cell
19847
+
19848
+ @builtins.property
19849
+ def row(self) -> int:
19850
+ return self._row
19851
+
19852
+ @builtins.property
19853
+ def column(self) -> int:
19854
+ return self._column
19855
+
19856
+ @builtins.property
19857
+ def cell(self) -> "scout_chartdefinition_api_ValueTableCell":
19858
+ return self._cell
19859
+
19860
+
19861
+ scout_chartdefinition_api_ValueTableGridValueTableCell.__name__ = "ValueTableGridValueTableCell"
19862
+ scout_chartdefinition_api_ValueTableGridValueTableCell.__qualname__ = "ValueTableGridValueTableCell"
19863
+ scout_chartdefinition_api_ValueTableGridValueTableCell.__module__ = "nominal_api.scout_chartdefinition_api"
19864
+
19865
+
19866
+ class scout_chartdefinition_api_ValueTableLayout(ConjureUnionType):
19867
+ _grid: Optional["scout_chartdefinition_api_ValueTableLayoutGrid"] = None
19868
+
19869
+ @builtins.classmethod
19870
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
19871
+ return {
19872
+ 'grid': ConjureFieldDefinition('grid', scout_chartdefinition_api_ValueTableLayoutGrid)
19873
+ }
19874
+
19875
+ def __init__(
19876
+ self,
19877
+ grid: Optional["scout_chartdefinition_api_ValueTableLayoutGrid"] = None,
19878
+ type_of_union: Optional[str] = None
19879
+ ) -> None:
19880
+ if type_of_union is None:
19881
+ if (grid is not None) != 1:
19882
+ raise ValueError('a union must contain a single member')
19883
+
19884
+ if grid is not None:
19885
+ self._grid = grid
19886
+ self._type = 'grid'
19887
+
19888
+ elif type_of_union == 'grid':
19889
+ if grid is None:
19890
+ raise ValueError('a union value must not be None')
19891
+ self._grid = grid
19892
+ self._type = 'grid'
19893
+
19894
+ @builtins.property
19895
+ def grid(self) -> Optional["scout_chartdefinition_api_ValueTableLayoutGrid"]:
19896
+ return self._grid
19897
+
19898
+ def accept(self, visitor) -> Any:
19899
+ if not isinstance(visitor, scout_chartdefinition_api_ValueTableLayoutVisitor):
19900
+ raise ValueError('{} is not an instance of scout_chartdefinition_api_ValueTableLayoutVisitor'.format(visitor.__class__.__name__))
19901
+ if self._type == 'grid' and self.grid is not None:
19902
+ return visitor._grid(self.grid)
19903
+
19904
+
19905
+ scout_chartdefinition_api_ValueTableLayout.__name__ = "ValueTableLayout"
19906
+ scout_chartdefinition_api_ValueTableLayout.__qualname__ = "ValueTableLayout"
19907
+ scout_chartdefinition_api_ValueTableLayout.__module__ = "nominal_api.scout_chartdefinition_api"
19908
+
19909
+
19910
+ class scout_chartdefinition_api_ValueTableLayoutVisitor:
19911
+
19912
+ @abstractmethod
19913
+ def _grid(self, grid: "scout_chartdefinition_api_ValueTableLayoutGrid") -> Any:
19914
+ pass
19915
+
19916
+
19917
+ scout_chartdefinition_api_ValueTableLayoutVisitor.__name__ = "ValueTableLayoutVisitor"
19918
+ scout_chartdefinition_api_ValueTableLayoutVisitor.__qualname__ = "ValueTableLayoutVisitor"
19919
+ scout_chartdefinition_api_ValueTableLayoutVisitor.__module__ = "nominal_api.scout_chartdefinition_api"
19920
+
19921
+
19922
+ class scout_chartdefinition_api_ValueTableLayoutGrid(ConjureBeanType):
19923
+ """
19924
+ A 2D grid layout for the value table where cells are laid out in specific
19925
+ rows and columns. Supports hierarchical cell visualisation configurations, favoring when present:
19926
+ the cell's own definition, then the column's, then the row's, then the panel's.
19927
+ """
19928
+
19929
+ @builtins.classmethod
19930
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
19931
+ return {
19932
+ 'show_row_headers': ConjureFieldDefinition('showRowHeaders', OptionalTypeWrapper[bool]),
19933
+ 'show_column_headers': ConjureFieldDefinition('showColumnHeaders', OptionalTypeWrapper[bool]),
19934
+ 'show_cell_labels': ConjureFieldDefinition('showCellLabels', OptionalTypeWrapper[bool]),
19935
+ 'grid_default_cell_configs': ConjureFieldDefinition('gridDefaultCellConfigs', scout_chartdefinition_api_ValueTableMultiCellConfig),
19936
+ 'column_configs': ConjureFieldDefinition('columnConfigs', List[scout_chartdefinition_api_ValueTableGridRowColumnConfig]),
19937
+ 'row_configs': ConjureFieldDefinition('rowConfigs', List[scout_chartdefinition_api_ValueTableGridRowColumnConfig]),
19938
+ 'row_count': ConjureFieldDefinition('rowCount', int),
19939
+ 'column_count': ConjureFieldDefinition('columnCount', int),
19940
+ 'cells': ConjureFieldDefinition('cells', List[scout_chartdefinition_api_ValueTableGridValueTableCell])
19941
+ }
19942
+
19943
+ __slots__: List[str] = ['_show_row_headers', '_show_column_headers', '_show_cell_labels', '_grid_default_cell_configs', '_column_configs', '_row_configs', '_row_count', '_column_count', '_cells']
19944
+
19945
+ def __init__(self, cells: List["scout_chartdefinition_api_ValueTableGridValueTableCell"], column_configs: List["scout_chartdefinition_api_ValueTableGridRowColumnConfig"], column_count: int, grid_default_cell_configs: "scout_chartdefinition_api_ValueTableMultiCellConfig", row_configs: List["scout_chartdefinition_api_ValueTableGridRowColumnConfig"], row_count: int, show_cell_labels: Optional[bool] = None, show_column_headers: Optional[bool] = None, show_row_headers: Optional[bool] = None) -> None:
19946
+ self._show_row_headers = show_row_headers
19947
+ self._show_column_headers = show_column_headers
19948
+ self._show_cell_labels = show_cell_labels
19949
+ self._grid_default_cell_configs = grid_default_cell_configs
19950
+ self._column_configs = column_configs
19951
+ self._row_configs = row_configs
19952
+ self._row_count = row_count
19953
+ self._column_count = column_count
19954
+ self._cells = cells
19955
+
19956
+ @builtins.property
19957
+ def show_row_headers(self) -> Optional[bool]:
19958
+ """
19959
+ If true, display row headers.
19960
+ """
19961
+ return self._show_row_headers
19962
+
19963
+ @builtins.property
19964
+ def show_column_headers(self) -> Optional[bool]:
19965
+ """
19966
+ If true, display column headers.
19967
+ """
19968
+ return self._show_column_headers
19969
+
19970
+ @builtins.property
19971
+ def show_cell_labels(self) -> Optional[bool]:
19972
+ """
19973
+ If true, display channel names in the cells.
19974
+ """
19975
+ return self._show_cell_labels
19976
+
19977
+ @builtins.property
19978
+ def grid_default_cell_configs(self) -> "scout_chartdefinition_api_ValueTableMultiCellConfig":
19979
+ """
19980
+ Panel-level defaults for cell visualisations
19981
+ """
19982
+ return self._grid_default_cell_configs
19983
+
19984
+ @builtins.property
19985
+ def column_configs(self) -> List["scout_chartdefinition_api_ValueTableGridRowColumnConfig"]:
19986
+ """
19987
+ Column-level configurations.
19988
+ """
19989
+ return self._column_configs
19990
+
19991
+ @builtins.property
19992
+ def row_configs(self) -> List["scout_chartdefinition_api_ValueTableGridRowColumnConfig"]:
19993
+ """
19994
+ Row-level configurations.
19995
+ """
19996
+ return self._row_configs
19997
+
19998
+ @builtins.property
19999
+ def row_count(self) -> int:
20000
+ return self._row_count
20001
+
20002
+ @builtins.property
20003
+ def column_count(self) -> int:
20004
+ return self._column_count
20005
+
20006
+ @builtins.property
20007
+ def cells(self) -> List["scout_chartdefinition_api_ValueTableGridValueTableCell"]:
20008
+ """
20009
+ An array of cells to display in the table.
20010
+ """
20011
+ return self._cells
20012
+
20013
+
20014
+ scout_chartdefinition_api_ValueTableLayoutGrid.__name__ = "ValueTableLayoutGrid"
20015
+ scout_chartdefinition_api_ValueTableLayoutGrid.__qualname__ = "ValueTableLayoutGrid"
20016
+ scout_chartdefinition_api_ValueTableLayoutGrid.__module__ = "nominal_api.scout_chartdefinition_api"
20017
+
20018
+
20019
+ class scout_chartdefinition_api_ValueTableMultiCellConfig(ConjureBeanType):
20020
+ """
20021
+ Configurations for each type of cell in a grouping of heterogenous cells, such as
20022
+ for a row, for a column, or for the entire grid.
20023
+ """
20024
+
20025
+ @builtins.classmethod
20026
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
20027
+ return {
20028
+ 'range': ConjureFieldDefinition('range', OptionalTypeWrapper[scout_chartdefinition_api_RangeCellConfig]),
20029
+ 'enum': ConjureFieldDefinition('enum', OptionalTypeWrapper[scout_chartdefinition_api_EnumCellConfig]),
20030
+ 'numeric': ConjureFieldDefinition('numeric', OptionalTypeWrapper[scout_chartdefinition_api_NumericCellConfig])
20031
+ }
20032
+
20033
+ __slots__: List[str] = ['_range', '_enum', '_numeric']
20034
+
20035
+ def __init__(self, enum: Optional["scout_chartdefinition_api_EnumCellConfig"] = None, numeric: Optional["scout_chartdefinition_api_NumericCellConfig"] = None, range: Optional["scout_chartdefinition_api_RangeCellConfig"] = None) -> None:
20036
+ self._range = range
20037
+ self._enum = enum
20038
+ self._numeric = numeric
20039
+
20040
+ @builtins.property
20041
+ def range(self) -> Optional["scout_chartdefinition_api_RangeCellConfig"]:
20042
+ return self._range
20043
+
20044
+ @builtins.property
20045
+ def enum(self) -> Optional["scout_chartdefinition_api_EnumCellConfig"]:
20046
+ return self._enum
20047
+
20048
+ @builtins.property
20049
+ def numeric(self) -> Optional["scout_chartdefinition_api_NumericCellConfig"]:
20050
+ return self._numeric
20051
+
20052
+
20053
+ scout_chartdefinition_api_ValueTableMultiCellConfig.__name__ = "ValueTableMultiCellConfig"
20054
+ scout_chartdefinition_api_ValueTableMultiCellConfig.__qualname__ = "ValueTableMultiCellConfig"
20055
+ scout_chartdefinition_api_ValueTableMultiCellConfig.__module__ = "nominal_api.scout_chartdefinition_api"
20056
+
20057
+
19280
20058
  class scout_chartdefinition_api_ValueToColorMap(ConjureUnionType):
19281
20059
  """Specifies an assignment of colors across several values."""
19282
20060
  _numeric: Optional[Dict[str, float]] = None
@@ -63020,6 +63798,86 @@ See: https://github.com/vectordotdev/vector/issues/8279
63020
63798
  _decoder = ConjureDecoder()
63021
63799
  return _decoder.decode(_response.json(), bool, self._return_none_for_unknown_union_types)
63022
63800
 
63801
+ def write_nominal_batches(self, auth_header: str, data_source_rid: str, request: Any) -> None:
63802
+ """
63803
+ Synchronously writes a Nominal Write Request to a Nominal data source using the NominalWrite Protobuf schema.
63804
+ The request must be Protobuf-encoded and accompanied by the appropriate content encoding headers if compressed.
63805
+
63806
+ The request should follow this Protobuf schema:
63807
+ ```proto
63808
+ message WriteRequestNominal {
63809
+ repeated Series series = 1;
63810
+ }
63811
+
63812
+ message Series {
63813
+ Channel channel = 1;
63814
+ map<string, string> tags = 2; // Key-value pairs for series tags
63815
+ Points points = 3; // Contains either double or string points
63816
+ }
63817
+
63818
+ message Points {
63819
+ oneof points_type {
63820
+ DoublePoints double_points = 1;
63821
+ StringPoints string_points = 2;
63822
+ }
63823
+ }
63824
+
63825
+ message DoublePoints {
63826
+ repeated DoublePoint points = 1;
63827
+ }
63828
+
63829
+ message StringPoints {
63830
+ repeated StringPoint points = 1;
63831
+ }
63832
+
63833
+ message DoublePoint {
63834
+ google.protobuf.Timestamp timestamp = 1;
63835
+ double value = 2;
63836
+ }
63837
+
63838
+ message StringPoint {
63839
+ google.protobuf.Timestamp timestamp = 1;
63840
+ string value = 2;
63841
+ }
63842
+ ```
63843
+
63844
+ Each request can contain multiple series, where each series consists of:
63845
+ - A channel name
63846
+ - A map of tags (key-value pairs)
63847
+ - A collection of points, which can be either double or string values
63848
+ - Each point includes a timestamp (using google.protobuf.Timestamp) and its value
63849
+
63850
+ The endpoint requires the Content-Type header to be set to "application/x-protobuf".
63851
+ If the payload is compressed, the appropriate Content-Encoding header must be included.
63852
+ """
63853
+
63854
+ _headers: Dict[str, Any] = {
63855
+ 'Accept': 'application/json',
63856
+ 'Content-Type': 'application/octet-stream',
63857
+ 'Authorization': auth_header,
63858
+ }
63859
+
63860
+ _params: Dict[str, Any] = {
63861
+ }
63862
+
63863
+ _path_params: Dict[str, Any] = {
63864
+ 'dataSourceRid': data_source_rid,
63865
+ }
63866
+
63867
+ _data: Any = request
63868
+
63869
+ _path = '/storage/writer/v1/nominal/{dataSourceRid}'
63870
+ _path = _path.format(**_path_params)
63871
+
63872
+ _response: Response = self._request(
63873
+ 'POST',
63874
+ self._uri + _path,
63875
+ params=_params,
63876
+ headers=_headers,
63877
+ data=_data)
63878
+
63879
+ return
63880
+
63023
63881
 
63024
63882
  storage_writer_api_NominalChannelWriterService.__name__ = "NominalChannelWriterService"
63025
63883
  storage_writer_api_NominalChannelWriterService.__qualname__ = "NominalChannelWriterService"
@@ -64357,35 +65215,6 @@ timeseries_archetype_api_CreateSeriesArchetypeRequest.__qualname__ = "CreateSeri
64357
65215
  timeseries_archetype_api_CreateSeriesArchetypeRequest.__module__ = "nominal_api.timeseries_archetype_api"
64358
65216
 
64359
65217
 
64360
- class timeseries_archetype_api_CsvV3LocatorTemplate(ConjureBeanType):
64361
-
64362
- @builtins.classmethod
64363
- def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
64364
- return {
64365
- 'channel': ConjureFieldDefinition('channel', api_Channel),
64366
- 'type': ConjureFieldDefinition('type', timeseries_logicalseries_api_NominalType)
64367
- }
64368
-
64369
- __slots__: List[str] = ['_channel', '_type']
64370
-
64371
- def __init__(self, channel: str, type: "timeseries_logicalseries_api_NominalType") -> None:
64372
- self._channel = channel
64373
- self._type = type
64374
-
64375
- @builtins.property
64376
- def channel(self) -> str:
64377
- return self._channel
64378
-
64379
- @builtins.property
64380
- def type(self) -> "timeseries_logicalseries_api_NominalType":
64381
- return self._type
64382
-
64383
-
64384
- timeseries_archetype_api_CsvV3LocatorTemplate.__name__ = "CsvV3LocatorTemplate"
64385
- timeseries_archetype_api_CsvV3LocatorTemplate.__qualname__ = "CsvV3LocatorTemplate"
64386
- timeseries_archetype_api_CsvV3LocatorTemplate.__module__ = "nominal_api.timeseries_archetype_api"
64387
-
64388
-
64389
65218
  class timeseries_archetype_api_Influx1LocatorTemplate(ConjureBeanType):
64390
65219
 
64391
65220
  @builtins.classmethod
@@ -64485,7 +65314,6 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
64485
65314
  _timestream: Optional["timeseries_archetype_api_TimestreamLocatorTemplate"] = None
64486
65315
  _visual_crossing: Optional["timeseries_archetype_api_VisualCrossingLocatorTemplate"] = None
64487
65316
  _big_query: Optional["timeseries_archetype_api_BigQueryLocatorTemplate"] = None
64488
- _csv_v3: Optional["timeseries_archetype_api_CsvV3LocatorTemplate"] = None
64489
65317
 
64490
65318
  @builtins.classmethod
64491
65319
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
@@ -64496,8 +65324,7 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
64496
65324
  'nominal': ConjureFieldDefinition('nominal', timeseries_archetype_api_NominalLocatorTemplate),
64497
65325
  'timestream': ConjureFieldDefinition('timestream', timeseries_archetype_api_TimestreamLocatorTemplate),
64498
65326
  'visual_crossing': ConjureFieldDefinition('visualCrossing', timeseries_archetype_api_VisualCrossingLocatorTemplate),
64499
- 'big_query': ConjureFieldDefinition('bigQuery', timeseries_archetype_api_BigQueryLocatorTemplate),
64500
- 'csv_v3': ConjureFieldDefinition('csvV3', timeseries_archetype_api_CsvV3LocatorTemplate)
65327
+ 'big_query': ConjureFieldDefinition('bigQuery', timeseries_archetype_api_BigQueryLocatorTemplate)
64501
65328
  }
64502
65329
 
64503
65330
  def __init__(
@@ -64509,11 +65336,10 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
64509
65336
  timestream: Optional["timeseries_archetype_api_TimestreamLocatorTemplate"] = None,
64510
65337
  visual_crossing: Optional["timeseries_archetype_api_VisualCrossingLocatorTemplate"] = None,
64511
65338
  big_query: Optional["timeseries_archetype_api_BigQueryLocatorTemplate"] = None,
64512
- csv_v3: Optional["timeseries_archetype_api_CsvV3LocatorTemplate"] = None,
64513
65339
  type_of_union: Optional[str] = None
64514
65340
  ) -> None:
64515
65341
  if type_of_union is None:
64516
- if (timescale_db is not None) + (influx is not None) + (influx1 is not None) + (nominal is not None) + (timestream is not None) + (visual_crossing is not None) + (big_query is not None) + (csv_v3 is not None) != 1:
65342
+ if (timescale_db is not None) + (influx is not None) + (influx1 is not None) + (nominal is not None) + (timestream is not None) + (visual_crossing is not None) + (big_query is not None) != 1:
64517
65343
  raise ValueError('a union must contain a single member')
64518
65344
 
64519
65345
  if timescale_db is not None:
@@ -64537,9 +65363,6 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
64537
65363
  if big_query is not None:
64538
65364
  self._big_query = big_query
64539
65365
  self._type = 'bigQuery'
64540
- if csv_v3 is not None:
64541
- self._csv_v3 = csv_v3
64542
- self._type = 'csvV3'
64543
65366
 
64544
65367
  elif type_of_union == 'timescaleDb':
64545
65368
  if timescale_db is None:
@@ -64576,11 +65399,6 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
64576
65399
  raise ValueError('a union value must not be None')
64577
65400
  self._big_query = big_query
64578
65401
  self._type = 'bigQuery'
64579
- elif type_of_union == 'csvV3':
64580
- if csv_v3 is None:
64581
- raise ValueError('a union value must not be None')
64582
- self._csv_v3 = csv_v3
64583
- self._type = 'csvV3'
64584
65402
 
64585
65403
  @builtins.property
64586
65404
  def timescale_db(self) -> Optional["timeseries_archetype_api_TimescaleDbLocatorTemplate"]:
@@ -64610,10 +65428,6 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
64610
65428
  def big_query(self) -> Optional["timeseries_archetype_api_BigQueryLocatorTemplate"]:
64611
65429
  return self._big_query
64612
65430
 
64613
- @builtins.property
64614
- def csv_v3(self) -> Optional["timeseries_archetype_api_CsvV3LocatorTemplate"]:
64615
- return self._csv_v3
64616
-
64617
65431
  def accept(self, visitor) -> Any:
64618
65432
  if not isinstance(visitor, timeseries_archetype_api_LocatorTemplateVisitor):
64619
65433
  raise ValueError('{} is not an instance of timeseries_archetype_api_LocatorTemplateVisitor'.format(visitor.__class__.__name__))
@@ -64631,8 +65445,6 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
64631
65445
  return visitor._visual_crossing(self.visual_crossing)
64632
65446
  if self._type == 'bigQuery' and self.big_query is not None:
64633
65447
  return visitor._big_query(self.big_query)
64634
- if self._type == 'csvV3' and self.csv_v3 is not None:
64635
- return visitor._csv_v3(self.csv_v3)
64636
65448
 
64637
65449
 
64638
65450
  timeseries_archetype_api_LocatorTemplate.__name__ = "LocatorTemplate"
@@ -64670,10 +65482,6 @@ class timeseries_archetype_api_LocatorTemplateVisitor:
64670
65482
  def _big_query(self, big_query: "timeseries_archetype_api_BigQueryLocatorTemplate") -> Any:
64671
65483
  pass
64672
65484
 
64673
- @abstractmethod
64674
- def _csv_v3(self, csv_v3: "timeseries_archetype_api_CsvV3LocatorTemplate") -> Any:
64675
- pass
64676
-
64677
65485
 
64678
65486
  timeseries_archetype_api_LocatorTemplateVisitor.__name__ = "LocatorTemplateVisitor"
64679
65487
  timeseries_archetype_api_LocatorTemplateVisitor.__qualname__ = "LocatorTemplateVisitor"
@@ -65579,41 +66387,6 @@ timeseries_logicalseries_api_CsvLocatorV2.__qualname__ = "CsvLocatorV2"
65579
66387
  timeseries_logicalseries_api_CsvLocatorV2.__module__ = "nominal_api.timeseries_logicalseries_api"
65580
66388
 
65581
66389
 
65582
- class timeseries_logicalseries_api_CsvLocatorV3(ConjureBeanType):
65583
-
65584
- @builtins.classmethod
65585
- def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
65586
- return {
65587
- 'channel': ConjureFieldDefinition('channel', api_Channel),
65588
- 'type': ConjureFieldDefinition('type', timeseries_logicalseries_api_NominalType),
65589
- 'tags': ConjureFieldDefinition('tags', Dict[api_TagName, api_TagValue])
65590
- }
65591
-
65592
- __slots__: List[str] = ['_channel', '_type', '_tags']
65593
-
65594
- def __init__(self, channel: str, tags: Dict[str, str], type: "timeseries_logicalseries_api_NominalType") -> None:
65595
- self._channel = channel
65596
- self._type = type
65597
- self._tags = tags
65598
-
65599
- @builtins.property
65600
- def channel(self) -> str:
65601
- return self._channel
65602
-
65603
- @builtins.property
65604
- def type(self) -> "timeseries_logicalseries_api_NominalType":
65605
- return self._type
65606
-
65607
- @builtins.property
65608
- def tags(self) -> Dict[str, str]:
65609
- return self._tags
65610
-
65611
-
65612
- timeseries_logicalseries_api_CsvLocatorV3.__name__ = "CsvLocatorV3"
65613
- timeseries_logicalseries_api_CsvLocatorV3.__qualname__ = "CsvLocatorV3"
65614
- timeseries_logicalseries_api_CsvLocatorV3.__module__ = "nominal_api.timeseries_logicalseries_api"
65615
-
65616
-
65617
66390
  class timeseries_logicalseries_api_Empty(ConjureBeanType):
65618
66391
 
65619
66392
  @builtins.classmethod
@@ -65820,7 +66593,6 @@ timeseries_logicalseries_api_InfluxType.__module__ = "nominal_api.timeseries_log
65820
66593
  class timeseries_logicalseries_api_Locator(ConjureUnionType):
65821
66594
  _csv_locator: Optional["timeseries_logicalseries_api_CsvLocator"] = None
65822
66595
  _csv_v2: Optional["timeseries_logicalseries_api_CsvLocatorV2"] = None
65823
- _csv_v3: Optional["timeseries_logicalseries_api_CsvLocatorV3"] = None
65824
66596
  _timescale_db_locator: Optional["timeseries_logicalseries_api_TimescaleDbLocator"] = None
65825
66597
  _influx_locator: Optional["timeseries_logicalseries_api_Influx2Locator"] = None
65826
66598
  _influx1_locator: Optional["timeseries_logicalseries_api_Influx1Locator"] = None
@@ -65834,7 +66606,6 @@ class timeseries_logicalseries_api_Locator(ConjureUnionType):
65834
66606
  return {
65835
66607
  'csv_locator': ConjureFieldDefinition('csvLocator', timeseries_logicalseries_api_CsvLocator),
65836
66608
  'csv_v2': ConjureFieldDefinition('csvV2', timeseries_logicalseries_api_CsvLocatorV2),
65837
- 'csv_v3': ConjureFieldDefinition('csvV3', timeseries_logicalseries_api_CsvLocatorV3),
65838
66609
  'timescale_db_locator': ConjureFieldDefinition('timescaleDbLocator', timeseries_logicalseries_api_TimescaleDbLocator),
65839
66610
  'influx_locator': ConjureFieldDefinition('influxLocator', timeseries_logicalseries_api_Influx2Locator),
65840
66611
  'influx1_locator': ConjureFieldDefinition('influx1Locator', timeseries_logicalseries_api_Influx1Locator),
@@ -65848,7 +66619,6 @@ class timeseries_logicalseries_api_Locator(ConjureUnionType):
65848
66619
  self,
65849
66620
  csv_locator: Optional["timeseries_logicalseries_api_CsvLocator"] = None,
65850
66621
  csv_v2: Optional["timeseries_logicalseries_api_CsvLocatorV2"] = None,
65851
- csv_v3: Optional["timeseries_logicalseries_api_CsvLocatorV3"] = None,
65852
66622
  timescale_db_locator: Optional["timeseries_logicalseries_api_TimescaleDbLocator"] = None,
65853
66623
  influx_locator: Optional["timeseries_logicalseries_api_Influx2Locator"] = None,
65854
66624
  influx1_locator: Optional["timeseries_logicalseries_api_Influx1Locator"] = None,
@@ -65859,7 +66629,7 @@ class timeseries_logicalseries_api_Locator(ConjureUnionType):
65859
66629
  type_of_union: Optional[str] = None
65860
66630
  ) -> None:
65861
66631
  if type_of_union is None:
65862
- if (csv_locator is not None) + (csv_v2 is not None) + (csv_v3 is not None) + (timescale_db_locator is not None) + (influx_locator is not None) + (influx1_locator is not None) + (nominal_locator is not None) + (timestream_locator is not None) + (visual_crossing_locator is not None) + (big_query_locator is not None) != 1:
66632
+ if (csv_locator is not None) + (csv_v2 is not None) + (timescale_db_locator is not None) + (influx_locator is not None) + (influx1_locator is not None) + (nominal_locator is not None) + (timestream_locator is not None) + (visual_crossing_locator is not None) + (big_query_locator is not None) != 1:
65863
66633
  raise ValueError('a union must contain a single member')
65864
66634
 
65865
66635
  if csv_locator is not None:
@@ -65868,9 +66638,6 @@ class timeseries_logicalseries_api_Locator(ConjureUnionType):
65868
66638
  if csv_v2 is not None:
65869
66639
  self._csv_v2 = csv_v2
65870
66640
  self._type = 'csvV2'
65871
- if csv_v3 is not None:
65872
- self._csv_v3 = csv_v3
65873
- self._type = 'csvV3'
65874
66641
  if timescale_db_locator is not None:
65875
66642
  self._timescale_db_locator = timescale_db_locator
65876
66643
  self._type = 'timescaleDbLocator'
@@ -65903,11 +66670,6 @@ class timeseries_logicalseries_api_Locator(ConjureUnionType):
65903
66670
  raise ValueError('a union value must not be None')
65904
66671
  self._csv_v2 = csv_v2
65905
66672
  self._type = 'csvV2'
65906
- elif type_of_union == 'csvV3':
65907
- if csv_v3 is None:
65908
- raise ValueError('a union value must not be None')
65909
- self._csv_v3 = csv_v3
65910
- self._type = 'csvV3'
65911
66673
  elif type_of_union == 'timescaleDbLocator':
65912
66674
  if timescale_db_locator is None:
65913
66675
  raise ValueError('a union value must not be None')
@@ -65952,10 +66714,6 @@ class timeseries_logicalseries_api_Locator(ConjureUnionType):
65952
66714
  def csv_v2(self) -> Optional["timeseries_logicalseries_api_CsvLocatorV2"]:
65953
66715
  return self._csv_v2
65954
66716
 
65955
- @builtins.property
65956
- def csv_v3(self) -> Optional["timeseries_logicalseries_api_CsvLocatorV3"]:
65957
- return self._csv_v3
65958
-
65959
66717
  @builtins.property
65960
66718
  def timescale_db_locator(self) -> Optional["timeseries_logicalseries_api_TimescaleDbLocator"]:
65961
66719
  return self._timescale_db_locator
@@ -65991,8 +66749,6 @@ class timeseries_logicalseries_api_Locator(ConjureUnionType):
65991
66749
  return visitor._csv_locator(self.csv_locator)
65992
66750
  if self._type == 'csvV2' and self.csv_v2 is not None:
65993
66751
  return visitor._csv_v2(self.csv_v2)
65994
- if self._type == 'csvV3' and self.csv_v3 is not None:
65995
- return visitor._csv_v3(self.csv_v3)
65996
66752
  if self._type == 'timescaleDbLocator' and self.timescale_db_locator is not None:
65997
66753
  return visitor._timescale_db_locator(self.timescale_db_locator)
65998
66754
  if self._type == 'influxLocator' and self.influx_locator is not None:
@@ -66024,10 +66780,6 @@ class timeseries_logicalseries_api_LocatorVisitor:
66024
66780
  def _csv_v2(self, csv_v2: "timeseries_logicalseries_api_CsvLocatorV2") -> Any:
66025
66781
  pass
66026
66782
 
66027
- @abstractmethod
66028
- def _csv_v3(self, csv_v3: "timeseries_logicalseries_api_CsvLocatorV3") -> Any:
66029
- pass
66030
-
66031
66783
  @abstractmethod
66032
66784
  def _timescale_db_locator(self, timescale_db_locator: "timeseries_logicalseries_api_TimescaleDbLocator") -> Any:
66033
66785
  pass