nominal-api 0.654.0__tar.gz → 0.655.0__tar.gz

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.

Files changed (82) hide show
  1. {nominal_api-0.654.0 → nominal_api-0.655.0}/PKG-INFO +1 -1
  2. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/__init__.py +1 -1
  3. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/_impl.py +162 -19
  4. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/ingest_api/__init__.py +3 -0
  5. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/ingest_workflow_api/__init__.py +3 -0
  6. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api.egg-info/PKG-INFO +1 -1
  7. {nominal_api-0.654.0 → nominal_api-0.655.0}/setup.py +1 -1
  8. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/api/__init__.py +0 -0
  9. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/api_ids/__init__.py +0 -0
  10. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/api_rids/__init__.py +0 -0
  11. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/attachments_api/__init__.py +0 -0
  12. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/authentication_api/__init__.py +0 -0
  13. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/authorization/__init__.py +0 -0
  14. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/comments_api/__init__.py +0 -0
  15. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/connect_download/__init__.py +0 -0
  16. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/datasource/__init__.py +0 -0
  17. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/datasource_api/__init__.py +0 -0
  18. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/datasource_logset/__init__.py +0 -0
  19. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/datasource_logset_api/__init__.py +0 -0
  20. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/datasource_pagination_api/__init__.py +0 -0
  21. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/event/__init__.py +0 -0
  22. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/persistent_compute_api/__init__.py +0 -0
  23. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/py.typed +0 -0
  24. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout/__init__.py +0 -0
  25. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_api/__init__.py +0 -0
  26. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_asset_api/__init__.py +0 -0
  27. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_assets/__init__.py +0 -0
  28. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_catalog/__init__.py +0 -0
  29. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_channelvariables_api/__init__.py +0 -0
  30. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_chart_api/__init__.py +0 -0
  31. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_chartdefinition_api/__init__.py +0 -0
  32. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_checklistexecution_api/__init__.py +0 -0
  33. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_checks_api/__init__.py +0 -0
  34. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_comparisonnotebook_api/__init__.py +0 -0
  35. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_comparisonrun_api/__init__.py +0 -0
  36. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_compute_api/__init__.py +0 -0
  37. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_compute_api_deprecated/__init__.py +0 -0
  38. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_compute_resolved_api/__init__.py +0 -0
  39. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_dataexport_api/__init__.py +0 -0
  40. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_datareview_api/__init__.py +0 -0
  41. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_datasource/__init__.py +0 -0
  42. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_datasource_connection/__init__.py +0 -0
  43. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_datasource_connection_api/__init__.py +0 -0
  44. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_datasource_connection_api_influx/__init__.py +0 -0
  45. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_favorites/__init__.py +0 -0
  46. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_favorites_api/__init__.py +0 -0
  47. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_integrations_api/__init__.py +0 -0
  48. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_internal_search_api/__init__.py +0 -0
  49. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_jobs_api/__init__.py +0 -0
  50. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_layout_api/__init__.py +0 -0
  51. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_metadata/__init__.py +0 -0
  52. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_notebook_api/__init__.py +0 -0
  53. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_plotting/__init__.py +0 -0
  54. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_rids_api/__init__.py +0 -0
  55. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_run_api/__init__.py +0 -0
  56. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_template_api/__init__.py +0 -0
  57. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_units_api/__init__.py +0 -0
  58. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_versioning_api/__init__.py +0 -0
  59. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_video/__init__.py +0 -0
  60. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_video_api/__init__.py +0 -0
  61. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/scout_workbookcommon_api/__init__.py +0 -0
  62. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/secrets_api/__init__.py +0 -0
  63. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/security_api_workspace/__init__.py +0 -0
  64. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/storage_datasource_api/__init__.py +0 -0
  65. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/storage_deletion_api/__init__.py +0 -0
  66. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/storage_series_api/__init__.py +0 -0
  67. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/storage_writer_api/__init__.py +0 -0
  68. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/themes_api/__init__.py +0 -0
  69. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/timeseries_archetype/__init__.py +0 -0
  70. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/timeseries_archetype_api/__init__.py +0 -0
  71. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/timeseries_channelmetadata/__init__.py +0 -0
  72. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/timeseries_channelmetadata_api/__init__.py +0 -0
  73. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/timeseries_logicalseries/__init__.py +0 -0
  74. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/timeseries_logicalseries_api/__init__.py +0 -0
  75. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/timeseries_seriescache/__init__.py +0 -0
  76. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/timeseries_seriescache_api/__init__.py +0 -0
  77. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api/upload_api/__init__.py +0 -0
  78. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api.egg-info/SOURCES.txt +0 -0
  79. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api.egg-info/dependency_links.txt +0 -0
  80. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api.egg-info/requires.txt +0 -0
  81. {nominal_api-0.654.0 → nominal_api-0.655.0}/nominal_api.egg-info/top_level.txt +0 -0
  82. {nominal_api-0.654.0 → nominal_api-0.655.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nominal-api
3
- Version: 0.654.0
3
+ Version: 0.655.0
4
4
  Requires-Python: >=3.8
5
5
  Requires-Dist: requests
6
6
  Requires-Dist: conjure-python-client<3,>=2.8.0
@@ -75,5 +75,5 @@ __all__ = [
75
75
 
76
76
  __conjure_generator_version__ = "4.9.0"
77
77
 
78
- __version__ = "0.654.0"
78
+ __version__ = "0.655.0"
79
79
 
@@ -7621,16 +7621,16 @@ class ingest_api_ContainerizedOpts(ConjureBeanType):
7621
7621
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
7622
7622
  return {
7623
7623
  'sources': ConjureFieldDefinition('sources', Dict[ingest_api_EnvironmentVariable, ingest_api_IngestSource]),
7624
- 'extractor': ConjureFieldDefinition('extractor', ingest_api_ContainerizedExtractorRid),
7624
+ 'extractor_rid': ConjureFieldDefinition('extractorRid', ingest_api_ContainerizedExtractorRid),
7625
7625
  'tag': ConjureFieldDefinition('tag', OptionalTypeWrapper[str]),
7626
7626
  'target': ConjureFieldDefinition('target', ingest_api_DatasetIngestTarget)
7627
7627
  }
7628
7628
 
7629
- __slots__: List[str] = ['_sources', '_extractor', '_tag', '_target']
7629
+ __slots__: List[str] = ['_sources', '_extractor_rid', '_tag', '_target']
7630
7630
 
7631
- def __init__(self, extractor: str, sources: Dict[str, "ingest_api_IngestSource"], target: "ingest_api_DatasetIngestTarget", tag: Optional[str] = None) -> None:
7631
+ def __init__(self, extractor_rid: str, sources: Dict[str, "ingest_api_IngestSource"], target: "ingest_api_DatasetIngestTarget", tag: Optional[str] = None) -> None:
7632
7632
  self._sources = sources
7633
- self._extractor = extractor
7633
+ self._extractor_rid = extractor_rid
7634
7634
  self._tag = tag
7635
7635
  self._target = target
7636
7636
 
@@ -7639,8 +7639,8 @@ class ingest_api_ContainerizedOpts(ConjureBeanType):
7639
7639
  return self._sources
7640
7640
 
7641
7641
  @builtins.property
7642
- def extractor(self) -> str:
7643
- return self._extractor
7642
+ def extractor_rid(self) -> str:
7643
+ return self._extractor_rid
7644
7644
 
7645
7645
  @builtins.property
7646
7646
  def tag(self) -> Optional[str]:
@@ -8228,16 +8228,18 @@ class ingest_api_FileExtractionInput(ConjureBeanType):
8228
8228
  'environment_variable': ConjureFieldDefinition('environmentVariable', ingest_api_EnvironmentVariable),
8229
8229
  'name': ConjureFieldDefinition('name', str),
8230
8230
  'description': ConjureFieldDefinition('description', OptionalTypeWrapper[str]),
8231
- 'regex': ConjureFieldDefinition('regex', OptionalTypeWrapper[str])
8231
+ 'file_filters': ConjureFieldDefinition('fileFilters', List[ingest_api_FileFilter]),
8232
+ 'required': ConjureFieldDefinition('required', OptionalTypeWrapper[bool])
8232
8233
  }
8233
8234
 
8234
- __slots__: List[str] = ['_environment_variable', '_name', '_description', '_regex']
8235
+ __slots__: List[str] = ['_environment_variable', '_name', '_description', '_file_filters', '_required']
8235
8236
 
8236
- def __init__(self, environment_variable: str, name: str, description: Optional[str] = None, regex: Optional[str] = None) -> None:
8237
+ def __init__(self, environment_variable: str, file_filters: List["ingest_api_FileFilter"], name: str, description: Optional[str] = None, required: Optional[bool] = None) -> None:
8237
8238
  self._environment_variable = environment_variable
8238
8239
  self._name = name
8239
8240
  self._description = description
8240
- self._regex = regex
8241
+ self._file_filters = file_filters
8242
+ self._required = required
8241
8243
 
8242
8244
  @builtins.property
8243
8245
  def environment_variable(self) -> str:
@@ -8261,11 +8263,18 @@ class ingest_api_FileExtractionInput(ConjureBeanType):
8261
8263
  return self._description
8262
8264
 
8263
8265
  @builtins.property
8264
- def regex(self) -> Optional[str]:
8266
+ def file_filters(self) -> List["ingest_api_FileFilter"]:
8265
8267
  """
8266
- Optionally filter files by regex for file selection. Will not be enforced at runtime, so containers need to handle their own validation.
8268
+ Optionally filter files for file selection
8267
8269
  """
8268
- return self._regex
8270
+ return self._file_filters
8271
+
8272
+ @builtins.property
8273
+ def required(self) -> Optional[bool]:
8274
+ """
8275
+ Whether the input file is required for the extractor to run.
8276
+ """
8277
+ return self._required
8269
8278
 
8270
8279
 
8271
8280
  ingest_api_FileExtractionInput.__name__ = "FileExtractionInput"
@@ -8273,6 +8282,62 @@ ingest_api_FileExtractionInput.__qualname__ = "FileExtractionInput"
8273
8282
  ingest_api_FileExtractionInput.__module__ = "nominal_api.ingest_api"
8274
8283
 
8275
8284
 
8285
+ class ingest_api_FileFilter(ConjureUnionType):
8286
+ _suffix: Optional[str] = None
8287
+
8288
+ @builtins.classmethod
8289
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
8290
+ return {
8291
+ 'suffix': ConjureFieldDefinition('suffix', ingest_api_FileSuffix)
8292
+ }
8293
+
8294
+ def __init__(
8295
+ self,
8296
+ suffix: Optional[str] = None,
8297
+ type_of_union: Optional[str] = None
8298
+ ) -> None:
8299
+ if type_of_union is None:
8300
+ if (suffix is not None) != 1:
8301
+ raise ValueError('a union must contain a single member')
8302
+
8303
+ if suffix is not None:
8304
+ self._suffix = suffix
8305
+ self._type = 'suffix'
8306
+
8307
+ elif type_of_union == 'suffix':
8308
+ if suffix is None:
8309
+ raise ValueError('a union value must not be None')
8310
+ self._suffix = suffix
8311
+ self._type = 'suffix'
8312
+
8313
+ @builtins.property
8314
+ def suffix(self) -> Optional[str]:
8315
+ return self._suffix
8316
+
8317
+ def accept(self, visitor) -> Any:
8318
+ if not isinstance(visitor, ingest_api_FileFilterVisitor):
8319
+ raise ValueError('{} is not an instance of ingest_api_FileFilterVisitor'.format(visitor.__class__.__name__))
8320
+ if self._type == 'suffix' and self.suffix is not None:
8321
+ return visitor._suffix(self.suffix)
8322
+
8323
+
8324
+ ingest_api_FileFilter.__name__ = "FileFilter"
8325
+ ingest_api_FileFilter.__qualname__ = "FileFilter"
8326
+ ingest_api_FileFilter.__module__ = "nominal_api.ingest_api"
8327
+
8328
+
8329
+ class ingest_api_FileFilterVisitor:
8330
+
8331
+ @abstractmethod
8332
+ def _suffix(self, suffix: str) -> Any:
8333
+ pass
8334
+
8335
+
8336
+ ingest_api_FileFilterVisitor.__name__ = "FileFilterVisitor"
8337
+ ingest_api_FileFilterVisitor.__qualname__ = "FileFilterVisitor"
8338
+ ingest_api_FileFilterVisitor.__module__ = "nominal_api.ingest_api"
8339
+
8340
+
8276
8341
  class ingest_api_GcsIngestSource(ConjureBeanType):
8277
8342
 
8278
8343
  @builtins.classmethod
@@ -10885,6 +10950,7 @@ class ingest_api_ReingestDatasetsRequest(ConjureBeanType):
10885
10950
  """
10886
10951
  The datasets to reingest data from. Can only include tagless, non-streaming datasets (V1).
10887
10952
  The datasets must be of the same granularity and must only include CSV or Parquet files.
10953
+ Will attempt to reingest from datasets in list order.
10888
10954
  """
10889
10955
  return self._source_datasets
10890
10956
 
@@ -12125,20 +12191,20 @@ class ingest_workflow_api_EnsureExtractorJobCreatedRequest(ConjureBeanType):
12125
12191
  'ingest_job_uuid': ConjureFieldDefinition('ingestJobUuid', str),
12126
12192
  'containerized_extractor': ConjureFieldDefinition('containerizedExtractor', ingest_api_ContainerizedExtractor),
12127
12193
  'tag': ConjureFieldDefinition('tag', str),
12128
- 'source_handles': ConjureFieldDefinition('sourceHandles', Dict[str, scout_catalog_S3Handle]),
12194
+ 'validated_file_inputs': ConjureFieldDefinition('validatedFileInputs', List[ingest_workflow_api_ValidatedFileInput]),
12129
12195
  'multipart_upload_details': ConjureFieldDefinition('multipartUploadDetails', ingest_workflow_api_MultipartUploadDetails),
12130
12196
  'image_pull_secret_name': ConjureFieldDefinition('imagePullSecretName', OptionalTypeWrapper[str])
12131
12197
  }
