anyscale 0.26.51__py3-none-any.whl → 0.26.53__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 (75) hide show
  1. anyscale/_private/anyscale_client/README.md +1 -1
  2. anyscale/_private/anyscale_client/anyscale_client.py +178 -46
  3. anyscale/_private/anyscale_client/common.py +61 -2
  4. anyscale/_private/anyscale_client/fake_anyscale_client.py +145 -8
  5. anyscale/_private/docgen/__main__.py +42 -31
  6. anyscale/_private/docgen/generator.py +63 -28
  7. anyscale/_private/docgen/models.md +4 -2
  8. anyscale/_private/sdk/__init__.py +124 -1
  9. anyscale/_private/workload/workload_config.py +4 -6
  10. anyscale/_private/workload/workload_sdk.py +105 -12
  11. anyscale/client/README.md +13 -11
  12. anyscale/client/openapi_client/__init__.py +3 -3
  13. anyscale/client/openapi_client/api/default_api.py +512 -316
  14. anyscale/client/openapi_client/models/__init__.py +3 -3
  15. anyscale/client/openapi_client/models/aws_config.py +2 -2
  16. anyscale/client/openapi_client/models/baseimagesenum.py +158 -1
  17. anyscale/client/openapi_client/models/cloud_data_bucket_presigned_url_request.py +31 -3
  18. anyscale/client/openapi_client/models/cloud_deployment.py +37 -36
  19. anyscale/client/openapi_client/models/cloud_resource.py +59 -3
  20. anyscale/client/openapi_client/models/cloud_resource_gcp.py +59 -3
  21. anyscale/client/openapi_client/models/create_cloud_resource.py +59 -3
  22. anyscale/client/openapi_client/models/create_cloud_resource_gcp.py +59 -3
  23. anyscale/client/openapi_client/models/create_resource_notification.py +31 -3
  24. anyscale/client/openapi_client/models/{decorated_cloud_deployment.py → decorated_cloud_resource.py} +124 -96
  25. anyscale/client/openapi_client/models/{clouddeployment_list_response.py → decoratedcloudresource_list_response.py} +15 -15
  26. anyscale/client/openapi_client/models/{decoratedclouddeployment_response.py → decoratedcloudresource_response.py} +11 -11
  27. anyscale/client/openapi_client/models/file_storage.py +4 -4
  28. anyscale/client/openapi_client/models/gcp_config.py +2 -2
  29. anyscale/client/openapi_client/models/ha_job_error_types.py +9 -2
  30. anyscale/client/openapi_client/models/object_storage.py +4 -4
  31. anyscale/client/openapi_client/models/ray_runtime_env_config.py +57 -1
  32. anyscale/client/openapi_client/models/resource_alert_event_type.py +2 -1
  33. anyscale/client/openapi_client/models/resource_notification.py +29 -1
  34. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +155 -1
  35. anyscale/client/openapi_client/models/workload_info.py +31 -3
  36. anyscale/client/openapi_client/models/workload_state_info.py +29 -1
  37. anyscale/cloud/models.py +40 -43
  38. anyscale/commands/cloud_commands.py +93 -88
  39. anyscale/commands/command_examples.py +37 -49
  40. anyscale/commands/exec_commands.py +12 -1
  41. anyscale/commands/list_commands.py +42 -12
  42. anyscale/commands/project_commands.py +399 -115
  43. anyscale/commands/schedule_commands.py +22 -11
  44. anyscale/commands/service_commands.py +11 -6
  45. anyscale/commands/util.py +94 -1
  46. anyscale/commands/workspace_commands.py +92 -38
  47. anyscale/compute_config/__init__.py +1 -1
  48. anyscale/compute_config/_private/compute_config_sdk.py +8 -11
  49. anyscale/compute_config/commands.py +3 -3
  50. anyscale/compute_config/models.py +30 -30
  51. anyscale/controllers/cloud_controller.py +361 -360
  52. anyscale/controllers/kubernetes_verifier.py +1 -1
  53. anyscale/job/_private/job_sdk.py +41 -23
  54. anyscale/job/models.py +1 -1
  55. anyscale/project/__init__.py +101 -1
  56. anyscale/project/_private/project_sdk.py +90 -2
  57. anyscale/project/commands.py +188 -1
  58. anyscale/project/models.py +198 -2
  59. anyscale/sdk/anyscale_client/models/baseimagesenum.py +158 -1
  60. anyscale/sdk/anyscale_client/models/ray_runtime_env_config.py +57 -1
  61. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +155 -1
  62. anyscale/service/_private/service_sdk.py +2 -1
  63. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  64. anyscale/util.py +3 -0
  65. anyscale/utils/runtime_env.py +3 -1
  66. anyscale/version.py +1 -1
  67. anyscale/workspace/commands.py +114 -23
  68. anyscale/workspace/models.py +3 -5
  69. {anyscale-0.26.51.dist-info → anyscale-0.26.53.dist-info}/METADATA +1 -1
  70. {anyscale-0.26.51.dist-info → anyscale-0.26.53.dist-info}/RECORD +75 -75
  71. {anyscale-0.26.51.dist-info → anyscale-0.26.53.dist-info}/WHEEL +0 -0
  72. {anyscale-0.26.51.dist-info → anyscale-0.26.53.dist-info}/entry_points.txt +0 -0
  73. {anyscale-0.26.51.dist-info → anyscale-0.26.53.dist-info}/licenses/LICENSE +0 -0
  74. {anyscale-0.26.51.dist-info → anyscale-0.26.53.dist-info}/licenses/NOTICE +0 -0
  75. {anyscale-0.26.51.dist-info → anyscale-0.26.53.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,9 @@
1
+ from datetime import date, datetime
1
2
  from functools import wraps
2
- from typing import Callable, cast, Dict, Type, TypeVar
3
+ import sys
4
+ from typing import Callable, cast, Dict, Optional, Type, TypeVar, Union
3
5
 
6
+ import colorama
4
7
  from typing_extensions import ParamSpec
5
8
 
6
9
 
@@ -100,3 +103,123 @@ def sdk_command_v2(
100
103
  return wrapper
101
104
 
102
105
  return _wrap_sdk_function
106
+
107
+
108
+ def deprecated_sdk_command(
109
+ key: str,
110
+ sdk_cls: Type,
111
+ *,
112
+ doc_py_example: str,
113
+ arg_docstrings: Dict[str, str],
114
+ deprecation_message: Optional[str] = None,
115
+ removal_date: Optional[Union[str, date, datetime]] = None,
116
+ alternative: Optional[str] = None,
117
+ ) -> Callable[[Callable[P, T]], Callable[P, T]]:
118
+ """SDK command decorator with deprecation warning support.
119
+
120
+ Similar to sdk_command but adds deprecation warnings when the function is called.
121
+
122
+ Args:
123
+ key: Unique key for the SDK singleton
124
+ sdk_cls: SDK class type
125
+ doc_py_example: Documentation example
126
+ arg_docstrings: Argument documentation
127
+ deprecation_message: Custom deprecation message
128
+ removal_date: When the command will be removed (YYYY-MM-DD string, date, or datetime)
129
+ alternative: Suggested alternative command
130
+ """
131
+
132
+ def _inject_typed_sdk_singleton_with_deprecation(
133
+ f: Callable[P, T]
134
+ ) -> Callable[P, T]:
135
+ if not doc_py_example:
136
+ raise ValueError(
137
+ f"SDK command '{f.__name__}' must provide a non-empty 'doc_py_example'."
138
+ )
139
+
140
+ @wraps(f)
141
+ def wrapper(*args: P.args, **kwargs: P.kwargs) -> T: # noqa: PLR0912
142
+ # Print a visual separator for attention
143
+ print("\n" + "=" * 80, file=sys.stderr)
144
+ print(
145
+ f"{colorama.Style.BRIGHT}{colorama.Fore.YELLOW}⚠️ SDK DEPRECATION WARNING ⚠️{colorama.Style.RESET_ALL}",
146
+ file=sys.stderr,
147
+ )
148
+ print("=" * 80, file=sys.stderr)
149
+
150
+ # Build deprecation message
151
+ base_msg = deprecation_message or f"Function '{f.__name__}' is deprecated"
152
+
153
+ # Add removal date information with grammar-aware connector
154
+ date_msg = None
155
+ if removal_date:
156
+ date_str = None
157
+ try:
158
+ if isinstance(removal_date, str):
159
+ parsed_date = datetime.strptime(removal_date, "%Y-%m-%d").date()
160
+ elif isinstance(removal_date, datetime):
161
+ parsed_date = removal_date.date()
162
+ elif isinstance(removal_date, date):
163
+ parsed_date = removal_date
164
+ else:
165
+ parsed_date = None
166
+
167
+ if parsed_date:
168
+ date_str = parsed_date.strftime("%Y-%m-%d")
169
+ except (ValueError, AttributeError):
170
+ date_str = str(removal_date)
171
+
172
+ if date_str:
173
+ ends_with_punct = base_msg.strip().endswith((".", "!", "?"))
174
+ if ends_with_punct:
175
+ date_msg = f"It will be removed on {date_str}"
176
+ else:
177
+ date_msg = f"and will be removed on {date_str}"
178
+
179
+ # Add alternative suggestion
180
+ alternative_msg = None
181
+ if alternative:
182
+ alternative_msg = f"\n\n➡️ {colorama.Style.BRIGHT}Please {alternative}{colorama.Style.RESET_ALL}"
183
+
184
+ msg_parts = {
185
+ "deprecation_message": base_msg,
186
+ "date_msg": date_msg,
187
+ "alternative_msg": alternative_msg,
188
+ }
189
+
190
+ # Join the main line with a space, then append the alternative on its own line
191
+ main_line_parts = [
192
+ part
193
+ for part in [msg_parts["deprecation_message"], msg_parts["date_msg"]]
194
+ if part
195
+ ]
196
+ deprecation_msg = " ".join(main_line_parts)
197
+ if msg_parts["alternative_msg"]:
198
+ deprecation_msg += msg_parts["alternative_msg"]
199
+
200
+ # Print the warning
201
+ print(
202
+ f"\n{colorama.Fore.YELLOW}{deprecation_msg}{colorama.Style.RESET_ALL}",
203
+ file=sys.stderr,
204
+ )
205
+ print("=" * 80 + "\n", file=sys.stderr)
206
+
207
+ # Then handle SDK injection like normal sdk_command
208
+ if "_private_sdk" not in kwargs: # type: ignore
209
+ if key not in _LAZY_SDK_SINGLETONS:
210
+ _LAZY_SDK_SINGLETONS[key] = sdk_cls()
211
+
212
+ kwargs["_private_sdk"] = _LAZY_SDK_SINGLETONS[key] # type: ignore
213
+
214
+ return f(*args, **kwargs)
215
+
216
+ wrapper.__doc_py_example__ = doc_py_example # type: ignore
217
+ wrapper.__arg_docstrings__ = arg_docstrings # type: ignore
218
+ wrapper.__deprecated__ = True # type: ignore
219
+ wrapper.__deprecation_message__ = deprecation_message # type: ignore
220
+ wrapper.__removal_date__ = removal_date # type: ignore
221
+ wrapper.__alternative__ = alternative # type: ignore
222
+
223
+ return wrapper
224
+
225
+ return _inject_typed_sdk_singleton_with_deprecation
@@ -6,7 +6,7 @@ from anyscale.compute_config.models import (
6
6
  compute_config_type_from_dict,
7
7
  ComputeConfig,
8
8
  ComputeConfigType,
9
- MultiDeploymentComputeConfig,
9
+ MultiResourceComputeConfig,
10
10
  )
11
11
 
12
12
 
@@ -48,7 +48,7 @@ class WorkloadConfig(ModelBase):
48
48
  compute_config: Union[ComputeConfigType, Dict, str, None] = field(
49
49
  default=None,
50
50
  metadata={
51
- "docstring": "The name of an existing registered compute config or an inlined ComputeConfig or MultiDeploymentComputeConfig object."
51
+ "docstring": "The name of an existing registered compute config or an inlined ComputeConfig or MultiResourceComputeConfig object."
52
52
  },
53
53
  )
54
54
 
@@ -61,11 +61,9 @@ class WorkloadConfig(ModelBase):
61
61
  if isinstance(compute_config, dict):
62
62
  compute_config = compute_config_type_from_dict(compute_config)
63
63
 
64
- if not isinstance(
65
- compute_config, (ComputeConfig, MultiDeploymentComputeConfig)
66
- ):
64
+ if not isinstance(compute_config, (ComputeConfig, MultiResourceComputeConfig)):
67
65
  raise TypeError(
68
- "'compute_config' must be a string, ComputeConfig, MultiDeploymentComputeConfig, or corresponding dict"
66
+ "'compute_config' must be a string, ComputeConfig, MultiResourceComputeConfig, or corresponding dict"
69
67
  )
70
68
 
71
69
  return compute_config
@@ -13,7 +13,7 @@ from anyscale.compute_config._private.compute_config_sdk import PrivateComputeCo
13
13
  from anyscale.compute_config.models import (
14
14
  ComputeConfig,
15
15
  ComputeConfigType,
16
- MultiDeploymentComputeConfig,
16
+ MultiResourceComputeConfig,
17
17
  )
18
18
  from anyscale.image._private.image_sdk import PrivateImageSDK
19
19
  from anyscale.utils.runtime_env import is_dir_remote_uri, parse_requirements_file
@@ -112,7 +112,7 @@ class WorkloadSDK(BaseSDK):
112
112
 
113
113
  return new_runtime_envs
114
114
 
115
- def override_and_upload_local_dirs(
115
+ def override_and_upload_local_dirs_single_deployment( # noqa: PLR0912
116
116
  self,
117
117
  runtime_envs: List[Dict[str, Any]],
118
118
  *,
@@ -122,7 +122,7 @@ class WorkloadSDK(BaseSDK):
122
122
  autopopulate_in_workspace: bool = True,
123
123
  additional_py_modules: Optional[List[str]] = None,
124
124
  py_executable_override: Optional[str] = None,
125
- has_multiple_cloud_deployments: bool = False,
125
+ cloud_resource_name: Optional[str] = None,
126
126
  ) -> List[Dict[str, Any]]:
127
127
  """Returns modified runtime_envs with all local dirs converted to remote URIs.
128
128
 
@@ -142,15 +142,13 @@ class WorkloadSDK(BaseSDK):
142
142
  if target in local_path_to_uri:
143
143
  return local_path_to_uri[target]
144
144
 
145
- if has_multiple_cloud_deployments:
146
- self.logger.warning(
147
- "For compute configurations with multiple cloud deployments, local directories will only be uploaded to the object storage of the primary cloud deployment."
148
- )
149
-
150
145
  self.logger.info(f"Uploading local dir '{target}' to cloud storage.")
151
146
  assert cloud_id is not None
152
147
  uri = self._client.upload_local_dir_to_cloud_storage(
153
- target, cloud_id=cloud_id, excludes=excludes,
148
+ target,
149
+ cloud_id=cloud_id,
150
+ excludes=excludes,
151
+ cloud_resource_name=cloud_resource_name,
154
152
  )
155
153
  local_path_to_uri[target] = uri
156
154
  return uri
@@ -192,6 +190,103 @@ class WorkloadSDK(BaseSDK):
192
190
 
193
191
  return new_runtime_envs
194
192
 
193
+ def override_and_upload_local_dirs_multi_cloud_resource( # noqa: PLR0912
194
+ self,
195
+ runtime_envs: List[Dict[str, Any]],
196
+ *,
197
+ working_dir_override: Optional[str],
198
+ excludes_override: Optional[List[str]],
199
+ cloud_resource_names: List[Optional[str]],
200
+ cloud_id: Optional[str] = None,
201
+ autopopulate_in_workspace: bool = True,
202
+ additional_py_modules: Optional[List[str]] = None,
203
+ py_executable_override: Optional[str] = None,
204
+ ) -> List[Dict[str, Any]]:
205
+ """Returns modified runtime_envs with all local dirs converted to remote bucket paths,
206
+ stored in the "relative_working_dir" and "relative_py_modules" fields.
207
+
208
+ The precedence for overrides is: explicit overrides passed in > fields in the existing
209
+ runtime_envs > workspace defaults (if `autopopulate_in_workspace == True`).
210
+
211
+ Each unique local directory across these fields will be uploaded once to cloud storage,
212
+ then all occurrences of it in the config will be replaced with the corresponding remote URI.
213
+ """
214
+ new_runtime_envs = copy.deepcopy(runtime_envs)
215
+
216
+ local_path_to_bucket_path: Dict[str, str] = {}
217
+
218
+ def _upload_dir_memoized(target: str, *, excludes: Optional[List[str]]) -> str:
219
+ if target in local_path_to_bucket_path:
220
+ return local_path_to_bucket_path[target]
221
+
222
+ self.logger.info(
223
+ f"Uploading local dir '{target}' to object storage for all {len(cloud_resource_names)} cloud resources in the compute config."
224
+ )
225
+ assert cloud_id is not None
226
+ bucket_path = self._client.upload_local_dir_to_cloud_storage_multi_cloud_resource(
227
+ target,
228
+ cloud_id=cloud_id,
229
+ excludes=excludes,
230
+ cloud_resource_names=cloud_resource_names,
231
+ )
232
+ local_path_to_bucket_path[target] = bucket_path
233
+ return bucket_path
234
+
235
+ for runtime_env in new_runtime_envs:
236
+ # Extend, don't overwrite, excludes if it's provided.
237
+ if excludes_override is not None:
238
+ existing_excludes = runtime_env.get("excludes", None) or []
239
+ runtime_env["excludes"] = existing_excludes + excludes_override
240
+
241
+ final_excludes = runtime_env.get("excludes", [])
242
+
243
+ new_working_dir = None
244
+ if working_dir_override is not None:
245
+ new_working_dir = working_dir_override
246
+ elif "working_dir" in runtime_env:
247
+ new_working_dir = runtime_env["working_dir"]
248
+ elif autopopulate_in_workspace and self._client.inside_workspace():
249
+ new_working_dir = "."
250
+
251
+ if new_working_dir is not None:
252
+ if is_dir_remote_uri(new_working_dir):
253
+ runtime_env["working_dir"] = new_working_dir
254
+ else:
255
+ runtime_env["relative_working_dir"] = _upload_dir_memoized(
256
+ new_working_dir, excludes=final_excludes
257
+ )
258
+ runtime_env.pop("working_dir", None)
259
+
260
+ if additional_py_modules:
261
+ existing_py_modules = runtime_env.get("py_modules", [])
262
+ runtime_env["py_modules"] = existing_py_modules + additional_py_modules
263
+
264
+ final_py_modules = runtime_env.get("py_modules", None)
265
+ if final_py_modules is not None:
266
+ py_modules = [
267
+ py_module
268
+ for py_module in final_py_modules
269
+ if is_dir_remote_uri(py_module)
270
+ ]
271
+ if len(py_modules) > 0:
272
+ runtime_env["py_modules"] = py_modules
273
+ else:
274
+ # If there are no py_modules, remove the field.
275
+ runtime_env.pop("py_modules", None)
276
+
277
+ relative_py_modules = [
278
+ _upload_dir_memoized(py_module, excludes=final_excludes)
279
+ for py_module in final_py_modules
280
+ if not is_dir_remote_uri(py_module)
281
+ ]
282
+ if len(relative_py_modules) > 0:
283
+ runtime_env["relative_py_modules"] = relative_py_modules
284
+
285
+ if py_executable_override:
286
+ runtime_env["py_executable"] = py_executable_override
287
+
288
+ return new_runtime_envs
289
+
195
290
  def _resolve_compute_config_id(
196
291
  self,
197
292
  compute_config: Union[str, ComputeConfigType, None],
@@ -267,9 +362,7 @@ class WorkloadSDK(BaseSDK):
267
362
  else:
268
363
  # If we are creating a new compute config, ensure cloud is set accordingly
269
364
  if (
270
- isinstance(
271
- compute_config, (ComputeConfig, MultiDeploymentComputeConfig)
272
- )
365
+ isinstance(compute_config, (ComputeConfig, MultiResourceComputeConfig))
273
366
  and compute_config.cloud is None
274
367
  ):
275
368
  compute_config = replace(compute_config, cloud=cloud)
anyscale/client/README.md CHANGED
@@ -62,11 +62,11 @@ with openapi_client.ApiClient(configuration) as api_client:
62
62
  cloud_deployment = openapi_client.CloudDeployment() # CloudDeployment |
63
63
 
64
64
  try:
65
- # Add Cloud Deployment
66
- api_response = api_instance.add_cloud_deployment_api_v2_clouds_cloud_id_add_deployment_put(cloud_id, cloud_deployment)
65
+ # Add Cloud Resource
66
+ api_response = api_instance.add_cloud_resource_api_v2_clouds_cloud_id_add_resource_put(cloud_id, cloud_deployment)
67
67
  pprint(api_response)
68
68
  except ApiException as e:
69
- print("Exception when calling DefaultApi->add_cloud_deployment_api_v2_clouds_cloud_id_add_deployment_put: %s\n" % e)
69
+ print("Exception when calling DefaultApi->add_cloud_resource_api_v2_clouds_cloud_id_add_resource_put: %s\n" % e)
70
70
 
71
71
  ```
72
72
 
@@ -76,7 +76,7 @@ All URIs are relative to *http://localhost*
76
76
 
77
77
  Class | Method | HTTP request | Description
78
78
  ------------ | ------------- | ------------- | -------------
79
- *DefaultApi* | [**add_cloud_deployment_api_v2_clouds_cloud_id_add_deployment_put**](docs/DefaultApi.md#add_cloud_deployment_api_v2_clouds_cloud_id_add_deployment_put) | **PUT** /api/v2/clouds/{cloud_id}/add_deployment | Add Cloud Deployment
79
+ *DefaultApi* | [**add_cloud_resource_api_v2_clouds_cloud_id_add_resource_put**](docs/DefaultApi.md#add_cloud_resource_api_v2_clouds_cloud_id_add_resource_put) | **PUT** /api/v2/clouds/{cloud_id}/add_resource | Add Cloud Resource
80
80
  *DefaultApi* | [**add_to_waitlist_api_v2_aioa_cloud_waitlist_post**](docs/DefaultApi.md#add_to_waitlist_api_v2_aioa_cloud_waitlist_post) | **POST** /api/v2/aioa_cloud_waitlist/ | Add To Waitlist
81
81
  *DefaultApi* | [**admin_batch_create_users_api_v2_users_admin_batch_create_post**](docs/DefaultApi.md#admin_batch_create_users_api_v2_users_admin_batch_create_post) | **POST** /api/v2/users/admin_batch_create | Admin Batch Create Users
82
82
  *DefaultApi* | [**admission_api_v2_kubernetes_manager_admission_cloud_resource_id_post**](docs/DefaultApi.md#admission_api_v2_kubernetes_manager_admission_cloud_resource_id_post) | **POST** /api/v2/kubernetes_manager/admission/{cloud_resource_id} | Admission
@@ -174,11 +174,12 @@ Class | Method | HTTP request | Description
174
174
  *DefaultApi* | [**get_build_api_v2_builds_build_id_get**](docs/DefaultApi.md#get_build_api_v2_builds_build_id_get) | **GET** /api/v2/builds/{build_id} | Get Build
175
175
  *DefaultApi* | [**get_build_logs_api_v2_builds_build_id_logs_get**](docs/DefaultApi.md#get_build_logs_api_v2_builds_build_id_logs_get) | **GET** /api/v2/builds/{build_id}/logs | Get Build Logs
176
176
  *DefaultApi* | [**get_cloud_api_v2_clouds_cloud_id_get**](docs/DefaultApi.md#get_cloud_api_v2_clouds_cloud_id_get) | **GET** /api/v2/clouds/{cloud_id} | Get Cloud
177
- *DefaultApi* | [**get_cloud_deployment_api_v2_clouds_cloud_id_deployment_get**](docs/DefaultApi.md#get_cloud_deployment_api_v2_clouds_cloud_id_deployment_get) | **GET** /api/v2/clouds/{cloud_id}/deployment | Get Cloud Deployment
178
177
  *DefaultApi* | [**get_cloud_deployment_config_api_v2_clouds_cloud_id_deployment_cloud_deployment_id_config_get**](docs/DefaultApi.md#get_cloud_deployment_config_api_v2_clouds_cloud_id_deployment_cloud_deployment_id_config_get) | **GET** /api/v2/clouds/{cloud_id}/deployment/{cloud_deployment_id}/config | Get Cloud Deployment Config
179
178
  *DefaultApi* | [**get_cloud_deployments_api_v2_clouds_cloud_id_deployments_get**](docs/DefaultApi.md#get_cloud_deployments_api_v2_clouds_cloud_id_deployments_get) | **GET** /api/v2/clouds/{cloud_id}/deployments | Get Cloud Deployments
180
179
  *DefaultApi* | [**get_cloud_overview_dashboard_api_v2_clouds_cloud_id_cloud_overview_dashboard_get**](docs/DefaultApi.md#get_cloud_overview_dashboard_api_v2_clouds_cloud_id_cloud_overview_dashboard_get) | **GET** /api/v2/clouds/{cloud_id}/cloud-overview-dashboard | Get Cloud Overview Dashboard
181
180
  *DefaultApi* | [**get_cloud_project_collaborator_api_v2_projects_project_id_collaborators_clouds_get**](docs/DefaultApi.md#get_cloud_project_collaborator_api_v2_projects_project_id_collaborators_clouds_get) | **GET** /api/v2/projects/{project_id}/collaborators/clouds | Get Cloud Project Collaborator
181
+ *DefaultApi* | [**get_cloud_resource_api_v2_clouds_cloud_id_resource_get**](docs/DefaultApi.md#get_cloud_resource_api_v2_clouds_cloud_id_resource_get) | **GET** /api/v2/clouds/{cloud_id}/resource | Get Cloud Resource
182
+ *DefaultApi* | [**get_cloud_resources_api_v2_clouds_cloud_id_resources_get**](docs/DefaultApi.md#get_cloud_resources_api_v2_clouds_cloud_id_resources_get) | **GET** /api/v2/clouds/{cloud_id}/resources | Get Cloud Resources
182
183
  *DefaultApi* | [**get_cloud_with_cloud_resource_api_v2_clouds_with_cloud_resource_gcp_router_cloud_id_get**](docs/DefaultApi.md#get_cloud_with_cloud_resource_api_v2_clouds_with_cloud_resource_gcp_router_cloud_id_get) | **GET** /api/v2/clouds_with_cloud_resource_gcp_router/{cloud_id} | Get Cloud With Cloud Resource
183
184
  *DefaultApi* | [**get_cloud_with_cloud_resource_api_v2_clouds_with_cloud_resource_router_cloud_id_get**](docs/DefaultApi.md#get_cloud_with_cloud_resource_api_v2_clouds_with_cloud_resource_router_cloud_id_get) | **GET** /api/v2/clouds_with_cloud_resource_router/{cloud_id} | Get Cloud With Cloud Resource
184
185
  *DefaultApi* | [**get_cluster_access_token_api_v2_authentication_cluster_id_cluster_access_token_get**](docs/DefaultApi.md#get_cluster_access_token_api_v2_authentication_cluster_id_cluster_access_token_get) | **GET** /api/v2/authentication/{cluster_id}/cluster_access_token | Get Cluster Access Token
@@ -209,10 +210,12 @@ Class | Method | HTTP request | Description
209
210
  *DefaultApi* | [**get_job_logs_download_v2_api_v2_logs_job_logs_download_v2_job_id_get**](docs/DefaultApi.md#get_job_logs_download_v2_api_v2_logs_job_logs_download_v2_job_id_get) | **GET** /api/v2/logs/job_logs_download_v2/{job_id} | Get Job Logs Download V2
210
211
  *DefaultApi* | [**get_job_queue_api_v2_job_queues_job_queue_id_get**](docs/DefaultApi.md#get_job_queue_api_v2_job_queues_job_queue_id_get) | **GET** /api/v2/job_queues/{job_queue_id} | Get Job Queue
211
212
  *DefaultApi* | [**get_jobs_api_v2_dataset_runs_jobs_get**](docs/DefaultApi.md#get_jobs_api_v2_dataset_runs_jobs_get) | **GET** /api/v2/dataset_runs/jobs | Get Jobs
213
+ *DefaultApi* | [**get_latest_cloud_resource_api_v2_sessions_cluster_id_latest_cloud_resource_get**](docs/DefaultApi.md#get_latest_cloud_resource_api_v2_sessions_cluster_id_latest_cloud_resource_get) | **GET** /api/v2/sessions/{cluster_id}/latest_cloud_resource | Get Latest Cloud Resource
212
214
  *DefaultApi* | [**get_lb_resource_api_v2_clouds_with_cloud_resource_gcp_router_cloud_id_get_lb_resource_post**](docs/DefaultApi.md#get_lb_resource_api_v2_clouds_with_cloud_resource_gcp_router_cloud_id_get_lb_resource_post) | **POST** /api/v2/clouds_with_cloud_resource_gcp_router/{cloud_id}/get_lb_resource | Get Lb Resource
213
215
  *DefaultApi* | [**get_lb_resource_api_v2_clouds_with_cloud_resource_router_cloud_id_get_lb_resource_post**](docs/DefaultApi.md#get_lb_resource_api_v2_clouds_with_cloud_resource_router_cloud_id_get_lb_resource_post) | **POST** /api/v2/clouds_with_cloud_resource_router/{cloud_id}/get_lb_resource | Get Lb Resource
214
216
  *DefaultApi* | [**get_log_files_api_v2_logs_get_log_files_post**](docs/DefaultApi.md#get_log_files_api_v2_logs_get_log_files_post) | **POST** /api/v2/logs/get_log_files | Get Log Files
215
217
  *DefaultApi* | [**get_manage_billing_url_api_v2_organization_billing_manage_billing_url_get**](docs/DefaultApi.md#get_manage_billing_url_api_v2_organization_billing_manage_billing_url_get) | **GET** /api/v2/organization_billing/manage_billing_url | Get Manage Billing Url
218
+ *DefaultApi* | [**get_metric_names_api_v2_metrics_names_get**](docs/DefaultApi.md#get_metric_names_api_v2_metrics_names_get) | **GET** /api/v2/metrics/names | Get Metric Names
216
219
  *DefaultApi* | [**get_metronome_customer_info_api_v2_metronome_customer_info_organization_id_get**](docs/DefaultApi.md#get_metronome_customer_info_api_v2_metronome_customer_info_organization_id_get) | **GET** /api/v2/metronome_customer_info/{organization_id} | Get Metronome Customer Info
217
220
  *DefaultApi* | [**get_metronome_embedded_usage_dashboard_api_v2_organization_billing_metronome_embedded_dashboard_url_dashboard_type_get**](docs/DefaultApi.md#get_metronome_embedded_usage_dashboard_api_v2_organization_billing_metronome_embedded_dashboard_url_dashboard_type_get) | **GET** /api/v2/organization_billing/metronome_embedded_dashboard_url/{dashboard_type} | Get Metronome Embedded Usage Dashboard
218
221
  *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
@@ -309,7 +312,6 @@ Class | Method | HTTP request | Description
309
312
  *DefaultApi* | [**put_workspace_proxied_dataplane_artifacts_api_v2_experimental_workspaces_workspace_id_proxied_dataplane_artifacts_put**](docs/DefaultApi.md#put_workspace_proxied_dataplane_artifacts_api_v2_experimental_workspaces_workspace_id_proxied_dataplane_artifacts_put) | **PUT** /api/v2/experimental_workspaces/{workspace_id}/proxied_dataplane_artifacts | Put Workspace Proxied Dataplane Artifacts
310
313
  *DefaultApi* | [**put_workspace_wandb_run_details_api_v2_integrations_workspace_wandb_run_details_workspace_id_put**](docs/DefaultApi.md#put_workspace_wandb_run_details_api_v2_integrations_workspace_wandb_run_details_workspace_id_put) | **PUT** /api/v2/integrations/workspace_wandb_run_details/{workspace_id} | Put Workspace Wandb Run Details
311
314
  *DefaultApi* | [**query_aggregated_logs_api_v2_logs_query_aggregated_logs_get**](docs/DefaultApi.md#query_aggregated_logs_api_v2_logs_query_aggregated_logs_get) | **GET** /api/v2/logs/query_aggregated_logs | Query Aggregated Logs
312
- *DefaultApi* | [**query_api_v2_logs_query_get**](docs/DefaultApi.md#query_api_v2_logs_query_get) | **GET** /api/v2/logs/query | Query
313
315
  *DefaultApi* | [**query_api_v2_metrics_query_get**](docs/DefaultApi.md#query_api_v2_metrics_query_get) | **GET** /api/v2/metrics/query | Query
314
316
  *DefaultApi* | [**query_range_api_v2_metrics_query_range_get**](docs/DefaultApi.md#query_range_api_v2_metrics_query_range_get) | **GET** /api/v2/metrics/query_range | Query Range
315
317
  *DefaultApi* | [**receive_cli_usage_api_v2_cli_usage_post**](docs/DefaultApi.md#receive_cli_usage_api_v2_cli_usage_post) | **POST** /api/v2/cli_usage/ | Receive Cli Usage
@@ -320,7 +322,7 @@ Class | Method | HTTP request | Description
320
322
  *DefaultApi* | [**register_machine_api_v2_anyscaled_register_machine_post**](docs/DefaultApi.md#register_machine_api_v2_anyscaled_register_machine_post) | **POST** /api/v2/anyscaled/register_machine | Register Machine
321
323
  *DefaultApi* | [**register_user_api_v2_users_post**](docs/DefaultApi.md#register_user_api_v2_users_post) | **POST** /api/v2/users/ | Register User
322
324
  *DefaultApi* | [**register_v2_api_v2_anyscaled_register_v2_post**](docs/DefaultApi.md#register_v2_api_v2_anyscaled_register_v2_post) | **POST** /api/v2/anyscaled/register_v2 | Register V2
323
- *DefaultApi* | [**remove_cloud_deployment_api_v2_clouds_cloud_id_remove_deployment_delete**](docs/DefaultApi.md#remove_cloud_deployment_api_v2_clouds_cloud_id_remove_deployment_delete) | **DELETE** /api/v2/clouds/{cloud_id}/remove_deployment | Remove Cloud Deployment
325
+ *DefaultApi* | [**remove_cloud_resource_api_v2_clouds_cloud_id_remove_resource_delete**](docs/DefaultApi.md#remove_cloud_resource_api_v2_clouds_cloud_id_remove_resource_delete) | **DELETE** /api/v2/clouds/{cloud_id}/remove_resource | Remove Cloud Resource
324
326
  *DefaultApi* | [**remove_organization_collaborator_api_v2_organization_collaborators_identity_id_delete**](docs/DefaultApi.md#remove_organization_collaborator_api_v2_organization_collaborators_identity_id_delete) | **DELETE** /api/v2/organization_collaborators/{identity_id} | Remove Organization Collaborator
325
327
  *DefaultApi* | [**request_email_magic_link_api_v2_users_email_magic_link_post**](docs/DefaultApi.md#request_email_magic_link_api_v2_users_email_magic_link_post) | **POST** /api/v2/users/email_magic_link | Request Email Magic Link
326
328
  *DefaultApi* | [**request_password_reset_api_v2_users_request_password_reset_post**](docs/DefaultApi.md#request_password_reset_api_v2_users_request_password_reset_post) | **POST** /api/v2/users/request_password_reset | Request Password Reset
@@ -358,7 +360,7 @@ Class | Method | HTTP request | Description
358
360
  *DefaultApi* | [**update_cloud_auto_add_user_api_v2_clouds_cloud_id_auto_add_user_put**](docs/DefaultApi.md#update_cloud_auto_add_user_api_v2_clouds_cloud_id_auto_add_user_put) | **PUT** /api/v2/clouds/{cloud_id}/auto_add_user | Update Cloud Auto Add User
359
361
  *DefaultApi* | [**update_cloud_deployment_api_v2_clouds_cloud_id_update_deployment_put**](docs/DefaultApi.md#update_cloud_deployment_api_v2_clouds_cloud_id_update_deployment_put) | **PUT** /api/v2/clouds/{cloud_id}/update_deployment | Update Cloud Deployment
360
362
  *DefaultApi* | [**update_cloud_deployment_config_api_v2_clouds_cloud_id_deployment_cloud_deployment_id_config_put**](docs/DefaultApi.md#update_cloud_deployment_config_api_v2_clouds_cloud_id_deployment_cloud_deployment_id_config_put) | **PUT** /api/v2/clouds/{cloud_id}/deployment/{cloud_deployment_id}/config | Update Cloud Deployment Config
361
- *DefaultApi* | [**update_cloud_deployments_api_v2_clouds_cloud_id_deployments_put**](docs/DefaultApi.md#update_cloud_deployments_api_v2_clouds_cloud_id_deployments_put) | **PUT** /api/v2/clouds/{cloud_id}/deployments | Update Cloud Deployments
363
+ *DefaultApi* | [**update_cloud_resources_api_v2_clouds_cloud_id_resources_put**](docs/DefaultApi.md#update_cloud_resources_api_v2_clouds_cloud_id_resources_put) | **PUT** /api/v2/clouds/{cloud_id}/resources | Update Cloud Resources
362
364
  *DefaultApi* | [**update_cloud_with_cloud_resource_api_v2_clouds_with_cloud_resource_gcp_router_cloud_id_put**](docs/DefaultApi.md#update_cloud_with_cloud_resource_api_v2_clouds_with_cloud_resource_gcp_router_cloud_id_put) | **PUT** /api/v2/clouds_with_cloud_resource_gcp_router/{cloud_id} | Update Cloud With Cloud Resource
363
365
  *DefaultApi* | [**update_cloud_with_cloud_resource_api_v2_clouds_with_cloud_resource_router_cloud_id_put**](docs/DefaultApi.md#update_cloud_with_cloud_resource_api_v2_clouds_with_cloud_resource_router_cloud_id_put) | **PUT** /api/v2/clouds_with_cloud_resource_router/{cloud_id} | Update Cloud With Cloud Resource
364
366
  *DefaultApi* | [**update_customer_aggregated_logs_config_api_v2_clouds_cloud_id_update_customer_aggregated_logs_config_put**](docs/DefaultApi.md#update_customer_aggregated_logs_config_api_v2_clouds_cloud_id_update_customer_aggregated_logs_config_put) | **PUT** /api/v2/clouds/{cloud_id}/update_customer_aggregated_logs_config | Update Customer Aggregated Logs Config
@@ -487,7 +489,6 @@ Class | Method | HTTP request | Description
487
489
  - [CloudcollaboratorListResponse](docs/CloudcollaboratorListResponse.md)
488
490
  - [ClouddatabucketpresigneduploadinfoResponse](docs/ClouddatabucketpresigneduploadinfoResponse.md)
489
491
  - [ClouddatabucketpresignedurlresponseResponse](docs/ClouddatabucketpresignedurlresponseResponse.md)
490
- - [ClouddeploymentListResponse](docs/ClouddeploymentListResponse.md)
491
492
  - [ClouddeploymentconfigResponse](docs/ClouddeploymentconfigResponse.md)
492
493
  - [CloudoverviewdashboardResponse](docs/CloudoverviewdashboardResponse.md)
493
494
  - [CloudregionandzonesResponse](docs/CloudregionandzonesResponse.md)
@@ -586,7 +587,7 @@ Class | Method | HTTP request | Description
586
587
  - [DatasetuploadResponse](docs/DatasetuploadResponse.md)
587
588
  - [DecoratedApplicationTemplate](docs/DecoratedApplicationTemplate.md)
588
589
  - [DecoratedBuild](docs/DecoratedBuild.md)
589
- - [DecoratedCloudDeployment](docs/DecoratedCloudDeployment.md)
590
+ - [DecoratedCloudResource](docs/DecoratedCloudResource.md)
590
591
  - [DecoratedComputeTemplate](docs/DecoratedComputeTemplate.md)
591
592
  - [DecoratedComputeTemplateConfig](docs/DecoratedComputeTemplateConfig.md)
592
593
  - [DecoratedInteractiveSession](docs/DecoratedInteractiveSession.md)
@@ -607,7 +608,8 @@ Class | Method | HTTP request | Description
607
608
  - [DecoratedapplicationtemplateResponse](docs/DecoratedapplicationtemplateResponse.md)
608
609
  - [DecoratedbuildListResponse](docs/DecoratedbuildListResponse.md)
609
610
  - [DecoratedbuildResponse](docs/DecoratedbuildResponse.md)
610
- - [DecoratedclouddeploymentResponse](docs/DecoratedclouddeploymentResponse.md)
611
+ - [DecoratedcloudresourceListResponse](docs/DecoratedcloudresourceListResponse.md)
612
+ - [DecoratedcloudresourceResponse](docs/DecoratedcloudresourceResponse.md)
611
613
  - [DecoratedcomputetemplateListResponse](docs/DecoratedcomputetemplateListResponse.md)
612
614
  - [DecoratedcomputetemplateResponse](docs/DecoratedcomputetemplateResponse.md)
613
615
  - [DecoratedinteractivesessionListResponse](docs/DecoratedinteractivesessionListResponse.md)
@@ -129,7 +129,6 @@ from openapi_client.models.cloud_with_cloud_resource_gcp import CloudWithCloudRe
129
129
  from openapi_client.models.cloudcollaborator_list_response import CloudcollaboratorListResponse
130
130
  from openapi_client.models.clouddatabucketpresigneduploadinfo_response import ClouddatabucketpresigneduploadinfoResponse
131
131
  from openapi_client.models.clouddatabucketpresignedurlresponse_response import ClouddatabucketpresignedurlresponseResponse
132
- from openapi_client.models.clouddeployment_list_response import ClouddeploymentListResponse
133
132
  from openapi_client.models.clouddeploymentconfig_response import ClouddeploymentconfigResponse
134
133
  from openapi_client.models.cloudoverviewdashboard_response import CloudoverviewdashboardResponse
135
134
  from openapi_client.models.cloudregionandzones_response import CloudregionandzonesResponse
@@ -228,7 +227,7 @@ from openapi_client.models.dataset_upload import DatasetUpload
228
227
  from openapi_client.models.datasetupload_response import DatasetuploadResponse
229
228
  from openapi_client.models.decorated_application_template import DecoratedApplicationTemplate
230
229
  from openapi_client.models.decorated_build import DecoratedBuild
231
- from openapi_client.models.decorated_cloud_deployment import DecoratedCloudDeployment
230
+ from openapi_client.models.decorated_cloud_resource import DecoratedCloudResource
232
231
  from openapi_client.models.decorated_compute_template import DecoratedComputeTemplate
233
232
  from openapi_client.models.decorated_compute_template_config import DecoratedComputeTemplateConfig
234
233
  from openapi_client.models.decorated_interactive_session import DecoratedInteractiveSession
@@ -249,7 +248,8 @@ from openapi_client.models.decoratedapplicationtemplate_list_response import Dec
249
248
  from openapi_client.models.decoratedapplicationtemplate_response import DecoratedapplicationtemplateResponse
250
249
  from openapi_client.models.decoratedbuild_list_response import DecoratedbuildListResponse
251
250
  from openapi_client.models.decoratedbuild_response import DecoratedbuildResponse
252
- from openapi_client.models.decoratedclouddeployment_response import DecoratedclouddeploymentResponse
251
+ from openapi_client.models.decoratedcloudresource_list_response import DecoratedcloudresourceListResponse
252
+ from openapi_client.models.decoratedcloudresource_response import DecoratedcloudresourceResponse
253
253
  from openapi_client.models.decoratedcomputetemplate_list_response import DecoratedcomputetemplateListResponse
254
254
  from openapi_client.models.decoratedcomputetemplate_response import DecoratedcomputetemplateResponse
255
255
  from openapi_client.models.decoratedinteractivesession_list_response import DecoratedinteractivesessionListResponse