lightning-sdk 2025.7.10__py3-none-any.whl → 2025.7.22__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 (93) hide show
  1. lightning_sdk/__init__.py +3 -2
  2. lightning_sdk/api/cloud_account_api.py +154 -0
  3. lightning_sdk/api/deployment_api.py +11 -0
  4. lightning_sdk/api/job_api.py +9 -0
  5. lightning_sdk/api/llm_api.py +11 -6
  6. lightning_sdk/api/mmt_api.py +9 -0
  7. lightning_sdk/api/pipeline_api.py +4 -3
  8. lightning_sdk/api/studio_api.py +19 -5
  9. lightning_sdk/cli/clusters_menu.py +3 -3
  10. lightning_sdk/cli/create.py +22 -10
  11. lightning_sdk/cli/deploy/_auth.py +19 -3
  12. lightning_sdk/cli/deploy/serve.py +18 -4
  13. lightning_sdk/cli/entrypoint.py +1 -1
  14. lightning_sdk/cli/start.py +37 -7
  15. lightning_sdk/deployment/deployment.py +8 -0
  16. lightning_sdk/job/base.py +37 -5
  17. lightning_sdk/job/job.py +28 -4
  18. lightning_sdk/job/v1.py +10 -1
  19. lightning_sdk/job/v2.py +15 -1
  20. lightning_sdk/lightning_cloud/openapi/__init__.py +15 -1
  21. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +335 -0
  22. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +214 -0
  23. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +5 -1
  24. lightning_sdk/lightning_cloud/openapi/api/user_service_api.py +11 -11
  25. lightning_sdk/lightning_cloud/openapi/models/__init__.py +15 -1
  26. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +29 -3
  27. lightning_sdk/lightning_cloud/openapi/models/blogposts_id_body.py +53 -1
  28. lightning_sdk/lightning_cloud/openapi/models/{v1_list_new_features_for_user_response.py → conversations_id_body1.py} +23 -23
  29. lightning_sdk/lightning_cloud/openapi/models/messages_id_body.py +123 -0
  30. lightning_sdk/lightning_cloud/openapi/models/project_id_schedules_body.py +29 -3
  31. lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +1 -27
  32. lightning_sdk/lightning_cloud/openapi/models/protobuf_null_value.py +102 -0
  33. lightning_sdk/lightning_cloud/openapi/models/schedules_id_body.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +1 -27
  35. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +3 -55
  36. lightning_sdk/lightning_cloud/openapi/models/user_id_upgradetrigger_body.py +175 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_ai_pod_v1.py +123 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_artifact.py +27 -1
  39. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +357 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_blog_post.py +53 -1
  41. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -0
  42. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_complete_upload.py +3 -55
  45. lightning_sdk/lightning_cloud/openapi/models/v1_conversation.py +27 -1
  46. lightning_sdk/lightning_cloud/openapi/models/v1_create_billing_upgrade_trigger_record_response.py +97 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_create_blog_post_request.py +53 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_create_checkout_session_request.py +27 -1
  49. lightning_sdk/lightning_cloud/openapi/models/v1_create_subscription_checkout_session_request.py +29 -3
  50. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/v1_function_tool.py +175 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  53. lightning_sdk/lightning_cloud/openapi/models/v1_get_assistant_session_daily_aggregated_response.py +201 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +79 -1
  55. lightning_sdk/lightning_cloud/openapi/models/v1_lightningapp_instance_artifact.py +27 -1
  56. lightning_sdk/lightning_cloud/openapi/models/v1_like_status.py +104 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_list_notification_dialogs_response.py +149 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_list_published_managed_endpoint_models_response.py +123 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_message.py +53 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_presigned_url.py +1 -53
  61. lightning_sdk/lightning_cloud/openapi/models/v1_project.py +27 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_quote_subscription_response.py +27 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_schedule.py +27 -1
  64. lightning_sdk/lightning_cloud/openapi/models/v1_tool.py +149 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_like_response.py +149 -0
  66. lightning_sdk/lightning_cloud/openapi/models/v1_update_conversation_message_like_response.py +149 -0
  67. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +105 -261
  68. lightning_sdk/lightning_cloud/openapi/models/v1_volume.py +27 -1
  69. lightning_sdk/llm/llm.py +32 -5
  70. lightning_sdk/llm/public_assistants.json +3 -1
  71. lightning_sdk/machine.py +24 -1
  72. lightning_sdk/mmt/base.py +20 -2
  73. lightning_sdk/mmt/mmt.py +25 -3
  74. lightning_sdk/mmt/v1.py +7 -1
  75. lightning_sdk/mmt/v2.py +21 -2
  76. lightning_sdk/organization.py +4 -0
  77. lightning_sdk/pipeline/pipeline.py +16 -5
  78. lightning_sdk/pipeline/printer.py +5 -3
  79. lightning_sdk/pipeline/schedule.py +844 -1
  80. lightning_sdk/pipeline/steps.py +19 -4
  81. lightning_sdk/sandbox.py +4 -1
  82. lightning_sdk/serve.py +2 -0
  83. lightning_sdk/studio.py +79 -39
  84. lightning_sdk/teamspace.py +14 -8
  85. lightning_sdk/utils/resolve.py +29 -2
  86. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/METADATA +1 -1
  87. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/RECORD +92 -78
  88. lightning_sdk/api/cluster_api.py +0 -119
  89. /lightning_sdk/cli/{inspect.py → inspection.py} +0 -0
  90. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/LICENSE +0 -0
  91. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/WHEEL +0 -0
  92. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/entry_points.txt +0 -0
  93. {lightning_sdk-2025.7.10.dist-info → lightning_sdk-2025.7.22.dist-info}/top_level.txt +0 -0