12132
12198
 
12133
- __slots__: List[str] = ['_bearer_token', '_workspace_rid', '_ingest_job_uuid', '_containerized_extractor', '_tag', '_source_handles', '_multipart_upload_details', '_image_pull_secret_name']
12199
+ __slots__: List[str] = ['_bearer_token', '_workspace_rid', '_ingest_job_uuid', '_containerized_extractor', '_tag', '_validated_file_inputs', '_multipart_upload_details', '_image_pull_secret_name']
12134
12200
 
12135
- def __init__(self, bearer_token: str, containerized_extractor: "ingest_api_ContainerizedExtractor", ingest_job_uuid: str, multipart_upload_details: "ingest_workflow_api_MultipartUploadDetails", source_handles: Dict[str, "scout_catalog_S3Handle"], tag: str, workspace_rid: str, image_pull_secret_name: Optional[str] = None) -> None:
12201
+ def __init__(self, bearer_token: str, containerized_extractor: "ingest_api_ContainerizedExtractor", ingest_job_uuid: str, multipart_upload_details: "ingest_workflow_api_MultipartUploadDetails", tag: str, validated_file_inputs: List["ingest_workflow_api_ValidatedFileInput"], workspace_rid: str, image_pull_secret_name: Optional[str] = None) -> None:
12136
12202
  self._bearer_token = bearer_token
