anyscale 0.26.60__py3-none-any.whl → 0.26.62__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 (35) hide show
  1. anyscale/_private/docgen/models.md +2 -0
  2. anyscale/client/README.md +20 -3
  3. anyscale/client/openapi_client/__init__.py +12 -3
  4. anyscale/client/openapi_client/api/default_api.py +999 -50
  5. anyscale/client/openapi_client/models/__init__.py +12 -3
  6. anyscale/client/openapi_client/models/api_key_info.py +280 -0
  7. anyscale/client/openapi_client/models/api_key_parameters.py +29 -3
  8. anyscale/client/openapi_client/models/apikeyinfo_list_response.py +147 -0
  9. anyscale/client/openapi_client/models/cluster_dashboard_node.py +361 -0
  10. anyscale/client/openapi_client/models/{aggregatedinstanceusagecsv_list_response.py → clusterdashboardnode_list_response.py} +15 -15
  11. anyscale/client/openapi_client/models/compute_node_type.py +29 -1
  12. anyscale/client/openapi_client/models/gpu_usage.py +236 -0
  13. anyscale/client/openapi_client/models/node_metrics.py +404 -0
  14. anyscale/client/openapi_client/models/node_metrics_response.py +123 -0
  15. anyscale/client/openapi_client/models/{cloud_hosting_type.py → node_status.py} +8 -7
  16. anyscale/client/openapi_client/models/nodemetricsresponse_response.py +121 -0
  17. anyscale/client/openapi_client/models/revoke_api_keys_request.py +123 -0
  18. anyscale/client/openapi_client/models/revoke_api_keys_response.py +202 -0
  19. anyscale/client/openapi_client/models/revokeapikeysresponse_response.py +121 -0
  20. anyscale/client/openapi_client/models/worker_node_type.py +29 -1
  21. anyscale/client/openapi_client/models/workspace_template.py +17 -17
  22. anyscale/compute_config/_private/compute_config_sdk.py +4 -0
  23. anyscale/compute_config/models.py +24 -0
  24. anyscale/sdk/anyscale_client/models/compute_node_type.py +29 -1
  25. anyscale/sdk/anyscale_client/models/worker_node_type.py +29 -1
  26. anyscale/version.py +1 -1
  27. anyscale/workspace/commands.py +23 -114
  28. {anyscale-0.26.60.dist-info → anyscale-0.26.62.dist-info}/METADATA +1 -1
  29. {anyscale-0.26.60.dist-info → anyscale-0.26.62.dist-info}/RECORD +34 -25
  30. anyscale/client/openapi_client/models/aggregated_instance_usage_csv.py +0 -811
  31. {anyscale-0.26.60.dist-info → anyscale-0.26.62.dist-info}/WHEEL +0 -0
  32. {anyscale-0.26.60.dist-info → anyscale-0.26.62.dist-info}/entry_points.txt +0 -0
  33. {anyscale-0.26.60.dist-info → anyscale-0.26.62.dist-info}/licenses/LICENSE +0 -0
  34. {anyscale-0.26.60.dist-info → anyscale-0.26.62.dist-info}/licenses/NOTICE +0 -0
  35. {anyscale-0.26.60.dist-info → anyscale-0.26.62.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,121 @@
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 RevokeapikeysresponseResponse(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
+ 'result': 'RevokeApiKeysResponse'
37
+ }
38
+
39
+ attribute_map = {
40
+ 'result': 'result'
41
+ }
42
+
43
+ def __init__(self, result=None, local_vars_configuration=None): # noqa: E501
44
+ """RevokeapikeysresponseResponse - a model defined in OpenAPI""" # noqa: E501
45
+ if local_vars_configuration is None:
46
+ local_vars_configuration = Configuration()
47
+ self.local_vars_configuration = local_vars_configuration
48
+
49
+ self._result = None
50
+ self.discriminator = None
51
+
52
+ self.result = result
53
+
54
+ @property
55
+ def result(self):
56
+ """Gets the result of this RevokeapikeysresponseResponse. # noqa: E501
57
+
58
+
59
+ :return: The result of this RevokeapikeysresponseResponse. # noqa: E501
60
+ :rtype: RevokeApiKeysResponse
61
+ """
62
+ return self._result
63
+
64
+ @result.setter
65
+ def result(self, result):
66
+ """Sets the result of this RevokeapikeysresponseResponse.
67
+
68
+
69
+ :param result: The result of this RevokeapikeysresponseResponse. # noqa: E501
70
+ :type: RevokeApiKeysResponse
71
+ """
72
+ if self.local_vars_configuration.client_side_validation and result is None: # noqa: E501
73
+ raise ValueError("Invalid value for `result`, must not be `None`") # noqa: E501
74
+
75
+ self._result = result
76
+
77
+ def to_dict(self):
78
+ """Returns the model properties as a dict"""
79
+ result = {}
80
+
81
+ for attr, _ in six.iteritems(self.openapi_types):
82
+ value = getattr(self, attr)
83
+ if isinstance(value, list):
84
+ result[attr] = list(map(
85
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
86
+ value
87
+ ))
88
+ elif hasattr(value, "to_dict"):
89
+ result[attr] = value.to_dict()
90
+ elif isinstance(value, dict):
91
+ result[attr] = dict(map(
92
+ lambda item: (item[0], item[1].to_dict())
93
+ if hasattr(item[1], "to_dict") else item,
94
+ value.items()
95
+ ))
96
+ else:
97
+ result[attr] = value
98
+
99
+ return result
100
+
101
+ def to_str(self):
102
+ """Returns the string representation of the model"""
103
+ return pprint.pformat(self.to_dict())
104
+
105
+ def __repr__(self):
106
+ """For `print` and `pprint`"""
107
+ return self.to_str()
108
+
109
+ def __eq__(self, other):
110
+ """Returns true if both objects are equal"""
111
+ if not isinstance(other, RevokeapikeysresponseResponse):
112
+ return False
113
+
114
+ return self.to_dict() == other.to_dict()
115
+
116
+ def __ne__(self, other):
117
+ """Returns true if both objects are not equal"""
118
+ if not isinstance(other, RevokeapikeysresponseResponse):
119
+ return True
120
+
121
+ return self.to_dict() != other.to_dict()
@@ -36,6 +36,7 @@ class WorkerNodeType(object):
36
36
  'name': 'str',
37
37
  'instance_type': 'str',
38
38
  'resources': 'Resources',
39
+ 'labels': 'dict(str, str)',
39
40
  'aws_advanced_configurations_json': 'object',
40
41
  'gcp_advanced_configurations_json': 'object',
41
42
  'advanced_configurations_json': 'object',
@@ -50,6 +51,7 @@ class WorkerNodeType(object):
50
51
  'name': 'name',
51
52
  'instance_type': 'instance_type',
52
53
  'resources': 'resources',
54
+ 'labels': 'labels',
53
55
  'aws_advanced_configurations_json': 'aws_advanced_configurations_json',
54
56
  'gcp_advanced_configurations_json': 'gcp_advanced_configurations_json',
55
57
  'advanced_configurations_json': 'advanced_configurations_json',
@@ -60,7 +62,7 @@ class WorkerNodeType(object):
60
62
  'fallback_to_ondemand': 'fallback_to_ondemand'
61
63
  }
