anyscale 0.26.43__py3-none-any.whl → 0.26.44__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 (37) hide show
  1. anyscale/_private/anyscale_client/common.py +1 -1
  2. anyscale/_private/docgen/__main__.py +2 -0
  3. anyscale/_private/docgen/models.md +2 -2
  4. anyscale/_private/workload/workload_sdk.py +6 -0
  5. anyscale/client/README.md +6 -0
  6. anyscale/client/openapi_client/__init__.py +5 -0
  7. anyscale/client/openapi_client/api/default_api.py +132 -0
  8. anyscale/client/openapi_client/models/__init__.py +5 -0
  9. anyscale/client/openapi_client/models/baseimagesenum.py +68 -1
  10. anyscale/client/openapi_client/models/describe_machine_pool_machines_filters.py +31 -3
  11. anyscale/client/openapi_client/models/describe_machine_pool_workloads_filters.py +150 -0
  12. anyscale/client/openapi_client/models/describe_machine_pool_workloads_request.py +151 -0
  13. anyscale/client/openapi_client/models/file_storage.py +33 -5
  14. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +68 -1
  15. anyscale/client/openapi_client/models/workload_machine_info.py +210 -0
  16. anyscale/client/openapi_client/models/workload_state_info.py +295 -0
  17. anyscale/client/openapi_client/models/workloadstateinfo_list_response.py +147 -0
  18. anyscale/commands/cloud_commands.py +1 -0
  19. anyscale/commands/compute_config_commands.py +10 -3
  20. anyscale/compute_config/__init__.py +16 -0
  21. anyscale/compute_config/_private/compute_config_sdk.py +172 -60
  22. anyscale/compute_config/commands.py +66 -1
  23. anyscale/compute_config/models.py +160 -3
  24. anyscale/conf.py +1 -1
  25. anyscale/controllers/cloud_controller.py +141 -3
  26. anyscale/job/_private/job_sdk.py +22 -0
  27. anyscale/sdk/anyscale_client/models/baseimagesenum.py +68 -1
  28. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +68 -1
  29. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  30. anyscale/version.py +1 -1
  31. {anyscale-0.26.43.dist-info → anyscale-0.26.44.dist-info}/METADATA +4 -3
  32. {anyscale-0.26.43.dist-info → anyscale-0.26.44.dist-info}/RECORD +37 -32
  33. {anyscale-0.26.43.dist-info → anyscale-0.26.44.dist-info}/LICENSE +0 -0
  34. {anyscale-0.26.43.dist-info → anyscale-0.26.44.dist-info}/NOTICE +0 -0
  35. {anyscale-0.26.43.dist-info → anyscale-0.26.44.dist-info}/WHEEL +0 -0
  36. {anyscale-0.26.43.dist-info → anyscale-0.26.44.dist-info}/entry_points.txt +0 -0
  37. {anyscale-0.26.43.dist-info → anyscale-0.26.44.dist-info}/top_level.txt +0 -0
@@ -118,6 +118,7 @@ class WorkloadSDK(BaseSDK):
118
118
  autopopulate_in_workspace: bool = True,
119
119
  additional_py_modules: Optional[List[str]] = None,
120
120
  py_executable_override: Optional[str] = None,
121
+ has_multiple_cloud_deployments: bool = False,
121
122
  ) -> List[Dict[str, Any]]:
122
123
  """Returns modified runtime_envs with all local dirs converted to remote URIs.
123
124
 
@@ -137,6 +138,11 @@ class WorkloadSDK(BaseSDK):
137
138
  if target in local_path_to_uri:
138
139
  return local_path_to_uri[target]
139
140
 
141
+ if has_multiple_cloud_deployments:
142
+ raise ValueError(
143
+ "Local directory uploads are not supported for compute configurations with multiple cloud deployments."
144
+ )
145
+
140
146
  self.logger.info(f"Uploading local dir '{target}' to cloud storage.")
141
147
  assert cloud_id is not None
142
148
  uri = self._client.upload_local_dir_to_cloud_storage(
anyscale/client/README.md CHANGED
@@ -147,6 +147,7 @@ Class | Method | HTTP request | Description
147
147
  *DefaultApi* | [**describe_machine_pool_api_v2_machine_pools_describe_post**](docs/DefaultApi.md#describe_machine_pool_api_v2_machine_pools_describe_post) | **POST** /api/v2/machine_pools/describe | Describe Machine Pool
148
148
  *DefaultApi* | [**describe_machine_pool_machines_api_v2_machine_pools_describe_machines_post**](docs/DefaultApi.md#describe_machine_pool_machines_api_v2_machine_pools_describe_machines_post) | **POST** /api/v2/machine_pools/describe_machines | Describe Machine Pool Machines
149
149
  *DefaultApi* | [**describe_machine_pool_requests_api_v2_machine_pools_describe_requests_post**](docs/DefaultApi.md#describe_machine_pool_requests_api_v2_machine_pools_describe_requests_post) | **POST** /api/v2/machine_pools/describe_requests | Describe Machine Pool Requests
150
+ *DefaultApi* | [**describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post**](docs/DefaultApi.md#describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post) | **POST** /api/v2/machine_pools/describe_workloads | Describe Machine Pool Workloads
150
151
  *DefaultApi* | [**describe_system_workload_api_v2_system_workload_cloud_id_describe_post**](docs/DefaultApi.md#describe_system_workload_api_v2_system_workload_cloud_id_describe_post) | **POST** /api/v2/system_workload/{cloud_id}/describe | Describe System Workload
151
152
  *DefaultApi* | [**detach_machine_pool_from_cloud_api_v2_machine_pools_detach_post**](docs/DefaultApi.md#detach_machine_pool_from_cloud_api_v2_machine_pools_detach_post) | **POST** /api/v2/machine_pools/detach | Detach Machine Pool From Cloud
152
153
  *DefaultApi* | [**download_aggregated_instance_usage_csv_api_v2_aggregated_instance_usage_download_csv_get**](docs/DefaultApi.md#download_aggregated_instance_usage_csv_api_v2_aggregated_instance_usage_download_csv_get) | **GET** /api/v2/aggregated_instance_usage/download_csv | Download Aggregated Instance Usage Csv
@@ -628,6 +629,8 @@ Class | Method | HTTP request | Description
628
629
  - [DescribeMachinePoolRequest](docs/DescribeMachinePoolRequest.md)
629
630
  - [DescribeMachinePoolRequestsRequest](docs/DescribeMachinePoolRequestsRequest.md)
630
631
  - [DescribeMachinePoolResponse](docs/DescribeMachinePoolResponse.md)
632
+ - [DescribeMachinePoolWorkloadsFilters](docs/DescribeMachinePoolWorkloadsFilters.md)
633
+ - [DescribeMachinePoolWorkloadsRequest](docs/DescribeMachinePoolWorkloadsRequest.md)
631
634
  - [DescribeSystemWorkloadResponse](docs/DescribeSystemWorkloadResponse.md)
632
635
  - [DescribemachinepoolresponseResponse](docs/DescribemachinepoolresponseResponse.md)
633
636
  - [DescribesystemworkloadresponseResponse](docs/DescribesystemworkloadresponseResponse.md)
@@ -963,7 +966,10 @@ Class | Method | HTTP request | Description
963
966
  - [WandBRunDetails](docs/WandBRunDetails.md)
964
967
  - [WorkerNodeType](docs/WorkerNodeType.md)
965
968
  - [WorkloadInfo](docs/WorkloadInfo.md)
969
+ - [WorkloadMachineInfo](docs/WorkloadMachineInfo.md)
970
+ - [WorkloadStateInfo](docs/WorkloadStateInfo.md)
966
971
  - [WorkloadType](docs/WorkloadType.md)
972
+ - [WorkloadstateinfoListResponse](docs/WorkloadstateinfoListResponse.md)
967
973
  - [WorkspaceDataplaneArtifact](docs/WorkspaceDataplaneArtifact.md)
968
974
  - [WorkspaceDataplaneArtifacts](docs/WorkspaceDataplaneArtifacts.md)
969
975
  - [WorkspaceDataplaneProxiedArtifacts](docs/WorkspaceDataplaneProxiedArtifacts.md)
@@ -280,6 +280,8 @@ from openapi_client.models.describe_machine_pool_machines_request import Describ
280
280
  from openapi_client.models.describe_machine_pool_request import DescribeMachinePoolRequest
281
281
  from openapi_client.models.describe_machine_pool_requests_request import DescribeMachinePoolRequestsRequest
282
282
  from openapi_client.models.describe_machine_pool_response import DescribeMachinePoolResponse
283
+ from openapi_client.models.describe_machine_pool_workloads_filters import DescribeMachinePoolWorkloadsFilters
284
+ from openapi_client.models.describe_machine_pool_workloads_request import DescribeMachinePoolWorkloadsRequest
283
285
  from openapi_client.models.describe_system_workload_response import DescribeSystemWorkloadResponse
284
286
  from openapi_client.models.describemachinepoolresponse_response import DescribemachinepoolresponseResponse
285
287
  from openapi_client.models.describesystemworkloadresponse_response import DescribesystemworkloadresponseResponse
@@ -615,7 +617,10 @@ from openapi_client.models.waitliststatusresponse_response import Waitliststatus
615
617
  from openapi_client.models.wand_b_run_details import WandBRunDetails
616
618
  from openapi_client.models.worker_node_type import WorkerNodeType
617
619
  from openapi_client.models.workload_info import WorkloadInfo
620
+ from openapi_client.models.workload_machine_info import WorkloadMachineInfo
621
+ from openapi_client.models.workload_state_info import WorkloadStateInfo
618
622
  from openapi_client.models.workload_type import WorkloadType
623
+ from openapi_client.models.workloadstateinfo_list_response import WorkloadstateinfoListResponse
619
624
  from openapi_client.models.workspace_dataplane_artifact import WorkspaceDataplaneArtifact
620
625
  from openapi_client.models.workspace_dataplane_artifacts import WorkspaceDataplaneArtifacts
621
626
  from openapi_client.models.workspace_dataplane_proxied_artifacts import WorkspaceDataplaneProxiedArtifacts
@@ -8419,6 +8419,138 @@ class DefaultApi(object):
8419
8419
  _request_timeout=local_var_params.get('_request_timeout'),
8420
8420
  collection_formats=collection_formats)
8421
8421
 
8422
+ def describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post(self, describe_machine_pool_workloads_request, **kwargs): # noqa: E501
8423
+ """Describe Machine Pool Workloads # noqa: E501
8424
+
8425
+ Describe the currently allocated workloads in a machine pool. # noqa: E501
8426
+ This method makes a synchronous HTTP request by default. To make an
8427
+ asynchronous HTTP request, please pass async_req=True
8428
+ >>> thread = api.describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post(describe_machine_pool_workloads_request, async_req=True)
8429
+ >>> result = thread.get()
8430
+
8431
+ :param async_req bool: execute request asynchronously
8432
+ :param DescribeMachinePoolWorkloadsRequest describe_machine_pool_workloads_request: (required)
8433
+ :param str paging_token:
8434
+ :param int count:
8435
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
8436
+ be returned without reading/decoding response
8437
+ data. Default is True.
8438
+ :param _request_timeout: timeout setting for this request. If one
8439
+ number provided, it will be total request
8440
+ timeout. It can also be a pair (tuple) of
8441
+ (connection, read) timeouts.
8442
+ :return: WorkloadstateinfoListResponse
8443
+ If the method is called asynchronously,
8444
+ returns the request thread.
8445
+ """
8446
+ kwargs['_return_http_data_only'] = True
8447
+ return self.describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post_with_http_info(describe_machine_pool_workloads_request, **kwargs) # noqa: E501
8448
+
8449
+ def describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post_with_http_info(self, describe_machine_pool_workloads_request, **kwargs): # noqa: E501
8450
+ """Describe Machine Pool Workloads # noqa: E501
8451
+
8452
+ Describe the currently allocated workloads in a machine pool. # noqa: E501
8453
+ This method makes a synchronous HTTP request by default. To make an
8454
+ asynchronous HTTP request, please pass async_req=True
8455
+ >>> thread = api.describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post_with_http_info(describe_machine_pool_workloads_request, async_req=True)
8456
+ >>> result = thread.get()
8457
+
8458
+ :param async_req bool: execute request asynchronously
8459
+ :param DescribeMachinePoolWorkloadsRequest describe_machine_pool_workloads_request: (required)
8460
+ :param str paging_token:
8461
+ :param int count:
8462
+ :param _return_http_data_only: response data without head status code
8463
+ and headers
8464
+ :param _preload_content: if False, the urllib3.HTTPResponse object will
8465
+ be returned without reading/decoding response
8466
+ data. Default is True.
8467
+ :param _request_timeout: timeout setting for this request. If one
8468
+ number provided, it will be total request
8469
+ timeout. It can also be a pair (tuple) of
8470
+ (connection, read) timeouts.
8471
+ :return: tuple(WorkloadstateinfoListResponse, status_code(int), headers(HTTPHeaderDict))
8472
+ If the method is called asynchronously,
8473
+ returns the request thread.
8474
+ """
8475
+
8476
+ local_var_params = locals()
8477
+
8478
+ all_params = [
8479
+ 'describe_machine_pool_workloads_request',
8480
+ 'paging_token',
8481
+ 'count'
8482
+ ]
8483
+ all_params.extend(
8484
+ [
8485
+ 'async_req',
8486
+ '_return_http_data_only',
8487
+ '_preload_content',
8488
+ '_request_timeout'
8489
+ ]
8490
+ )
8491
+
8492
+ for key, val in six.iteritems(local_var_params['kwargs']):
8493
+ if key not in all_params:
8494
+ raise ApiTypeError(
8495
+ "Got an unexpected keyword argument '%s'"
8496
+ " to method describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post" % key
8497
+ )
8498
+ local_var_params[key] = val
8499
+ del local_var_params['kwargs']
8500
+ # verify the required parameter 'describe_machine_pool_workloads_request' is set
8501
+ if self.api_client.client_side_validation and ('describe_machine_pool_workloads_request' not in local_var_params or # noqa: E501
8502
+ local_var_params['describe_machine_pool_workloads_request'] is None): # noqa: E501
8503
+ raise ApiValueError("Missing the required parameter `describe_machine_pool_workloads_request` when calling `describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post`") # noqa: E501
8504
+
8505
+ if self.api_client.client_side_validation and 'count' in local_var_params and local_var_params['count'] > 1000: # noqa: E501
8506
+ raise ApiValueError("Invalid value for parameter `count` when calling `describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post`, must be a value less than or equal to `1000`") # noqa: E501
8507
+ if self.api_client.client_side_validation and 'count' in local_var_params and local_var_params['count'] < 0: # noqa: E501
8508
+ raise ApiValueError("Invalid value for parameter `count` when calling `describe_machine_pool_workloads_api_v2_machine_pools_describe_workloads_post`, must be a value greater than or equal to `0`") # noqa: E501
8509
+ collection_formats = {}
8510
+
8511
+ path_params = {}
8512
+
8513
+ query_params = []
8514
+ if 'paging_token' in local_var_params and local_var_params['paging_token'] is not None: # noqa: E501
8515
+ query_params.append(('paging_token', local_var_params['paging_token'])) # noqa: E501
8516
+ if 'count' in local_var_params and local_var_params['count'] is not None: # noqa: E501
8517
+ query_params.append(('count', local_var_params['count'])) # noqa: E501
8518
+
8519
+ header_params = {}
8520
+
8521
+ form_params = []
8522
+ local_var_files = {}
8523
+
8524
+ body_params = None
8525
+ if 'describe_machine_pool_workloads_request' in local_var_params:
8526
+ body_params = local_var_params['describe_machine_pool_workloads_request']
8527
+ # HTTP header `Accept`
8528
+ header_params['Accept'] = self.api_client.select_header_accept(
8529
+ ['application/json']) # noqa: E501
8530
+
8531
+ # HTTP header `Content-Type`
8532
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
8533
+ ['application/json']) # noqa: E501
8534
+
8535
+ # Authentication setting
8536
+ auth_settings = [] # noqa: E501
8537
+
8538
+ return self.api_client.call_api(
8539
+ '/api/v2/machine_pools/describe_workloads', 'POST',
8540
+ path_params,
8541
+ query_params,
8542
+ header_params,
8543
+ body=body_params,
8544
+ post_params=form_params,
8545
+ files=local_var_files,
8546
+ response_type='WorkloadstateinfoListResponse', # noqa: E501
8547
+ auth_settings=auth_settings,
8548
+ async_req=local_var_params.get('async_req'),
8549
+ _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
8550
+ _preload_content=local_var_params.get('_preload_content', True),
8551
+ _request_timeout=local_var_params.get('_request_timeout'),
8552
+ collection_formats=collection_formats)
8553
+
8422
8554
  def describe_system_workload_api_v2_system_workload_cloud_id_describe_post(self, cloud_id, workload_name, **kwargs): # noqa: E501
8423
8555
  """Describe System Workload # noqa: E501