12137
12203
  self._workspace_rid = workspace_rid
12138
12204
  self._ingest_job_uuid = ingest_job_uuid
12139
12205
  self._containerized_extractor = containerized_extractor
12140
12206
  self._tag = tag
12141
- self._source_handles = source_handles
12207
+ self._validated_file_inputs = validated_file_inputs
12142
12208
  self._multipart_upload_details = multipart_upload_details
12143
12209
  self._image_pull_secret_name = image_pull_secret_name
12144
12210
 
@@ -12163,8 +12229,8 @@ class ingest_workflow_api_EnsureExtractorJobCreatedRequest(ConjureBeanType):
12163
12229
  return self._tag
12164
12230
 
12165
12231
  @builtins.property
12166
- def source_handles(self) -> Dict[str, "scout_catalog_S3Handle"]:
12167
- return self._source_handles
12232
+ def validated_file_inputs(self) -> List["ingest_workflow_api_ValidatedFileInput"]:
12233
+ return self._validated_file_inputs
12168
12234
 
12169
12235
  @builtins.property
12170
12236
  def multipart_upload_details(self) -> "ingest_workflow_api_MultipartUploadDetails":
@@ -12721,6 +12787,35 @@ ingest_workflow_api_ObjectLocator.__qualname__ = "ObjectLocator"
12721
12787
  ingest_workflow_api_ObjectLocator.__module__ = "nominal_api.ingest_workflow_api"
