lightning-sdk 0.2.23__py3-none-any.whl → 0.2.24rc0__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 (70) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/base_studio_api.py +9 -2
  3. lightning_sdk/api/deployment_api.py +9 -9
  4. lightning_sdk/api/llm_api.py +5 -11
  5. lightning_sdk/api/pipeline_api.py +31 -11
  6. lightning_sdk/api/studio_api.py +4 -0
  7. lightning_sdk/base_studio.py +22 -6
  8. lightning_sdk/deployment/deployment.py +17 -7
  9. lightning_sdk/lightning_cloud/openapi/__init__.py +12 -0
  10. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  11. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +114 -1
  12. lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +129 -0
  13. lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +105 -0
  14. lightning_sdk/lightning_cloud/openapi/api/pipelines_service_api.py +4 -4
  15. lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +105 -0
  16. lightning_sdk/lightning_cloud/openapi/models/__init__.py +11 -0
  17. lightning_sdk/lightning_cloud/openapi/models/agents_id_body.py +27 -1
  18. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +53 -1
  19. lightning_sdk/lightning_cloud/openapi/models/credits_autoreplenish_body.py +175 -0
  20. lightning_sdk/lightning_cloud/openapi/models/credits_autoreplenish_body1.py +175 -0
  21. lightning_sdk/lightning_cloud/openapi/models/externalv1_user_status.py +79 -1
  22. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +27 -1
  23. lightning_sdk/lightning_cloud/openapi/models/pipelines_id_body1.py +123 -0
  24. lightning_sdk/lightning_cloud/openapi/models/project_id_agents_body.py +27 -1
  25. lightning_sdk/lightning_cloud/openapi/models/project_id_cloudspaces_body.py +27 -1
  26. lightning_sdk/lightning_cloud/openapi/models/update.py +29 -3
  27. lightning_sdk/lightning_cloud/openapi/models/v1_assistant.py +27 -1
  28. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  29. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space.py +27 -1
  30. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_config.py +29 -3
  31. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +29 -3
  32. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +104 -0
  34. lightning_sdk/lightning_cloud/openapi/models/v1_cloudy_expert.py +279 -0
  35. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +79 -1
  36. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  37. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_status.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/v1_conversation_response_chunk.py +29 -3
  40. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +29 -3
  41. lightning_sdk/lightning_cloud/openapi/models/v1_create_organization_request.py +79 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_deployment_status.py +47 -21
  43. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_get_job_stats_response.py +53 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_instance_overprovisioning_spec.py +1 -27
  46. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +123 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1_status.py +149 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_list_cloudy_experts_response.py +123 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_login_request.py +27 -1
  50. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +29 -3
  51. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_response.py +27 -1
  52. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  53. lightning_sdk/lightning_cloud/openapi/models/v1_token_usage.py +175 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_update_organization_credits_auto_replenish_response.py +97 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_credits_auto_replenish_response.py +97 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +27 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +185 -29
  58. lightning_sdk/llm/llm.py +113 -115
  59. lightning_sdk/llm/public_assistants.json +8 -0
  60. lightning_sdk/pipeline/pipeline.py +17 -2
  61. lightning_sdk/pipeline/printer.py +11 -10
  62. lightning_sdk/pipeline/steps.py +4 -1
  63. lightning_sdk/pipeline/utils.py +29 -4
  64. lightning_sdk/studio.py +3 -0
  65. {lightning_sdk-0.2.23.dist-info → lightning_sdk-0.2.24rc0.dist-info}/METADATA +1 -1
  66. {lightning_sdk-0.2.23.dist-info → lightning_sdk-0.2.24rc0.dist-info}/RECORD +70 -57
  67. {lightning_sdk-0.2.23.dist-info → lightning_sdk-0.2.24rc0.dist-info}/LICENSE +0 -0
  68. {lightning_sdk-0.2.23.dist-info → lightning_sdk-0.2.24rc0.dist-info}/WHEEL +0 -0
  69. {lightning_sdk-0.2.23.dist-info → lightning_sdk-0.2.24rc0.dist-info}/entry_points.txt +0 -0
  70. {lightning_sdk-0.2.23.dist-info → lightning_sdk-0.2.24rc0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,279 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1CloudyExpert(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ 'avatar_url': 'str',
45
+ 'category': 'str',
46
+ 'description': 'str',
47
+ 'id': 'str',
48
+ 'name': 'str',
49
+ 'personality': 'str',
50
+ 'sources': 'list[str]'
51
+ }
52
+
53
+ attribute_map = {
54
+ 'avatar_url': 'avatarUrl',
55
+ 'category': 'category',
56
+ 'description': 'description',
57
+ 'id': 'id',
58
+ 'name': 'name',
59
+ 'personality': 'personality',
60
+ 'sources': 'sources'
61
+ }
62
+
63
+ def __init__(self, avatar_url: 'str' =None, category: 'str' =None, description: 'str' =None, id: 'str' =None, name: 'str' =None, personality: 'str' =None, sources: 'list[str]' =None): # noqa: E501
64
+ """V1CloudyExpert - a model defined in Swagger""" # noqa: E501
65
+ self._avatar_url = None
66
+ self._category = None
67
+ self._description = None
68
+ self._id = None
69
+ self._name = None
70
+ self._personality = None
71
+ self._sources = None
72
+ self.discriminator = None
73
+ if avatar_url is not None:
74
+ self.avatar_url = avatar_url
75
+ if category is not None:
76
+ self.category = category
77
+ if description is not None:
78
+ self.description = description
79
+ if id is not None:
80
+ self.id = id
81
+ if name is not None:
82
+ self.name = name
83
+ if personality is not None:
84
+ self.personality = personality
85
+ if sources is not None:
86
+ self.sources = sources
87
+
88
+ @property
89
+ def avatar_url(self) -> 'str':
90
+ """Gets the avatar_url of this V1CloudyExpert. # noqa: E501
91
+
92
+
93
+ :return: The avatar_url of this V1CloudyExpert. # noqa: E501
94
+ :rtype: str
95
+ """
96
+ return self._avatar_url
97
+
98
+ @avatar_url.setter
99
+ def avatar_url(self, avatar_url: 'str'):
100
+ """Sets the avatar_url of this V1CloudyExpert.
101
+
102
+
103
+ :param avatar_url: The avatar_url of this V1CloudyExpert. # noqa: E501
104
+ :type: str
105
+ """
106
+
107
+ self._avatar_url = avatar_url
108
+
109
+ @property
110
+ def category(self) -> 'str':
111
+ """Gets the category of this V1CloudyExpert. # noqa: E501
112
+
113
+
114
+ :return: The category of this V1CloudyExpert. # noqa: E501
115
+ :rtype: str
116
+ """
117
+ return self._category
118
+
119
+ @category.setter
120
+ def category(self, category: 'str'):
121
+ """Sets the category of this V1CloudyExpert.
122
+
123
+
124
+ :param category: The category of this V1CloudyExpert. # noqa: E501
125
+ :type: str
126
+ """
127
+
128
+ self._category = category
129
+
130
+ @property
131
+ def description(self) -> 'str':
132
+ """Gets the description of this V1CloudyExpert. # noqa: E501
133
+
134
+
135
+ :return: The description of this V1CloudyExpert. # noqa: E501
136
+ :rtype: str
137
+ """
138
+ return self._description
139
+
140
+ @description.setter
141
+ def description(self, description: 'str'):
142
+ """Sets the description of this V1CloudyExpert.
143
+
144
+
145
+ :param description: The description of this V1CloudyExpert. # noqa: E501
146
+ :type: str
147
+ """
148
+
149
+ self._description = description
150
+
151
+ @property
152
+ def id(self) -> 'str':
153
+ """Gets the id of this V1CloudyExpert. # noqa: E501
154
+
155
+
156
+ :return: The id of this V1CloudyExpert. # noqa: E501
157
+ :rtype: str
158
+ """
159
+ return self._id
160
+
161
+ @id.setter
162
+ def id(self, id: 'str'):
163
+ """Sets the id of this V1CloudyExpert.
164
+
165
+
166
+ :param id: The id of this V1CloudyExpert. # noqa: E501
167
+ :type: str
168
+ """
169
+
170
+ self._id = id
171
+
172
+ @property
173
+ def name(self) -> 'str':
174
+ """Gets the name of this V1CloudyExpert. # noqa: E501
175
+
176
+
177
+ :return: The name of this V1CloudyExpert. # noqa: E501
178
+ :rtype: str
179
+ """
180
+ return self._name
181
+
182
+ @name.setter
183
+ def name(self, name: 'str'):
184
+ """Sets the name of this V1CloudyExpert.
185
+
186
+
187
+ :param name: The name of this V1CloudyExpert. # noqa: E501
188
+ :type: str
189
+ """
190
+
191
+ self._name = name
192
+
193
+ @property
194
+ def personality(self) -> 'str':
195
+ """Gets the personality of this V1CloudyExpert. # noqa: E501
196
+
197
+
198
+ :return: The personality of this V1CloudyExpert. # noqa: E501
199
+ :rtype: str
200
+ """
201
+ return self._personality
202
+
203
+ @personality.setter
204
+ def personality(self, personality: 'str'):
205
+ """Sets the personality of this V1CloudyExpert.
206
+
207
+
208
+ :param personality: The personality of this V1CloudyExpert. # noqa: E501
209
+ :type: str
210
+ """
211
+
212
+ self._personality = personality
213
+
214
+ @property
215
+ def sources(self) -> 'list[str]':
216
+ """Gets the sources of this V1CloudyExpert. # noqa: E501
217
+
218
+
219
+ :return: The sources of this V1CloudyExpert. # noqa: E501
220
+ :rtype: list[str]
221
+ """
222
+ return self._sources
223
+
224
+ @sources.setter
225
+ def sources(self, sources: 'list[str]'):
226
+ """Sets the sources of this V1CloudyExpert.
227
+
228
+
229
+ :param sources: The sources of this V1CloudyExpert. # noqa: E501
230
+ :type: list[str]
231
+ """
232
+
233
+ self._sources = sources
234
+
235
+ def to_dict(self) -> dict:
236
+ """Returns the model properties as a dict"""
237
+ result = {}
238
+
239
+ for attr, _ in six.iteritems(self.swagger_types):
240
+ value = getattr(self, attr)
241
+ if isinstance(value, list):
242
+ result[attr] = list(map(
243
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
244
+ value
245
+ ))
246
+ elif hasattr(value, "to_dict"):
247
+ result[attr] = value.to_dict()
248
+ elif isinstance(value, dict):
249
+ result[attr] = dict(map(
250
+ lambda item: (item[0], item[1].to_dict())
251
+ if hasattr(item[1], "to_dict") else item,
252
+ value.items()
253
+ ))
254
+ else:
255
+ result[attr] = value
256
+ if issubclass(V1CloudyExpert, dict):
257
+ for key, value in self.items():
258
+ result[key] = value
259
+
260
+ return result
261
+
262
+ def to_str(self) -> str:
263
+ """Returns the string representation of the model"""
264
+ return pprint.pformat(self.to_dict())
265
+
266
+ def __repr__(self) -> str:
267
+ """For `print` and `pprint`"""
268
+ return self.to_str()
269
+
270
+ def __eq__(self, other: 'V1CloudyExpert') -> bool:
271
+ """Returns true if both objects are equal"""
272
+ if not isinstance(other, V1CloudyExpert):
273
+ return False
274
+
275
+ return self.__dict__ == other.__dict__
276
+
277
+ def __ne__(self, other: 'V1CloudyExpert') -> bool:
278
+ """Returns true if both objects are not equal"""
279
+ return not self == other
@@ -56,7 +56,9 @@ class V1ClusterAccelerator(object):
56
56
  'device_card': 'str',
57
57
  'device_info': 'str',
58
58
  'display_name': 'str',
59
+ 'dws_cost': 'float',
59
60
  'dws_only': 'bool',
61
+ 'dws_supported': 'bool',
60
62
  'enabled': 'bool',
61
63
  'family': 'str',
62
64
  'instance_id': 'str',
@@ -69,6 +71,7 @@ class V1ClusterAccelerator(object):
69
71
  'max_available_quota': 'str',
70
72
  'non_spot': 'bool',
71
73
  'out_of_capacity': 'bool',
74
+ 'persistent_disk_supported': 'bool',
72
75
  'provider': 'V1CloudProvider',
73
76
  'quota_checked_at': 'datetime',
74
77
  'quota_code': 'str',
@@ -108,7 +111,9 @@ class V1ClusterAccelerator(object):
108
111
  'device_card': 'deviceCard',
109
112
  'device_info': 'deviceInfo',
110
113
  'display_name': 'displayName',
114
+ 'dws_cost': 'dwsCost',
111
115
  'dws_only': 'dwsOnly',
116
+ 'dws_supported': 'dwsSupported',
112
117
  'enabled': 'enabled',
113
118
  'family': 'family',
114
119
  'instance_id': 'instanceId',
@@ -121,6 +126,7 @@ class V1ClusterAccelerator(object):
121
126
  'max_available_quota': 'maxAvailableQuota',
122
127
  'non_spot': 'nonSpot',
123
128
  'out_of_capacity': 'outOfCapacity',
129
+ 'persistent_disk_supported': 'persistentDiskSupported',
124
130
  'provider': 'provider',
125
131
  'quota_checked_at': 'quotaCheckedAt',
126
132
  'quota_code': 'quotaCode',
@@ -144,7 +150,7 @@ class V1ClusterAccelerator(object):
144
150
  'spot_quota_page_url': 'spotQuotaPageUrl'
145
151
  }
