anyscale 0.26.58__py3-none-any.whl → 0.26.59__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/anyscale_client/common.py +1 -1
  2. anyscale/client/README.md +15 -0
  3. anyscale/client/openapi_client/__init__.py +10 -0
  4. anyscale/client/openapi_client/api/default_api.py +602 -2
  5. anyscale/client/openapi_client/models/__init__.py +10 -0
  6. anyscale/client/openapi_client/models/baseimagesenum.py +76 -1
  7. anyscale/client/openapi_client/models/create_internal_production_job.py +31 -3
  8. anyscale/client/openapi_client/models/create_job_queue_requests.py +31 -3
  9. anyscale/client/openapi_client/models/email_verification_request.py +175 -0
  10. anyscale/client/openapi_client/models/email_verification_response.py +120 -0
  11. anyscale/client/openapi_client/models/emailverificationresponse_response.py +121 -0
  12. anyscale/client/openapi_client/models/job_queues_query.py +31 -3
  13. anyscale/client/openapi_client/models/operator_event.py +256 -0
  14. anyscale/client/openapi_client/models/operator_event_response.py +148 -0
  15. anyscale/client/openapi_client/models/operator_event_type.py +101 -0
  16. anyscale/client/openapi_client/models/supportedbaseimagesenum.py +76 -1
  17. anyscale/client/openapi_client/models/update_job_queue_request.py +31 -3
  18. anyscale/client/openapi_client/models/use_work_os_response.py +121 -0
  19. anyscale/client/openapi_client/models/useworkosresponse_response.py +121 -0
  20. anyscale/client/openapi_client/models/work_os_authorize_url_response.py +120 -0
  21. anyscale/client/openapi_client/models/workosauthorizeurlresponse_response.py +121 -0
  22. anyscale/commands/cloud_commands.py +15 -3
  23. anyscale/commands/command_examples.py +1 -1
  24. anyscale/controllers/cloud_controller.py +7 -3
  25. anyscale/sdk/anyscale_client/models/baseimagesenum.py +76 -1
  26. anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +76 -1
  27. anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
  28. anyscale/version.py +1 -1
  29. {anyscale-0.26.58.dist-info → anyscale-0.26.59.dist-info}/METADATA +1 -1
  30. {anyscale-0.26.58.dist-info → anyscale-0.26.59.dist-info}/RECORD +35 -25
  31. {anyscale-0.26.58.dist-info → anyscale-0.26.59.dist-info}/WHEEL +0 -0
  32. {anyscale-0.26.58.dist-info → anyscale-0.26.59.dist-info}/entry_points.txt +0 -0
  33. {anyscale-0.26.58.dist-info → anyscale-0.26.59.dist-info}/licenses/LICENSE +0 -0
  34. {anyscale-0.26.58.dist-info → anyscale-0.26.59.dist-info}/licenses/NOTICE +0 -0
  35. {anyscale-0.26.58.dist-info → anyscale-0.26.59.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 UseworkosresponseResponse(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': 'UseWorkOSResponse'
37
+ }
38
+
39
+ attribute_map = {
40
+ 'result': 'result'
41
+ }
42
+
43
+ def __init__(self, result=None, local_vars_configuration=None): # noqa: E501
44
+ """UseworkosresponseResponse - 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 UseworkosresponseResponse. # noqa: E501
57
+
58
+
59
+ :return: The result of this UseworkosresponseResponse. # noqa: E501
60
+ :rtype: UseWorkOSResponse
61
+ """
62
+ return self._result
63
+
64
+ @result.setter
65
+ def result(self, result):
66
+ """Sets the result of this UseworkosresponseResponse.
67
+
68
+
69
+ :param result: The result of this UseworkosresponseResponse. # noqa: E501
70
+ :type: UseWorkOSResponse
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, UseworkosresponseResponse):
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, UseworkosresponseResponse):
119
+ return True
120
+
121
+ return self.to_dict() != other.to_dict()
@@ -0,0 +1,120 @@
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 WorkOSAuthorizeUrlResponse(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
+ 'url': 'str'
37
+ }
38
+
39
+ attribute_map = {
40
+ 'url': 'url'
41
+ }
42
+
43
+ def __init__(self, url=None, local_vars_configuration=None): # noqa: E501
44
+ """WorkOSAuthorizeUrlResponse - 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._url = None
50
+ self.discriminator = None
51
+
52
+ if url is not None:
53
+ self.url = url
54
+
55
+ @property
56
+ def url(self):
57
+ """Gets the url of this WorkOSAuthorizeUrlResponse. # noqa: E501
58
+
59
+
60
+ :return: The url of this WorkOSAuthorizeUrlResponse. # noqa: E501
61
+ :rtype: str
62
+ """
63
+ return self._url
64
+
65
+ @url.setter
66
+ def url(self, url):
67
+ """Sets the url of this WorkOSAuthorizeUrlResponse.
68
+
69
+
70
+ :param url: The url of this WorkOSAuthorizeUrlResponse. # noqa: E501
71
+ :type: str
72
+ """
73
+
74
+ self._url = url
75
+
76
+ def to_dict(self):
77
+ """Returns the model properties as a dict"""
78
+ result = {}
79
+
80
+ for attr, _ in six.iteritems(self.openapi_types):
81
+ value = getattr(self, attr)
82
+ if isinstance(value, list):
83
+ result[attr] = list(map(
84
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
85
+ value
86
+ ))
87
+ elif hasattr(value, "to_dict"):
88
+ result[attr] = value.to_dict()
89
+ elif isinstance(value, dict):
90
+ result[attr] = dict(map(
91
+ lambda item: (item[0], item[1].to_dict())
92
+ if hasattr(item[1], "to_dict") else item,
93
+ value.items()
94
+ ))
95
+ else:
96
+ result[attr] = value
97
+
98
+ return result
99
+
100
+ def to_str(self):
101
+ """Returns the string representation of the model"""
102
+ return pprint.pformat(self.to_dict())
103
+
104
+ def __repr__(self):
105
+ """For `print` and `pprint`"""
106
+ return self.to_str()
107
+
108
+ def __eq__(self, other):
109
+ """Returns true if both objects are equal"""
110
+ if not isinstance(other, WorkOSAuthorizeUrlResponse):
111
+ return False
112
+
113
+ return self.to_dict() == other.to_dict()
114
+
115
+ def __ne__(self, other):
116
+ """Returns true if both objects are not equal"""
117
+ if not isinstance(other, WorkOSAuthorizeUrlResponse):
118
+ return True
119
+
120
+ return self.to_dict() != other.to_dict()
@@ -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 WorkosauthorizeurlresponseResponse(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': 'WorkOSAuthorizeUrlResponse'
37
+ }
38
+
39
+ attribute_map = {
40
+ 'result': 'result'
41
+ }
42
+
43
+ def __init__(self, result=None, local_vars_configuration=None): # noqa: E501
44
+ """WorkosauthorizeurlresponseResponse - 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 WorkosauthorizeurlresponseResponse. # noqa: E501
57
+
58
+
59
+ :return: The result of this WorkosauthorizeurlresponseResponse. # noqa: E501
60
+ :rtype: WorkOSAuthorizeUrlResponse
61
+ """
62
+ return self._result
63
+
64
+ @result.setter
65
+ def result(self, result):
66
+ """Sets the result of this WorkosauthorizeurlresponseResponse.
67
+
68
+
69
+ :param result: The result of this WorkosauthorizeurlresponseResponse. # noqa: E501
70
+ :type: WorkOSAuthorizeUrlResponse
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, WorkosauthorizeurlresponseResponse):
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, WorkosauthorizeurlresponseResponse):
119
+ return True
120
+
121
+ return self.to_dict() != other.to_dict()
@@ -265,7 +265,13 @@ def cloud_config_group() -> None:
265
265
  "--cloud",
266
266
  help="The name of the cloud to add the new resource to.",
267
267
  type=str,
268
- required=True,
268
+ required=False,
269
+ )
270
+ @click.option(
271
+ "--cloud-id",
272
+ help="The ID of the cloud to add the new resource to.",
273
+ type=str,
274
+ required=False,
269
275
  )
270
276
  @click.option(
271
277
  "--file",
@@ -283,10 +289,16 @@ def cloud_config_group() -> None:
283
289
  "--yes", "-y", is_flag=True, default=False, help="Skip asking for confirmation."
284
290
  )
285
291
  def cloud_resource_create(
286
- cloud: str, file: str, skip_verification: bool, yes: bool,
292
+ cloud: Optional[str],
293
+ cloud_id: Optional[str],
294
+ file: str,
295
+ skip_verification: bool,
296
+ yes: bool,
287
297
  ) -> None:
288
298
  try:
289
- CloudController().create_cloud_resource(cloud, file, skip_verification, yes)
299
+ CloudController().create_cloud_resource(
300
+ cloud, cloud_id, file, skip_verification, yes
301
+ )
290
302
  except click.ClickException as e:
291
303
  print(e)
292
304
 
@@ -551,7 +551,7 @@ collaborators:
551
551
 
552
552
 
553
553
  CLOUD_RESOURCE_CREATE_EXAMPLE = """\
554
- $ anyscale cloud resource create --cloud my-cloud --file new-cloud-resource.yaml
554
+ $ anyscale cloud resource create --cloud my-cloud -f new-cloud-resource.yaml
555
555
  Successfully created cloud resource my-new-resource in cloud my-cloud.
556
556
 
557
557
  $ cat new-cloud-resource.yaml
@@ -1728,12 +1728,16 @@ class CloudController(BaseController):
1728
1728
 
1729
1729
  def create_cloud_resource(
1730
1730
  self,
1731
- cloud_name: str,
1731
+ cloud: Optional[str],
1732
+ cloud_id: Optional[str],
1732
1733
  spec_file: str,
1733
1734
  skip_verification: bool = False,
1734
1735
  yes: bool = False,
1735
1736
  ):
1736
- cloud_id, _ = get_cloud_id_and_name(self.api_client, cloud_name=cloud_name)
1737
+ cloud_id, _ = get_cloud_id_and_name(
1738
+ self.api_client, cloud_id=cloud_id, cloud_name=cloud
1739
+ )
1740
+ assert cloud_id
1737
1741
 
1738
1742
  # Read the spec file.
1739
1743
  path = pathlib.Path(spec_file)
@@ -1787,7 +1791,7 @@ class CloudController(BaseController):
1787
1791
  raise ClickException(f"Failed to add cloud resource: {e}")
1788
1792
 
1789
1793
  self.log.info(
1790
- f"Successfully created cloud resource{' ' + new_deployment.name if new_deployment.name else ''} in cloud {cloud_name}!"
1794
+ f"Successfully created cloud resource{' ' + (new_deployment.name or '')} in cloud {cloud or cloud_id}!"
1791
1795
  )
1792
1796
 
1793
1797
  def update_cloud_resources( # noqa: PLR0912, C901