12722
12788
 
12723
12789
 
12790
+ class ingest_workflow_api_PresignedFileInput(ConjureBeanType):
12791
+
12792
+ @builtins.classmethod
12793
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
12794
+ return {
12795
+ 'url': ConjureFieldDefinition('url', ingest_workflow_api_PresignedUrl),
12796
+ 'input': ConjureFieldDefinition('input', ingest_workflow_api_ValidatedFileInput)
12797
+ }
12798
+
12799
+ __slots__: List[str] = ['_url', '_input']
12800
+
12801
+ def __init__(self, input: "ingest_workflow_api_ValidatedFileInput", url: str) -> None:
12802
+ self._url = url
12803
+ self._input = input
12804
+
12805
+ @builtins.property
12806
+ def url(self) -> str:
12807
+ return self._url
12808
+
12809
+ @builtins.property
12810
+ def input(self) -> "ingest_workflow_api_ValidatedFileInput":
12811
+ return self._input
12812
+
12813
+
12814
+ ingest_workflow_api_PresignedFileInput.__name__ = "PresignedFileInput"
12815
+ ingest_workflow_api_PresignedFileInput.__qualname__ = "PresignedFileInput"
12816
+ ingest_workflow_api_PresignedFileInput.__module__ = "nominal_api.ingest_workflow_api"
12817
+
12818
+
12724
12819
  class ingest_workflow_api_TimeUnitSeconds(ConjureEnumType):