146
152
 
147
- def __init__(self, accelerator_type: 'str' =None, allowed_resources: 'list[str]' =None, available_in_seconds: 'str' =None, available_in_seconds_spot: 'str' =None, available_zones: 'list[str]' =None, byoc_only: 'bool' =None, capacity_block_only: 'bool' =None, capacity_block_price: 'float' =None, capacity_blocks_available: 'list[V1ClusterCapacityReservation]' =None, cluster_id: 'str' =None, cost: 'float' =None, detailed_quotas_info: 'list[V1AcceleratorQuotaInfo]' =None, device_card: 'str' =None, device_info: 'str' =None, display_name: 'str' =None, dws_only: 'bool' =None, enabled: 'bool' =None, family: 'str' =None, instance_id: 'str' =None, is_custom: 'bool' =None, is_tier_restricted: 'bool' =None, local_disk_included: 'bool' =None, local_disk_size: 'str' =None, local_disk_supported: 'bool' =None, local_disks_count: 'str' =None, max_available_quota: 'str' =None, non_spot: 'bool' =None, out_of_capacity: 'bool' =None, provider: 'V1CloudProvider' =None, quota_checked_at: 'datetime' =None, quota_code: 'str' =None, quota_name: 'str' =None, quota_page_url: 'str' =None, quota_service_code: 'str' =None, quota_utilization: 'str' =None, quota_value: 'str' =None, reservable: 'bool' =None, reservation_available_zones: 'list[str]' =None, reservation_quota_code: 'str' =None, reservation_quota_name: 'str' =None, reservation_quota_page_url: 'str' =None, resources: 'V1Resources' =None, secondary_instance_id: 'str' =None, slug: 'str' =None, slug_multi_cloud: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
153
+ def __init__(self, accelerator_type: 'str' =None, allowed_resources: 'list[str]' =None, available_in_seconds: 'str' =None, available_in_seconds_spot: 'str' =None, available_zones: 'list[str]' =None, byoc_only: 'bool' =None, capacity_block_only: 'bool' =None, capacity_block_price: 'float' =None, capacity_blocks_available: 'list[V1ClusterCapacityReservation]' =None, cluster_id: 'str' =None, cost: 'float' =None, detailed_quotas_info: 'list[V1AcceleratorQuotaInfo]' =None, device_card: 'str' =None, device_info: 'str' =None, display_name: 'str' =None, dws_cost: 'float' =None, dws_only: 'bool' =None, dws_supported: 'bool' =None, enabled: 'bool' =None, family: 'str' =None, instance_id: 'str' =None, is_custom: 'bool' =None, is_tier_restricted: 'bool' =None, local_disk_included: 'bool' =None, local_disk_size: 'str' =None, local_disk_supported: 'bool' =None, local_disks_count: 'str' =None, max_available_quota: 'str' =None, non_spot: 'bool' =None, out_of_capacity: 'bool' =None, persistent_disk_supported: 'bool' =None, provider: 'V1CloudProvider' =None, quota_checked_at: 'datetime' =None, quota_code: 'str' =None, quota_name: 'str' =None, quota_page_url: 'str' =None, quota_service_code: 'str' =None, quota_utilization: 'str' =None, quota_value: 'str' =None, reservable: 'bool' =None, reservation_available_zones: 'list[str]' =None, reservation_quota_code: 'str' =None, reservation_quota_name: 'str' =None, reservation_quota_page_url: 'str' =None, resources: 'V1Resources' =None, secondary_instance_id: 'str' =None, slug: 'str' =None, slug_multi_cloud: 'str' =None, spot_price: 'float' =None, spot_quota_code: 'str' =None, spot_quota_name: 'str' =None, spot_quota_page_url: 'str' =None): # noqa: E501
148
154
  """V1ClusterAccelerator - a model defined in Swagger""" # noqa: E501
149
155
  self._accelerator_type = None
150
156
  self._allowed_resources = None
@@ -161,7 +167,9 @@ class V1ClusterAccelerator(object):
161
167
  self._device_card = None
162
168
  self._device_info = None
163
169
  self._display_name = None
170
+ self._dws_cost = None
164
171
  self._dws_only = None
172
+ self._dws_supported = None
165
173
  self._enabled = None
166
174
  self._family = None
167
175
  self._instance_id = None
@@ -174,6 +182,7 @@ class V1ClusterAccelerator(object):
174
182
  self._max_available_quota = None
175
183
  self._non_spot = None
176
184
  self._out_of_capacity = None
185
+ self._persistent_disk_supported = None
177
186
  self._provider = None
178
187
  self._quota_checked_at = None
179
188
  self._quota_code = None
@@ -226,8 +235,12 @@ class V1ClusterAccelerator(object):
226
235
  self.device_info = device_info
227
236
  if display_name is not None:
228
237
  self.display_name = display_name
238
+ if dws_cost is not None:
239
+ self.dws_cost = dws_cost
229
240
  if dws_only is not None:
230
241
  self.dws_only = dws_only
242
+ if dws_supported is not None:
243
+ self.dws_supported = dws_supported
231
244
  if enabled is not None:
232
245
  self.enabled = enabled
233
246
  if family is not None:
@@ -252,6 +265,8 @@ class V1ClusterAccelerator(object):
252
265
  self.non_spot = non_spot
253
266
  if out_of_capacity is not None:
254
267
  self.out_of_capacity = out_of_capacity
268
+ if persistent_disk_supported is not None:
269
+ self.persistent_disk_supported = persistent_disk_supported
255
270
  if provider is not None:
256
271
  self.provider = provider
257
272
  if quota_checked_at is not None:
@@ -610,6 +625,27 @@ class V1ClusterAccelerator(object):
610
625
 
611
626
  self._display_name = display_name
612
627
 
628
+ @property
629
+ def dws_cost(self) -> 'float':
630
+ """Gets the dws_cost of this V1ClusterAccelerator. # noqa: E501
631
+
632
+
633
+ :return: The dws_cost of this V1ClusterAccelerator. # noqa: E501
634
+ :rtype: float
635
+ """
636
+ return self._dws_cost
637
+
638
+ @dws_cost.setter
639
+ def dws_cost(self, dws_cost: 'float'):
640
+ """Sets the dws_cost of this V1ClusterAccelerator.
641
+
642
+
643
+ :param dws_cost: The dws_cost of this V1ClusterAccelerator. # noqa: E501
644
+ :type: float
645
+ """
646
+
647
+ self._dws_cost = dws_cost
648
+
613
649
  @property
614
650
  def dws_only(self) -> 'bool':
615
651
  """Gets the dws_only of this V1ClusterAccelerator. # noqa: E501
@@ -631,6 +667,27 @@ class V1ClusterAccelerator(object):
631
667
 
632
668
  self._dws_only = dws_only
633
669
 
670
+ @property
671
+ def dws_supported(self) -> 'bool':
672
+ """Gets the dws_supported of this V1ClusterAccelerator. # noqa: E501
673
+
674
+
675
+ :return: The dws_supported of this V1ClusterAccelerator. # noqa: E501
676
+ :rtype: bool
677
+ """
678
+ return self._dws_supported
679
+
680
+ @dws_supported.setter
681
+ def dws_supported(self, dws_supported: 'bool'):
682
+ """Sets the dws_supported of this V1ClusterAccelerator.
683
+
684
+
685
+ :param dws_supported: The dws_supported of this V1ClusterAccelerator. # noqa: E501
686
+ :type: bool
687
+ """
688
+
689
+ self._dws_supported = dws_supported
690
+
634
691
  @property
635
692
  def enabled(self) -> 'bool':
636
693
  """Gets the enabled of this V1ClusterAccelerator. # noqa: E501
@@ -883,6 +940,27 @@ class V1ClusterAccelerator(object):
883
940
 
884
941
  self._out_of_capacity = out_of_capacity
885
942
 
943
+ @property
944
+ def persistent_disk_supported(self) -> 'bool':
945
+ """Gets the persistent_disk_supported of this V1ClusterAccelerator. # noqa: E501
946
+
947
+
948
+ :return: The persistent_disk_supported of this V1ClusterAccelerator. # noqa: E501
949
+ :rtype: bool
950
+ """
951
+ return self._persistent_disk_supported
952
+
953
+ @persistent_disk_supported.setter
954
+ def persistent_disk_supported(self, persistent_disk_supported: 'bool'):
955
+ """Sets the persistent_disk_supported of this V1ClusterAccelerator.
956
+
957
+
958
+ :param persistent_disk_supported: The persistent_disk_supported of this V1ClusterAccelerator. # noqa: E501
959
+ :type: bool
960
+ """
961
+
962
+ self._persistent_disk_supported = persistent_disk_supported
963
+
886
964
  @property
887
965
  def provider(self) -> 'V1CloudProvider':
888
966
  """Gets the provider of this V1ClusterAccelerator. # noqa: E501
@@ -41,6 +41,7 @@ class V1ClusterCapacityReservation(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'aggregate_availability': 'str',
44
45
  'capacity_reservation_type': 'str',
45
46
  'cloud_provider_capacity_reservation_id': 'str',
46
47
  'cluster_id': 'str',
@@ -58,6 +59,7 @@ class V1ClusterCapacityReservation(object):
58
59
  }
59
60
 
60
61
  attribute_map = {
62
+ 'aggregate_availability': 'aggregateAvailability',
61
63
  'capacity_reservation_type': 'capacityReservationType',
62
64
  'cloud_provider_capacity_reservation_id': 'cloudProviderCapacityReservationId',
63
65
  'cluster_id': 'clusterId',
@@ -74,8 +76,9 @@ class V1ClusterCapacityReservation(object):
74
76
  'zone': 'zone'
75
77
  }
76
78
 
77
- def __init__(self, capacity_reservation_type: 'str' =None, cloud_provider_capacity_reservation_id: 'str' =None, cluster_id: 'str' =None, end_time: 'datetime' =None, full_cloud_provider_reservation_string: 'str' =None, id: 'str' =None, in_use: 'str' =None, instance_type: 'str' =None, match_pattern: 'str' =None, num_instances: 'str' =None, project_id: 'str' =None, region: 'str' =None, start_time: 'datetime' =None, zone: 'str' =None): # noqa: E501
79
+ def __init__(self, aggregate_availability: 'str' =None, capacity_reservation_type: 'str' =None, cloud_provider_capacity_reservation_id: 'str' =None, cluster_id: 'str' =None, end_time: 'datetime' =None, full_cloud_provider_reservation_string: 'str' =None, id: 'str' =None, in_use: 'str' =None, instance_type: 'str' =None, match_pattern: 'str' =None, num_instances: 'str' =None, project_id: 'str' =None, region: 'str' =None, start_time: 'datetime' =None, zone: 'str' =None): # noqa: E501
78
80
  """V1ClusterCapacityReservation - a model defined in Swagger""" # noqa: E501
81
+ self._aggregate_availability = None
79
82
  self._capacity_reservation_type = None
80
83
  self._cloud_provider_capacity_reservation_id = None
81
84
  self._cluster_id = None
@@ -91,6 +94,8 @@ class V1ClusterCapacityReservation(object):
91
94
  self._start_time = None
92
95
  self._zone = None
93
96
  self.discriminator = None
97
+ if aggregate_availability is not None:
98
+ self.aggregate_availability = aggregate_availability
94
99
  if capacity_reservation_type is not None:
95
100
  self.capacity_reservation_type = capacity_reservation_type
96
101
  if cloud_provider_capacity_reservation_id is not None:
@@ -120,6 +125,27 @@ class V1ClusterCapacityReservation(object):
120
125
  if zone is not None:
121
126
  self.zone = zone
122
127
 
128
+ @property
129
+ def aggregate_availability(self) -> 'str':
130
+ """Gets the aggregate_availability of this V1ClusterCapacityReservation. # noqa: E501
131
+
132
+
133
+ :return: The aggregate_availability of this V1ClusterCapacityReservation. # noqa: E501
134
+ :rtype: str
135
+ """
136
+ return self._aggregate_availability
137
+
138
+ @aggregate_availability.setter
139
+ def aggregate_availability(self, aggregate_availability: 'str'):
140
+ """Sets the aggregate_availability of this V1ClusterCapacityReservation.
141
+
142
+
143
+ :param aggregate_availability: The aggregate_availability of this V1ClusterCapacityReservation. # noqa: E501
144
+ :type: str
145
+ """
146
+
147
+ self._aggregate_availability = aggregate_availability
148
+
123
149
  @property
124
150
  def capacity_reservation_type(self) -> 'str':
125
151
  """Gets the capacity_reservation_type of this V1ClusterCapacityReservation. # noqa: E501
@@ -55,6 +55,7 @@ class V1ClusterSpec(object):
55
55
  'freeze_accelerators': 'bool',
56
56
  'google_cloud_v1': 'V1GoogleCloudDirectV1',
57
57
  'insurer_disabled': 'bool',
58
+ 'kubernetes_v1': 'V1KubernetesDirectV1',
58
59
  'lambda_labs_v1': 'V1LambdaLabsDirectV1',
59
60
  'lock_overprovisioning': 'bool',
60
61
  'locked_zones': 'list[str]',
@@ -90,6 +91,7 @@ class V1ClusterSpec(object):
90
91
  'freeze_accelerators': 'freezeAccelerators',
91
92
  'google_cloud_v1': 'googleCloudV1',
92
93
  'insurer_disabled': 'insurerDisabled',
94
+ 'kubernetes_v1': 'kubernetesV1',
93
95
  'lambda_labs_v1': 'lambdaLabsV1',
94
96
  'lock_overprovisioning': 'lockOverprovisioning',
95
97
  'locked_zones': 'lockedZones',
@@ -110,7 +112,7 @@ class V1ClusterSpec(object):
110
112
  'vultr_v1': 'vultrV1'
111
113
  }
