anyscale 0.26.69__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 (67) 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 +14 -4
  5. anyscale/client/openapi_client/__init__.py +11 -4
  6. anyscale/client/openapi_client/api/default_api.py +462 -23
  7. anyscale/client/openapi_client/models/__init__.py +11 -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/create_experimental_workspace.py +29 -1
  16. anyscale/client/openapi_client/models/create_workspace_from_template.py +29 -1
  17. anyscale/client/openapi_client/models/create_workspace_template_version.py +31 -3
  18. anyscale/client/openapi_client/models/decorated_list_service_api_model.py +58 -1
  19. anyscale/client/openapi_client/models/decorated_production_service_v2_api_model.py +60 -3
  20. anyscale/client/openapi_client/models/decorated_service_event_api_model.py +3 -3
  21. anyscale/client/openapi_client/models/describe_machine_pool_machines_filters.py +33 -5
  22. anyscale/client/openapi_client/models/describe_machine_pool_workloads_filters.py +33 -5
  23. anyscale/client/openapi_client/models/{service_event_level.py → entity_type.py} +9 -9
  24. anyscale/client/openapi_client/models/event_level.py +2 -1
  25. anyscale/client/openapi_client/models/job_event_fields.py +206 -0
  26. anyscale/client/openapi_client/models/machine_type_partition_filter.py +152 -0
  27. anyscale/client/openapi_client/models/partition_info.py +30 -1
  28. anyscale/client/openapi_client/models/production_job_event.py +3 -3
  29. anyscale/client/openapi_client/models/rollout_strategy.py +2 -1
  30. anyscale/client/openapi_client/models/service_event_fields.py +318 -0
  31. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +70 -1
  32. anyscale/client/openapi_client/models/task_summary_config.py +29 -3
  33. anyscale/client/openapi_client/models/task_table_config.py +29 -3
  34. anyscale/client/openapi_client/models/unified_event.py +377 -0
  35. anyscale/client/openapi_client/models/{ha_job_event_level.py → unified_origin_filter.py} +21 -9
  36. anyscale/client/openapi_client/models/unifiedevent_list_response.py +147 -0
  37. anyscale/client/openapi_client/models/workspace_event_fields.py +122 -0
  38. anyscale/client/openapi_client/models/workspace_template_version.py +30 -1
  39. anyscale/client/openapi_client/models/workspace_template_version_data_object.py +30 -1
  40. anyscale/cloud/models.py +2 -2
  41. anyscale/commands/cloud_commands.py +133 -2
  42. anyscale/commands/job_commands.py +1 -1
  43. anyscale/commands/service_commands.py +130 -67
  44. anyscale/commands/setup_k8s.py +546 -31
  45. anyscale/controllers/cloud_controller.py +15 -2
  46. anyscale/controllers/kubernetes_verifier.py +80 -66
  47. anyscale/job/_private/job_sdk.py +47 -1
  48. anyscale/job/commands.py +3 -0
  49. anyscale/sdk/anyscale_client/models/apply_production_service_v2_model.py +31 -3
  50. anyscale/sdk/anyscale_client/models/apply_service_model.py +31 -3
  51. anyscale/sdk/anyscale_client/models/baseimagesenum.py +70 -1
  52. anyscale/sdk/anyscale_client/models/rollout_strategy.py +2 -1
  53. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +70 -1
  54. anyscale/service/__init__.py +11 -3
  55. anyscale/service/_private/service_sdk.py +361 -35
  56. anyscale/service/commands.py +15 -3
  57. anyscale/service/models.py +12 -0
  58. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  59. anyscale/version.py +1 -1
  60. {anyscale-0.26.69.dist-info → anyscale-0.26.70.dist-info}/METADATA +1 -1
  61. {anyscale-0.26.69.dist-info → anyscale-0.26.70.dist-info}/RECORD +66 -59
  62. anyscale/client/openapi_client/models/o_auth_connection_response.py +0 -229
  63. {anyscale-0.26.69.dist-info → anyscale-0.26.70.dist-info}/WHEEL +0 -0
  64. {anyscale-0.26.69.dist-info → anyscale-0.26.70.dist-info}/entry_points.txt +0 -0
  65. {anyscale-0.26.69.dist-info → anyscale-0.26.70.dist-info}/licenses/LICENSE +0 -0
  66. {anyscale-0.26.69.dist-info → anyscale-0.26.70.dist-info}/licenses/NOTICE +0 -0
  67. {anyscale-0.26.69.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
@@ -271,6 +273,7 @@ Class | Method | HTTP request | Description
271
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
272
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
273
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
274
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
275
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
276
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
@@ -459,6 +462,8 @@ Class | Method | HTTP request | Description
459
462
  - [AppconfigResponse](docs/AppconfigResponse.md)
460
463
  - [ApplicationType](docs/ApplicationType.md)
461
464
  - [AppliedSnapshot](docs/AppliedSnapshot.md)
465
+ - [ApplyAutoscalingConfigUpdateModel](docs/ApplyAutoscalingConfigUpdateModel.md)
466
+ - [ApplyProductionServiceMultiVersionV2Model](docs/ApplyProductionServiceMultiVersionV2Model.md)
462
467
  - [ApplyProductionServiceV2Model](docs/ApplyProductionServiceV2Model.md)
463
468
  - [ArchiveStatus](docs/ArchiveStatus.md)
464
469
  - [AttachMachinePoolToCloudRequest](docs/AttachMachinePoolToCloudRequest.md)
@@ -531,6 +536,7 @@ Class | Method | HTTP request | Description
531
536
  - [CloudcollaboratorListResponse](docs/CloudcollaboratorListResponse.md)
532
537
  - [ClouddatabucketpresigneduploadinfoResponse](docs/ClouddatabucketpresigneduploadinfoResponse.md)
533
538
  - [ClouddatabucketpresignedurlresponseResponse](docs/ClouddatabucketpresignedurlresponseResponse.md)
539
+ - [ClouddeploymentResponse](docs/ClouddeploymentResponse.md)
534
540
  - [ClouddeploymentconfigResponse](docs/ClouddeploymentconfigResponse.md)
535
541
  - [CloudoverviewdashboardResponse](docs/CloudoverviewdashboardResponse.md)
536
542
  - [CloudregionandzonesResponse](docs/CloudregionandzonesResponse.md)
@@ -720,6 +726,7 @@ Class | Method | HTTP request | Description
720
726
  - [EmailVerificationRequest](docs/EmailVerificationRequest.md)
721
727
  - [EmailVerificationResponse](docs/EmailVerificationResponse.md)
722
728
  - [EmailverificationresponseResponse](docs/EmailverificationresponseResponse.md)
729
+ - [EntityType](docs/EntityType.md)
723
730
  - [Error](docs/Error.md)
724
731
  - [EventLevel](docs/EventLevel.md)
725
732
  - [ExecuteCommandResponse](docs/ExecuteCommandResponse.md)
@@ -748,7 +755,6 @@ Class | Method | HTTP request | Description
748
755
  - [GrpcProtocolConfig](docs/GrpcProtocolConfig.md)
749
756
  - [HTTPValidationError](docs/HTTPValidationError.md)
750
757
  - [HaJobErrorTypes](docs/HaJobErrorTypes.md)
751
- - [HaJobEventLevel](docs/HaJobEventLevel.md)
752
758
  - [HaJobEventOrigin](docs/HaJobEventOrigin.md)
753
759
  - [HaJobGoalStates](docs/HaJobGoalStates.md)
754
760
  - [HaJobStates](docs/HaJobStates.md)
@@ -769,6 +775,7 @@ Class | Method | HTTP request | Description
769
775
  - [InternalproductionjobResponse](docs/InternalproductionjobResponse.md)
770
776
  - [JobAccess](docs/JobAccess.md)
771
777
  - [JobDetails](docs/JobDetails.md)
778
+ - [JobEventFields](docs/JobEventFields.md)
772
779
  - [JobQueue](docs/JobQueue.md)
773
780
  - [JobQueueConfig](docs/JobQueueConfig.md)
774
781
  - [JobQueueExecutionMode](docs/JobQueueExecutionMode.md)
@@ -838,6 +845,7 @@ Class | Method | HTTP request | Description
838
845
  - [MachinePoolSearchQuery](docs/MachinePoolSearchQuery.md)
839
846
  - [MachinePoolSearchResult](docs/MachinePoolSearchResult.md)
840
847
  - [MachineStateInfo](docs/MachineStateInfo.md)
848
+ - [MachineTypePartitionFilter](docs/MachineTypePartitionFilter.md)
841
849
  - [MachinepoolsearchresultListResponse](docs/MachinepoolsearchresultListResponse.md)
842
850
  - [MachinestateinfoListResponse](docs/MachinestateinfoListResponse.md)
843
851
  - [Metric](docs/Metric.md)
@@ -877,9 +885,7 @@ Class | Method | HTTP request | Description
877
885
  - [NotificationChannelEmailConfig](docs/NotificationChannelEmailConfig.md)
878
886
  - [NotificationChannelSlackConfig](docs/NotificationChannelSlackConfig.md)
879
887
  - [NotificationChannelWebhookConfig](docs/NotificationChannelWebhookConfig.md)
880
- - [OAuthConnectionResponse](docs/OAuthConnectionResponse.md)
881
888
  - [OauthAuthUrlResponse](docs/OauthAuthUrlResponse.md)
882
- - [OauthconnectionresponseResponse](docs/OauthconnectionresponseResponse.md)
883
889
  - [ObjectStorage](docs/ObjectStorage.md)
884
890
  - [OperationError](docs/OperationError.md)
885
891
  - [OperationProgress](docs/OperationProgress.md)
@@ -990,7 +996,7 @@ Class | Method | HTTP request | Description
990
996
  - [ServersessiontokenResponse](docs/ServersessiontokenResponse.md)
991
997
  - [ServiceConfig](docs/ServiceConfig.md)
992
998
  - [ServiceEventCurrentState](docs/ServiceEventCurrentState.md)
993
- - [ServiceEventLevel](docs/ServiceEventLevel.md)
999
+ - [ServiceEventFields](docs/ServiceEventFields.md)
994
1000
  - [ServiceEventOrigin](docs/ServiceEventOrigin.md)
995
1001
  - [ServiceEventScope](docs/ServiceEventScope.md)
996
1002
  - [ServiceEventScopeFilter](docs/ServiceEventScopeFilter.md)
@@ -1067,9 +1073,12 @@ Class | Method | HTTP request | Description
1067
1073
  - [TryLoginEmailResponse](docs/TryLoginEmailResponse.md)
1068
1074
  - [TryloginemailresponseResponse](docs/TryloginemailresponseResponse.md)
1069
1075
  - [UXInstance](docs/UXInstance.md)
1076
+ - [UnifiedEvent](docs/UnifiedEvent.md)
1070
1077
  - [UnifiedJobSortField](docs/UnifiedJobSortField.md)
1071
1078
  - [UnifiedJobStatus](docs/UnifiedJobStatus.md)
1072
1079
  - [UnifiedJobType](docs/UnifiedJobType.md)
1080
+ - [UnifiedOriginFilter](docs/UnifiedOriginFilter.md)
1081
+ - [UnifiedeventListResponse](docs/UnifiedeventListResponse.md)
1073
1082
  - [UpdateCloudCollaborator](docs/UpdateCloudCollaborator.md)
1074
1083
  - [UpdateCloudWithCloudResource](docs/UpdateCloudWithCloudResource.md)
1075
1084
  - [UpdateCloudWithCloudResourceGCP](docs/UpdateCloudWithCloudResourceGCP.md)
@@ -1123,6 +1132,7 @@ Class | Method | HTTP request | Description
1123
1132
  - [WorkspaceDataplaneArtifacts](docs/WorkspaceDataplaneArtifacts.md)
1124
1133
  - [WorkspaceDataplaneProxiedArtifacts](docs/WorkspaceDataplaneProxiedArtifacts.md)
1125
1134
  - [WorkspaceEvent](docs/WorkspaceEvent.md)
1135
+ - [WorkspaceEventFields](docs/WorkspaceEventFields.md)
1126
1136
  - [WorkspaceEventSource](docs/WorkspaceEventSource.md)
1127
1137
  - [WorkspaceEventSourceFilter](docs/WorkspaceEventSourceFilter.md)
1128
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
@@ -317,6 +320,7 @@ from openapi_client.models.editable_cloud_resource_gcp import EditableCloudResou
317
320
  from openapi_client.models.email_verification_request import EmailVerificationRequest
318
321
  from openapi_client.models.email_verification_response import EmailVerificationResponse
319
322
  from openapi_client.models.emailverificationresponse_response import EmailverificationresponseResponse
323
+ from openapi_client.models.entity_type import EntityType
320
324
  from openapi_client.models.error import Error
321
325
  from openapi_client.models.event_level import EventLevel
322
326
  from openapi_client.models.execute_command_response import ExecuteCommandResponse
@@ -345,7 +349,6 @@ from openapi_client.models.grafana_dashboard import GrafanaDashboard
345
349
  from openapi_client.models.grpc_protocol_config import GrpcProtocolConfig
346
350
  from openapi_client.models.http_validation_error import HTTPValidationError
347
351
  from openapi_client.models.ha_job_error_types import HaJobErrorTypes
348
- from openapi_client.models.ha_job_event_level import HaJobEventLevel
349
352
  from openapi_client.models.ha_job_event_origin import HaJobEventOrigin
350
353
  from openapi_client.models.ha_job_goal_states import HaJobGoalStates
351
354
  from openapi_client.models.ha_job_states import HaJobStates
@@ -366,6 +369,7 @@ from openapi_client.models.internal_production_job import InternalProductionJob
366
369
  from openapi_client.models.internalproductionjob_response import InternalproductionjobResponse
367
370
  from openapi_client.models.job_access import JobAccess
368
371
  from openapi_client.models.job_details import JobDetails
372
+ from openapi_client.models.job_event_fields import JobEventFields
369
373
  from openapi_client.models.job_queue import JobQueue
370
374
  from openapi_client.models.job_queue_config import JobQueueConfig
371
375
  from openapi_client.models.job_queue_execution_mode import JobQueueExecutionMode
@@ -435,6 +439,7 @@ from openapi_client.models.machine_pool import MachinePool
435
439
  from openapi_client.models.machine_pool_search_query import MachinePoolSearchQuery
436
440
  from openapi_client.models.machine_pool_search_result import MachinePoolSearchResult
437
441
  from openapi_client.models.machine_state_info import MachineStateInfo
442
+ from openapi_client.models.machine_type_partition_filter import MachineTypePartitionFilter
438
443
  from openapi_client.models.machinepoolsearchresult_list_response import MachinepoolsearchresultListResponse
439
444
  from openapi_client.models.machinestateinfo_list_response import MachinestateinfoListResponse
440
445
  from openapi_client.models.metric import Metric
@@ -474,9 +479,7 @@ from openapi_client.models.nodemetricsresponse_response import Nodemetricsrespon
474
479
  from openapi_client.models.notification_channel_email_config import NotificationChannelEmailConfig
475
480
  from openapi_client.models.notification_channel_slack_config import NotificationChannelSlackConfig
476
481
  from openapi_client.models.notification_channel_webhook_config import NotificationChannelWebhookConfig
477
- from openapi_client.models.o_auth_connection_response import OAuthConnectionResponse
478
482
  from openapi_client.models.oauth_auth_url_response import OauthAuthUrlResponse
479
- from openapi_client.models.oauthconnectionresponse_response import OauthconnectionresponseResponse
480
483
  from openapi_client.models.object_storage import ObjectStorage
481
484
  from openapi_client.models.operation_error import OperationError
482
485
  from openapi_client.models.operation_progress import OperationProgress
@@ -587,7 +590,7 @@ from openapi_client.models.server_session_token import ServerSessionToken
587
590
  from openapi_client.models.serversessiontoken_response import ServersessiontokenResponse
588
591
  from openapi_client.models.service_config import ServiceConfig
589
592
  from openapi_client.models.service_event_current_state import ServiceEventCurrentState
590
- from openapi_client.models.service_event_level import ServiceEventLevel
593
+ from openapi_client.models.service_event_fields import ServiceEventFields
591
594
  from openapi_client.models.service_event_origin import ServiceEventOrigin
592
595
  from openapi_client.models.service_event_scope import ServiceEventScope
593
596
  from openapi_client.models.service_event_scope_filter import ServiceEventScopeFilter
@@ -664,9 +667,12 @@ from openapi_client.models.trainrun_list_response import TrainrunListResponse
664
667
  from openapi_client.models.try_login_email_response import TryLoginEmailResponse
665
668
  from openapi_client.models.tryloginemailresponse_response import TryloginemailresponseResponse
666
669
  from openapi_client.models.ux_instance import UXInstance
670
+ from openapi_client.models.unified_event import UnifiedEvent
667
671
  from openapi_client.models.unified_job_sort_field import UnifiedJobSortField
668
672
  from openapi_client.models.unified_job_status import UnifiedJobStatus
669
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
670
676
  from openapi_client.models.update_cloud_collaborator import UpdateCloudCollaborator
671
677
  from openapi_client.models.update_cloud_with_cloud_resource import UpdateCloudWithCloudResource
672
678
  from openapi_client.models.update_cloud_with_cloud_resource_gcp import UpdateCloudWithCloudResourceGCP
@@ -720,6 +726,7 @@ from openapi_client.models.workspace_dataplane_artifact import WorkspaceDataplan
720
726
  from openapi_client.models.workspace_dataplane_artifacts import WorkspaceDataplaneArtifacts
721
727
  from openapi_client.models.workspace_dataplane_proxied_artifacts import WorkspaceDataplaneProxiedArtifacts
722
728
  from openapi_client.models.workspace_event import WorkspaceEvent
729
+ from openapi_client.models.workspace_event_fields import WorkspaceEventFields
723
730
  from openapi_client.models.workspace_event_source import WorkspaceEventSource
724
731
  from openapi_client.models.workspace_event_source_filter import WorkspaceEventSourceFilter
725
732
  from openapi_client.models.workspace_readme import WorkspaceReadme