12725
12820
 
12726
12821
  SECONDS = 'SECONDS'
@@ -12737,6 +12832,50 @@ ingest_workflow_api_TimeUnitSeconds.__qualname__ = "TimeUnitSeconds"
12737
12832
  ingest_workflow_api_TimeUnitSeconds.__module__ = "nominal_api.ingest_workflow_api"
12738
12833
 
12739
12834
 
12835
+ class ingest_workflow_api_ValidatedFileInput(ConjureBeanType):
12836
+
12837
+ @builtins.classmethod
12838
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
12839
+ return {
12840
+ 'handle': ConjureFieldDefinition('handle', scout_catalog_S3Handle),
12841
+ 'file_name': ConjureFieldDefinition('fileName', str),
12842
+ 'env_var': ConjureFieldDefinition('envVar', str)
12843
+ }
12844
+
12845
+ __slots__: List[str] = ['_handle', '_file_name', '_env_var']
12846
+
12847
+ def __init__(self, env_var: str, file_name: str, handle: "scout_catalog_S3Handle") -> None:
12848
+ self._handle = handle
12849
+ self._file_name = file_name
12850
+ self._env_var = env_var
12851
+
12852
+ @builtins.property
12853
+ def handle(self) -> "scout_catalog_S3Handle":
12854
+ """
12855
+ Path to the input file in S3.
12856
+ """
12857
+ return self._handle
12858
+
12859
+ @builtins.property
12860
+ def file_name(self) -> str:
12861
+ """
12862
+ Name of the file that will be placed on disk.
12863
+ """
12864
+ return self._file_name
12865
+
12866
+ @builtins.property
12867
+ def env_var(self) -> str:
12868
+ """
12869
+ Environment variable that will store the path to the file.
12870
+ """
12871
+ return self._env_var
12872
+
12873
+
12874
+ ingest_workflow_api_ValidatedFileInput.__name__ = "ValidatedFileInput"
12875
+ ingest_workflow_api_ValidatedFileInput.__qualname__ = "ValidatedFileInput"
12876
+ ingest_workflow_api_ValidatedFileInput.__module__ = "nominal_api.ingest_workflow_api"
12877
+
12878
+
12740
12879
  class persistent_compute_api_AppendResult(ConjureBeanType):