112
114
 
113
- def __init__(self, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
115
+ def __init__(self, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, user_id: 'str' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
114
116
  """V1ClusterSpec - a model defined in Swagger""" # noqa: E501
115
117
  self._auth_token = None
116
118
  self._available_accelerators = None
@@ -126,6 +128,7 @@ class V1ClusterSpec(object):
126
128
  self._freeze_accelerators = None
127
129
  self._google_cloud_v1 = None
128
130
  self._insurer_disabled = None
131
+ self._kubernetes_v1 = None
129
132
  self._lambda_labs_v1 = None
130
133
  self._lock_overprovisioning = None
131
134
  self._locked_zones = None
@@ -173,6 +176,8 @@ class V1ClusterSpec(object):
173
176
  self.google_cloud_v1 = google_cloud_v1
174
177
  if insurer_disabled is not None:
175
178
  self.insurer_disabled = insurer_disabled
179
+ if kubernetes_v1 is not None:
180
+ self.kubernetes_v1 = kubernetes_v1
176
181
  if lambda_labs_v1 is not None:
177
182
  self.lambda_labs_v1 = lambda_labs_v1
178
183
  if lock_overprovisioning is not None:
@@ -506,6 +511,27 @@ class V1ClusterSpec(object):
506
511
 
507
512
  self._insurer_disabled = insurer_disabled
508
513
 
514
+ @property
515
+ def kubernetes_v1(self) -> 'V1KubernetesDirectV1':
516
+ """Gets the kubernetes_v1 of this V1ClusterSpec. # noqa: E501
517
+
518
+
519
+ :return: The kubernetes_v1 of this V1ClusterSpec. # noqa: E501
520
+ :rtype: V1KubernetesDirectV1
521
+ """
522
+ return self._kubernetes_v1
523
+
524
+ @kubernetes_v1.setter
525
+ def kubernetes_v1(self, kubernetes_v1: 'V1KubernetesDirectV1'):
526
+ """Sets the kubernetes_v1 of this V1ClusterSpec.
527
+
528
+
529
+ :param kubernetes_v1: The kubernetes_v1 of this V1ClusterSpec. # noqa: E501
530
+ :type: V1KubernetesDirectV1
531
+ """
532
+
533
+ self._kubernetes_v1 = kubernetes_v1
534
+
509
535
  @property
510
536
  def lambda_labs_v1(self) -> 'V1LambdaLabsDirectV1':
511
537
  """Gets the lambda_labs_v1 of this V1ClusterSpec. # noqa: E501
@@ -44,6 +44,7 @@ class V1ClusterStatus(object):
44
44
  'aws_v1_region_status': 'list[V1AWSDirectV1Status]',
45
45
  'dependency_service_health': 'list[V1ServiceHealth]',
46
46
  'gcp_v1_status': 'V1GoogleCloudDirectV1Status',
47
+ 'kubernetes_v1_status': 'V1KubernetesDirectV1Status',
47
48
  'last_healthcheck_timestamp': 'datetime',
48
49
  'phase': 'V1ClusterState',
49
50
  'prometheus_endpoint': 'str',
@@ -58,6 +59,7 @@ class V1ClusterStatus(object):
58
59
  'aws_v1_region_status': 'awsV1RegionStatus',
59
60
  'dependency_service_health': 'dependencyServiceHealth',
60
61
  'gcp_v1_status': 'gcpV1Status',
62
+ 'kubernetes_v1_status': 'kubernetesV1Status',
61
63
  'last_healthcheck_timestamp': 'lastHealthcheckTimestamp',
62
64
  'phase': 'phase',
63
65
  'prometheus_endpoint': 'prometheusEndpoint',
@@ -68,11 +70,12 @@ class V1ClusterStatus(object):
68
70
  'storage_endpoint': 'storageEndpoint'
69
71
  }
70
72
 
71
- def __init__(self, aws_v1_region_status: 'list[V1AWSDirectV1Status]' =None, dependency_service_health: 'list[V1ServiceHealth]' =None, gcp_v1_status: 'V1GoogleCloudDirectV1Status' =None, last_healthcheck_timestamp: 'datetime' =None, phase: 'V1ClusterState' =None, prometheus_endpoint: 'str' =None, queue_endpoint: 'str' =None, reason: 'str' =None, slurm_v1_status: 'V1SlurmV1Status' =None, ssh_gateway_endpoint: 'str' =None, storage_endpoint: 'str' =None): # noqa: E501
73
+ def __init__(self, aws_v1_region_status: 'list[V1AWSDirectV1Status]' =None, dependency_service_health: 'list[V1ServiceHealth]' =None, gcp_v1_status: 'V1GoogleCloudDirectV1Status' =None, kubernetes_v1_status: 'V1KubernetesDirectV1Status' =None, last_healthcheck_timestamp: 'datetime' =None, phase: 'V1ClusterState' =None, prometheus_endpoint: 'str' =None, queue_endpoint: 'str' =None, reason: 'str' =None, slurm_v1_status: 'V1SlurmV1Status' =None, ssh_gateway_endpoint: 'str' =None, storage_endpoint: 'str' =None): # noqa: E501
72
74
  """V1ClusterStatus - a model defined in Swagger""" # noqa: E501
73
75
  self._aws_v1_region_status = None
74
76
  self._dependency_service_health = None
75
77
  self._gcp_v1_status = None
78
+ self._kubernetes_v1_status = None
76
79
  self._last_healthcheck_timestamp = None
77
80
  self._phase = None
78
81
  self._prometheus_endpoint = None
@@ -88,6 +91,8 @@ class V1ClusterStatus(object):
88
91
  self.dependency_service_health = dependency_service_health
89
92
  if gcp_v1_status is not None:
90
93
  self.gcp_v1_status = gcp_v1_status
94
+ if kubernetes_v1_status is not None:
95
+ self.kubernetes_v1_status = kubernetes_v1_status
91
96
  if last_healthcheck_timestamp is not None:
92
97
  self.last_healthcheck_timestamp = last_healthcheck_timestamp
93
98
  if phase is not None:
@@ -168,6 +173,27 @@ class V1ClusterStatus(object):
168
173
 
169
174
  self._gcp_v1_status = gcp_v1_status
170
175
 
176
+ @property
177
+ def kubernetes_v1_status(self) -> 'V1KubernetesDirectV1Status':
178
+ """Gets the kubernetes_v1_status of this V1ClusterStatus. # noqa: E501
179
+
180
+
181
+ :return: The kubernetes_v1_status of this V1ClusterStatus. # noqa: E501
182
+ :rtype: V1KubernetesDirectV1Status
183
+ """
184
+ return self._kubernetes_v1_status
185
+
186
+ @kubernetes_v1_status.setter
187
+ def kubernetes_v1_status(self, kubernetes_v1_status: 'V1KubernetesDirectV1Status'):
188
+ """Sets the kubernetes_v1_status of this V1ClusterStatus.
189
+
190
+
191
+ :param kubernetes_v1_status: The kubernetes_v1_status of this V1ClusterStatus. # noqa: E501
192
+ :type: V1KubernetesDirectV1Status
193
+ """
194
+
195
+ self._kubernetes_v1_status = kubernetes_v1_status
196
+
171
197
  @property
172
198
  def last_healthcheck_timestamp(self) -> 'datetime':
173
199
  """Gets the last_healthcheck_timestamp of this V1ClusterStatus. # noqa: E501