lightning-sdk 2025.8.8.post1__py3-none-any.whl → 2025.8.14__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 (37) hide show
  1. lightning_sdk/__init__.py +1 -1
  2. lightning_sdk/api/studio_api.py +26 -4
  3. lightning_sdk/lightning_cloud/openapi/__init__.py +7 -0
  4. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +5 -1
  5. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
  6. lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +0 -97
  7. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +339 -0
  8. lightning_sdk/lightning_cloud/openapi/models/__init__.py +7 -0
  9. lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +27 -1
  10. lightning_sdk/lightning_cloud/openapi/models/create.py +27 -1
  11. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  12. lightning_sdk/lightning_cloud/openapi/models/id_sleepconfig_body.py +175 -0
  13. lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +0 -1
  14. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_transfer_metadata.py +69 -17
  15. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +53 -1
  16. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  17. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +1 -27
  18. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
  19. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +29 -3
  20. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metrics_response.py +123 -0
  21. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_metrics_response.py +123 -0
  22. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_user_metrics_response.py +123 -0
  23. lightning_sdk/lightning_cloud/openapi/models/v1_lustre_data_connection.py +149 -0
  24. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +1 -27
  25. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_metrics.py +591 -0
  26. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_user_metrics.py +435 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +55 -3
  28. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +27 -1
  29. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +1 -27
  30. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +27 -53
  31. lightning_sdk/studio.py +9 -2
  32. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/METADATA +1 -1
  33. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/RECORD +37 -30
  34. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/LICENSE +0 -0
  35. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/WHEEL +0 -0
  36. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/entry_points.txt +0 -0
  37. {lightning_sdk-2025.8.8.post1.dist-info → lightning_sdk-2025.8.14.dist-info}/top_level.txt +0 -0
@@ -43,6 +43,345 @@ class K8SClusterServiceApi(object):
43
43
  api_client = ApiClient()
44
44
  self.api_client = api_client
45
45
 