@@ -44,6 +44,7 @@ class V1Artifact(object):
44
44
  'filename': 'str',
45
45
  'last_modified': 'datetime',
46
46
  'md5_checksum': 'str',
47
+ 'provider': 'V1CloudProvider',
47
48
  'size_bytes': 'str',
48
49
  'url': 'str'
49
50
  }
@@ -52,15 +53,17 @@ class V1Artifact(object):
52
53
  'filename': 'filename',
53
54
  'last_modified': 'lastModified',
54
55
  'md5_checksum': 'md5Checksum',
56
+ 'provider': 'provider',
55
57
  'size_bytes': 'sizeBytes',
56
58
  'url': 'url'
57
59
  }
58
60
 
59
- def __init__(self, filename: 'str' =None, last_modified: 'datetime' =None, md5_checksum: 'str' =None, size_bytes: 'str' =None, url: 'str' =None): # noqa: E501
61
+ def __init__(self, filename: 'str' =None, last_modified: 'datetime' =None, md5_checksum: 'str' =None, provider: 'V1CloudProvider' =None, size_bytes: 'str' =None, url: 'str' =None): # noqa: E501
60
62
  """V1Artifact - a model defined in Swagger""" # noqa: E501
61
63
  self._filename = None
62
64
  self._last_modified = None
63
65
  self._md5_checksum = None
66
+ self._provider = None
64
67
  self._size_bytes = None
65
68
  self._url = None
66
69
  self.discriminator = None
@@ -70,6 +73,8 @@ class V1Artifact(object):
70
73
  self.last_modified = last_modified
71
74
  if md5_checksum is not None:
72
75
  self.md5_checksum = md5_checksum
76
+ if provider is not None:
77
+ self.provider = provider
73
78
  if size_bytes is not None:
74
79
  self.size_bytes = size_bytes
75
80
  if url is not None:
@@ -138,6 +143,27 @@ class V1Artifact(object):
138
143
 
139
144
  self._md5_checksum = md5_checksum
140
145
 