62
64
 
63
- def __init__(self, name=None, instance_type=None, resources=None, aws_advanced_configurations_json=None, gcp_advanced_configurations_json=None, advanced_configurations_json=None, flags=None, min_workers=None, max_workers=None, use_spot=False, fallback_to_ondemand=False, local_vars_configuration=None): # noqa: E501
65
+ def __init__(self, name=None, instance_type=None, resources=None, labels=None, aws_advanced_configurations_json=None, gcp_advanced_configurations_json=None, advanced_configurations_json=None, flags=None, min_workers=None, max_workers=None, use_spot=False, fallback_to_ondemand=False, local_vars_configuration=None): # noqa: E501
64
66
  """WorkerNodeType - a model defined in OpenAPI""" # noqa: E501
65
67
  if local_vars_configuration is None:
66
68
  local_vars_configuration = Configuration()
@@ -69,6 +71,7 @@ class WorkerNodeType(object):
69
71
  self._name = None
70
72
  self._instance_type = None
71
73
  self._resources = None
74
+ self._labels = None
72
75
  self._aws_advanced_configurations_json = None
73
76
  self._gcp_advanced_configurations_json = None
74
77
  self._advanced_configurations_json = None
@@ -83,6 +86,8 @@ class WorkerNodeType(object):
83
86
  self.instance_type = instance_type