46
+ def k8_s_cluster_service_list_cluster_metrics(self, project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterMetricsResponse': # noqa: E501
47
+ """k8_s_cluster_service_list_cluster_metrics # noqa: E501
48
+
49
+ This method makes a synchronous HTTP request by default. To make an
50
+ asynchronous HTTP request, please pass async_req=True
51
+ >>> thread = api.k8_s_cluster_service_list_cluster_metrics(project_id, cluster_id, async_req=True)
52
+ >>> result = thread.get()
53
+
54
+ :param async_req bool
55
+ :param str project_id: (required)
56
+ :param str cluster_id: (required)
57
+ :param datetime start: Date range.
58
+ :param datetime end:
59
+ :return: V1ListClusterMetricsResponse
60
+ If the method is called asynchronously,
61
+ returns the request thread.
62
+ """
63
+ kwargs['_return_http_data_only'] = True
64
+ if kwargs.get('async_req'):
65
+ return self.k8_s_cluster_service_list_cluster_metrics_with_http_info(project_id, cluster_id, **kwargs) # noqa: E501
66
+ else:
67
+ (data) = self.k8_s_cluster_service_list_cluster_metrics_with_http_info(project_id, cluster_id, **kwargs) # noqa: E501
68
+ return data
69
+
70
+ def k8_s_cluster_service_list_cluster_metrics_with_http_info(self, project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterMetricsResponse': # noqa: E501
71
+ """k8_s_cluster_service_list_cluster_metrics # noqa: E501
72
+
73
+ This method makes a synchronous HTTP request by default. To make an
74
+ asynchronous HTTP request, please pass async_req=True
75
+ >>> thread = api.k8_s_cluster_service_list_cluster_metrics_with_http_info(project_id, cluster_id, async_req=True)
76
+ >>> result = thread.get()
77
+
78
+ :param async_req bool
79
+ :param str project_id: (required)
80
+ :param str cluster_id: (required)
81
+ :param datetime start: Date range.
82
+ :param datetime end:
83
+ :return: V1ListClusterMetricsResponse
84
+ If the method is called asynchronously,
85
+ returns the request thread.
86
+ """
87
+
88
+ all_params = ['project_id', 'cluster_id', 'start', 'end'] # noqa: E501
89
+ all_params.append('async_req')
90
+ all_params.append('_return_http_data_only')
91
+ all_params.append('_preload_content')
92
+ all_params.append('_request_timeout')
93
+
94
+ params = locals()
95
+ for key, val in six.iteritems(params['kwargs']):
96
+ if key not in all_params:
97
+ raise TypeError(
98
+ "Got an unexpected keyword argument '%s'"
99
+ " to method k8_s_cluster_service_list_cluster_metrics" % key
100
+ )
101
+ params[key] = val
102
+ del params['kwargs']
103
+ # verify the required parameter 'project_id' is set
104
+ if ('project_id' not in params or
105
+ params['project_id'] is None):
106
+ raise ValueError("Missing the required parameter `project_id` when calling `k8_s_cluster_service_list_cluster_metrics`") # noqa: E501
107
+ # verify the required parameter 'cluster_id' is set
108
+ if ('cluster_id' not in params or
109
+ params['cluster_id'] is None):
110
+ raise ValueError("Missing the required parameter `cluster_id` when calling `k8_s_cluster_service_list_cluster_metrics`") # noqa: E501
111
+
112
+ collection_formats = {}
113
+
114
+ path_params = {}
115
+ if 'project_id' in params:
116
+ path_params['projectId'] = params['project_id'] # noqa: E501
117
+ if 'cluster_id' in params:
118
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
119
+
120
+ query_params = []
121
+ if 'start' in params:
122
+ query_params.append(('start', params['start'])) # noqa: E501
123
+ if 'end' in params:
124
+ query_params.append(('end', params['end'])) # noqa: E501
125
+
126
+ header_params = {}
127
+
128
+ form_params = []
129
+ local_var_files = {}
130
+
131
+ body_params = None
132
+ # HTTP header `Accept`
133
+ header_params['Accept'] = self.api_client.select_header_accept(
134
+ ['application/json']) # noqa: E501
135
+
136
+ # Authentication setting
137
+ auth_settings = [] # noqa: E501
138
+
139
+ return self.api_client.call_api(
140
+ '/v1/projects/{projectId}/clusters/{clusterId}/cluster-metrics', 'GET',
141
+ path_params,
142
+ query_params,
143
+ header_params,
144
+ body=body_params,
145
+ post_params=form_params,
146
+ files=local_var_files,
147
+ response_type='V1ListClusterMetricsResponse', # noqa: E501
148
+ auth_settings=auth_settings,
149
+ async_req=params.get('async_req'),
150
+ _return_http_data_only=params.get('_return_http_data_only'),
151
+ _preload_content=params.get('_preload_content', True),
152
+ _request_timeout=params.get('_request_timeout'),
153
+ collection_formats=collection_formats)
154
+
155
+ def k8_s_cluster_service_list_cluster_namespace_metrics(self, project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterNamespaceMetricsResponse': # noqa: E501
156
+ """k8_s_cluster_service_list_cluster_namespace_metrics # noqa: E501
157
+
158
+ This method makes a synchronous HTTP request by default. To make an
159
+ asynchronous HTTP request, please pass async_req=True
160
+ >>> thread = api.k8_s_cluster_service_list_cluster_namespace_metrics(project_id, cluster_id, async_req=True)
161
+ >>> result = thread.get()
162
+
163
+ :param async_req bool
164
+ :param str project_id: (required)
165
+ :param str cluster_id: (required)
166
+ :param str namespace:
167
+ :param datetime start: Date range.
168
+ :param datetime end:
169
+ :return: V1ListClusterNamespaceMetricsResponse
170
+ If the method is called asynchronously,
171
+ returns the request thread.
172
+ """
173
+ kwargs['_return_http_data_only'] = True
174
+ if kwargs.get('async_req'):
175
+ return self.k8_s_cluster_service_list_cluster_namespace_metrics_with_http_info(project_id, cluster_id, **kwargs) # noqa: E501
176
+ else:
177
+ (data) = self.k8_s_cluster_service_list_cluster_namespace_metrics_with_http_info(project_id, cluster_id, **kwargs) # noqa: E501
178
+ return data
179
+
180
+ def k8_s_cluster_service_list_cluster_namespace_metrics_with_http_info(self, project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterNamespaceMetricsResponse': # noqa: E501
181
+ """k8_s_cluster_service_list_cluster_namespace_metrics # noqa: E501
182
+
183
+ This method makes a synchronous HTTP request by default. To make an
184
+ asynchronous HTTP request, please pass async_req=True
185
+ >>> thread = api.k8_s_cluster_service_list_cluster_namespace_metrics_with_http_info(project_id, cluster_id, async_req=True)
186
+ >>> result = thread.get()
187
+
188
+ :param async_req bool
189
+ :param str project_id: (required)
190
+ :param str cluster_id: (required)
191
+ :param str namespace:
192
+ :param datetime start: Date range.
193
+ :param datetime end:
194
+ :return: V1ListClusterNamespaceMetricsResponse
195
+ If the method is called asynchronously,
196
+ returns the request thread.
197
+ """
198
+
199
+ all_params = ['project_id', 'cluster_id', 'namespace', 'start', 'end'] # noqa: E501
200
+ all_params.append('async_req')
201
+ all_params.append('_return_http_data_only')
202
+ all_params.append('_preload_content')
203
+ all_params.append('_request_timeout')
204
+
205
+ params = locals()
206
+ for key, val in six.iteritems(params['kwargs']):
207
+ if key not in all_params:
208
+ raise TypeError(
209
+ "Got an unexpected keyword argument '%s'"
210
+ " to method k8_s_cluster_service_list_cluster_namespace_metrics" % key
211
+ )
212
+ params[key] = val
213
+ del params['kwargs']
214
+ # verify the required parameter 'project_id' is set
215
+ if ('project_id' not in params or
216
+ params['project_id'] is None):
217
+ raise ValueError("Missing the required parameter `project_id` when calling `k8_s_cluster_service_list_cluster_namespace_metrics`") # noqa: E501
218
+ # verify the required parameter 'cluster_id' is set
219
+ if ('cluster_id' not in params or
220
+ params['cluster_id'] is None):
221
+ raise ValueError("Missing the required parameter `cluster_id` when calling `k8_s_cluster_service_list_cluster_namespace_metrics`") # noqa: E501
222
+
223
+ collection_formats = {}
224
+
225
+ path_params = {}
226
+ if 'project_id' in params:
227
+ path_params['projectId'] = params['project_id'] # noqa: E501
228
+ if 'cluster_id' in params:
229
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
230
+
231
+ query_params = []
232
+ if 'namespace' in params:
233
+ query_params.append(('namespace', params['namespace'])) # noqa: E501
234
+ if 'start' in params:
235
+ query_params.append(('start', params['start'])) # noqa: E501
236
+ if 'end' in params:
237
+ query_params.append(('end', params['end'])) # noqa: E501
238
+
239
+ header_params = {}
240
+
241
+ form_params = []
242
+ local_var_files = {}
243
+
244
+ body_params = None
245
+ # HTTP header `Accept`
246
+ header_params['Accept'] = self.api_client.select_header_accept(
247
+ ['application/json']) # noqa: E501
248
+
249
+ # Authentication setting
250
+ auth_settings = [] # noqa: E501
251
+
252
+ return self.api_client.call_api(
253
+ '/v1/projects/{projectId}/clusters/{clusterId}/cluster-namespace-metrics', 'GET',
254
+ path_params,
255
+ query_params,
256
+ header_params,
257
+ body=body_params,
258
+ post_params=form_params,
259
+ files=local_var_files,
260
+ response_type='V1ListClusterNamespaceMetricsResponse', # noqa: E501
261
+ auth_settings=auth_settings,
262
+ async_req=params.get('async_req'),
263
+ _return_http_data_only=params.get('_return_http_data_only'),
264
+ _preload_content=params.get('_preload_content', True),
265
+ _request_timeout=params.get('_request_timeout'),
266
+ collection_formats=collection_formats)
267
+
268
+ def k8_s_cluster_service_list_cluster_namespace_user_metrics(self, project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterNamespaceUserMetricsResponse': # noqa: E501
269
+ """k8_s_cluster_service_list_cluster_namespace_user_metrics # noqa: E501
270
+
271
+ This method makes a synchronous HTTP request by default. To make an
272
+ asynchronous HTTP request, please pass async_req=True
273
+ >>> thread = api.k8_s_cluster_service_list_cluster_namespace_user_metrics(project_id, cluster_id, async_req=True)
274
+ >>> result = thread.get()
275
+
276
+ :param async_req bool
277
+ :param str project_id: (required)
278
+ :param str cluster_id: (required)
279
+ :param str namespace:
280
+ :param str user_id:
281
+ :param datetime start: Date range.
282
+ :param datetime end:
283
+ :return: V1ListClusterNamespaceUserMetricsResponse
284
+ If the method is called asynchronously,
285
+ returns the request thread.
286
+ """
287
+ kwargs['_return_http_data_only'] = True
288
+ if kwargs.get('async_req'):
289
+ return self.k8_s_cluster_service_list_cluster_namespace_user_metrics_with_http_info(project_id, cluster_id, **kwargs) # noqa: E501
290
+ else:
291
+ (data) = self.k8_s_cluster_service_list_cluster_namespace_user_metrics_with_http_info(project_id, cluster_id, **kwargs) # noqa: E501
292
+ return data
293
+
294
+ def k8_s_cluster_service_list_cluster_namespace_user_metrics_with_http_info(self, project_id: 'str', cluster_id: 'str', **kwargs) -> 'V1ListClusterNamespaceUserMetricsResponse': # noqa: E501
295
+ """k8_s_cluster_service_list_cluster_namespace_user_metrics # noqa: E501
296
+
297
+ This method makes a synchronous HTTP request by default. To make an
298
+ asynchronous HTTP request, please pass async_req=True
299
+ >>> thread = api.k8_s_cluster_service_list_cluster_namespace_user_metrics_with_http_info(project_id, cluster_id, async_req=True)
300
+ >>> result = thread.get()
301
+
302
+ :param async_req bool
303
+ :param str project_id: (required)
304
+ :param str cluster_id: (required)
305
+ :param str namespace:
306
+ :param str user_id:
307
+ :param datetime start: Date range.
308
+ :param datetime end:
309
+ :return: V1ListClusterNamespaceUserMetricsResponse
310
+ If the method is called asynchronously,
311
+ returns the request thread.
312
+ """
313
+
314
+ all_params = ['project_id', 'cluster_id', 'namespace', 'user_id', 'start', 'end'] # noqa: E501
315
+ all_params.append('async_req')
316
+ all_params.append('_return_http_data_only')
317
+ all_params.append('_preload_content')
318
+ all_params.append('_request_timeout')
319
+
320
+ params = locals()
321
+ for key, val in six.iteritems(params['kwargs']):
322
+ if key not in all_params:
323
+ raise TypeError(
324
+ "Got an unexpected keyword argument '%s'"
325
+ " to method k8_s_cluster_service_list_cluster_namespace_user_metrics" % key
326
+ )
327
+ params[key] = val
328
+ del params['kwargs']
329
+ # verify the required parameter 'project_id' is set
330
+ if ('project_id' not in params or
331
+ params['project_id'] is None):
332
+ raise ValueError("Missing the required parameter `project_id` when calling `k8_s_cluster_service_list_cluster_namespace_user_metrics`") # noqa: E501
333
+ # verify the required parameter 'cluster_id' is set
334
+ if ('cluster_id' not in params or
335
+ params['cluster_id'] is None):
336
+ raise ValueError("Missing the required parameter `cluster_id` when calling `k8_s_cluster_service_list_cluster_namespace_user_metrics`") # noqa: E501
337
+
338
+ collection_formats = {}
339
+
340
+ path_params = {}
341
+ if 'project_id' in params:
342
+ path_params['projectId'] = params['project_id'] # noqa: E501
343
+ if 'cluster_id' in params:
344
+ path_params['clusterId'] = params['cluster_id'] # noqa: E501
345
+
346
+ query_params = []
347
+ if 'namespace' in params:
348
+ query_params.append(('namespace', params['namespace'])) # noqa: E501
349
+ if 'user_id' in params:
350
+ query_params.append(('userId', params['user_id'])) # noqa: E501
351
+ if 'start' in params:
352
+ query_params.append(('start', params['start'])) # noqa: E501
353
+ if 'end' in params:
354
+ query_params.append(('end', params['end'])) # noqa: E501
355
+
356
+ header_params = {}
357
+
358
+ form_params = []
359
+ local_var_files = {}
360
+
361
+ body_params = None
362
+ # HTTP header `Accept`
363
+ header_params['Accept'] = self.api_client.select_header_accept(
364
+ ['application/json']) # noqa: E501
365
+
366
+ # Authentication setting
367
+ auth_settings = [] # noqa: E501
368
+
369
+ return self.api_client.call_api(
370
+ '/v1/projects/{projectId}/clusters/{clusterId}/cluster-namespace-user-metrics', 'GET',
371
+ path_params,
372
+ query_params,
373
+ header_params,
374
+ body=body_params,
375
+ post_params=form_params,
376
+ files=local_var_files,
377
+ response_type='V1ListClusterNamespaceUserMetricsResponse', # noqa: E501
378
+ auth_settings=auth_settings,
379
+ async_req=params.get('async_req'),
380
+ _return_http_data_only=params.get('_return_http_data_only'),
381
+ _preload_content=params.get('_preload_content', True),
382
+ _request_timeout=params.get('_request_timeout'),
383
+ collection_formats=collection_formats)
384
+
46
385
  def k8_s_cluster_service_list_container_metrics(self, project_id: 'str', cluster_id: 'str', pod_id: 'str', container_id: 'str', **kwargs) -> 'V1ListContainerMetricsResponse': # noqa: E501
47
386
  """k8_s_cluster_service_list_container_metrics # noqa: E501
48
387
 
@@ -100,6 +100,7 @@ from lightning_sdk.lightning_cloud.openapi.models.id_publications_body1 import I
100
100
  from lightning_sdk.lightning_cloud.openapi.models.id_release_body import IdReleaseBody
101
101
  from lightning_sdk.lightning_cloud.openapi.models.id_reportlogsactivity_body import IdReportlogsactivityBody
102
102
  from lightning_sdk.lightning_cloud.openapi.models.id_reportrestarttimings_body import IdReportrestarttimingsBody
103
+ from lightning_sdk.lightning_cloud.openapi.models.id_sleepconfig_body import IdSleepconfigBody
103
104
  from lightning_sdk.lightning_cloud.openapi.models.id_start_body import IdStartBody
104
105
  from lightning_sdk.lightning_cloud.openapi.models.id_transfer_body import IdTransferBody
105
106
  from lightning_sdk.lightning_cloud.openapi.models.id_uploads_body import IdUploadsBody
@@ -606,6 +607,9 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cloudy_experts_respons
606
607
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_accelerators_response import V1ListClusterAcceleratorsResponse
607
608
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_availabilities_response import V1ListClusterAvailabilitiesResponse
608
609
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_capacity_reservations_response import V1ListClusterCapacityReservationsResponse
610
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_metrics_response import V1ListClusterMetricsResponse
611
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_namespace_metrics_response import V1ListClusterNamespaceMetricsResponse
612
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_namespace_user_metrics_response import V1ListClusterNamespaceUserMetricsResponse
609
613
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_proxies_response import V1ListClusterProxiesResponse
610
614
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_usage_restrictions_response import V1ListClusterUsageRestrictionsResponse
611
615
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_clusters_response import V1ListClustersResponse
@@ -705,6 +709,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_login_response import V1Log
705
709
  from lightning_sdk.lightning_cloud.openapi.models.v1_logout_request import V1LogoutRequest
706
710
  from lightning_sdk.lightning_cloud.openapi.models.v1_logout_response import V1LogoutResponse
707
711
  from lightning_sdk.lightning_cloud.openapi.models.v1_logs_response import V1LogsResponse
712
+ from lightning_sdk.lightning_cloud.openapi.models.v1_lustre_data_connection import V1LustreDataConnection
708
713
  from lightning_sdk.lightning_cloud.openapi.models.v1_machines_selector import V1MachinesSelector
709
714
  from lightning_sdk.lightning_cloud.openapi.models.v1_magic_link_login_request import V1MagicLinkLoginRequest
710
715
  from lightning_sdk.lightning_cloud.openapi.models.v1_magic_link_login_response import V1MagicLinkLoginResponse
@@ -735,6 +740,8 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_multi_machine_job_fault_tol
735
740
  from lightning_sdk.lightning_cloud.openapi.models.v1_multi_machine_job_state import V1MultiMachineJobState
736
741
  from lightning_sdk.lightning_cloud.openapi.models.v1_multi_machine_job_status import V1MultiMachineJobStatus
737
742
  from lightning_sdk.lightning_cloud.openapi.models.v1_named_get_logger_metrics import V1NamedGetLoggerMetrics
743
+ from lightning_sdk.lightning_cloud.openapi.models.v1_namespace_metrics import V1NamespaceMetrics
744
+ from lightning_sdk.lightning_cloud.openapi.models.v1_namespace_user_metrics import V1NamespaceUserMetrics
738
745
  from lightning_sdk.lightning_cloud.openapi.models.v1_nebius_direct_v1 import V1NebiusDirectV1
739
746
  from lightning_sdk.lightning_cloud.openapi.models.v1_network_config import V1NetworkConfig
740
747
  from lightning_sdk.lightning_cloud.openapi.models.v1_new_feature import V1NewFeature
@@ -43,6 +43,7 @@ class ClusterIdMetricsBody(object):
43
43
  swagger_types = {
44
44
  'cluster_metrics': 'V1ClusterMetrics',
45
45
  'container_metrics': 'list[V1ContainerMetrics]',
46
+ 'namespace_metrics': 'list[V1NamespaceMetrics]',
46
47
  'node_metrics': 'list[V1NodeMetrics]',
47
48
  'pod_metrics': 'list[V1PodMetrics]'
48
49
  }
@@ -50,14 +51,16 @@ class ClusterIdMetricsBody(object):
50
51
  attribute_map = {
51
52
  'cluster_metrics': 'clusterMetrics',
52
53
  'container_metrics': 'containerMetrics',
54
+ 'namespace_metrics': 'namespaceMetrics',
53
55
  'node_metrics': 'nodeMetrics',
54
56
  'pod_metrics': 'podMetrics'
55
57
  }
56
58
 
57
- def __init__(self, cluster_metrics: 'V1ClusterMetrics' =None, container_metrics: 'list[V1ContainerMetrics]' =None, node_metrics: 'list[V1NodeMetrics]' =None, pod_metrics: 'list[V1PodMetrics]' =None): # noqa: E501
59
+ def __init__(self, cluster_metrics: 'V1ClusterMetrics' =None, container_metrics: 'list[V1ContainerMetrics]' =None, namespace_metrics: 'list[V1NamespaceMetrics]' =None, node_metrics: 'list[V1NodeMetrics]' =None, pod_metrics: 'list[V1PodMetrics]' =None): # noqa: E501
58
60
  """ClusterIdMetricsBody - a model defined in Swagger""" # noqa: E501
59
61
  self._cluster_metrics = None
60
62
  self._container_metrics = None
63
+ self._namespace_metrics = None
61
64
  self._node_metrics = None
62
65
  self._pod_metrics = None
63
66
  self.discriminator = None
@@ -65,6 +68,8 @@ class ClusterIdMetricsBody(object):
65
68
  self.cluster_metrics = cluster_metrics
66
69
  if container_metrics is not None:
67
70
  self.container_metrics = container_metrics
71
+ if namespace_metrics is not None:
72
+ self.namespace_metrics = namespace_metrics
68
73
  if node_metrics is not None:
69
74
  self.node_metrics = node_metrics
70
75
  if pod_metrics is not None:
@@ -112,6 +117,27 @@ class ClusterIdMetricsBody(object):
112
117
 
113
118
  self._container_metrics = container_metrics
114
119
 
120
+ @property
121
+ def namespace_metrics(self) -> 'list[V1NamespaceMetrics]':
122
+ """Gets the namespace_metrics of this ClusterIdMetricsBody. # noqa: E501
123
+
124
+
125
+ :return: The namespace_metrics of this ClusterIdMetricsBody. # noqa: E501
126
+ :rtype: list[V1NamespaceMetrics]
127
+ """
128
+ return self._namespace_metrics
129
+
130
+ @namespace_metrics.setter
131
+ def namespace_metrics(self, namespace_metrics: 'list[V1NamespaceMetrics]'):
132
+ """Sets the namespace_metrics of this ClusterIdMetricsBody.
133
+
134
+
135
+ :param namespace_metrics: The namespace_metrics of this ClusterIdMetricsBody. # noqa: E501
136
+ :type: list[V1NamespaceMetrics]
137
+ """
138
+
139
+ self._namespace_metrics = namespace_metrics
140
+
115
141
  @property
116
142
  def node_metrics(self) -> 'list[V1NodeMetrics]':
117
143
  """Gets the node_metrics of this ClusterIdMetricsBody. # noqa: E501
@@ -52,6 +52,7 @@ class Create(object):
52
52
  'gcp': 'V1GcpDataConnection',
53
53
  'gcs_folder': 'V1GCSFolderDataConnection',
54
54
  'id': 'str',
55
+ 'lustre': 'V1LustreDataConnection',
55
56
  'name': 'str',
56
57
  'r2': 'V1R2DataConnection',
57
58
  'run_cmds': 'list[str]',
@@ -73,6 +74,7 @@ class Create(object):
73
74
  'gcp': 'gcp',
74
75
  'gcs_folder': 'gcsFolder',
75
76
  'id': 'id',
77
+ 'lustre': 'lustre',
76
78
  'name': 'name',
77
79
  'r2': 'r2',
78
80
  'run_cmds': 'runCmds',
@@ -82,7 +84,7 @@ class Create(object):
82
84
  'writable': 'writable'
83
85
  }
84
86
 
85
- def __init__(self, access_cluster_ids: 'list[str]' =None, aws: 'V1AwsDataConnection' =None, cluster_id: 'str' =None, create_index: 'bool' =None, create_resources: 'bool' =None, efs: 'V1EfsConfig' =None, filestore: 'V1FilestoreDataConnection' =None, force: 'bool' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, id: 'str' =None, name: 'str' =None, r2: 'V1R2DataConnection' =None, run_cmds: 'list[str]' =None, s3_folder: 'V1S3FolderDataConnection' =None, snowflake: 'V1SnowflakeDataConnection' =None, weka: 'V1WekaDataConnection' =None, writable: 'bool' =None): # noqa: E501
87
+ def __init__(self, access_cluster_ids: 'list[str]' =None, aws: 'V1AwsDataConnection' =None, cluster_id: 'str' =None, create_index: 'bool' =None, create_resources: 'bool' =None, efs: 'V1EfsConfig' =None, filestore: 'V1FilestoreDataConnection' =None, force: 'bool' =None, gcp: 'V1GcpDataConnection' =None, gcs_folder: 'V1GCSFolderDataConnection' =None, id: 'str' =None, lustre: 'V1LustreDataConnection' =None, name: 'str' =None, r2: 'V1R2DataConnection' =None, run_cmds: 'list[str]' =None, s3_folder: 'V1S3FolderDataConnection' =None, snowflake: 'V1SnowflakeDataConnection' =None, weka: 'V1WekaDataConnection' =None, writable: 'bool' =None): # noqa: E501
86
88
  """Create - a model defined in Swagger""" # noqa: E501
87
89
  self._access_cluster_ids = None
88
90
  self._aws = None
@@ -95,6 +97,7 @@ class Create(object):
95
97
  self._gcp = None
96
98
  self._gcs_folder = None
97
99
  self._id = None
100
+ self._lustre = None
98
101
  self._name = None
99
102
  self._r2 = None
100
103
  self._run_cmds = None
@@ -125,6 +128,8 @@ class Create(object):
125
128
  self.gcs_folder = gcs_folder
126
129
  if id is not None:
127
130
  self.id = id
131
+ if lustre is not None:
132
+ self.lustre = lustre
128
133
  if name is not None:
129
134
  self.name = name
130
135
  if r2 is not None:
@@ -371,6 +376,27 @@ class Create(object):
371
376
 
372
377
  self._id = id
373
378
 
379
+ @property
380
+ def lustre(self) -> 'V1LustreDataConnection':
381
+ """Gets the lustre of this Create. # noqa: E501
382
+
383
+
384
+ :return: The lustre of this Create. # noqa: E501
385
+ :rtype: V1LustreDataConnection
386
+ """
387
+ return self._lustre
388
+
389
+ @lustre.setter
390
+ def lustre(self, lustre: 'V1LustreDataConnection'):
391
+ """Sets the lustre of this Create.
392
+
393
+
394
+ :param lustre: The lustre of this Create. # noqa: E501
395
+ :type: V1LustreDataConnection
396
+ """
397
+
398
+ self._lustre = lustre
399
+
374
400
  @property
375
401
  def name(self) -> 'str':
376
402
  """Gets the name of this Create. # noqa: E501
@@ -70,6 +70,7 @@ class Externalv1CloudSpaceInstanceStatus(object):
70
70
  'switched_at': 'datetime',
71
71
  'sync_last_updated': 'datetime',
72
72
  'termination_time': 'datetime',
73
+ 'transfer_metadata': 'V1CloudSpaceTransferMetadata',
73
74
  'vscode_url': 'str'
74
75
  }
75
76
 
@@ -103,10 +104,11 @@ class Externalv1CloudSpaceInstanceStatus(object):
103
104
  'switched_at': 'switchedAt',
104
105
  'sync_last_updated': 'syncLastUpdated',
105
106
  'termination_time': 'terminationTime',
107
+ 'transfer_metadata': 'transferMetadata',
106
108
  'vscode_url': 'vscodeUrl'
107
109
  }
108
110
 
109
- def __init__(self, alerts: 'list[V1ServerAlert]' =None, app_url: 'str' =None, bytes_to_sync: 'str' =None, cloud_space_id: 'str' =None, cloud_space_instance_id: 'str' =None, compute_config: 'V1UserRequestedComputeConfig' =None, creation_timestamp: 'datetime' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, files_to_sync: 'str' =None, free: 'bool' =None, ide: 'str' =None, instance_id: 'str' =None, instance_region: 'str' =None, instance_url: 'str' =None, jupyterlab_url: 'str' =None, phase: 'V1CloudSpaceInstanceState' =None, price: 'float' =None, ssh_host: 'str' =None, ssh_port: 'int' =None, ssh_username: 'str' =None, start_timestamp: 'datetime' =None, startup_eta_seconds: 'str' =None, startup_percentage: 'str' =None, startup_phase: 'str' =None, startup_status: 'V1CloudSpaceInstanceStartupStatus' =None, status_message: 'str' =None, switched_at: 'datetime' =None, sync_last_updated: 'datetime' =None, termination_time: 'datetime' =None, vscode_url: 'str' =None): # noqa: E501
111
+ def __init__(self, alerts: 'list[V1ServerAlert]' =None, app_url: 'str' =None, bytes_to_sync: 'str' =None, cloud_space_id: 'str' =None, cloud_space_instance_id: 'str' =None, compute_config: 'V1UserRequestedComputeConfig' =None, creation_timestamp: 'datetime' =None, data_connection_mounts: 'list[V1DataConnectionMount]' =None, files_to_sync: 'str' =None, free: 'bool' =None, ide: 'str' =None, instance_id: 'str' =None, instance_region: 'str' =None, instance_url: 'str' =None, jupyterlab_url: 'str' =None, phase: 'V1CloudSpaceInstanceState' =None, price: 'float' =None, ssh_host: 'str' =None, ssh_port: 'int' =None, ssh_username: 'str' =None, start_timestamp: 'datetime' =None, startup_eta_seconds: 'str' =None, startup_percentage: 'str' =None, startup_phase: 'str' =None, startup_status: 'V1CloudSpaceInstanceStartupStatus' =None, status_message: 'str' =None, switched_at: 'datetime' =None, sync_last_updated: 'datetime' =None, termination_time: 'datetime' =None, transfer_metadata: 'V1CloudSpaceTransferMetadata' =None, vscode_url: 'str' =None): # noqa: E501
110
112
  """Externalv1CloudSpaceInstanceStatus - a model defined in Swagger""" # noqa: E501
111
113
  self._alerts = None
112
114
  self._app_url = None
@@ -137,6 +139,7 @@ class Externalv1CloudSpaceInstanceStatus(object):
137
139
  self._switched_at = None
138
140
  self._sync_last_updated = None
139
141
  self._termination_time = None
142
+ self._transfer_metadata = None
140
143
  self._vscode_url = None
141
144
  self.discriminator = None
142
145
  if alerts is not None:
@@ -197,6 +200,8 @@ class Externalv1CloudSpaceInstanceStatus(object):
197
200
  self.sync_last_updated = sync_last_updated
198
201
  if termination_time is not None:
199
202
  self.termination_time = termination_time
203
+ if transfer_metadata is not None:
204
+ self.transfer_metadata = transfer_metadata
200
205
  if vscode_url is not None:
201
206
  self.vscode_url = vscode_url
202
207
 
@@ -811,6 +816,27 @@ class Externalv1CloudSpaceInstanceStatus(object):
811
816
 
812
817
  self._termination_time = termination_time
813
818
 
819
+ @property
820
+ def transfer_metadata(self) -> 'V1CloudSpaceTransferMetadata':
821
+ """Gets the transfer_metadata of this Externalv1CloudSpaceInstanceStatus. # noqa: E501
822
+
823
+
824
+ :return: The transfer_metadata of this Externalv1CloudSpaceInstanceStatus. # noqa: E501
825
+ :rtype: V1CloudSpaceTransferMetadata
826
+ """
827
+ return self._transfer_metadata
828
+
829
+ @transfer_metadata.setter
830
+ def transfer_metadata(self, transfer_metadata: 'V1CloudSpaceTransferMetadata'):
831
+ """Sets the transfer_metadata of this Externalv1CloudSpaceInstanceStatus.
832
+
833
+
834
+ :param transfer_metadata: The transfer_metadata of this Externalv1CloudSpaceInstanceStatus. # noqa: E501
835
+ :type: V1CloudSpaceTransferMetadata
836
+ """
837
+
838
+ self._transfer_metadata = transfer_metadata
839
+
814
840
  @property
815
841
  def vscode_url(self) -> 'str':
816
842
  """Gets the vscode_url of this Externalv1CloudSpaceInstanceStatus. # noqa: E501