8424
8556
 
@@ -266,6 +266,8 @@ from openapi_client.models.describe_machine_pool_machines_request import Describ
266
266
  from openapi_client.models.describe_machine_pool_request import DescribeMachinePoolRequest
267
267
  from openapi_client.models.describe_machine_pool_requests_request import DescribeMachinePoolRequestsRequest
268
268
  from openapi_client.models.describe_machine_pool_response import DescribeMachinePoolResponse
269
+ from openapi_client.models.describe_machine_pool_workloads_filters import DescribeMachinePoolWorkloadsFilters
270
+ from openapi_client.models.describe_machine_pool_workloads_request import DescribeMachinePoolWorkloadsRequest
269
271
  from openapi_client.models.describe_system_workload_response import DescribeSystemWorkloadResponse
270
272
  from openapi_client.models.describemachinepoolresponse_response import DescribemachinepoolresponseResponse
271
273
  from openapi_client.models.describesystemworkloadresponse_response import DescribesystemworkloadresponseResponse
@@ -601,7 +603,10 @@ from openapi_client.models.waitliststatusresponse_response import Waitliststatus
601
603
  from openapi_client.models.wand_b_run_details import WandBRunDetails
602
604
  from openapi_client.models.worker_node_type import WorkerNodeType
603
605
  from openapi_client.models.workload_info import WorkloadInfo
606
+ from openapi_client.models.workload_machine_info import WorkloadMachineInfo
607
+ from openapi_client.models.workload_state_info import WorkloadStateInfo
604
608
  from openapi_client.models.workload_type import WorkloadType
609
+ from openapi_client.models.workloadstateinfo_list_response import WorkloadstateinfoListResponse
605
610
  from openapi_client.models.workspace_dataplane_artifact import WorkspaceDataplaneArtifact
606
611
  from openapi_client.models.workspace_dataplane_artifacts import WorkspaceDataplaneArtifacts
607
612
  from openapi_client.models.workspace_dataplane_proxied_artifacts import WorkspaceDataplaneProxiedArtifacts