84
87
  if resources is not None:
85
88
  self.resources = resources
89
+ if labels is not None:
90
+ self.labels = labels
86
91
  if aws_advanced_configurations_json is not None:
87
92
  self.aws_advanced_configurations_json = aws_advanced_configurations_json
88
93
  if gcp_advanced_configurations_json is not None:
@@ -173,6 +178,29 @@ class WorkerNodeType(object):
173
178
 
174
179
  self._resources = resources
175
180
 
181
+ @property
182
+ def labels(self):
183
+ """Gets the labels of this WorkerNodeType. # noqa: E501
184
+
185
+ Labels to associate the node with for scheduling purposes. Defaults to the list of Ray & Anyscale default labels. # noqa: E501
186
+
187
+ :return: The labels of this WorkerNodeType. # noqa: E501
188
+ :rtype: dict(str, str)
189
+ """
190
+ return self._labels
191
+
192
+ @labels.setter
193
+ def labels(self, labels):
194
+ """Sets the labels of this WorkerNodeType.
195
+
196
+ Labels to associate the node with for scheduling purposes. Defaults to the list of Ray & Anyscale default labels. # noqa: E501
197
+
198
+ :param labels: The labels of this WorkerNodeType. # noqa: E501
199
+ :type: dict(str, str)
200
+ """
201
+
202
+ self._labels = labels
203
+
176
204
  @property
177
205
  def aws_advanced_configurations_json(self):
178
206
  """Gets the aws_advanced_configurations_json of this WorkerNodeType. # noqa: E501
@@ -50,7 +50,7 @@ class WorkspaceTemplate(object):
50
50
  'updated_at': 'datetime',
51
51
  'organization_id': 'str',
52
52
  'creator_email': 'str',
53
- 'published_version': 'WorkspaceTemplateVersionDataObject',
53
+ 'current_version': 'WorkspaceTemplateVersionDataObject',
54
54
  'version': 'int'
55
55
  }
56
56
 
@@ -72,11 +72,11 @@ class WorkspaceTemplate(object):
72
72
  'updated_at': 'updated_at',
73
73
  'organization_id': 'organization_id',
74
74
  'creator_email': 'creator_email',
75
- 'published_version': 'published_version',
75
+ 'current_version': 'current_version',
76
76
  'version': 'version'
77
77
  }
78
78
 
79
- def __init__(self, name=None, description=None, mins_to_complete=None, icon_type=None, icon_bg_color=None, complexity=None, category=None, labels=None, published_version_id=None, cloud_id=None, is_global=False, id=None, creator_id=None, created_at=None, updated_at=None, organization_id=None, creator_email=None, published_version=None, version=None, local_vars_configuration=None): # noqa: E501
79
+ def __init__(self, name=None, description=None, mins_to_complete=None, icon_type=None, icon_bg_color=None, complexity=None, category=None, labels=None, published_version_id=None, cloud_id=None, is_global=False, id=None, creator_id=None, created_at=None, updated_at=None, organization_id=None, creator_email=None, current_version=None, version=None, local_vars_configuration=None): # noqa: E501
80
80
  """WorkspaceTemplate - a model defined in OpenAPI""" # noqa: E501
81
81
  if local_vars_configuration is None:
82
82
  local_vars_configuration = Configuration()
@@ -99,7 +99,7 @@ class WorkspaceTemplate(object):
99
99
  self._updated_at = None
100
100
  self._organization_id = None
101
101
  self._creator_email = None
102
- self._published_version = None
102
+ self._current_version = None
103
103
  self._version = None
104
104
  self.discriminator = None
105
105
 
@@ -131,8 +131,8 @@ class WorkspaceTemplate(object):
131
131
  self.organization_id = organization_id
132
132
  if creator_email is not None:
133
133
  self.creator_email = creator_email
134
- if published_version is not None:
135
- self.published_version = published_version
134
+ if current_version is not None:
135
+ self.current_version = current_version
136
136
  if version is not None:
137
137
  self.version = version
138
138
 
@@ -540,27 +540,27 @@ class WorkspaceTemplate(object):
540
540
  self._creator_email = creator_email
541
541
 
542
542
  @property
543
- def published_version(self):
544
- """Gets the published_version of this WorkspaceTemplate. # noqa: E501
543
+ def current_version(self):
544
+ """Gets the current_version of this WorkspaceTemplate. # noqa: E501
545
545
 
546
- Published version of the template # noqa: E501
546
+ Current version of the template. This is the version being published or the latest version if no version is published. # noqa: E501
547
547
 
548
- :return: The published_version of this WorkspaceTemplate. # noqa: E501
548
+ :return: The current_version of this WorkspaceTemplate. # noqa: E501
549
549
  :rtype: WorkspaceTemplateVersionDataObject
550
550
  """
