hiddenlayer-sdk 2.0.2__py3-none-any.whl → 2.0.4__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.
- hiddenlayer/sdk/rest/__init__.py +5 -2
- hiddenlayer/sdk/rest/api/__init__.py +1 -0
- hiddenlayer/sdk/rest/api/aidr_predictive_api.py +2 -2
- hiddenlayer/sdk/rest/api/health_api.py +2 -2
- hiddenlayer/sdk/rest/api/model_api.py +559 -0
- hiddenlayer/sdk/rest/api/model_supply_chain_api.py +2 -2
- hiddenlayer/sdk/rest/api/readiness_api.py +2 -2
- hiddenlayer/sdk/rest/api/sensor_api.py +257 -2
- hiddenlayer/sdk/rest/api_client.py +2 -2
- hiddenlayer/sdk/rest/configuration.py +2 -2
- hiddenlayer/sdk/rest/exceptions.py +2 -2
- hiddenlayer/sdk/rest/models/__init__.py +4 -2
- hiddenlayer/sdk/rest/models/address.py +2 -2
- hiddenlayer/sdk/rest/models/artifact.py +2 -2
- hiddenlayer/sdk/rest/models/artifact_change.py +2 -2
- hiddenlayer/sdk/rest/models/artifact_content.py +2 -2
- hiddenlayer/sdk/rest/models/artifact_location.py +2 -2
- hiddenlayer/sdk/rest/models/attachment.py +2 -2
- hiddenlayer/sdk/rest/models/begin_multi_file_upload200_response.py +2 -2
- hiddenlayer/sdk/rest/models/begin_multipart_file_upload200_response.py +2 -2
- hiddenlayer/sdk/rest/models/begin_multipart_file_upload200_response_parts_inner.py +5 -5
- hiddenlayer/sdk/rest/models/code_flow.py +2 -2
- hiddenlayer/sdk/rest/models/configuration_override.py +2 -2
- hiddenlayer/sdk/rest/models/conversion.py +2 -2
- hiddenlayer/sdk/rest/models/create_sensor_request.py +2 -2
- hiddenlayer/sdk/rest/models/edge.py +2 -2
- hiddenlayer/sdk/rest/models/edge_traversal.py +2 -2
- hiddenlayer/sdk/rest/models/errors_inner.py +2 -2
- hiddenlayer/sdk/rest/models/exception.py +2 -2
- hiddenlayer/sdk/rest/models/external_properties.py +2 -2
- hiddenlayer/sdk/rest/models/external_property_file_reference.py +2 -2
- hiddenlayer/sdk/rest/models/external_property_file_references.py +2 -2
- hiddenlayer/sdk/rest/models/file_details_v3.py +2 -2
- hiddenlayer/sdk/rest/models/file_result_v3.py +2 -2
- hiddenlayer/sdk/rest/models/file_scan_report_v3.py +2 -2
- hiddenlayer/sdk/rest/models/file_scan_reports_v3.py +2 -2
- hiddenlayer/sdk/rest/models/fix.py +2 -2
- hiddenlayer/sdk/rest/models/get_condensed_model_scan_reports200_response.py +2 -2
- hiddenlayer/sdk/rest/models/graph.py +2 -2
- hiddenlayer/sdk/rest/models/graph_traversal.py +2 -2
- hiddenlayer/sdk/rest/models/inventory_v3.py +2 -2
- hiddenlayer/sdk/rest/models/invocation.py +2 -2
- hiddenlayer/sdk/rest/models/location.py +2 -2
- hiddenlayer/sdk/rest/models/location_inner.py +2 -2
- hiddenlayer/sdk/rest/models/location_relationship.py +2 -2
- hiddenlayer/sdk/rest/models/logical_location.py +2 -2
- hiddenlayer/sdk/rest/models/message.py +2 -2
- hiddenlayer/sdk/rest/models/mitre_atlas_inner.py +2 -2
- hiddenlayer/sdk/rest/models/model.py +103 -0
- hiddenlayer/sdk/rest/models/model_inventory_info.py +2 -2
- hiddenlayer/sdk/rest/models/model_version.py +97 -0
- hiddenlayer/sdk/rest/models/multi_file_upload_request_v3.py +2 -2
- hiddenlayer/sdk/rest/models/multiformat_message_string.py +2 -2
- hiddenlayer/sdk/rest/models/node.py +2 -2
- hiddenlayer/sdk/rest/models/notification.py +2 -2
- hiddenlayer/sdk/rest/models/notify_model_scan_completed200_response.py +2 -2
- hiddenlayer/sdk/rest/models/paged_response_with_total.py +2 -2
- hiddenlayer/sdk/rest/models/pagination_v3.py +2 -2
- hiddenlayer/sdk/rest/models/physical_location.py +2 -2
- hiddenlayer/sdk/rest/models/problem_details.py +2 -2
- hiddenlayer/sdk/rest/models/property_bag.py +2 -2
- hiddenlayer/sdk/rest/models/rectangle.py +2 -2
- hiddenlayer/sdk/rest/models/region.py +2 -2
- hiddenlayer/sdk/rest/models/replacement.py +2 -2
- hiddenlayer/sdk/rest/models/reporting_configuration.py +2 -2
- hiddenlayer/sdk/rest/models/reporting_descriptor.py +2 -2
- hiddenlayer/sdk/rest/models/reporting_descriptor_reference.py +2 -2
- hiddenlayer/sdk/rest/models/reporting_descriptor_relationship.py +2 -2
- hiddenlayer/sdk/rest/models/result.py +2 -2
- hiddenlayer/sdk/rest/models/result_provenance.py +2 -2
- hiddenlayer/sdk/rest/models/rule_details_inner.py +2 -2
- hiddenlayer/sdk/rest/models/run.py +2 -2
- hiddenlayer/sdk/rest/models/run_automation_details.py +2 -2
- hiddenlayer/sdk/rest/models/sarif210.py +2 -2
- hiddenlayer/sdk/rest/models/scan_create_request.py +2 -2
- hiddenlayer/sdk/rest/models/scan_detection_v3.py +2 -2
- hiddenlayer/sdk/rest/models/scan_detection_v31.py +2 -2
- hiddenlayer/sdk/rest/models/scan_header_v3.py +2 -2
- hiddenlayer/sdk/rest/models/scan_job.py +2 -2
- hiddenlayer/sdk/rest/models/scan_job_inventory.py +2 -2
- hiddenlayer/sdk/rest/models/scan_model_details_v3.py +2 -2
- hiddenlayer/sdk/rest/models/scan_model_ids_v3.py +2 -2
- hiddenlayer/sdk/rest/models/scan_report_v3.py +2 -2
- hiddenlayer/sdk/rest/models/scan_results_map_v3.py +2 -2
- hiddenlayer/sdk/rest/models/scan_results_v3.py +2 -2
- hiddenlayer/sdk/rest/models/security_posture.py +2 -2
- hiddenlayer/sdk/rest/models/sensor.py +2 -2
- hiddenlayer/sdk/rest/models/sensor_query_response.py +2 -2
- hiddenlayer/sdk/rest/models/sensor_sor_model_card_query_response.py +2 -2
- hiddenlayer/sdk/rest/models/sensor_sor_model_card_response.py +2 -2
- hiddenlayer/sdk/rest/models/sensor_sor_query_filter.py +2 -2
- hiddenlayer/sdk/rest/models/sensor_sor_query_request.py +2 -2
- hiddenlayer/sdk/rest/models/special_locations.py +2 -2
- hiddenlayer/sdk/rest/models/stack.py +2 -2
- hiddenlayer/sdk/rest/models/stack_frame.py +2 -2
- hiddenlayer/sdk/rest/models/submission_response.py +2 -2
- hiddenlayer/sdk/rest/models/submission_v2.py +2 -2
- hiddenlayer/sdk/rest/models/suppression.py +2 -2
- hiddenlayer/sdk/rest/models/thread_flow.py +2 -2
- hiddenlayer/sdk/rest/models/thread_flow_location.py +2 -2
- hiddenlayer/sdk/rest/models/tool.py +2 -2
- hiddenlayer/sdk/rest/models/tool_component.py +2 -2
- hiddenlayer/sdk/rest/models/tool_component_reference.py +2 -2
- hiddenlayer/sdk/rest/models/translation_metadata.py +2 -2
- hiddenlayer/sdk/rest/models/validation_error_model.py +2 -2
- hiddenlayer/sdk/rest/models/version_control_details.py +2 -2
- hiddenlayer/sdk/rest/models/web_request.py +2 -2
- hiddenlayer/sdk/rest/models/web_response.py +2 -2
- hiddenlayer/sdk/rest/rest.py +2 -2
- hiddenlayer/sdk/services/model_scan.py +2 -3
- hiddenlayer/sdk/version.py +1 -1
- {hiddenlayer_sdk-2.0.2.dist-info → hiddenlayer_sdk-2.0.4.dist-info}/METADATA +19 -1
- hiddenlayer_sdk-2.0.4.dist-info/RECORD +125 -0
- {hiddenlayer_sdk-2.0.2.dist-info → hiddenlayer_sdk-2.0.4.dist-info}/WHEEL +1 -1
- hiddenlayer_sdk-2.0.2.dist-info/RECORD +0 -122
- {hiddenlayer_sdk-2.0.2.dist-info → hiddenlayer_sdk-2.0.4.dist-info}/LICENSE +0 -0
- {hiddenlayer_sdk-2.0.2.dist-info → hiddenlayer_sdk-2.0.4.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
3
|
"""
|
4
|
-
HiddenLayer
|
4
|
+
HiddenLayer-API
|
5
5
|
|
6
|
-
HiddenLayer
|
6
|
+
HiddenLayer-API
|
7
7
|
|
8
8
|
The version of the OpenAPI document: 1
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
@@ -317,6 +317,261 @@ class SensorApi:
|
|
317
317
|
|
318
318
|
|
319
319
|
|
320
|
+
@validate_call
|
321
|
+
def delete_sensor(
|
322
|
+
self,
|
323
|
+
sensor_id: StrictStr,
|
324
|
+
_request_timeout: Union[
|
325
|
+
None,
|
326
|
+
Annotated[StrictFloat, Field(gt=0)],
|
327
|
+
Tuple[
|
328
|
+
Annotated[StrictFloat, Field(gt=0)],
|
329
|
+
Annotated[StrictFloat, Field(gt=0)]
|
330
|
+
]
|
331
|
+
] = None,
|
332
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
333
|
+
_content_type: Optional[StrictStr] = None,
|
334
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
335
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
336
|
+
) -> None:
|
337
|
+
"""Delete Sensor
|
338
|
+
|
339
|
+
|
340
|
+
:param sensor_id: (required)
|
341
|
+
:type sensor_id: str
|
342
|
+
:param _request_timeout: timeout setting for this request. If one
|
343
|
+
number provided, it will be total request
|
344
|
+
timeout. It can also be a pair (tuple) of
|
345
|
+
(connection, read) timeouts.
|
346
|
+
:type _request_timeout: int, tuple(int, int), optional
|
347
|
+
:param _request_auth: set to override the auth_settings for an a single
|
348
|
+
request; this effectively ignores the
|
349
|
+
authentication in the spec for a single request.
|
350
|
+
:type _request_auth: dict, optional
|
351
|
+
:param _content_type: force content-type for the request.
|
352
|
+
:type _content_type: str, Optional
|
353
|
+
:param _headers: set to override the headers for a single
|
354
|
+
request; this effectively ignores the headers
|
355
|
+
in the spec for a single request.
|
356
|
+
:type _headers: dict, optional
|
357
|
+
:param _host_index: set to override the host_index for a single
|
358
|
+
request; this effectively ignores the host_index
|
359
|
+
in the spec for a single request.
|
360
|
+
:type _host_index: int, optional
|
361
|
+
:return: Returns the result object.
|
362
|
+
""" # noqa: E501
|
363
|
+
|
364
|
+
_param = self._delete_sensor_serialize(
|
365
|
+
sensor_id=sensor_id,
|
366
|
+
_request_auth=_request_auth,
|
367
|
+
_content_type=_content_type,
|
368
|
+
_headers=_headers,
|
369
|
+
_host_index=_host_index
|
370
|
+
)
|
371
|
+
|
372
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
373
|
+
'204': None,
|
374
|
+
'400': None,
|
375
|
+
'404': None,
|
376
|
+
}
|
377
|
+
response_data = self.api_client.call_api(
|
378
|
+
*_param,
|
379
|
+
_request_timeout=_request_timeout
|
380
|
+
)
|
381
|
+
response_data.read()
|
382
|
+
return self.api_client.response_deserialize(
|
383
|
+
response_data=response_data,
|
384
|
+
response_types_map=_response_types_map,
|
385
|
+
).data
|
386
|
+
|
387
|
+
|
388
|
+
@validate_call
|
389
|
+
def delete_sensor_with_http_info(
|
390
|
+
self,
|
391
|
+
sensor_id: StrictStr,
|
392
|
+
_request_timeout: Union[
|
393
|
+
None,
|
394
|
+
Annotated[StrictFloat, Field(gt=0)],
|
395
|
+
Tuple[
|
396
|
+
Annotated[StrictFloat, Field(gt=0)],
|
397
|
+
Annotated[StrictFloat, Field(gt=0)]
|
398
|
+
]
|
399
|
+
] = None,
|
400
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
401
|
+
_content_type: Optional[StrictStr] = None,
|
402
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
403
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
404
|
+
) -> ApiResponse[None]:
|
405
|
+
"""Delete Sensor
|
406
|
+
|
407
|
+
|
408
|
+
:param sensor_id: (required)
|
409
|
+
:type sensor_id: str
|
410
|
+
:param _request_timeout: timeout setting for this request. If one
|
411
|
+
number provided, it will be total request
|
412
|
+
timeout. It can also be a pair (tuple) of
|
413
|
+
(connection, read) timeouts.
|
414
|
+
:type _request_timeout: int, tuple(int, int), optional
|
415
|
+
:param _request_auth: set to override the auth_settings for an a single
|
416
|
+
request; this effectively ignores the
|
417
|
+
authentication in the spec for a single request.
|
418
|
+
:type _request_auth: dict, optional
|
419
|
+
:param _content_type: force content-type for the request.
|
420
|
+
:type _content_type: str, Optional
|
421
|
+
:param _headers: set to override the headers for a single
|
422
|
+
request; this effectively ignores the headers
|
423
|
+
in the spec for a single request.
|
424
|
+
:type _headers: dict, optional
|
425
|
+
:param _host_index: set to override the host_index for a single
|
426
|
+
request; this effectively ignores the host_index
|
427
|
+
in the spec for a single request.
|
428
|
+
:type _host_index: int, optional
|
429
|
+
:return: Returns the result object.
|
430
|
+
""" # noqa: E501
|
431
|
+
|
432
|
+
_param = self._delete_sensor_serialize(
|
433
|
+
sensor_id=sensor_id,
|
434
|
+
_request_auth=_request_auth,
|
435
|
+
_content_type=_content_type,
|
436
|
+
_headers=_headers,
|
437
|
+
_host_index=_host_index
|
438
|
+
)
|
439
|
+
|
440
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
441
|
+
'204': None,
|
442
|
+
'400': None,
|
443
|
+
'404': None,
|
444
|
+
}
|
445
|
+
response_data = self.api_client.call_api(
|
446
|
+
*_param,
|
447
|
+
_request_timeout=_request_timeout
|
448
|
+
)
|
449
|
+
response_data.read()
|
450
|
+
return self.api_client.response_deserialize(
|
451
|
+
response_data=response_data,
|
452
|
+
response_types_map=_response_types_map,
|
453
|
+
)
|
454
|
+
|
455
|
+
|
456
|
+
@validate_call
|
457
|
+
def delete_sensor_without_preload_content(
|
458
|
+
self,
|
459
|
+
sensor_id: StrictStr,
|
460
|
+
_request_timeout: Union[
|
461
|
+
None,
|
462
|
+
Annotated[StrictFloat, Field(gt=0)],
|
463
|
+
Tuple[
|
464
|
+
Annotated[StrictFloat, Field(gt=0)],
|
465
|
+
Annotated[StrictFloat, Field(gt=0)]
|
466
|
+
]
|
467
|
+
] = None,
|
468
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
469
|
+
_content_type: Optional[StrictStr] = None,
|
470
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
471
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
472
|
+
) -> RESTResponseType:
|
473
|
+
"""Delete Sensor
|
474
|
+
|
475
|
+
|
476
|
+
:param sensor_id: (required)
|
477
|
+
:type sensor_id: str
|
478
|
+
:param _request_timeout: timeout setting for this request. If one
|
479
|
+
number provided, it will be total request
|
480
|
+
timeout. It can also be a pair (tuple) of
|
481
|
+
(connection, read) timeouts.
|
482
|
+
:type _request_timeout: int, tuple(int, int), optional
|
483
|
+
:param _request_auth: set to override the auth_settings for an a single
|
484
|
+
request; this effectively ignores the
|
485
|
+
authentication in the spec for a single request.
|
486
|
+
:type _request_auth: dict, optional
|
487
|
+
:param _content_type: force content-type for the request.
|
488
|
+
:type _content_type: str, Optional
|
489
|
+
:param _headers: set to override the headers for a single
|
490
|
+
request; this effectively ignores the headers
|
491
|
+
in the spec for a single request.
|
492
|
+
:type _headers: dict, optional
|
493
|
+
:param _host_index: set to override the host_index for a single
|
494
|
+
request; this effectively ignores the host_index
|
495
|
+
in the spec for a single request.
|
496
|
+
:type _host_index: int, optional
|
497
|
+
:return: Returns the result object.
|
498
|
+
""" # noqa: E501
|
499
|
+
|
500
|
+
_param = self._delete_sensor_serialize(
|
501
|
+
sensor_id=sensor_id,
|
502
|
+
_request_auth=_request_auth,
|
503
|
+
_content_type=_content_type,
|
504
|
+
_headers=_headers,
|
505
|
+
_host_index=_host_index
|
506
|
+
)
|
507
|
+
|
508
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
509
|
+
'204': None,
|
510
|
+
'400': None,
|
511
|
+
'404': None,
|
512
|
+
}
|
513
|
+
response_data = self.api_client.call_api(
|
514
|
+
*_param,
|
515
|
+
_request_timeout=_request_timeout
|
516
|
+
)
|
517
|
+
return response_data.response
|
518
|
+
|
519
|
+
|
520
|
+
def _delete_sensor_serialize(
|
521
|
+
self,
|
522
|
+
sensor_id,
|
523
|
+
_request_auth,
|
524
|
+
_content_type,
|
525
|
+
_headers,
|
526
|
+
_host_index,
|
527
|
+
) -> RequestSerialized:
|
528
|
+
|
529
|
+
_host = None
|
530
|
+
|
531
|
+
_collection_formats: Dict[str, str] = {
|
532
|
+
}
|
533
|
+
|
534
|
+
_path_params: Dict[str, str] = {}
|
535
|
+
_query_params: List[Tuple[str, str]] = []
|
536
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
537
|
+
_form_params: List[Tuple[str, str]] = []
|
538
|
+
_files: Dict[str, Union[str, bytes]] = {}
|
539
|
+
_body_params: Optional[bytes] = None
|
540
|
+
|
541
|
+
# process the path parameters
|
542
|
+
if sensor_id is not None:
|
543
|
+
_path_params['sensor_id'] = sensor_id
|
544
|
+
# process the query parameters
|
545
|
+
# process the header parameters
|
546
|
+
# process the form parameters
|
547
|
+
# process the body parameter
|
548
|
+
|
549
|
+
|
550
|
+
|
551
|
+
|
552
|
+
# authentication setting
|
553
|
+
_auth_settings: List[str] = [
|
554
|
+
'BearerAuth'
|
555
|
+
]
|
556
|
+
|
557
|
+
return self.api_client.param_serialize(
|
558
|
+
method='DELETE',
|
559
|
+
resource_path='/api/v2/sensors/{sensor_id}',
|
560
|
+
path_params=_path_params,
|
561
|
+
query_params=_query_params,
|
562
|
+
header_params=_header_params,
|
563
|
+
body=_body_params,
|
564
|
+
post_params=_form_params,
|
565
|
+
files=_files,
|
566
|
+
auth_settings=_auth_settings,
|
567
|
+
collection_formats=_collection_formats,
|
568
|
+
_host=_host,
|
569
|
+
_request_auth=_request_auth
|
570
|
+
)
|
571
|
+
|
572
|
+
|
573
|
+
|
574
|
+
|
320
575
|
@validate_call
|
321
576
|
def get_sensor(
|
322
577
|
self,
|
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
# flake8: noqa
|
4
4
|
"""
|
5
|
-
HiddenLayer
|
5
|
+
HiddenLayer-API
|
6
6
|
|
7
|
-
HiddenLayer
|
7
|
+
HiddenLayer-API
|
8
8
|
|
9
9
|
The version of the OpenAPI document: 1
|
10
10
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
@@ -50,7 +50,9 @@ from hiddenlayer.sdk.rest.models.location_relationship import LocationRelationsh
|
|
50
50
|
from hiddenlayer.sdk.rest.models.logical_location import LogicalLocation
|
51
51
|
from hiddenlayer.sdk.rest.models.mitre_atlas_inner import MITREAtlasInner
|
52
52
|
from hiddenlayer.sdk.rest.models.message import Message
|
53
|
+
from hiddenlayer.sdk.rest.models.model import Model
|
53
54
|
from hiddenlayer.sdk.rest.models.model_inventory_info import ModelInventoryInfo
|
55
|
+
from hiddenlayer.sdk.rest.models.model_version import ModelVersion
|
54
56
|
from hiddenlayer.sdk.rest.models.multi_file_upload_request_v3 import MultiFileUploadRequestV3
|
55
57
|
from hiddenlayer.sdk.rest.models.multiformat_message_string import MultiformatMessageString
|
56
58
|
from hiddenlayer.sdk.rest.models.node import Node
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
3
|
"""
|
4
|
-
HiddenLayer
|
4
|
+
HiddenLayer-API
|
5
5
|
|
6
|
-
HiddenLayer
|
6
|
+
HiddenLayer-API
|
7
7
|
|
8
8
|
The version of the OpenAPI document: 1
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
@@ -29,9 +29,9 @@ class BeginMultipartFileUpload200ResponsePartsInner(BaseModel):
|
|
29
29
|
""" # noqa: E501
|
30
30
|
part_number: Optional[Annotated[int, Field(strict=True, ge=0)]] = None
|
31
31
|
start_offset: Optional[StrictInt] = None
|
32
|
-
|
32
|
+
end_offset: Optional[StrictInt] = None
|
33
33
|
upload_url: Optional[StrictStr] = None
|
34
|
-
__properties: ClassVar[List[str]] = ["part_number", "start_offset", "
|
34
|
+
__properties: ClassVar[List[str]] = ["part_number", "start_offset", "end_offset", "upload_url"]
|
35
35
|
|
36
36
|
model_config = ConfigDict(
|
37
37
|
populate_by_name=True,
|
@@ -86,7 +86,7 @@ class BeginMultipartFileUpload200ResponsePartsInner(BaseModel):
|
|
86
86
|
_obj = cls.model_validate({
|
87
87
|
"part_number": obj.get("part_number"),
|
88
88
|
"start_offset": obj.get("start_offset"),
|
89
|
-
"
|
89
|
+
"end_offset": obj.get("end_offset"),
|
90
90
|
"upload_url": obj.get("upload_url")
|
91
91
|
})
|
92
92
|
return _obj
|