anyscale 0.26.68__py3-none-any.whl → 0.26.70__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. anyscale/_private/anyscale_client/anyscale_client.py +67 -1
  2. anyscale/_private/anyscale_client/common.py +20 -1
  3. anyscale/_private/anyscale_client/fake_anyscale_client.py +77 -10
  4. anyscale/client/README.md +16 -4
  5. anyscale/client/openapi_client/__init__.py +12 -4
  6. anyscale/client/openapi_client/api/default_api.py +588 -23
  7. anyscale/client/openapi_client/models/__init__.py +12 -4
  8. anyscale/client/openapi_client/models/api_key_info.py +29 -3
  9. anyscale/client/openapi_client/models/apply_autoscaling_config_update_model.py +350 -0
  10. anyscale/client/openapi_client/models/apply_production_service_multi_version_v2_model.py +207 -0
  11. anyscale/client/openapi_client/models/apply_production_service_v2_model.py +31 -3
  12. anyscale/client/openapi_client/models/baseimagesenum.py +70 -1
  13. anyscale/client/openapi_client/models/cloud_data_bucket_file_type.py +2 -1
  14. anyscale/client/openapi_client/models/{oauthconnectionresponse_response.py → clouddeployment_response.py} +11 -11
  15. anyscale/client/openapi_client/models/clusterdashboardnode_response.py +121 -0
  16. anyscale/client/openapi_client/models/create_experimental_workspace.py +29 -1
  17. anyscale/client/openapi_client/models/create_workspace_from_template.py +29 -1
  18. anyscale/client/openapi_client/models/create_workspace_template_version.py +31 -3
  19. anyscale/client/openapi_client/models/decorated_list_service_api_model.py +58 -1
  20. anyscale/client/openapi_client/models/decorated_production_service_v2_api_model.py +60 -3
  21. anyscale/client/openapi_client/models/decorated_service_event_api_model.py +3 -3
  22. anyscale/client/openapi_client/models/describe_machine_pool_machines_filters.py +33 -5
  23. anyscale/client/openapi_client/models/describe_machine_pool_workloads_filters.py +33 -5
  24. anyscale/client/openapi_client/models/{service_event_level.py → entity_type.py} +9 -9
  25. anyscale/client/openapi_client/models/event_level.py +2 -1
  26. anyscale/client/openapi_client/models/job_event_fields.py +206 -0
  27. anyscale/client/openapi_client/models/lineage_graph_node.py +70 -42
  28. anyscale/client/openapi_client/models/lineage_workload.py +31 -3
  29. anyscale/client/openapi_client/models/machine_type_partition_filter.py +152 -0
  30. anyscale/client/openapi_client/models/partition_info.py +30 -1
  31. anyscale/client/openapi_client/models/production_job_event.py +3 -3
  32. anyscale/client/openapi_client/models/rollout_strategy.py +2 -1
  33. anyscale/client/openapi_client/models/service_event_fields.py +318 -0
  34. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +70 -1
  35. anyscale/client/openapi_client/models/task_summary_config.py +29 -3
  36. anyscale/client/openapi_client/models/task_table_config.py +29 -3
  37. anyscale/client/openapi_client/models/unified_event.py +377 -0
  38. anyscale/client/openapi_client/models/{ha_job_event_level.py → unified_origin_filter.py} +21 -9
  39. anyscale/client/openapi_client/models/unifiedevent_list_response.py +147 -0
  40. anyscale/client/openapi_client/models/workspace_event_fields.py +122 -0
  41. anyscale/client/openapi_client/models/workspace_template_version.py +30 -1
  42. anyscale/client/openapi_client/models/workspace_template_version_data_object.py +30 -1
  43. anyscale/cloud/models.py +2 -2
  44. anyscale/commands/cloud_commands.py +148 -11
  45. anyscale/commands/command_examples.py +53 -0
  46. anyscale/commands/job_commands.py +1 -1
  47. anyscale/commands/service_commands.py +130 -67
  48. anyscale/commands/setup_k8s.py +615 -49
  49. anyscale/controllers/cloud_controller.py +19 -5
  50. anyscale/controllers/kubernetes_verifier.py +80 -66
  51. anyscale/job/_private/job_sdk.py +47 -1
  52. anyscale/job/commands.py +3 -0
  53. anyscale/sdk/anyscale_client/models/apply_production_service_v2_model.py +31 -3
  54. anyscale/sdk/anyscale_client/models/apply_service_model.py +31 -3
  55. anyscale/sdk/anyscale_client/models/baseimagesenum.py +70 -1
  56. anyscale/sdk/anyscale_client/models/rollout_strategy.py +2 -1
  57. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +70 -1
  58. anyscale/service/__init__.py +11 -3
  59. anyscale/service/_private/service_sdk.py +361 -35
  60. anyscale/service/commands.py +15 -3
  61. anyscale/service/models.py +12 -0
  62. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  63. anyscale/version.py +1 -1
  64. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/METADATA +1 -1
  65. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/RECORD +70 -62
  66. anyscale/client/openapi_client/models/o_auth_connection_response.py +0 -229
  67. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/WHEEL +0 -0
  68. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/entry_points.txt +0 -0
  69. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/licenses/LICENSE +0 -0
  70. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/licenses/NOTICE +0 -0
  71. {anyscale-0.26.68.dist-info → anyscale-0.26.70.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,207 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Managed Ray API
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501
7
+
8
+ The version of the OpenAPI document: 0.1.0
9
+ Generated by: https://openapi-generator.tech
10
+ """
11
+
12
+
13
+ import pprint
14
+ import re # noqa: F401
15
+
16
+ import six
17
+
18
+ from openapi_client.configuration import Configuration
19
+
20
+
21
+ class ApplyProductionServiceMultiVersionV2Model(object):
22
+ """NOTE: This class is auto generated by OpenAPI Generator.
23
+ Ref: https://openapi-generator.tech
24
+
25
+ Do not edit the class manually.
26
+ """
27
+
28
+ """
29
+ Attributes:
30
+ openapi_types (dict): The key is attribute name
31
+ and the value is attribute type.
32
+ attribute_map (dict): The key is attribute name
33
+ and the value is json key in definition.
34
+ """
35
+ openapi_types = {
36
+ 'rollout_strategy': 'RolloutStrategy',
37
+ 'cloud_id': 'str',
38
+ 'project_id': 'str',
39
+ 'service_versions': 'list[ApplyProductionServiceV2Model]'
40
+ }
41
+
42
+ attribute_map = {
43
+ 'rollout_strategy': 'rollout_strategy',
44
+ 'cloud_id': 'cloud_id',
45
+ 'project_id': 'project_id',
46
+ 'service_versions': 'service_versions'
47
+ }
48
+
49
+ def __init__(self, rollout_strategy=None, cloud_id=None, project_id=None, service_versions=None, local_vars_configuration=None): # noqa: E501
50
+ """ApplyProductionServiceMultiVersionV2Model - a model defined in OpenAPI""" # noqa: E501
51
+ if local_vars_configuration is None:
52
+ local_vars_configuration = Configuration()
53
+ self.local_vars_configuration = local_vars_configuration
54
+
55
+ self._rollout_strategy = None
56
+ self._cloud_id = None
57
+ self._project_id = None
58
+ self._service_versions = None
59
+ self.discriminator = None
60
+
61
+ if rollout_strategy is not None:
62
+ self.rollout_strategy = rollout_strategy
63
+ if cloud_id is not None:
64
+ self.cloud_id = cloud_id
65
+ if project_id is not None:
66
+ self.project_id = project_id
67
+ self.service_versions = service_versions
68
+
69
+ @property
70
+ def rollout_strategy(self):
71
+ """Gets the rollout_strategy of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
72
+
73
+ Strategy for rollout. The ROLLOUT strategy will deploy your Ray Serve configuration onto a newly started cluster, and then shift traffic over to the new cluster. You can manually control the speed of the rollout using the canary_percent configuration. The IN_PLACE strategy will use Ray Serve in place upgrade to update your existing cluster in place. When using this rollout strategy, you may only change the ray_serve_config field. You cannot partially shift traffic or rollback an in place upgrade. In place upgrades are faster and riskier than rollouts, and we recommend only using them for relatively safe changes (for example, increasing the number of replicas on a Ray Serve deployment). The MULTI_VERSION strategy will deploy multiple versions of the service. You can shift traffic between versions using the traffic_percent configuration.Default strategy is ROLLOUT. # noqa: E501
74
+
75
+ :return: The rollout_strategy of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
76
+ :rtype: RolloutStrategy
77
+ """
78
+ return self._rollout_strategy
79
+
80
+ @rollout_strategy.setter
81
+ def rollout_strategy(self, rollout_strategy):
82
+ """Sets the rollout_strategy of this ApplyProductionServiceMultiVersionV2Model.
83
+
84
+ Strategy for rollout. The ROLLOUT strategy will deploy your Ray Serve configuration onto a newly started cluster, and then shift traffic over to the new cluster. You can manually control the speed of the rollout using the canary_percent configuration. The IN_PLACE strategy will use Ray Serve in place upgrade to update your existing cluster in place. When using this rollout strategy, you may only change the ray_serve_config field. You cannot partially shift traffic or rollback an in place upgrade. In place upgrades are faster and riskier than rollouts, and we recommend only using them for relatively safe changes (for example, increasing the number of replicas on a Ray Serve deployment). The MULTI_VERSION strategy will deploy multiple versions of the service. You can shift traffic between versions using the traffic_percent configuration.Default strategy is ROLLOUT. # noqa: E501
85
+
86
+ :param rollout_strategy: The rollout_strategy of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
87
+ :type: RolloutStrategy
88
+ """
89
+
90
+ self._rollout_strategy = rollout_strategy
91
+
92
+ @property
93
+ def cloud_id(self):
94
+ """Gets the cloud_id of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
95
+
96
+ Id of the cloud this Service will launch clusters in. # noqa: E501
97
+
98
+ :return: The cloud_id of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
99
+ :rtype: str
100
+ """
101
+ return self._cloud_id
102
+
103
+ @cloud_id.setter
104
+ def cloud_id(self, cloud_id):
105
+ """Sets the cloud_id of this ApplyProductionServiceMultiVersionV2Model.
106
+
107
+ Id of the cloud this Service will launch clusters in. # noqa: E501
108
+
109
+ :param cloud_id: The cloud_id of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
110
+ :type: str
111
+ """
112
+
113
+ self._cloud_id = cloud_id
114
+
115
+ @property
116
+ def project_id(self):
117
+ """Gets the project_id of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
118
+
119
+ Id of the project this Service will start clusters in. # noqa: E501
120
+
121
+ :return: The project_id of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
122
+ :rtype: str
123
+ """
124
+ return self._project_id
125
+
126
+ @project_id.setter
127
+ def project_id(self, project_id):
128
+ """Sets the project_id of this ApplyProductionServiceMultiVersionV2Model.
129
+
130
+ Id of the project this Service will start clusters in. # noqa: E501
131
+
132
+ :param project_id: The project_id of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
133
+ :type: str
134
+ """
135
+
136
+ self._project_id = project_id
137
+
138
+ @property
139
+ def service_versions(self):
140
+ """Gets the service_versions of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
141
+
142
+ List of versions to deploy. Each version is a deployment of the service. # noqa: E501
143
+
144
+ :return: The service_versions of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
145
+ :rtype: list[ApplyProductionServiceV2Model]
146
+ """
147
+ return self._service_versions
148
+
149
+ @service_versions.setter
150
+ def service_versions(self, service_versions):
151
+ """Sets the service_versions of this ApplyProductionServiceMultiVersionV2Model.
152
+
153
+ List of versions to deploy. Each version is a deployment of the service. # noqa: E501
154
+
155
+ :param service_versions: The service_versions of this ApplyProductionServiceMultiVersionV2Model. # noqa: E501
156
+ :type: list[ApplyProductionServiceV2Model]
157
+ """
158
+ if self.local_vars_configuration.client_side_validation and service_versions is None: # noqa: E501
159
+ raise ValueError("Invalid value for `service_versions`, must not be `None`") # noqa: E501
160
+
161
+ self._service_versions = service_versions
162
+
163
+ def to_dict(self):
164
+ """Returns the model properties as a dict"""
165
+ result = {}
166
+
167
+ for attr, _ in six.iteritems(self.openapi_types):
168
+ value = getattr(self, attr)
169
+ if isinstance(value, list):
170
+ result[attr] = list(map(
171
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
172
+ value
173
+ ))
174
+ elif hasattr(value, "to_dict"):
175
+ result[attr] = value.to_dict()
176
+ elif isinstance(value, dict):
177
+ result[attr] = dict(map(
178
+ lambda item: (item[0], item[1].to_dict())
179
+ if hasattr(item[1], "to_dict") else item,
180
+ value.items()
181
+ ))
182
+ else:
183
+ result[attr] = value
184
+
185
+ return result
186
+
187
+ def to_str(self):
188
+ """Returns the string representation of the model"""
189
+ return pprint.pformat(self.to_dict())
190
+
191
+ def __repr__(self):
192
+ """For `print` and `pprint`"""
193
+ return self.to_str()
194
+
195
+ def __eq__(self, other):
196
+ """Returns true if both objects are equal"""
197
+ if not isinstance(other, ApplyProductionServiceMultiVersionV2Model):
198
+ return False
199
+
200
+ return self.to_dict() == other.to_dict()
201
+
202
+ def __ne__(self, other):
203
+ """Returns true if both objects are not equal"""
204
+ if not isinstance(other, ApplyProductionServiceMultiVersionV2Model):
205
+ return True
206
+
207
+ return self.to_dict() != other.to_dict()
@@ -47,7 +47,8 @@ class ApplyProductionServiceV2Model(object):
47
47
  'tracing_config': 'TracingConfig',
48
48
  'auto_complete_rollout': 'bool',
49
49
  'max_surge_percent': 'int',
50
- 'tags': 'dict(str, str)'
50
+ 'tags': 'dict(str, str)',
51
+ 'traffic_percent': 'int'
51
52
  }
52
53
 
53
54
  attribute_map = {
@@ -65,10 +66,11 @@ class ApplyProductionServiceV2Model(object):
65
66
  'tracing_config': 'tracing_config',
66
67
  'auto_complete_rollout': 'auto_complete_rollout',
67
68
  'max_surge_percent': 'max_surge_percent',
68
- 'tags': 'tags'
69
+ 'tags': 'tags',
70
+ 'traffic_percent': 'traffic_percent'
69
71
  }
70
72
 
71
- def __init__(self, name=None, description=None, project_id=None, version=None, canary_percent=None, ray_serve_config=None, build_id=None, compute_config_id=None, config=None, rollout_strategy=None, ray_gcs_external_storage_config=None, tracing_config=None, auto_complete_rollout=True, max_surge_percent=None, tags=None, local_vars_configuration=None): # noqa: E501
73
+ def __init__(self, name=None, description=None, project_id=None, version=None, canary_percent=None, ray_serve_config=None, build_id=None, compute_config_id=None, config=None, rollout_strategy=None, ray_gcs_external_storage_config=None, tracing_config=None, auto_complete_rollout=True, max_surge_percent=None, tags=None, traffic_percent=None, local_vars_configuration=None): # noqa: E501
72
74
  """ApplyProductionServiceV2Model - a model defined in OpenAPI""" # noqa: E501
73
75
  if local_vars_configuration is None:
74
76
  local_vars_configuration = Configuration()
@@ -89,6 +91,7 @@ class ApplyProductionServiceV2Model(object):
89
91
  self._auto_complete_rollout = None
90
92
  self._max_surge_percent = None
91
93
  self._tags = None
94
+ self._traffic_percent = None
92
95
  self.discriminator = None
93
96
 
94
97
  self.name = name
@@ -117,6 +120,8 @@ class ApplyProductionServiceV2Model(object):
117
120
  self.max_surge_percent = max_surge_percent
118
121
  if tags is not None:
119
122
  self.tags = tags
123
+ if traffic_percent is not None:
124
+ self.traffic_percent = traffic_percent
120
125
 
121
126
  @property
122
127
  def name(self):
@@ -471,6 +476,29 @@ class ApplyProductionServiceV2Model(object):
471
476
 
472
477
  self._tags = tags
473
478
 
479
+ @property
480
+ def traffic_percent(self):
481
+ """Gets the traffic_percent of this ApplyProductionServiceV2Model. # noqa: E501
482
+
483
+ Percentage of traffic forwarded to a particular service version from the ALB. # noqa: E501
484
+
485
+ :return: The traffic_percent of this ApplyProductionServiceV2Model. # noqa: E501
486
+ :rtype: int
487
+ """
488
+ return self._traffic_percent
489
+
490
+ @traffic_percent.setter
491
+ def traffic_percent(self, traffic_percent):
492
+ """Sets the traffic_percent of this ApplyProductionServiceV2Model.
493
+
494
+ Percentage of traffic forwarded to a particular service version from the ALB. # noqa: E501
495
+
496
+ :param traffic_percent: The traffic_percent of this ApplyProductionServiceV2Model. # noqa: E501
497
+ :type: int
498
+ """
499
+
500
+ self._traffic_percent = traffic_percent
501
+
474
502
  def to_dict(self):
475
503
  """Returns the model properties as a dict"""
476
504
  result = {}