551
- return self._published_version
551
+ return self._current_version
552
552
 
553
- @published_version.setter
554
- def published_version(self, published_version):
555
- """Sets the published_version of this WorkspaceTemplate.
553
+ @current_version.setter
554
+ def current_version(self, current_version):
555
+ """Sets the current_version of this WorkspaceTemplate.
556
556
 
557
- Published version of the template # noqa: E501
557
+ Current version of the template. This is the version being published or the latest version if no version is published. # noqa: E501
558
558
 
559
- :param published_version: The published_version of this WorkspaceTemplate. # noqa: E501
559
+ :param current_version: The current_version of this WorkspaceTemplate. # noqa: E501
560
560
  :type: WorkspaceTemplateVersionDataObject
561
561
  """
562
562
 
563
- self._published_version = published_version
563
+ self._current_version = current_version
564
564
 
565
565
  @property
566
566
  def version(self):
@@ -84,6 +84,7 @@ class PrivateComputeConfigSDK(BaseSDK):
84
84
  resources=self._convert_resource_dict_to_api_model(config.resources)
85
85
  if config.resources is not None or schedulable_by_default
86
86
  else UNSCHEDULABLE_RESOURCES,
87
+ labels=config.labels,
87
88
  flags=flags or None,
88
89
  advanced_configurations_json=config.advanced_instance_config or None,
89
90
  )
@@ -110,6 +111,7 @@ class PrivateComputeConfigSDK(BaseSDK):
110
111
  name=config.name,
111
112
  instance_type=config.instance_type,
112
113
  resources=self._convert_resource_dict_to_api_model(config.resources),
114
+ labels=config.labels,
113
115
  min_workers=config.min_nodes,
114
116
  max_workers=config.max_nodes,
115
117
  use_spot=config.market_type
@@ -318,6 +320,7 @@ class PrivateComputeConfigSDK(BaseSDK):
318
320
  return HeadNodeConfig(
319
321
  instance_type=api_model.instance_type,
320
322
  resources=self._convert_api_model_to_resource_dict(api_model.resources),
323
+ labels=api_model.labels,
321
324
  advanced_instance_config=self._convert_api_model_to_advanced_instance_config(
322
325
  api_model,
323
326
  ),
@@ -365,6 +368,7 @@ class PrivateComputeConfigSDK(BaseSDK):
365
368
  resources=self._convert_api_model_to_resource_dict(
366
369
  api_model.resources
367
370
  ),
371
+ labels=api_model.labels,
368
372
  advanced_instance_config=self._convert_api_model_to_advanced_instance_config(
369
373
  api_model,
370
374
  ),
@@ -6,6 +6,7 @@ from anyscale._private.models import ModelBase, ModelEnum
6
6
 
7
7
 
8
8
  ResourceDict = Dict[str, float]
9
+ LabelDict = Dict[str, str]
9
10
  AdvancedInstanceConfigDict = Dict[str, Any]
10
11
 
11
12
 
@@ -30,6 +31,18 @@ def _validate_resource_dict(r: Optional[ResourceDict], *, field_name: str):
30
31
  )
31
32
 
32
33
 
34
+ def _validate_label_dict(labels: Optional[LabelDict]):
35
+ if labels is None:
36
+ return
37
+
38
+ # Convert any non-string keys/values to strings to ensure compatibility
39
+ for k, v in labels.items():
40
+ if not isinstance(k, str):
41
+ raise TypeError(f"'labels' keys must be strings, but got: {k}")
42
+ if not isinstance(v, str):
43
+ raise TypeError(f"'labels' values must be strings, but got: {v}")
44
+
45
+
33
46
  def _validate_advanced_instance_config_dict(c: Optional[AdvancedInstanceConfigDict]):
34
47
  if c is None:
35
48
  return
@@ -119,6 +132,17 @@ class _NodeConfig(ModelBase):
119
132
  def _validate_resources(self, resources: Optional[ResourceDict]):
120
133
  _validate_resource_dict(resources, field_name="resources")
121
134
 
135
+ labels: Optional[LabelDict] = field(
136
+ default=None,
137
+ repr=False,
138
+ metadata={
139
+ "docstring": "Labels to associate the node with for scheduling purposes. Defaults to the list of Ray & Anyscale default labels."
140
+ },
141
+ )
142
+
143
+ def _validate_labels(self, labels: Optional[LabelDict]):
144
+ _validate_label_dict(labels)
145
+
122
146
  advanced_instance_config: Optional[AdvancedInstanceConfigDict] = field(
123
147
  default=None,
124
148
  repr=False,
@@ -36,6 +36,7 @@ class ComputeNodeType(object):
36
36
  'name': 'str',
37
37
  'instance_type': 'str',
38
38
  'resources': 'Resources',
39
+ 'labels': 'dict(str, str)',
39
40
  'aws_advanced_configurations_json': 'object',
40
41
  'gcp_advanced_configurations_json': 'object',
41
42
  'advanced_configurations_json': 'object',
@@ -46,13 +47,14 @@ class ComputeNodeType(object):
46
47
  'name': 'name',
47
48
  'instance_type': 'instance_type',
48
49
  'resources': 'resources',
50
+ 'labels': 'labels',
49
51
  'aws_advanced_configurations_json': 'aws_advanced_configurations_json',
50
52
  'gcp_advanced_configurations_json': 'gcp_advanced_configurations_json',
51
53
  'advanced_configurations_json': 'advanced_configurations_json',
52
54
  'flags': 'flags'
53
55
  }
54
56
 
55
- def __init__(self, name=None, instance_type=None, resources=None, aws_advanced_configurations_json=None, gcp_advanced_configurations_json=None, advanced_configurations_json=None, flags=None, local_vars_configuration=None): # noqa: E501
57
+ def __init__(self, name=None, instance_type=None, resources=None, labels=None, aws_advanced_configurations_json=None, gcp_advanced_configurations_json=None, advanced_configurations_json=None, flags=None, local_vars_configuration=None): # noqa: E501
56
58
  """ComputeNodeType - a model defined in OpenAPI""" # noqa: E501
57
59
  if local_vars_configuration is None:
58
60
  local_vars_configuration = Configuration()
@@ -61,6 +63,7 @@ class ComputeNodeType(object):
61
63
  self._name = None
62
64
  self._instance_type = None
63
65
  self._resources = None
66
+ self._labels = None
64
67
  self._aws_advanced_configurations_json = None
65
68
  self._gcp_advanced_configurations_json = None
66
69
  self._advanced_configurations_json = None
@@ -71,6 +74,8 @@ class ComputeNodeType(object):
71
74
  self.instance_type = instance_type
72
75
  if resources is not None:
73
76
  self.resources = resources
77
+ if labels is not None:
78
+ self.labels = labels
74
79
  if aws_advanced_configurations_json is not None:
75
80
  self.aws_advanced_configurations_json = aws_advanced_configurations_json
76
81
  if gcp_advanced_configurations_json is not None:
@@ -153,6 +158,29 @@ class ComputeNodeType(object):
153
158
 
154
159
  self._resources = resources
155
160
 
161
+ @property
162
+ def labels(self):
163
+ """Gets the labels of this ComputeNodeType. # noqa: E501
164
+
165
+ Labels to associate the node with for scheduling purposes. Defaults to the list of Ray & Anyscale default labels. # noqa: E501
166
+
167
+ :return: The labels of this ComputeNodeType. # noqa: E501
168
+ :rtype: dict(str, str)
169
+ """
170
+ return self._labels
171
+
172
+ @labels.setter
173
+ def labels(self, labels):
174
+ """Sets the labels of this ComputeNodeType.
175
+
176
+ Labels to associate the node with for scheduling purposes. Defaults to the list of Ray & Anyscale default labels. # noqa: E501
177
+
178
+ :param labels: The labels of this ComputeNodeType. # noqa: E501
179
+ :type: dict(str, str)
180
+ """
181
+
182
+ self._labels = labels
183
+
156
184
  @property
157
185
  def aws_advanced_configurations_json(self):
158
186
  """Gets the aws_advanced_configurations_json of this ComputeNodeType. # noqa: E501