146
+ @property
147
+ def provider(self) -> 'V1CloudProvider':
148
+ """Gets the provider of this V1Artifact. # noqa: E501
149
+
150
+
151
+ :return: The provider of this V1Artifact. # noqa: E501
152
+ :rtype: V1CloudProvider
153
+ """
154
+ return self._provider
155
+
156
+ @provider.setter
157
+ def provider(self, provider: 'V1CloudProvider'):
158
+ """Sets the provider of this V1Artifact.
159
+
160
+
161
+ :param provider: The provider of this V1Artifact. # noqa: E501
162
+ :type: V1CloudProvider
163
+ """
164
+
165
+ self._provider = provider
166
+
141
167
  @property
142
168
  def size_bytes(self) -> 'str':
143
169
  """Gets the size_bytes of this V1Artifact. # noqa: E501
@@ -0,0 +1,357 @@
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 V1AssistantSessionDailyAggregated(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
+ 'day': 'datetime',
45
+ 'name': 'str',
46
+ 'num_messages': 'int',
47
+ 'org_id': 'str',
48
+ 'parent_id': 'str',
49
+ 'project_id': 'str',
50
+ 'total_completion_tokens': 'int',
51
+ 'total_cost': 'float',
52
+ 'total_prompt_tokens': 'int',
53
+ 'user_id': 'str'
54
+ }
55
+
56
+ attribute_map = {
57
+ 'day': 'day',
58
+ 'name': 'name',
59
+ 'num_messages': 'numMessages',
60
+ 'org_id': 'orgId',
61
+ 'parent_id': 'parentId',
62
+ 'project_id': 'projectId',
63
+ 'total_completion_tokens': 'totalCompletionTokens',
64
+ 'total_cost': 'totalCost',
65
+ 'total_prompt_tokens': 'totalPromptTokens',
66
+ 'user_id': 'userId'
67
+ }
68
+
69
+ def __init__(self, day: 'datetime' =None, name: 'str' =None, num_messages: 'int' =None, org_id: 'str' =None, parent_id: 'str' =None, project_id: 'str' =None, total_completion_tokens: 'int' =None, total_cost: 'float' =None, total_prompt_tokens: 'int' =None, user_id: 'str' =None): # noqa: E501
70
+ """V1AssistantSessionDailyAggregated - a model defined in Swagger""" # noqa: E501
71
+ self._day = None
72
+ self._name = None
73
+ self._num_messages = None
74
+ self._org_id = None
75
+ self._parent_id = None
76
+ self._project_id = None
77
+ self._total_completion_tokens = None
78
+ self._total_cost = None
79
+ self._total_prompt_tokens = None
80
+ self._user_id = None
81
+ self.discriminator = None
82
+ if day is not None:
83
+ self.day = day
84
+ if name is not None:
85
+ self.name = name
86
+ if num_messages is not None:
87
+ self.num_messages = num_messages
88
+ if org_id is not None:
89
+ self.org_id = org_id
90
+ if parent_id is not None:
91
+ self.parent_id = parent_id
92
+ if project_id is not None:
93
+ self.project_id = project_id
94
+ if total_completion_tokens is not None:
95
+ self.total_completion_tokens = total_completion_tokens
96
+ if total_cost is not None:
97
+ self.total_cost = total_cost
98
+ if total_prompt_tokens is not None:
99
+ self.total_prompt_tokens = total_prompt_tokens
100
+ if user_id is not None:
101
+ self.user_id = user_id
102
+
103
+ @property
104
+ def day(self) -> 'datetime':
105
+ """Gets the day of this V1AssistantSessionDailyAggregated. # noqa: E501
106
+
107
+
108
+ :return: The day of this V1AssistantSessionDailyAggregated. # noqa: E501
109
+ :rtype: datetime
110
+ """
111
+ return self._day
112
+
113
+ @day.setter
114
+ def day(self, day: 'datetime'):
115
+ """Sets the day of this V1AssistantSessionDailyAggregated.
116
+
117
+
118
+ :param day: The day of this V1AssistantSessionDailyAggregated. # noqa: E501
119
+ :type: datetime
120
+ """
121
+
122
+ self._day = day
123
+
124
+ @property
125
+ def name(self) -> 'str':
126
+ """Gets the name of this V1AssistantSessionDailyAggregated. # noqa: E501
127
+
128
+
129
+ :return: The name of this V1AssistantSessionDailyAggregated. # noqa: E501
130
+ :rtype: str
131
+ """
132
+ return self._name
133
+
134
+ @name.setter
135
+ def name(self, name: 'str'):
136
+ """Sets the name of this V1AssistantSessionDailyAggregated.
137
+
138
+
139
+ :param name: The name of this V1AssistantSessionDailyAggregated. # noqa: E501
140
+ :type: str
141
+ """
142
+
143
+ self._name = name
144
+
145
+ @property
146
+ def num_messages(self) -> 'int':
147
+ """Gets the num_messages of this V1AssistantSessionDailyAggregated. # noqa: E501
148
+
149
+
150
+ :return: The num_messages of this V1AssistantSessionDailyAggregated. # noqa: E501
151
+ :rtype: int
152
+ """
153
+ return self._num_messages
154
+
155
+ @num_messages.setter
156
+ def num_messages(self, num_messages: 'int'):
157
+ """Sets the num_messages of this V1AssistantSessionDailyAggregated.
158
+
159
+
160
+ :param num_messages: The num_messages of this V1AssistantSessionDailyAggregated. # noqa: E501
161
+ :type: int
162
+ """
163
+
164
+ self._num_messages = num_messages
165
+
166
+ @property
167
+ def org_id(self) -> 'str':
168
+ """Gets the org_id of this V1AssistantSessionDailyAggregated. # noqa: E501
169
+
170
+
171
+ :return: The org_id of this V1AssistantSessionDailyAggregated. # noqa: E501
172
+ :rtype: str
173
+ """
174
+ return self._org_id
175
+
176
+ @org_id.setter
177
+ def org_id(self, org_id: 'str'):
178
+ """Sets the org_id of this V1AssistantSessionDailyAggregated.
179
+
180
+
181
+ :param org_id: The org_id of this V1AssistantSessionDailyAggregated. # noqa: E501
182
+ :type: str
183
+ """
184
+
185
+ self._org_id = org_id
186
+
187
+ @property
188
+ def parent_id(self) -> 'str':
189
+ """Gets the parent_id of this V1AssistantSessionDailyAggregated. # noqa: E501
190
+
191
+
192
+ :return: The parent_id of this V1AssistantSessionDailyAggregated. # noqa: E501
193
+ :rtype: str
194
+ """
195
+ return self._parent_id
196
+
197
+ @parent_id.setter
198
+ def parent_id(self, parent_id: 'str'):
199
+ """Sets the parent_id of this V1AssistantSessionDailyAggregated.
200
+
201
+
202
+ :param parent_id: The parent_id of this V1AssistantSessionDailyAggregated. # noqa: E501
203
+ :type: str
204
+ """
205
+
206
+ self._parent_id = parent_id
207
+
208
+ @property
209
+ def project_id(self) -> 'str':
210
+ """Gets the project_id of this V1AssistantSessionDailyAggregated. # noqa: E501
211
+
212
+
213
+ :return: The project_id of this V1AssistantSessionDailyAggregated. # noqa: E501
214
+ :rtype: str
215
+ """
216
+ return self._project_id
217
+
218
+ @project_id.setter
219
+ def project_id(self, project_id: 'str'):
220
+ """Sets the project_id of this V1AssistantSessionDailyAggregated.
221
+
222
+
223
+ :param project_id: The project_id of this V1AssistantSessionDailyAggregated. # noqa: E501
224
+ :type: str
225
+ """
226
+
227
+ self._project_id = project_id
228
+
229
+ @property
230
+ def total_completion_tokens(self) -> 'int':
231
+ """Gets the total_completion_tokens of this V1AssistantSessionDailyAggregated. # noqa: E501
232
+
233
+
234
+ :return: The total_completion_tokens of this V1AssistantSessionDailyAggregated. # noqa: E501
235
+ :rtype: int
236
+ """
237
+ return self._total_completion_tokens
238
+
239
+ @total_completion_tokens.setter
240
+ def total_completion_tokens(self, total_completion_tokens: 'int'):
241
+ """Sets the total_completion_tokens of this V1AssistantSessionDailyAggregated.
242
+
243
+
244
+ :param total_completion_tokens: The total_completion_tokens of this V1AssistantSessionDailyAggregated. # noqa: E501
245
+ :type: int
246
+ """
247
+
248
+ self._total_completion_tokens = total_completion_tokens
249
+
250
+ @property
251
+ def total_cost(self) -> 'float':
252
+ """Gets the total_cost of this V1AssistantSessionDailyAggregated. # noqa: E501
253
+
254
+
255
+ :return: The total_cost of this V1AssistantSessionDailyAggregated. # noqa: E501
256
+ :rtype: float
257
+ """
258
+ return self._total_cost
259
+
260
+ @total_cost.setter
261
+ def total_cost(self, total_cost: 'float'):
262
+ """Sets the total_cost of this V1AssistantSessionDailyAggregated.
263
+
264
+
265
+ :param total_cost: The total_cost of this V1AssistantSessionDailyAggregated. # noqa: E501
266
+ :type: float
267
+ """
268
+
269
+ self._total_cost = total_cost
270
+
271
+ @property
272
+ def total_prompt_tokens(self) -> 'int':
273
+ """Gets the total_prompt_tokens of this V1AssistantSessionDailyAggregated. # noqa: E501
274
+
275
+
276
+ :return: The total_prompt_tokens of this V1AssistantSessionDailyAggregated. # noqa: E501
277
+ :rtype: int
278
+ """
279
+ return self._total_prompt_tokens
280
+
281
+ @total_prompt_tokens.setter
282
+ def total_prompt_tokens(self, total_prompt_tokens: 'int'):
283
+ """Sets the total_prompt_tokens of this V1AssistantSessionDailyAggregated.
284
+
285
+
286
+ :param total_prompt_tokens: The total_prompt_tokens of this V1AssistantSessionDailyAggregated. # noqa: E501
287
+ :type: int
288
+ """
289
+
290
+ self._total_prompt_tokens = total_prompt_tokens
291
+
292
+ @property
293
+ def user_id(self) -> 'str':
294
+ """Gets the user_id of this V1AssistantSessionDailyAggregated. # noqa: E501
295
+
296
+
297
+ :return: The user_id of this V1AssistantSessionDailyAggregated. # noqa: E501
298
+ :rtype: str
299
+ """
300
+ return self._user_id
301
+
302
+ @user_id.setter
303
+ def user_id(self, user_id: 'str'):
304
+ """Sets the user_id of this V1AssistantSessionDailyAggregated.
305
+
306
+
307
+ :param user_id: The user_id of this V1AssistantSessionDailyAggregated. # noqa: E501
308
+ :type: str
309
+ """
310
+
311
+ self._user_id = user_id
312
+
313
+ def to_dict(self) -> dict:
314
+ """Returns the model properties as a dict"""
315
+ result = {}
316
+
317
+ for attr, _ in six.iteritems(self.swagger_types):
318
+ value = getattr(self, attr)
319
+ if isinstance(value, list):
320
+ result[attr] = list(map(
321
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
322
+ value
323
+ ))
324
+ elif hasattr(value, "to_dict"):
325
+ result[attr] = value.to_dict()
326
+ elif isinstance(value, dict):
327
+ result[attr] = dict(map(
328
+ lambda item: (item[0], item[1].to_dict())
329
+ if hasattr(item[1], "to_dict") else item,
330
+ value.items()
331
+ ))
332
+ else:
333
+ result[attr] = value
334
+ if issubclass(V1AssistantSessionDailyAggregated, dict):
335
+ for key, value in self.items():
336
+ result[key] = value
337
+
338
+ return result
339
+
340
+ def to_str(self) -> str:
341
+ """Returns the string representation of the model"""
342
+ return pprint.pformat(self.to_dict())
343
+
344
+ def __repr__(self) -> str:
345
+ """For `print` and `pprint`"""
346
+ return self.to_str()
347
+
348
+ def __eq__(self, other: 'V1AssistantSessionDailyAggregated') -> bool:
349
+ """Returns true if both objects are equal"""
350
+ if not isinstance(other, V1AssistantSessionDailyAggregated):
351
+ return False
352
+
353
+ return self.__dict__ == other.__dict__
354
+
355
+ def __ne__(self, other: 'V1AssistantSessionDailyAggregated') -> bool:
356
+ """Returns true if both objects are not equal"""
357
+ return not self == other
@@ -45,6 +45,8 @@ class V1BlogPost(object):
45
45
  'author_id': 'str',
46
46
  'category': 'str',
47
47
  'created_at': 'datetime',
48
+ 'customer_logo_url': 'str',
49
+ 'customer_name': 'str',
48
50
  'description': 'str',
49
51
  'id': 'str',
50
52
  'image_url': 'str',
@@ -59,6 +61,8 @@ class V1BlogPost(object):
59
61
  'author_id': 'authorId',
60
62
  'category': 'category',
61
63
  'created_at': 'createdAt',
64
+ 'customer_logo_url': 'customerLogoUrl',
65
+ 'customer_name': 'customerName',
62
66
  'description': 'description',
63
67
  'id': 'id',
64
68
  'image_url': 'imageUrl',
@@ -68,12 +72,14 @@ class V1BlogPost(object):
68
72
  'updated_at': 'updatedAt'
69
73
  }
70
74
 
71
- def __init__(self, author: 'V1Author' =None, author_id: 'str' =None, category: 'str' =None, created_at: 'datetime' =None, description: 'str' =None, id: 'str' =None, image_url: 'str' =None, lit_page: 'V1LitPage' =None, lit_page_id: 'str' =None, title: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
75
+ def __init__(self, author: 'V1Author' =None, author_id: 'str' =None, category: 'str' =None, created_at: 'datetime' =None, customer_logo_url: 'str' =None, customer_name: 'str' =None, description: 'str' =None, id: 'str' =None, image_url: 'str' =None, lit_page: 'V1LitPage' =None, lit_page_id: 'str' =None, title: 'str' =None, updated_at: 'datetime' =None): # noqa: E501
72
76
  """V1BlogPost - a model defined in Swagger""" # noqa: E501
73
77
  self._author = None
74
78
  self._author_id = None
75
79
  self._category = None
76
80
  self._created_at = None
81
+ self._customer_logo_url = None
82
+ self._customer_name = None
77
83
  self._description = None
78
84
  self._id = None
79
85
  self._image_url = None
@@ -90,6 +96,10 @@ class V1BlogPost(object):
90
96
  self.category = category
91
97
  if created_at is not None:
92
98
  self.created_at = created_at
99
+ if customer_logo_url is not None:
100
+ self.customer_logo_url = customer_logo_url
101
+ if customer_name is not None:
102
+ self.customer_name = customer_name
93
103
  if description is not None:
94
104
  self.description = description
95
105
  if id is not None:
@@ -189,6 +199,48 @@ class V1BlogPost(object):
189
199
 
190
200
  self._created_at = created_at
191
201
 
202
+ @property
203
+ def customer_logo_url(self) -> 'str':
204
+ """Gets the customer_logo_url of this V1BlogPost. # noqa: E501
205
+
206
+
207
+ :return: The customer_logo_url of this V1BlogPost. # noqa: E501
208
+ :rtype: str
209
+ """
210
+ return self._customer_logo_url
211
+
212
+ @customer_logo_url.setter
213
+ def customer_logo_url(self, customer_logo_url: 'str'):
214
+ """Sets the customer_logo_url of this V1BlogPost.
215
+
216
+
217
+ :param customer_logo_url: The customer_logo_url of this V1BlogPost. # noqa: E501
218
+ :type: str
219
+ """
220
+
221
+ self._customer_logo_url = customer_logo_url
222
+
223
+ @property
224
+ def customer_name(self) -> 'str':
225
+ """Gets the customer_name of this V1BlogPost. # noqa: E501
226
+
227
+
228
+ :return: The customer_name of this V1BlogPost. # noqa: E501
229
+ :rtype: str
230
+ """
231
+ return self._customer_name
232
+
233
+ @customer_name.setter
234
+ def customer_name(self, customer_name: 'str'):
235
+ """Sets the customer_name of this V1BlogPost.
236
+
237
+
238
+ :param customer_name: The customer_name of this V1BlogPost. # noqa: E501
239
+ :type: str
240
+ """
241
+
242
+ self._customer_name = customer_name
243
+
192
244
  @property
193
245
  def description(self) -> 'str':
194
246
  """Gets the description of this V1BlogPost. # noqa: E501