12741
12880
  """
12742
12881
  An append result won't cover the full `StreamingComputeNodeRequest#windowWidth` but rather just a smaller
@@ -79791,6 +79930,8 @@ scout_rids_api_SnapshotRid = str
79791
79930
 
79792
79931
  scout_units_api_UnitName = str
79793
79932
 
79933
+ ingest_api_FileSuffix = str
79934
+
79794
79935
  scout_datasource_connection_api_TableName = str
79795
79936
 
79796
79937
  timeseries_seriescache_api_Resolution = int
@@ -79937,6 +80078,8 @@ scout_video_api_ErrorType = str
79937
80078
 
79938
80079
  scout_comparisonnotebook_api_ComparisonChannelVariableMap = Dict[scout_comparisonnotebook_api_VariableName, scout_comparisonnotebook_api_ChannelVariable]
79939
80080
 
80081
+ ingest_workflow_api_PresignedUrl = str
80082
+
79940
80083
  timeseries_logicalseries_api_FieldName = str
79941
80084
 
79942
80085
  scout_channelvariables_api_WorkbookChannelVariableMap = Dict[scout_channelvariables_api_ChannelVariableName, scout_channelvariables_api_ChannelVariable]
@@ -30,6 +30,9 @@ from .._impl import (
30
30
  ingest_api_ExistingDatasetIngestDestination as ExistingDatasetIngestDestination,
31
31
  ingest_api_ExistingVideoIngestDestination as ExistingVideoIngestDestination,
32
32
  ingest_api_FileExtractionInput as FileExtractionInput,
33
+ ingest_api_FileFilter as FileFilter,
34
+ ingest_api_FileFilterVisitor as FileFilterVisitor,
35
+ ingest_api_FileSuffix as FileSuffix,
33
36
  ingest_api_GcsIngestSource as GcsIngestSource,
34
37
  ingest_api_GetContainerizedExtractorsRequest as GetContainerizedExtractorsRequest,
35
38
  ingest_api_GetContainerizedExtractorsResponse as GetContainerizedExtractorsResponse,
@@ -20,6 +20,9 @@ from .._impl import (
20
20
  ingest_workflow_api_McapTopicName as McapTopicName,
21
21
  ingest_workflow_api_MultipartUploadDetails as MultipartUploadDetails,
22
22
  ingest_workflow_api_ObjectLocator as ObjectLocator,
23
+ ingest_workflow_api_PresignedFileInput as PresignedFileInput,
24
+ ingest_workflow_api_PresignedUrl as PresignedUrl,
23
25
  ingest_workflow_api_TimeUnitSeconds as TimeUnitSeconds,
26
+ ingest_workflow_api_ValidatedFileInput as ValidatedFileInput,
24
27
  )
25
28
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nominal-api
3
- Version: 0.654.0
3
+ Version: 0.655.0
4
4
  Requires-Python: >=3.8
5
5
  Requires-Dist: requests
6
6
  Requires-Dist: conjure-python-client<3,>=2.8.0
@@ -6,7 +6,7 @@ from setuptools import (
6
6
 
7
7
  setup(
8
8
  name='nominal-api',
9
- version='0.654.0',
9
+ version='0.655.0',
10
10
  python_requires='>=3.8',
11
11
  package_data={"": ["py.typed"]},
12
12
  packages=find_packages(),
File without changes