@@ -36,6 +36,7 @@ class WorkerNodeType(object):
36
36
  'name': 'str',
37
37
  'instance_type': 'str',
38
38
  'resources': 'Resources',
39
+ 'labels': 'dict(str, str)',
39
40
  'aws_advanced_configurations_json': 'object',
40
41
  'gcp_advanced_configurations_json': 'object',
41
42
  'advanced_configurations_json': 'object',
@@ -50,6 +51,7 @@ class WorkerNodeType(object):
50
51
  'name': 'name',
51
52
  'instance_type': 'instance_type',
52
53
  'resources': 'resources',
54
+ 'labels': 'labels',
53
55
  'aws_advanced_configurations_json': 'aws_advanced_configurations_json',
54
56
  'gcp_advanced_configurations_json': 'gcp_advanced_configurations_json',
55
57
  'advanced_configurations_json': 'advanced_configurations_json',
@@ -60,7 +62,7 @@ class WorkerNodeType(object):
60
62
  'fallback_to_ondemand': 'fallback_to_ondemand'
61
63
  }
62
64
 
63
- def __init__(self, name=None, instance_type=None, resources=None, aws_advanced_configurations_json=None, gcp_advanced_configurations_json=None, advanced_configurations_json=None, flags=None, min_workers=None, max_workers=None, use_spot=False, fallback_to_ondemand=False, local_vars_configuration=None): # noqa: E501
65
+ def __init__(self, name=None, instance_type=None, resources=None, labels=None, aws_advanced_configurations_json=None, gcp_advanced_configurations_json=None, advanced_configurations_json=None, flags=None, min_workers=None, max_workers=None, use_spot=False, fallback_to_ondemand=False, local_vars_configuration=None): # noqa: E501
64
66
  """WorkerNodeType - a model defined in OpenAPI""" # noqa: E501
