anyscale 0.26.68__py3-none-any.whl → 0.26.70__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.
Files changed (71) hide show
  1. anyscale/_private/anyscale_client/anyscale_client.py +67 -1
  2. anyscale/_private/anyscale_client/common.py +20 -1
  3. anyscale/_private/anyscale_client/fake_anyscale_client.py +77 -10
  4. anyscale/client/README.md +16 -4
  5. anyscale/client/openapi_client/__init__.py +12 -4
  6. anyscale/client/openapi_client/api/default_api.py +588 -23
  7. anyscale/client/openapi_client/models/__init__.py +12 -4
  8. anyscale/client/openapi_client/models/api_key_info.py +29 -3
  9. anyscale/client/openapi_client/models/apply_autoscaling_config_update_model.py +350 -0
  10. anyscale/client/openapi_client/models/apply_production_service_multi_version_v2_model.py +207 -0
  11. anyscale/client/openapi_client/models/apply_production_service_v2_model.py +31 -3
  12. anyscale/client/openapi_client/models/baseimagesenum.py +70 -1
  13. anyscale/client/openapi_client/models/cloud_data_bucket_file_type.py +2 -1
  14. anyscale/client/openapi_client/models/{oauthconnectionresponse_response.py → clouddeployment_response.py} +11 -11
  15. anyscale/client/openapi_client/models/clusterdashboardnode_response.py +121 -0
  16. anyscale/client/openapi_client/models/create_experimental_workspace.py +29 -1
  17. anyscale/client/openapi_client/models/create_workspace_from_template.py +29 -1
  18. anyscale/client/openapi_client/models/create_workspace_template_version.py +31 -3
  19. anyscale/client/openapi_client/models/decorated_list_service_api_model.py +58 -1
  20. anyscale/client/openapi_client/models/decorated_production_service_v2_api_model.py +60 -3
  21. anyscale/client/openapi_client/models/decorated_service_event_api_model.py +3 -3
  22. anyscale/client/openapi_client/models/describe_machine_pool_machines_filters.py +33 -5
  23. anyscale/client/openapi_client/models/describe_machine_pool_workloads_filters.py +33 -5
  24. anyscale/client/openapi_client/models/{service_event_level.py → entity_type.py} +9 -9
  25. anyscale/client/openapi_client/models/event_level.py +2 -1
  26. anyscale/client/openapi_client/models/job_event_fields.py +206 -0
  27. anyscale/client/openapi_client/models/lineage_graph_node.py +70 -42
  28. anyscale/client/openapi_client/models/lineage_workload.py +31 -3
  29. anyscale/client/openapi_client/models/machine_type_partition_filter.py +152 -0
  30. anyscale/client/openapi_client/models/partition_info.py +30 -1
  31. anyscale/client/openapi_client/models/production_job_event.py +3 -3
  32. anyscale/client/openapi_client/models/rollout_strategy.py +2 -1
  33. anyscale/client/openapi_client/models/service_event_fields.py +318 -0
  34. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +70 -1
  35. anyscale/client/openapi_client/models/task_summary_config.py +29 -3
  36. anyscale/client/openapi_client/models/task_table_config.py +29 -3
  37. anyscale/client/openapi_client/models/unified_event.py +377 -0
  38. anyscale/client/openapi_client/models/{ha_job_event_level.py → unified_origin_filter.py} +21 -9
  39. anyscale/client/openapi_client/models/unifiedevent_list_response.py +147 -0
  40. anyscale/client/openapi_client/models/workspace_event_fields.py +122 -0
  41. anyscale/client/openapi_client/models/workspace_template_version.py +30 -1
  42. anyscale/client/openapi_client/models/workspace_template_version_data_object.py +30 -1
  43. anyscale/cloud/models.py +2 -2
  44. anyscale/commands/cloud_commands.py +148 -11
  45. anyscale/commands/command_examples.py +53 -0
  46. anyscale/commands/job_commands.py +1 -1
  47. anyscale/commands/service_commands.py +130 -67
  48. anyscale/commands/setup_k8s.py +615 -49
  49. anyscale/controllers/cloud_controller.py +19 -5
  50. anyscale/controllers/kubernetes_verifier.py +80 -66
  51. anyscale/job/_private/job_sdk.py +47 -1
  52. anyscale/job/commands.py +3 -0
  53. anyscale/sdk/anyscale_client/models/apply_production_service_v2_model.py +31 -3
  54. anyscale/sdk/anyscale_client/models/apply_service_model.py +31 -3
  55. anyscale/sdk/anyscale_client/models/baseimagesenum.py +70 -1
  56. anyscale/sdk/anyscale_client/models/rollout_strategy.py +2 -1
  57. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +70 -1
  58. anyscale/service/__init__.py +11 -3
  59. anyscale/service/_private/service_sdk.py +361 -35
  60. anyscale/service/commands.py +15 -3
  61. anyscale/service/models.py +12 -0
  62. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  63. anyscale/version.py +1 -1
  64. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/METADATA +1 -1
  65. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/RECORD +70 -62
  66. anyscale/client/openapi_client/models/o_auth_connection_response.py +0 -229
  67. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/WHEEL +0 -0
  68. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/entry_points.txt +0 -0
  69. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/licenses/LICENSE +0 -0
  70. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/licenses/NOTICE +0 -0
  71. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/top_level.txt +0 -0