@@ -50,6 +50,7 @@ class V1CloudProvider(object):
50
50
  LIGHTNING = "LIGHTNING"
51
51
  LIGHTNING_AGGREGATE = "LIGHTNING_AGGREGATE"
52
52
  KUBERNETES = "KUBERNETES"
53
+ AI_POD = "AI_POD"
53
54
  """
54
55
  Attributes:
55
56
  swagger_types (dict): The key is attribute name
@@ -41,6 +41,7 @@ class V1ClusterSpec(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'ai_pod_v1': 'V1AiPodV1',
44
45
  'auth_token': 'str',
45
46
  'available_accelerators': 'list[str]',
46
47
  'aws_v1': 'V1AWSDirectV1',
@@ -77,6 +78,7 @@ class V1ClusterSpec(object):
77
78
  }
78
79
 
79
80
  attribute_map = {
81
+ 'ai_pod_v1': 'aiPodV1',
80
82
  'auth_token': 'authToken',
81
83
  'available_accelerators': 'availableAccelerators',
82
84
  'aws_v1': 'awsV1',
@@ -112,8 +114,9 @@ class V1ClusterSpec(object):
112
114
  'vultr_v1': 'vultrV1'
113
115
  }
114
116
 
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
117
+ def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, 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
116
118
  """V1ClusterSpec - a model defined in Swagger""" # noqa: E501
119
+ self._ai_pod_v1 = None
117
120
  self._auth_token = None
118
121
  self._available_accelerators = None
119
122
  self._aws_v1 = None
@@ -148,6 +151,8 @@ class V1ClusterSpec(object):
148
151
  self._voltage_park_v1 = None
149
152
  self._vultr_v1 = None
150
153
  self.discriminator = None
154
+ if ai_pod_v1 is not None:
155
+ self.ai_pod_v1 = ai_pod_v1
151
156
  if auth_token is not None:
152
157
  self.auth_token = auth_token
153
158
  if available_accelerators is not None:
@@ -215,6 +220,27 @@ class V1ClusterSpec(object):
215
220
  if vultr_v1 is not None:
216
221
  self.vultr_v1 = vultr_v1
217
222
 
223
+ @property
224
+ def ai_pod_v1(self) -> 'V1AiPodV1':
225
+ """Gets the ai_pod_v1 of this V1ClusterSpec. # noqa: E501
226
+
227
+
228
+ :return: The ai_pod_v1 of this V1ClusterSpec. # noqa: E501
229
+ :rtype: V1AiPodV1
230
+ """
231
+ return self._ai_pod_v1
232
+
233
+ @ai_pod_v1.setter
234
+ def ai_pod_v1(self, ai_pod_v1: 'V1AiPodV1'):
235
+ """Sets the ai_pod_v1 of this V1ClusterSpec.
236
+
237
+
238
+ :param ai_pod_v1: The ai_pod_v1 of this V1ClusterSpec. # noqa: E501
239
+ :type: V1AiPodV1
240
+ """
241
+
242
+ self._ai_pod_v1 = ai_pod_v1
243
+
218
244
  @property
219
245
  def auth_token(self) -> 'str':
220
246
  """Gets the auth_token of this V1ClusterSpec. # noqa: E501