65
67
  if local_vars_configuration is None:
66
68
  local_vars_configuration = Configuration()
@@ -69,6 +71,7 @@ class WorkerNodeType(object):
69
71
  self._name = None
70
72
  self._instance_type = None
71
73
  self._resources = None
74
+ self._labels = None
72
75
  self._aws_advanced_configurations_json = None
73
76
  self._gcp_advanced_configurations_json = None
74
77
  self._advanced_configurations_json = None
@@ -83,6 +86,8 @@ class WorkerNodeType(object):
83
86
  self.instance_type = instance_type
84
87
  if resources is not None:
85
88
  self.resources = resources
89
+ if labels is not None:
90
+ self.labels = labels
86
91
  if aws_advanced_configurations_json is not None:
87
92
  self.aws_advanced_configurations_json = aws_advanced_configurations_json
88
93
  if gcp_advanced_configurations_json is not None:
@@ -173,6 +178,29 @@ class WorkerNodeType(object):
173
178
 
174
179
  self._resources = resources
175
180
 
181
+ @property
182
+ def labels(self):
183
+ """Gets the labels of this WorkerNodeType. # noqa: E501
184
+
185
+ Labels to associate the node with for scheduling purposes. Defaults to the list of Ray & Anyscale default labels. # noqa: E501
186
+
187
+ :return: The labels of this WorkerNodeType. # noqa: E501
188
+ :rtype: dict(str, str)
189
+ """
190
+ return self._labels
191
+
192
+ @labels.setter
193
+ def labels(self, labels):
194
+ """Sets the labels of this WorkerNodeType.
195
+
196
+ Labels to associate the node with for scheduling purposes. Defaults to the list of Ray & Anyscale default labels. # noqa: E501
197
+
198
+ :param labels: The labels of this WorkerNodeType. # noqa: E501
199
+ :type: dict(str, str)
200
+ """
201
+
202
+ self._labels = labels
203
+
176
204
  @property
177
205
  def aws_advanced_configurations_json(self):
178
206
  """Gets the aws_advanced_configurations_json of this WorkerNodeType. # noqa: E501
anyscale/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.26.60"
1
+ __version__ = "0.26.62"