@@ -34,6 +34,7 @@ from anyscale.client.openapi_client.models import (
34
34
  AdminCreateUser,
35
35
  AnyscaleServiceAccount,
36
36
  ApiKeyParameters,
37
+ ApplyProductionServiceMultiVersionV2Model,
37
38
  ArchiveStatus,
38
39
  Cloud,
39
40
  CloudDataBucketAccessMode,
@@ -58,6 +59,7 @@ from anyscale.client.openapi_client.models import (
58
59
  DecoratedjobqueueListResponse,
59
60
  DecoratedlistserviceapimodelListResponse,
60
61
  DecoratedProductionServiceV2APIModel,
62
+ DecoratedProductionServiceV2VersionAPIModel,
61
63
  DecoratedSession,
62
64
  ExperimentalWorkspace,
63
65
  GetOrCreateBuildFromImageUriRequest,
@@ -1053,6 +1055,13 @@ class AnyscaleClient(AnyscaleClientInterface):
1053
1055
  sort_order=sort_order,
1054
1056
  )
1055
1057
 
1058
+ def get_service_versions(
1059
+ self, service_id: str
1060
+ ) -> List[DecoratedProductionServiceV2VersionAPIModel]:
1061
+ return self._internal_api_client.get_service_versions_api_v2_services_v2_service_id_versions_get(
1062
+ service_id
1063
+ ).results
1064
+
1056
1065
  @handle_api_exceptions
1057
1066
  def get_project(self, project_id: str) -> Project:
1058
1067
  return self._internal_api_client.get_project_api_v2_projects_project_id_get(
@@ -1238,6 +1247,15 @@ class AnyscaleClient(AnyscaleClientInterface):
1238
1247
  ).result
1239
1248
  return result
1240
1249
 
1250
+ @handle_api_exceptions
1251
+ def rollout_service_multi_version(
1252
+ self, model: ApplyProductionServiceMultiVersionV2Model
1253
+ ) -> DecoratedProductionServiceV2APIModel:
1254
+ result = self._internal_api_client.apply_service_multi_version_api_v2_services_v2_apply_multi_version_put(
1255
+ model
1256
+ ).result
1257
+ return result
1258
+
1241
1259
  @handle_api_exceptions
1242
1260
  def rollback_service(
1243
1261
  self, service_id: str, *, max_surge_percent: Optional[int] = None
@@ -1493,7 +1511,7 @@ class AnyscaleClient(AnyscaleClientInterface):
1493
1511
 
1494
1512
  return all_log_chunk_urls, bearer_token
1495
1513
 
1496
- def _read_log_lines(
1514
+ def _read_log_lines( # noqa: PLR0912
1497
1515
  self,
1498
1516
  log_chunk_urls: List[str],
1499
1517
  head: bool,
@@ -1558,6 +1576,8 @@ class AnyscaleClient(AnyscaleClientInterface):
1558
1576
  if line_count == max_lines:
1559
1577
  break
1560
1578
 
1579
+ if not result_lines:
1580
+ return ""
1561
1581
  return "\n".join(result_lines) + "\n"
1562
1582
 
1563
1583
  @handle_api_exceptions
@@ -1584,6 +1604,52 @@ class AnyscaleClient(AnyscaleClientInterface):
1584
1604
  )
1585
1605
  return logs
1586
1606
 
1607
+ @handle_api_exceptions
1608
+ def stream_logs_for_job_run(
1609
+ self, job_run_id: str, next_page_token: Optional[str] = None,
1610
+ ) -> Tuple[str, Optional[str]]:
1611
+ """Stream logs incrementally for a job run with pagination support.
1612
+
1613
+ Args:
1614
+ job_run_id: The ID of the job run to fetch logs for
1615
+ next_page_token: Token for fetching the next page of logs (for incremental streaming)
1616
+
1617
+ Returns:
1618
+ Tuple of (logs, next_page_token) where next_page_token can be used for the next call
1619
+ """
1620
+ # Fetch only the new log chunks since the last call
1621
+ if next_page_token:
1622
+ # Incremental fetch - get only new chunks
1623
+ log_download_result = self._internal_api_client.get_job_logs_download_v2_api_v2_logs_job_logs_download_v2_job_id_get(
1624
+ job_id=job_run_id, next_page_token=next_page_token,
1625
+ ).result
1626
+ else:
1627
+ # First fetch - get all available chunks
1628
+ log_download_result = self._internal_api_client.get_job_logs_download_v2_api_v2_logs_job_logs_download_v2_job_id_get(
1629
+ job_id=job_run_id,
1630
+ ).result
1631
+
1632
+ # Download and concatenate log chunks
1633
+ log_chunk_urls = [chunk.chunk_url for chunk in log_download_result.log_chunks]
1634
+ bearer_token = log_download_result.bearer_token
1635
+
1636
+ logs = self._read_log_lines(
1637
+ log_chunk_urls,
1638
+ head=False,
1639
+ bearer_token=bearer_token,
1640
+ max_lines=None,
1641
+ parse_json=False,
1642
+ )
1643
+
1644
+ # Return logs and the token for the next page
1645
+ new_next_page_token = (
1646
+ log_download_result.next_page_token
1647
+ if len(log_download_result.log_chunks) > 0
1648
+ else next_page_token
1649
+ )
1650
+
1651
+ return logs, new_next_page_token
1652
+
1587
1653
  @handle_api_exceptions
1588
1654
  def controller_logs_for_service_version(
1589
1655
  self,
@@ -7,6 +7,7 @@ from anyscale.client.openapi_client.models import (
7
7
  AdminCreatedUser,
8
8
  AdminCreateUser,
9
9
  AnyscaleServiceAccount,
10
+ ApplyProductionServiceMultiVersionV2Model,
10
11
  Cloud,
11
12
  ClusteroperationResponse,
12
13
  CollaboratorType,
@@ -20,6 +21,7 @@ from anyscale.client.openapi_client.models import (
20
21
  DecoratedjobqueueListResponse,
21
22
  DecoratedlistserviceapimodelListResponse,
22
23
  DecoratedProductionServiceV2APIModel,
24
+ DecoratedProductionServiceV2VersionAPIModel,
23
25
  InternalProductionJob,
24
26
  JobQueueSortDirective,
25
27
  OrganizationCollaborator,
@@ -57,7 +59,7 @@ from anyscale.utils.workspace_notification import WorkspaceNotification
57
59
  # Maybe just make it part of the release process to update it, or fetch the
58
60
  # default builds and get the latest one. The best thing to do is probably
59
61
  # to populate this in the backend.
60
- DEFAULT_RAY_VERSION = "2.50.0" # RAY_RELEASE_UPDATE: update to latest version.
62
+ DEFAULT_RAY_VERSION = "2.50.1" # RAY_RELEASE_UPDATE: update to latest version
61
63
  DEFAULT_PYTHON_VERSION = "py311"
62
64
  RUNTIME_ENV_PACKAGE_FORMAT = "pkg_{content_hash}.zip"
63
65
 
@@ -381,6 +383,13 @@ class AnyscaleClientInterface(ABC):
381
383
  """List projects."""
382
384
  raise NotImplementedError
383
385
 
386
+ @abstractmethod
387
+ def get_service_versions(
388
+ self, service_id: str
389
+ ) -> List[DecoratedProductionServiceV2VersionAPIModel]:
390
+ """Get the versions of a service."""
391
+ raise NotImplementedError
392
+
384
393
  @abstractmethod
385
394
  def create_project(self, project: WriteProject) -> ProjectBase:
386
395
  """Create a project."""
@@ -470,6 +479,16 @@ class AnyscaleClientInterface(ABC):
470
479
  """
471
480
  raise NotImplementedError
472
481
 
482
+ @abstractmethod
483
+ def rollout_service_multi_version(
484
+ self, model: ApplyProductionServiceMultiVersionV2Model
485
+ ) -> DecoratedProductionServiceV2APIModel:
486
+ """Deploy or update the service to use the provided multi-version configs.
487
+
488
+ Returns the service ID.
489
+ """
490
+ raise NotImplementedError
491
+
473
492
  @abstractmethod
474
493
  def rollback_service(
475
494
  self, service_id: str, *, max_surge_percent: Optional[int] = None
@@ -2,7 +2,7 @@ from collections import defaultdict
2
2
  from datetime import date, datetime
3
3
  import logging
4
4
  import os
5
- from typing import DefaultDict, Dict, Generator, List, Optional, Tuple
5
+ from typing import DefaultDict, Dict, Generator, List, Optional, Tuple, Union
6
6
  from unittest.mock import Mock
7
7
  import uuid
8
8
 
@@ -16,6 +16,7 @@ from anyscale.client.openapi_client.models import (
16
16
  AdminCreatedUser,
17
17
  AdminCreateUser,
18
18
  AnyscaleServiceAccount,
19
+ ApplyProductionServiceMultiVersionV2Model,
19
20
  Cloud,
20
21
  CloudProviders,
21
22
  ClusterOperation,
@@ -31,6 +32,7 @@ from anyscale.client.openapi_client.models import (
31
32
  DecoratedComputeTemplate,
32
33
  DecoratedlistserviceapimodelListResponse,
33
34
  DecoratedProductionServiceV2APIModel,
35
+ DecoratedProductionServiceV2VersionAPIModel,
34
36
  DeletedPlatformFineTunedModel,
35
37
  ExperimentalWorkspace,
36
38
  FineTunedModel,
@@ -153,6 +155,9 @@ class FakeAnyscaleClient(AnyscaleClientInterface):
153
155
  self._workspace_cluster: Optional[Cluster] = None
154
156
  self._workspace_dependency_tracking_enabled: bool = False
155
157
  self._services: Dict[str, DecoratedProductionServiceV2APIModel] = {}
158
+ self._versions: Dict[
159
+ str, Dict[str, ProductionServiceV2VersionModel]
160
+ ] = defaultdict(dict)
156
161
  self._archived_services: Dict[str, DecoratedProductionServiceV2APIModel] = {}
157
162
  self._deleted_services: Dict[str, DecoratedProductionServiceV2APIModel] = {}
158
163
  self._jobs: Dict[str, ProductionJob] = {}
@@ -658,6 +663,9 @@ class FakeAnyscaleClient(AnyscaleClientInterface):
658
663
 
659
664
  def update_service(self, model: DecoratedProductionServiceV2APIModel):
660
665
  self._services[model.id] = model
666
+ if model.versions is not None:
667
+ for version in model.versions:
668
+ self._versions[model.id][version.id] = version
661
669
 
662
670
  def get_service(
663
671
  self,
@@ -897,7 +905,11 @@ class FakeAnyscaleClient(AnyscaleClientInterface):
897
905
  return project_id
898
906
 
899
907
  @property
900
- def rolled_out_model(self) -> Optional[ApplyProductionServiceV2Model]:
908
+ def rolled_out_model(
909
+ self,
910
+ ) -> Optional[
911
+ Union[ApplyProductionServiceV2Model, ApplyProductionServiceMultiVersionV2Model]
912
+ ]:
901
913
  return self._rolled_out_model
902
914
 
903
915
  def rollout_service(
@@ -917,6 +929,18 @@ class FakeAnyscaleClient(AnyscaleClientInterface):
917
929
  else:
918
930
  service_id = f"service-id-{uuid.uuid4()!s}"
919
931
 
932
+ primary_version = ProductionServiceV2VersionModel(
933
+ id=str(uuid.uuid4()),
934
+ created_at=datetime.now(),
935
+ version=model.version,
936
+ current_state=ServiceVersionState.RUNNING,
937
+ weight=100,
938
+ build_id=model.build_id,
939
+ compute_config_id=model.compute_config_id,
940
+ ray_serve_config=model.ray_serve_config,
941
+ ray_gcs_external_storage_config=model.ray_gcs_external_storage_config,
942
+ local_vars_configuration=OPENAPI_NO_VALIDATION,
943
+ )
920
944
  service = DecoratedProductionServiceV2APIModel(
921
945
  id=service_id,
922
946
  name=model.name,
@@ -925,18 +949,56 @@ class FakeAnyscaleClient(AnyscaleClientInterface):
925
949
  current_state=ServiceEventCurrentState.STARTING,
926
950
  base_url=f"http://{model.name}.fake.url",
927
951
  auth_token="fake-auth-token",
928
- primary_version=ProductionServiceV2VersionModel(
952
+ primary_version=primary_version,
953
+ versions=[primary_version],
954
+ local_vars_configuration=OPENAPI_NO_VALIDATION,
955
+ )
956
+ self.update_service(service)
957
+ return service
958
+
959
+ def rollout_service_multi_version(
960
+ self, model: ApplyProductionServiceMultiVersionV2Model
961
+ ) -> DecoratedProductionServiceV2APIModel:
962
+ self._rolled_out_model = model
963
+ version = model.service_versions[0]
964
+ project_model = self.get_project(version.project_id)
965
+ project = project_model.name if project_model else None
966
+ compute_config = self.get_compute_config(version.compute_config_id)
967
+ cloud_id = compute_config.config.cloud_id if compute_config else None
968
+ cloud_model = self.get_cloud(cloud_id=cloud_id)
969
+ cloud = cloud_model.name if cloud_model else None
970
+ existing_service = self.get_service(version.name, project=project, cloud=cloud)
971
+ if existing_service is not None:
972
+ service_id = existing_service.id
973
+ else:
974
+ service_id = f"service-id-{uuid.uuid4()!s}"
975
+
976
+ service_versions = []
977
+ for version in model.service_versions:
978
+ service_version = ProductionServiceV2VersionModel(
929
979
  id=str(uuid.uuid4()),
930
980
  created_at=datetime.now(),
931
- version="primary",
981
+ version=version.version,
932
982
  current_state=ServiceVersionState.RUNNING,
933
- weight=100,
934
- build_id=model.build_id,
935
- compute_config_id=model.compute_config_id,
936
- ray_serve_config=model.ray_serve_config,
937
- ray_gcs_external_storage_config=model.ray_gcs_external_storage_config,
983
+ weight=version.traffic_percent,
984
+ build_id=version.build_id,
985
+ compute_config_id=version.compute_config_id,
986
+ ray_serve_config=version.ray_serve_config,
987
+ ray_gcs_external_storage_config=version.ray_gcs_external_storage_config,
938
988
  local_vars_configuration=OPENAPI_NO_VALIDATION,
939
- ),
989
+ )
990
+ service_versions.append(service_version)
991
+
992
+ service = DecoratedProductionServiceV2APIModel(
993
+ id=service_id,
994
+ name=version.name,
995
+ project_id=version.project_id,
996
+ cloud_id=self.get_cloud_id(compute_config_id=version.compute_config_id),
997
+ current_state=ServiceEventCurrentState.STARTING,
998
+ base_url=f"http://{version.name}.fake.url",
999
+ auth_token="fake-auth-token",
1000
+ primary_version="",
1001
+ versions=service_versions,
940
1002
  local_vars_configuration=OPENAPI_NO_VALIDATION,
941
1003
  )
942
1004
  self.update_service(service)
@@ -1603,3 +1665,8 @@ class FakeAnyscaleClient(AnyscaleClientInterface):
1603
1665
  local_vars_configuration=OPENAPI_NO_VALIDATION,
1604
1666
  )
1605
1667
  return response
1668
+
1669
+ def get_service_versions(
1670
+ self, service_id: str
1671
+ ) -> List[DecoratedProductionServiceV2VersionAPIModel]:
1672
+ return list(self._versions[service_id].values())
anyscale/client/README.md CHANGED
@@ -83,7 +83,9 @@ Class | Method | HTTP request | Description
83
83
  *DefaultApi* | [**alter_cloud_collaborator_api_v2_clouds_cloud_id_collaborators_users_identity_id_put**](docs/DefaultApi.md#alter_cloud_collaborator_api_v2_clouds_cloud_id_collaborators_users_identity_id_put) | **PUT** /api/v2/clouds/{cloud_id}/collaborators/users/{identity_id} | Alter Cloud Collaborator
84
84
  *DefaultApi* | [**alter_organization_collaborator_api_v2_organization_collaborators_identity_id_put**](docs/DefaultApi.md#alter_organization_collaborator_api_v2_organization_collaborators_identity_id_put) | **PUT** /api/v2/organization_collaborators/{identity_id} | Alter Organization Collaborator
85
85
  *DefaultApi* | [**alter_project_collaborator_api_v2_projects_project_id_collaborators_role_or_identity_id_put**](docs/DefaultApi.md#alter_project_collaborator_api_v2_projects_project_id_collaborators_role_or_identity_id_put) | **PUT** /api/v2/projects/{project_id}/collaborators/{role_or_identity_id} | Alter Project Collaborator
86
+ *DefaultApi* | [**apply_autoscaling_config_update_api_v2_services_v2_service_id_apply_autoscaling_config_update_put**](docs/DefaultApi.md#apply_autoscaling_config_update_api_v2_services_v2_service_id_apply_autoscaling_config_update_put) | **PUT** /api/v2/services-v2/{service_id}/apply_autoscaling_config_update | Apply Autoscaling Config Update
86
87
  *DefaultApi* | [**apply_service_api_v2_services_v2_apply_put**](docs/DefaultApi.md#apply_service_api_v2_services_v2_apply_put) | **PUT** /api/v2/services-v2/apply | Apply Service
88
+ *DefaultApi* | [**apply_service_multi_version_api_v2_services_v2_apply_multi_version_put**](docs/DefaultApi.md#apply_service_multi_version_api_v2_services_v2_apply_multi_version_put) | **PUT** /api/v2/services-v2/apply_multi_version | Apply Service Multi Version
87
89
  *DefaultApi* | [**archive_cluster_environment_api_v2_application_templates_application_template_id_archive_post**](docs/DefaultApi.md#archive_cluster_environment_api_v2_application_templates_application_template_id_archive_post) | **POST** /api/v2/application_templates/{application_template_id}/archive | Archive Cluster Environment
88
90
  *DefaultApi* | [**archive_compute_template_api_v2_compute_templates_compute_template_id_archive_post**](docs/DefaultApi.md#archive_compute_template_api_v2_compute_templates_compute_template_id_archive_post) | **POST** /api/v2/compute_templates/{compute_template_id}/archive | Archive Compute Template
89
91
  *DefaultApi* | [**archive_job_api_v2_decorated_ha_jobs_production_job_id_archive_post**](docs/DefaultApi.md#archive_job_api_v2_decorated_ha_jobs_production_job_id_archive_post) | **POST** /api/v2/decorated_ha_jobs/{production_job_id}/archive | Archive Job
@@ -231,6 +233,7 @@ Class | Method | HTTP request | Description
231
233
  *DefaultApi* | [**get_metronome_embedded_usage_dashboard_by_organization_api_v2_organization_billing_organization_id_metronome_embedded_dashboard_url_dashboard_type_get**](docs/DefaultApi.md#get_metronome_embedded_usage_dashboard_by_organization_api_v2_organization_billing_organization_id_metronome_embedded_dashboard_url_dashboard_type_get) | **GET** /api/v2/organization_billing/{organization_id}/metronome_embedded_dashboard_url/{dashboard_type} | Get Metronome Embedded Usage Dashboard By Organization
232
234
  *DefaultApi* | [**get_model_api_v2_llm_models_model_id_get**](docs/DefaultApi.md#get_model_api_v2_llm_models_model_id_get) | **GET** /api/v2/llm/models/{model_id} | Get Model
233
235
  *DefaultApi* | [**get_model_by_job_id_api_v2_llm_models_get_by_job_id_job_id_get**](docs/DefaultApi.md#get_model_by_job_id_api_v2_llm_models_get_by_job_id_job_id_get) | **GET** /api/v2/llm/models/get_by_job_id/{job_id} | Get Model By Job Id
236
+ *DefaultApi* | [**get_node_api_v2_cluster_dashboard_node_id_get**](docs/DefaultApi.md#get_node_api_v2_cluster_dashboard_node_id_get) | **GET** /api/v2/cluster_dashboard/{node_id} | Get Node
234
237
  *DefaultApi* | [**get_nodes_api_v2_cluster_dashboard_get**](docs/DefaultApi.md#get_nodes_api_v2_cluster_dashboard_get) | **GET** /api/v2/cluster_dashboard/ | Get Nodes
235
238
  *DefaultApi* | [**get_oauth_login_url_api_v2_integrations_oauth_login_get**](docs/DefaultApi.md#get_oauth_login_url_api_v2_integrations_oauth_login_get) | **GET** /api/v2/integrations/oauth/login | Get Oauth Login Url
236
239
  *DefaultApi* | [**get_operator_events_api_v2_dataset_runs_operator_events_get**](docs/DefaultApi.md#get_operator_events_api_v2_dataset_runs_operator_events_get) | **GET** /api/v2/dataset_runs/operator_events | Get Operator Events
@@ -270,6 +273,7 @@ Class | Method | HTTP request | Description
270
273
  *DefaultApi* | [**get_total_usage_api_v2_aggregated_instance_usage_get**](docs/DefaultApi.md#get_total_usage_api_v2_aggregated_instance_usage_get) | **GET** /api/v2/aggregated_instance_usage/ | Get Total Usage
271
274
  *DefaultApi* | [**get_train_logs_download_api_v2_train_runs_logs_get**](docs/DefaultApi.md#get_train_logs_download_api_v2_train_runs_logs_get) | **GET** /api/v2/train_runs/logs | Get Train Logs Download
272
275
  *DefaultApi* | [**get_train_runs_api_v2_train_runs_get**](docs/DefaultApi.md#get_train_runs_api_v2_train_runs_get) | **GET** /api/v2/train_runs/ | Get Train Runs
276
+ *DefaultApi* | [**get_unified_events_api_v2_events_entity_type_entity_id_events_get**](docs/DefaultApi.md#get_unified_events_api_v2_events_entity_type_entity_id_events_get) | **GET** /api/v2/events/{entity_type}/{entity_id}/events | Get Unified Events
273
277
  *DefaultApi* | [**get_user_info_api_v2_userinfo_get**](docs/DefaultApi.md#get_user_info_api_v2_userinfo_get) | **GET** /api/v2/userinfo/ | Get User Info
274
278
  *DefaultApi* | [**get_version_api_v2_workspace_templates_template_id_versions_version_id_get**](docs/DefaultApi.md#get_version_api_v2_workspace_templates_template_id_versions_version_id_get) | **GET** /api/v2/workspace_templates/{template_id}/versions/{version_id} | Get Version
275
279
  *DefaultApi* | [**get_workos_authorize_url_api_v2_workos_authorize_get**](docs/DefaultApi.md#get_workos_authorize_url_api_v2_workos_authorize_get) | **GET** /api/v2/workos/authorize | Get Workos Authorize Url
@@ -458,6 +462,8 @@ Class | Method | HTTP request | Description
458
462
  - [AppconfigResponse](docs/AppconfigResponse.md)
459
463
  - [ApplicationType](docs/ApplicationType.md)
460
464
  - [AppliedSnapshot](docs/AppliedSnapshot.md)
465
+ - [ApplyAutoscalingConfigUpdateModel](docs/ApplyAutoscalingConfigUpdateModel.md)
466
+ - [ApplyProductionServiceMultiVersionV2Model](docs/ApplyProductionServiceMultiVersionV2Model.md)
461
467
  - [ApplyProductionServiceV2Model](docs/ApplyProductionServiceV2Model.md)
462
468
  - [ArchiveStatus](docs/ArchiveStatus.md)
463
469
  - [AttachMachinePoolToCloudRequest](docs/AttachMachinePoolToCloudRequest.md)
@@ -530,6 +536,7 @@ Class | Method | HTTP request | Description
530
536
  - [CloudcollaboratorListResponse](docs/CloudcollaboratorListResponse.md)
531
537
  - [ClouddatabucketpresigneduploadinfoResponse](docs/ClouddatabucketpresigneduploadinfoResponse.md)
532
538
  - [ClouddatabucketpresignedurlresponseResponse](docs/ClouddatabucketpresignedurlresponseResponse.md)
539
+ - [ClouddeploymentResponse](docs/ClouddeploymentResponse.md)
533
540
  - [ClouddeploymentconfigResponse](docs/ClouddeploymentconfigResponse.md)
534
541
  - [CloudoverviewdashboardResponse](docs/CloudoverviewdashboardResponse.md)
535
542
  - [CloudregionandzonesResponse](docs/CloudregionandzonesResponse.md)
@@ -551,6 +558,7 @@ Class | Method | HTTP request | Description
551
558
  - [ClusterStatusDetails](docs/ClusterStatusDetails.md)
552
559
  - [ClusterauthresponseResponse](docs/ClusterauthresponseResponse.md)
553
560
  - [ClusterdashboardnodeListResponse](docs/ClusterdashboardnodeListResponse.md)
561
+ - [ClusterdashboardnodeResponse](docs/ClusterdashboardnodeResponse.md)
554
562
  - [ClustereventListResponse](docs/ClustereventListResponse.md)
555
563
  - [ClustereventsoutputResponse](docs/ClustereventsoutputResponse.md)
556
564
  - [ClusteroperationResponse](docs/ClusteroperationResponse.md)
@@ -718,6 +726,7 @@ Class | Method | HTTP request | Description
718
726
  - [EmailVerificationRequest](docs/EmailVerificationRequest.md)
719
727
  - [EmailVerificationResponse](docs/EmailVerificationResponse.md)
720
728
  - [EmailverificationresponseResponse](docs/EmailverificationresponseResponse.md)
729
+ - [EntityType](docs/EntityType.md)
721
730
  - [Error](docs/Error.md)
722
731
  - [EventLevel](docs/EventLevel.md)
723
732
  - [ExecuteCommandResponse](docs/ExecuteCommandResponse.md)
@@ -746,7 +755,6 @@ Class | Method | HTTP request | Description
746
755
  - [GrpcProtocolConfig](docs/GrpcProtocolConfig.md)
747
756
  - [HTTPValidationError](docs/HTTPValidationError.md)
748
757
  - [HaJobErrorTypes](docs/HaJobErrorTypes.md)
749
- - [HaJobEventLevel](docs/HaJobEventLevel.md)
750
758
  - [HaJobEventOrigin](docs/HaJobEventOrigin.md)
751
759
  - [HaJobGoalStates](docs/HaJobGoalStates.md)
752
760
  - [HaJobStates](docs/HaJobStates.md)
@@ -767,6 +775,7 @@ Class | Method | HTTP request | Description
767
775
  - [InternalproductionjobResponse](docs/InternalproductionjobResponse.md)
768
776
  - [JobAccess](docs/JobAccess.md)
769
777
  - [JobDetails](docs/JobDetails.md)
778
+ - [JobEventFields](docs/JobEventFields.md)
770
779
  - [JobQueue](docs/JobQueue.md)
771
780
  - [JobQueueConfig](docs/JobQueueConfig.md)
772
781
  - [JobQueueExecutionMode](docs/JobQueueExecutionMode.md)
@@ -836,6 +845,7 @@ Class | Method | HTTP request | Description
836
845
  - [MachinePoolSearchQuery](docs/MachinePoolSearchQuery.md)
837
846
  - [MachinePoolSearchResult](docs/MachinePoolSearchResult.md)
838
847
  - [MachineStateInfo](docs/MachineStateInfo.md)
848
+ - [MachineTypePartitionFilter](docs/MachineTypePartitionFilter.md)
839
849
  - [MachinepoolsearchresultListResponse](docs/MachinepoolsearchresultListResponse.md)
840
850
  - [MachinestateinfoListResponse](docs/MachinestateinfoListResponse.md)
841
851
  - [Metric](docs/Metric.md)
@@ -875,9 +885,7 @@ Class | Method | HTTP request | Description
875
885
  - [NotificationChannelEmailConfig](docs/NotificationChannelEmailConfig.md)
876
886
  - [NotificationChannelSlackConfig](docs/NotificationChannelSlackConfig.md)
877
887
  - [NotificationChannelWebhookConfig](docs/NotificationChannelWebhookConfig.md)
878
- - [OAuthConnectionResponse](docs/OAuthConnectionResponse.md)
879
888
  - [OauthAuthUrlResponse](docs/OauthAuthUrlResponse.md)
880
- - [OauthconnectionresponseResponse](docs/OauthconnectionresponseResponse.md)
881
889
  - [ObjectStorage](docs/ObjectStorage.md)
882
890
  - [OperationError](docs/OperationError.md)
883
891
  - [OperationProgress](docs/OperationProgress.md)
@@ -988,7 +996,7 @@ Class | Method | HTTP request | Description
988
996
  - [ServersessiontokenResponse](docs/ServersessiontokenResponse.md)
989
997
  - [ServiceConfig](docs/ServiceConfig.md)
990
998
  - [ServiceEventCurrentState](docs/ServiceEventCurrentState.md)
991
- - [ServiceEventLevel](docs/ServiceEventLevel.md)
999
+ - [ServiceEventFields](docs/ServiceEventFields.md)
992
1000
  - [ServiceEventOrigin](docs/ServiceEventOrigin.md)
993
1001
  - [ServiceEventScope](docs/ServiceEventScope.md)
994
1002
  - [ServiceEventScopeFilter](docs/ServiceEventScopeFilter.md)
@@ -1065,9 +1073,12 @@ Class | Method | HTTP request | Description
1065
1073
  - [TryLoginEmailResponse](docs/TryLoginEmailResponse.md)
1066
1074
  - [TryloginemailresponseResponse](docs/TryloginemailresponseResponse.md)
1067
1075
  - [UXInstance](docs/UXInstance.md)
1076
+ - [UnifiedEvent](docs/UnifiedEvent.md)
1068
1077
  - [UnifiedJobSortField](docs/UnifiedJobSortField.md)
1069
1078
  - [UnifiedJobStatus](docs/UnifiedJobStatus.md)
1070
1079
  - [UnifiedJobType](docs/UnifiedJobType.md)
1080
+ - [UnifiedOriginFilter](docs/UnifiedOriginFilter.md)
1081
+ - [UnifiedeventListResponse](docs/UnifiedeventListResponse.md)
1071
1082
  - [UpdateCloudCollaborator](docs/UpdateCloudCollaborator.md)
1072
1083
  - [UpdateCloudWithCloudResource](docs/UpdateCloudWithCloudResource.md)
1073
1084
  - [UpdateCloudWithCloudResourceGCP](docs/UpdateCloudWithCloudResourceGCP.md)
@@ -1121,6 +1132,7 @@ Class | Method | HTTP request | Description
1121
1132
  - [WorkspaceDataplaneArtifacts](docs/WorkspaceDataplaneArtifacts.md)
1122
1133
  - [WorkspaceDataplaneProxiedArtifacts](docs/WorkspaceDataplaneProxiedArtifacts.md)
1123
1134
  - [WorkspaceEvent](docs/WorkspaceEvent.md)
1135
+ - [WorkspaceEventFields](docs/WorkspaceEventFields.md)
1124
1136
  - [WorkspaceEventSource](docs/WorkspaceEventSource.md)
1125
1137
  - [WorkspaceEventSourceFilter](docs/WorkspaceEventSourceFilter.md)
1126
1138
  - [WorkspaceReadme](docs/WorkspaceReadme.md)
@@ -56,6 +56,8 @@ from openapi_client.models.appconfig_list_response import AppconfigListResponse
56
56
  from openapi_client.models.appconfig_response import AppconfigResponse
57
57
  from openapi_client.models.application_type import ApplicationType
58
58
  from openapi_client.models.applied_snapshot import AppliedSnapshot
59
+ from openapi_client.models.apply_autoscaling_config_update_model import ApplyAutoscalingConfigUpdateModel
60
+ from openapi_client.models.apply_production_service_multi_version_v2_model import ApplyProductionServiceMultiVersionV2Model
59
61
  from openapi_client.models.apply_production_service_v2_model import ApplyProductionServiceV2Model
60
62
  from openapi_client.models.archive_status import ArchiveStatus
61
63
  from openapi_client.models.attach_machine_pool_to_cloud_request import AttachMachinePoolToCloudRequest
@@ -128,6 +130,7 @@ from openapi_client.models.cloud_with_cloud_resource_gcp import CloudWithCloudRe
128
130
  from openapi_client.models.cloudcollaborator_list_response import CloudcollaboratorListResponse
129
131
  from openapi_client.models.clouddatabucketpresigneduploadinfo_response import ClouddatabucketpresigneduploadinfoResponse
130
132
  from openapi_client.models.clouddatabucketpresignedurlresponse_response import ClouddatabucketpresignedurlresponseResponse
133
+ from openapi_client.models.clouddeployment_response import ClouddeploymentResponse
131
134
  from openapi_client.models.clouddeploymentconfig_response import ClouddeploymentconfigResponse
132
135
  from openapi_client.models.cloudoverviewdashboard_response import CloudoverviewdashboardResponse
133
136
  from openapi_client.models.cloudregionandzones_response import CloudregionandzonesResponse
@@ -149,6 +152,7 @@ from openapi_client.models.cluster_status import ClusterStatus
149
152
  from openapi_client.models.cluster_status_details import ClusterStatusDetails
150
153
  from openapi_client.models.clusterauthresponse_response import ClusterauthresponseResponse
151
154
  from openapi_client.models.clusterdashboardnode_list_response import ClusterdashboardnodeListResponse
155
+ from openapi_client.models.clusterdashboardnode_response import ClusterdashboardnodeResponse
152
156
  from openapi_client.models.clusterevent_list_response import ClustereventListResponse
153
157
  from openapi_client.models.clustereventsoutput_response import ClustereventsoutputResponse
154
158
  from openapi_client.models.clusteroperation_response import ClusteroperationResponse
@@ -316,6 +320,7 @@ from openapi_client.models.editable_cloud_resource_gcp import EditableCloudResou
316
320
  from openapi_client.models.email_verification_request import EmailVerificationRequest
317
321
  from openapi_client.models.email_verification_response import EmailVerificationResponse
318
322
  from openapi_client.models.emailverificationresponse_response import EmailverificationresponseResponse
323
+ from openapi_client.models.entity_type import EntityType
319
324
  from openapi_client.models.error import Error
320
325
  from openapi_client.models.event_level import EventLevel
321
326
  from openapi_client.models.execute_command_response import ExecuteCommandResponse
@@ -344,7 +349,6 @@ from openapi_client.models.grafana_dashboard import GrafanaDashboard
344
349
  from openapi_client.models.grpc_protocol_config import GrpcProtocolConfig
345
350
  from openapi_client.models.http_validation_error import HTTPValidationError
346
351
  from openapi_client.models.ha_job_error_types import HaJobErrorTypes
347
- from openapi_client.models.ha_job_event_level import HaJobEventLevel
348
352
  from openapi_client.models.ha_job_event_origin import HaJobEventOrigin
349
353
  from openapi_client.models.ha_job_goal_states import HaJobGoalStates
350
354
  from openapi_client.models.ha_job_states import HaJobStates
@@ -365,6 +369,7 @@ from openapi_client.models.internal_production_job import InternalProductionJob
365
369
  from openapi_client.models.internalproductionjob_response import InternalproductionjobResponse
366
370
  from openapi_client.models.job_access import JobAccess
367
371
  from openapi_client.models.job_details import JobDetails
372
+ from openapi_client.models.job_event_fields import JobEventFields
368
373
  from openapi_client.models.job_queue import JobQueue
369
374
  from openapi_client.models.job_queue_config import JobQueueConfig
370
375
  from openapi_client.models.job_queue_execution_mode import JobQueueExecutionMode
@@ -434,6 +439,7 @@ from openapi_client.models.machine_pool import MachinePool
434
439
  from openapi_client.models.machine_pool_search_query import MachinePoolSearchQuery
435
440
  from openapi_client.models.machine_pool_search_result import MachinePoolSearchResult
436
441
  from openapi_client.models.machine_state_info import MachineStateInfo
442
+ from openapi_client.models.machine_type_partition_filter import MachineTypePartitionFilter
437
443
  from openapi_client.models.machinepoolsearchresult_list_response import MachinepoolsearchresultListResponse
438
444
  from openapi_client.models.machinestateinfo_list_response import MachinestateinfoListResponse
439
445
  from openapi_client.models.metric import Metric
@@ -473,9 +479,7 @@ from openapi_client.models.nodemetricsresponse_response import Nodemetricsrespon
473
479
  from openapi_client.models.notification_channel_email_config import NotificationChannelEmailConfig
474
480
  from openapi_client.models.notification_channel_slack_config import NotificationChannelSlackConfig
475
481
  from openapi_client.models.notification_channel_webhook_config import NotificationChannelWebhookConfig
476
- from openapi_client.models.o_auth_connection_response import OAuthConnectionResponse
477
482
  from openapi_client.models.oauth_auth_url_response import OauthAuthUrlResponse
478
- from openapi_client.models.oauthconnectionresponse_response import OauthconnectionresponseResponse
479
483
  from openapi_client.models.object_storage import ObjectStorage
480
484
  from openapi_client.models.operation_error import OperationError
481
485
  from openapi_client.models.operation_progress import OperationProgress
@@ -586,7 +590,7 @@ from openapi_client.models.server_session_token import ServerSessionToken
586
590
  from openapi_client.models.serversessiontoken_response import ServersessiontokenResponse
587
591
  from openapi_client.models.service_config import ServiceConfig
588
592
  from openapi_client.models.service_event_current_state import ServiceEventCurrentState
589
- from openapi_client.models.service_event_level import ServiceEventLevel
593
+ from openapi_client.models.service_event_fields import ServiceEventFields
590
594
  from openapi_client.models.service_event_origin import ServiceEventOrigin
591
595
  from openapi_client.models.service_event_scope import ServiceEventScope
592
596
  from openapi_client.models.service_event_scope_filter import ServiceEventScopeFilter
@@ -663,9 +667,12 @@ from openapi_client.models.trainrun_list_response import TrainrunListResponse
663
667
  from openapi_client.models.try_login_email_response import TryLoginEmailResponse
664
668
  from openapi_client.models.tryloginemailresponse_response import TryloginemailresponseResponse
665
669
  from openapi_client.models.ux_instance import UXInstance
670
+ from openapi_client.models.unified_event import UnifiedEvent
666
671
  from openapi_client.models.unified_job_sort_field import UnifiedJobSortField
667
672
  from openapi_client.models.unified_job_status import UnifiedJobStatus
668
673
  from openapi_client.models.unified_job_type import UnifiedJobType
674
+ from openapi_client.models.unified_origin_filter import UnifiedOriginFilter
675
+ from openapi_client.models.unifiedevent_list_response import UnifiedeventListResponse
669
676
  from openapi_client.models.update_cloud_collaborator import UpdateCloudCollaborator
670
677
  from openapi_client.models.update_cloud_with_cloud_resource import UpdateCloudWithCloudResource
671
678
  from openapi_client.models.update_cloud_with_cloud_resource_gcp import UpdateCloudWithCloudResourceGCP
@@ -719,6 +726,7 @@ from openapi_client.models.workspace_dataplane_artifact import WorkspaceDataplan
719
726
  from openapi_client.models.workspace_dataplane_artifacts import WorkspaceDataplaneArtifacts
720
727
  from openapi_client.models.workspace_dataplane_proxied_artifacts import WorkspaceDataplaneProxiedArtifacts
721
728
  from openapi_client.models.workspace_event import WorkspaceEvent
729
+ from openapi_client.models.workspace_event_fields import WorkspaceEventFields
722
730
  from openapi_client.models.workspace_event_source import WorkspaceEventSource
723
731
  from openapi_client.models.workspace_event_source_filter import WorkspaceEventSourceFilter
724
732
  from openapi_client.models.workspace_readme import WorkspaceReadme