@@ -41,6 +41,7 @@ class V1ClusterType(object):
41
41
  GLOBAL = "CLUSTER_TYPE_GLOBAL"
42
42
  BYOC = "CLUSTER_TYPE_BYOC"
43
43
  SLURM = "CLUSTER_TYPE_SLURM"
44
+ AI_POD = "CLUSTER_TYPE_AI_POD"
44
45
  """
45
46
  Attributes:
46
47
  swagger_types (dict): The key is attribute name
@@ -41,55 +41,24 @@ class V1CompleteUpload(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'cluster_id': 'str',
45
44
  'etag': 'str',
46
- 'part_number': 'str',
47
- 'upload_id': 'str'
45
+ 'part_number': 'str'
48
46
  }
49
47
 
50
48
  attribute_map = {
51
- 'cluster_id': 'clusterId',
52
49
  'etag': 'etag',
53
- 'part_number': 'partNumber',
54
- 'upload_id': 'uploadId'
50
+ 'part_number': 'partNumber'
55
51
  }
56
52
 
57
- def __init__(self, cluster_id: 'str' =None, etag: 'str' =None, part_number: 'str' =None, upload_id: 'str' =None): # noqa: E501
53
+ def __init__(self, etag: 'str' =None, part_number: 'str' =None): # noqa: E501
58
54
  """V1CompleteUpload - a model defined in Swagger""" # noqa: E501
59
- self._cluster_id = None
60
55
  self._etag = None
61
56
  self._part_number = None
62
- self._upload_id = None
63
57
  self.discriminator = None
64
- if cluster_id is not None:
65
- self.cluster_id = cluster_id
66
58
  if etag is not None:
67
59
  self.etag = etag
68
60
  if part_number is not None:
69
61
  self.part_number = part_number
70
- if upload_id is not None:
71
- self.upload_id = upload_id
72
-
73
- @property
74
- def cluster_id(self) -> 'str':
75
- """Gets the cluster_id of this V1CompleteUpload. # noqa: E501
76
-
77
-
78
- :return: The cluster_id of this V1CompleteUpload. # noqa: E501
79
- :rtype: str
80
- """
81
- return self._cluster_id
82
-
83
- @cluster_id.setter
84
- def cluster_id(self, cluster_id: 'str'):
85
- """Sets the cluster_id of this V1CompleteUpload.
86
-
87
-
88
- :param cluster_id: The cluster_id of this V1CompleteUpload. # noqa: E501
89
- :type: str
90
- """
91
-
92
- self._cluster_id = cluster_id
93
62
 
94
63
  @property
95
64
  def etag(self) -> 'str':
@@ -133,27 +102,6 @@ class V1CompleteUpload(object):
133
102
 
134
103
  self._part_number = part_number
135
104
 
136
- @property
137
- def upload_id(self) -> 'str':
138
- """Gets the upload_id of this V1CompleteUpload. # noqa: E501
139
-
140
-
141
- :return: The upload_id of this V1CompleteUpload. # noqa: E501
142
- :rtype: str
143
- """
144
- return self._upload_id
145
-
146
- @upload_id.setter
147
- def upload_id(self, upload_id: 'str'):
148
- """Sets the upload_id of this V1CompleteUpload.
149
-
150
-
151
- :param upload_id: The upload_id of this V1CompleteUpload. # noqa: E501
152
- :type: str
153
- """
154
-
155
- self._upload_id = upload_id
156
-
157
105
  def to_dict(self) -> dict:
158
106
  """Returns the model properties as a dict"""
159
107
  result = {}