lightning-sdk 2025.10.14__py3-none-any.whl → 2025.10.23__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 (76) hide show
  1. lightning_sdk/__init__.py +6 -3
  2. lightning_sdk/api/base_studio_api.py +13 -9
  3. lightning_sdk/api/job_api.py +4 -1
  4. lightning_sdk/api/license_api.py +26 -59
  5. lightning_sdk/api/studio_api.py +7 -2
  6. lightning_sdk/base_studio.py +30 -17
  7. lightning_sdk/cli/base_studio/list.py +1 -3
  8. lightning_sdk/cli/entrypoint.py +11 -34
  9. lightning_sdk/cli/groups.py +7 -0
  10. lightning_sdk/cli/license/__init__.py +14 -0
  11. lightning_sdk/cli/license/get.py +15 -0
  12. lightning_sdk/cli/license/list.py +45 -0
  13. lightning_sdk/cli/license/set.py +13 -0
  14. lightning_sdk/cli/studio/connect.py +42 -92
  15. lightning_sdk/cli/studio/create.py +23 -1
  16. lightning_sdk/cli/studio/start.py +12 -2
  17. lightning_sdk/cli/utils/get_base_studio.py +24 -0
  18. lightning_sdk/cli/utils/handle_machine_and_gpus_args.py +69 -0
  19. lightning_sdk/cli/utils/logging.py +121 -0
  20. lightning_sdk/cli/utils/ssh_connection.py +1 -1
  21. lightning_sdk/constants.py +1 -0
  22. lightning_sdk/helpers.py +53 -34
  23. lightning_sdk/job/base.py +7 -0
  24. lightning_sdk/job/job.py +8 -0
  25. lightning_sdk/job/v1.py +3 -0
  26. lightning_sdk/job/v2.py +4 -0
  27. lightning_sdk/lightning_cloud/login.py +260 -10
  28. lightning_sdk/lightning_cloud/openapi/__init__.py +16 -3
  29. lightning_sdk/lightning_cloud/openapi/api/auth_service_api.py +279 -0
  30. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +117 -0
  31. lightning_sdk/lightning_cloud/openapi/api/product_license_service_api.py +108 -108
  32. lightning_sdk/lightning_cloud/openapi/models/__init__.py +16 -3
  33. lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +27 -1
  34. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  35. lightning_sdk/lightning_cloud/openapi/models/id_fork_body1.py +27 -1
  36. lightning_sdk/lightning_cloud/openapi/models/license_key_validate_body.py +123 -0
  37. lightning_sdk/lightning_cloud/openapi/models/update1.py +27 -1
  38. lightning_sdk/lightning_cloud/openapi/models/v1_create_license_request.py +175 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +27 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_delete_license_response.py +97 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_metric.py +201 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_transfer_estimate_response.py +29 -3
  45. lightning_sdk/lightning_cloud/openapi/models/v1_incident.py +27 -1
  46. lightning_sdk/lightning_cloud/openapi/models/v1_incident_detail.py +149 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_incident_event.py +27 -1
  48. lightning_sdk/lightning_cloud/openapi/models/v1_license.py +227 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_metrics_response.py +123 -0
  50. lightning_sdk/lightning_cloud/openapi/models/{v1_list_product_licenses_response.py → v1_list_license_response.py} +16 -16
  51. lightning_sdk/lightning_cloud/openapi/models/v1_list_platform_notifications_response.py +123 -0
  52. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -1
  53. lightning_sdk/lightning_cloud/openapi/models/v1_platform_notification.py +279 -0
  54. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_request.py +97 -0
  55. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_response.py +123 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +53 -1
  57. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_request.py +123 -0
  58. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_response.py +123 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_token_owner_type.py +104 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +139 -191
  61. lightning_sdk/lightning_cloud/openapi/models/{v1_product_license_check_response.py → v1_validate_license_response.py} +21 -21
  62. lightning_sdk/lightning_cloud/rest_client.py +48 -45
  63. lightning_sdk/machine.py +5 -0
  64. lightning_sdk/pipeline/steps.py +1 -0
  65. lightning_sdk/studio.py +55 -13
  66. lightning_sdk/utils/config.py +18 -3
  67. lightning_sdk/utils/license.py +13 -0
  68. lightning_sdk/utils/resolve.py +6 -1
  69. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/METADATA +1 -1
  70. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/RECORD +74 -54
  71. lightning_sdk/lightning_cloud/openapi/models/v1_product_license.py +0 -435
  72. lightning_sdk/services/license.py +0 -363
  73. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/LICENSE +0 -0
  74. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/WHEEL +0 -0
  75. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/entry_points.txt +0 -0
  76. {lightning_sdk-2025.10.14.dist-info → lightning_sdk-2025.10.23.dist-info}/top_level.txt +0 -0
@@ -43,38 +43,38 @@ class ProductLicenseServiceApi(object):
43
43
  api_client = ApiClient()
44
44
  self.api_client = api_client
45
45
 
46
- def product_license_service_create_product_license(self, body: 'V1ProductLicense', **kwargs) -> 'V1ProductLicense': # noqa: E501
47
- """Create product license # noqa: E501
46
+ def product_license_service_create_license(self, body: 'V1CreateLicenseRequest', **kwargs) -> 'V1License': # noqa: E501
47
+ """product_license_service_create_license # noqa: E501
48
48
 
49
49
  This method makes a synchronous HTTP request by default. To make an
50
50
  asynchronous HTTP request, please pass async_req=True
51
- >>> thread = api.product_license_service_create_product_license(body, async_req=True)
51
+ >>> thread = api.product_license_service_create_license(body, async_req=True)
52
52
  >>> result = thread.get()
53
53
 
54
54
  :param async_req bool
55
- :param V1ProductLicense body: (required)
56
- :return: V1ProductLicense
55
+ :param V1CreateLicenseRequest body: (required)
56
+ :return: V1License
57
57
  If the method is called asynchronously,
58
58
  returns the request thread.
59
59
  """
60
60
  kwargs['_return_http_data_only'] = True
61
61
  if kwargs.get('async_req'):
62
- return self.product_license_service_create_product_license_with_http_info(body, **kwargs) # noqa: E501
62
+ return self.product_license_service_create_license_with_http_info(body, **kwargs) # noqa: E501
63
63
  else:
64
- (data) = self.product_license_service_create_product_license_with_http_info(body, **kwargs) # noqa: E501
64
+ (data) = self.product_license_service_create_license_with_http_info(body, **kwargs) # noqa: E501
65
65
  return data
66
66
 
67
- def product_license_service_create_product_license_with_http_info(self, body: 'V1ProductLicense', **kwargs) -> 'V1ProductLicense': # noqa: E501
68
- """Create product license # noqa: E501
67
+ def product_license_service_create_license_with_http_info(self, body: 'V1CreateLicenseRequest', **kwargs) -> 'V1License': # noqa: E501
68
+ """product_license_service_create_license # noqa: E501
69
69
 
70
70
  This method makes a synchronous HTTP request by default. To make an
71
71
  asynchronous HTTP request, please pass async_req=True
72
- >>> thread = api.product_license_service_create_product_license_with_http_info(body, async_req=True)
72
+ >>> thread = api.product_license_service_create_license_with_http_info(body, async_req=True)
73
73
  >>> result = thread.get()
74
74
 
75
75
  :param async_req bool
76
- :param V1ProductLicense body: (required)
77
- :return: V1ProductLicense
76
+ :param V1CreateLicenseRequest body: (required)
77
+ :return: V1License
78
78
  If the method is called asynchronously,
79
79
  returns the request thread.
80
80
  """
@@ -90,14 +90,14 @@ class ProductLicenseServiceApi(object):
90
90
  if key not in all_params:
91
91
  raise TypeError(
92
92
  "Got an unexpected keyword argument '%s'"
93
- " to method product_license_service_create_product_license" % key
93
+ " to method product_license_service_create_license" % key
94
94
  )
95
95
  params[key] = val
96
96
  del params['kwargs']
97
97
  # verify the required parameter 'body' is set
98
98
  if ('body' not in params or
99
99
  params['body'] is None):
100
- raise ValueError("Missing the required parameter `body` when calling `product_license_service_create_product_license`") # noqa: E501
100
+ raise ValueError("Missing the required parameter `body` when calling `product_license_service_create_license`") # noqa: E501
101
101
 
102
102
  collection_formats = {}
103
103
 
@@ -132,7 +132,7 @@ class ProductLicenseServiceApi(object):
132
132
  body=body_params,
133
133
  post_params=form_params,
134
134
  files=local_var_files,
135
- response_type='V1ProductLicense', # noqa: E501
135
+ response_type='V1License', # noqa: E501
136
136
  auth_settings=auth_settings,
137
137
  async_req=params.get('async_req'),
138
138
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -140,43 +140,43 @@ class ProductLicenseServiceApi(object):
140
140
  _request_timeout=params.get('_request_timeout'),
141
141
  collection_formats=collection_formats)
142
142
 
143
- def product_license_service_get_product_license(self, license_id: 'str', **kwargs) -> 'V1ProductLicense': # noqa: E501
144
- """Get product license # noqa: E501
143
+ def product_license_service_delete_license(self, id: 'str', **kwargs) -> 'V1DeleteLicenseResponse': # noqa: E501
144
+ """product_license_service_delete_license # noqa: E501
145
145
 
146
146
  This method makes a synchronous HTTP request by default. To make an
147
147
  asynchronous HTTP request, please pass async_req=True
148
- >>> thread = api.product_license_service_get_product_license(license_id, async_req=True)
148
+ >>> thread = api.product_license_service_delete_license(id, async_req=True)
149
149
  >>> result = thread.get()
150
150
 
151
151
  :param async_req bool
152
- :param str license_id: (required)
153
- :return: V1ProductLicense
152
+ :param str id: (required)
153
+ :return: V1DeleteLicenseResponse
154
154
  If the method is called asynchronously,
155
155
  returns the request thread.
156
156
  """
157
157
  kwargs['_return_http_data_only'] = True
158
158
  if kwargs.get('async_req'):
159
- return self.product_license_service_get_product_license_with_http_info(license_id, **kwargs) # noqa: E501
159
+ return self.product_license_service_delete_license_with_http_info(id, **kwargs) # noqa: E501
160
160
  else:
161
- (data) = self.product_license_service_get_product_license_with_http_info(license_id, **kwargs) # noqa: E501
161
+ (data) = self.product_license_service_delete_license_with_http_info(id, **kwargs) # noqa: E501
162
162
  return data
163
163
 
164
- def product_license_service_get_product_license_with_http_info(self, license_id: 'str', **kwargs) -> 'V1ProductLicense': # noqa: E501
165
- """Get product license # noqa: E501
164
+ def product_license_service_delete_license_with_http_info(self, id: 'str', **kwargs) -> 'V1DeleteLicenseResponse': # noqa: E501
165
+ """product_license_service_delete_license # noqa: E501
166
166
 
167
167
  This method makes a synchronous HTTP request by default. To make an
168
168
  asynchronous HTTP request, please pass async_req=True
169
- >>> thread = api.product_license_service_get_product_license_with_http_info(license_id, async_req=True)
169
+ >>> thread = api.product_license_service_delete_license_with_http_info(id, async_req=True)
170
170
  >>> result = thread.get()
171
171
 
172
172
  :param async_req bool
173
- :param str license_id: (required)
174
- :return: V1ProductLicense
173
+ :param str id: (required)
174
+ :return: V1DeleteLicenseResponse
175
175
  If the method is called asynchronously,
176
176
  returns the request thread.
177
177
  """
178
178
 
179
- all_params = ['license_id'] # noqa: E501
179
+ all_params = ['id'] # noqa: E501
180
180
  all_params.append('async_req')
181
181
  all_params.append('_return_http_data_only')
182
182
  all_params.append('_preload_content')
@@ -187,20 +187,20 @@ class ProductLicenseServiceApi(object):
187
187
  if key not in all_params:
188
188
  raise TypeError(
189
189
  "Got an unexpected keyword argument '%s'"
190
- " to method product_license_service_get_product_license" % key
190
+ " to method product_license_service_delete_license" % key
191
191
  )
192
192
  params[key] = val
193
193
  del params['kwargs']
194
- # verify the required parameter 'license_id' is set
195
- if ('license_id' not in params or
196
- params['license_id'] is None):
197
- raise ValueError("Missing the required parameter `license_id` when calling `product_license_service_get_product_license`") # noqa: E501
194
+ # verify the required parameter 'id' is set
195
+ if ('id' not in params or
196
+ params['id'] is None):
197
+ raise ValueError("Missing the required parameter `id` when calling `product_license_service_delete_license`") # noqa: E501
198
198
 
199
199
  collection_formats = {}
200
200
 
201
201
  path_params = {}
202
- if 'license_id' in params:
203
- path_params['licenseId'] = params['license_id'] # noqa: E501
202
+ if 'id' in params:
203
+ path_params['id'] = params['id'] # noqa: E501
204
204
 
205
205
  query_params = []
206
206
 
@@ -218,14 +218,14 @@ class ProductLicenseServiceApi(object):
218
218
  auth_settings = [] # noqa: E501
219
219
 
220
220
  return self.api_client.call_api(
221
- '/v1/licenses/{licenseId}', 'GET',
221
+ '/v1/licenses/{id}', 'DELETE',
222
222
  path_params,
223
223
  query_params,
224
224
  header_params,
225
225
  body=body_params,
226
226
  post_params=form_params,
227
227
  files=local_var_files,
228
- response_type='V1ProductLicense', # noqa: E501
228
+ response_type='V1DeleteLicenseResponse', # noqa: E501
229
229
  auth_settings=auth_settings,
230
230
  async_req=params.get('async_req'),
231
231
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -233,43 +233,43 @@ class ProductLicenseServiceApi(object):
233
233
  _request_timeout=params.get('_request_timeout'),
234
234
  collection_formats=collection_formats)
235
235
 
236
- def product_license_service_list_user_licenses(self, user_id: 'str', **kwargs) -> 'V1ListProductLicensesResponse': # noqa: E501
237
- """list product licenses assigned to a user # noqa: E501
236
+ def product_license_service_get_license(self, id: 'str', **kwargs) -> 'V1License': # noqa: E501
237
+ """product_license_service_get_license # noqa: E501
238
238
 
239
239
  This method makes a synchronous HTTP request by default. To make an
240
240
  asynchronous HTTP request, please pass async_req=True
241
- >>> thread = api.product_license_service_list_user_licenses(user_id, async_req=True)
241
+ >>> thread = api.product_license_service_get_license(id, async_req=True)
242
242
  >>> result = thread.get()
243
243
 
244
244
  :param async_req bool
245
- :param str user_id: (required)
246
- :return: V1ListProductLicensesResponse
245
+ :param str id: (required)
246
+ :return: V1License
247
247
  If the method is called asynchronously,
248
248
  returns the request thread.
249
249
  """
250
250
  kwargs['_return_http_data_only'] = True
251
251
  if kwargs.get('async_req'):
252
- return self.product_license_service_list_user_licenses_with_http_info(user_id, **kwargs) # noqa: E501
252
+ return self.product_license_service_get_license_with_http_info(id, **kwargs) # noqa: E501
253
253
  else:
254
- (data) = self.product_license_service_list_user_licenses_with_http_info(user_id, **kwargs) # noqa: E501
254
+ (data) = self.product_license_service_get_license_with_http_info(id, **kwargs) # noqa: E501
255
255
  return data
256
256
 
257
- def product_license_service_list_user_licenses_with_http_info(self, user_id: 'str', **kwargs) -> 'V1ListProductLicensesResponse': # noqa: E501
258
- """list product licenses assigned to a user # noqa: E501
257
+ def product_license_service_get_license_with_http_info(self, id: 'str', **kwargs) -> 'V1License': # noqa: E501
258
+ """product_license_service_get_license # noqa: E501
259
259
 
260
260
  This method makes a synchronous HTTP request by default. To make an
261
261
  asynchronous HTTP request, please pass async_req=True
262
- >>> thread = api.product_license_service_list_user_licenses_with_http_info(user_id, async_req=True)
262
+ >>> thread = api.product_license_service_get_license_with_http_info(id, async_req=True)
263
263
  >>> result = thread.get()
264
264
 
265
265
  :param async_req bool
266
- :param str user_id: (required)
267
- :return: V1ListProductLicensesResponse
266
+ :param str id: (required)
267
+ :return: V1License
268
268
  If the method is called asynchronously,
269
269
  returns the request thread.
270
270
  """
271
271
 
272
- all_params = ['user_id'] # noqa: E501
272
+ all_params = ['id'] # noqa: E501
273
273
  all_params.append('async_req')
274
274
  all_params.append('_return_http_data_only')
275
275
  all_params.append('_preload_content')
@@ -280,20 +280,20 @@ class ProductLicenseServiceApi(object):
280
280
  if key not in all_params:
281
281
  raise TypeError(
282
282
  "Got an unexpected keyword argument '%s'"
283
- " to method product_license_service_list_user_licenses" % key
283
+ " to method product_license_service_get_license" % key
284
284
  )
285
285
  params[key] = val
286
286
  del params['kwargs']
287
- # verify the required parameter 'user_id' is set
288
- if ('user_id' not in params or
289
- params['user_id'] is None):
290
- raise ValueError("Missing the required parameter `user_id` when calling `product_license_service_list_user_licenses`") # noqa: E501
287
+ # verify the required parameter 'id' is set
288
+ if ('id' not in params or
289
+ params['id'] is None):
290
+ raise ValueError("Missing the required parameter `id` when calling `product_license_service_get_license`") # noqa: E501
291
291
 
292
292
  collection_formats = {}
293
293
 
294
294
  path_params = {}
295
- if 'user_id' in params:
296
- path_params['userId'] = params['user_id'] # noqa: E501
295
+ if 'id' in params:
296
+ path_params['id'] = params['id'] # noqa: E501
297
297
 
298
298
  query_params = []
299
299
 
@@ -311,14 +311,14 @@ class ProductLicenseServiceApi(object):
311
311
  auth_settings = [] # noqa: E501
312
312
 
313
313
  return self.api_client.call_api(
314
- '/v1/users/{userId}/licenses', 'GET',
314
+ '/v1/licenses/{id}', 'GET',
315
315
  path_params,
316
316
  query_params,
317
317
  header_params,
318
318
  body=body_params,
319
319
  post_params=form_params,
320
320
  files=local_var_files,
321
- response_type='V1ListProductLicensesResponse', # noqa: E501
321
+ response_type='V1License', # noqa: E501
322
322
  auth_settings=auth_settings,
323
323
  async_req=params.get('async_req'),
324
324
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -326,43 +326,45 @@ class ProductLicenseServiceApi(object):
326
326
  _request_timeout=params.get('_request_timeout'),
327
327
  collection_formats=collection_formats)
328
328
 
329
- def product_license_service_revoke_product_license(self, license_id: 'str', **kwargs) -> 'V1ProductLicense': # noqa: E501
330
- """revoke or invalidate product license # noqa: E501
329
+ def product_license_service_list_licenses(self, **kwargs) -> 'V1ListLicenseResponse': # noqa: E501
330
+ """product_license_service_list_licenses # noqa: E501
331
331
 
332
332
  This method makes a synchronous HTTP request by default. To make an
333
333
  asynchronous HTTP request, please pass async_req=True
334
- >>> thread = api.product_license_service_revoke_product_license(license_id, async_req=True)
334
+ >>> thread = api.product_license_service_list_licenses(async_req=True)
335
335
  >>> result = thread.get()
336
336
 
337
337
  :param async_req bool
338
- :param str license_id: (required)
339
- :return: V1ProductLicense
338
+ :param str owner_id:
339
+ :param str owner_type:
340
+ :return: V1ListLicenseResponse
340
341
  If the method is called asynchronously,
341
342
  returns the request thread.
342
343
  """
343
344
  kwargs['_return_http_data_only'] = True
344
345
  if kwargs.get('async_req'):
345
- return self.product_license_service_revoke_product_license_with_http_info(license_id, **kwargs) # noqa: E501
346
+ return self.product_license_service_list_licenses_with_http_info(**kwargs) # noqa: E501
346
347
  else:
347
- (data) = self.product_license_service_revoke_product_license_with_http_info(license_id, **kwargs) # noqa: E501
348
+ (data) = self.product_license_service_list_licenses_with_http_info(**kwargs) # noqa: E501
348
349
  return data
349
350
 
350
- def product_license_service_revoke_product_license_with_http_info(self, license_id: 'str', **kwargs) -> 'V1ProductLicense': # noqa: E501
351
- """revoke or invalidate product license # noqa: E501
351
+ def product_license_service_list_licenses_with_http_info(self, **kwargs) -> 'V1ListLicenseResponse': # noqa: E501
352
+ """product_license_service_list_licenses # noqa: E501
352
353
 
353
354
  This method makes a synchronous HTTP request by default. To make an
354
355
  asynchronous HTTP request, please pass async_req=True
355
- >>> thread = api.product_license_service_revoke_product_license_with_http_info(license_id, async_req=True)
356
+ >>> thread = api.product_license_service_list_licenses_with_http_info(async_req=True)
356
357
  >>> result = thread.get()
357
358
 
358
359
  :param async_req bool
359
- :param str license_id: (required)
360
- :return: V1ProductLicense
360
+ :param str owner_id:
361
+ :param str owner_type:
362
+ :return: V1ListLicenseResponse
361
363
  If the method is called asynchronously,
362
364
  returns the request thread.
363
365
  """
364
366
 
365
- all_params = ['license_id'] # noqa: E501
367
+ all_params = ['owner_id', 'owner_type'] # noqa: E501
366
368
  all_params.append('async_req')
367
369
  all_params.append('_return_http_data_only')
368
370
  all_params.append('_preload_content')
@@ -373,22 +375,20 @@ class ProductLicenseServiceApi(object):
373
375
  if key not in all_params:
374
376
  raise TypeError(
375
377
  "Got an unexpected keyword argument '%s'"
376
- " to method product_license_service_revoke_product_license" % key
378
+ " to method product_license_service_list_licenses" % key
377
379
  )
378
380
  params[key] = val
379
381
  del params['kwargs']
380
- # verify the required parameter 'license_id' is set
381
- if ('license_id' not in params or
382
- params['license_id'] is None):
383
- raise ValueError("Missing the required parameter `license_id` when calling `product_license_service_revoke_product_license`") # noqa: E501
384
382
 
385
383
  collection_formats = {}
386
384
 
387
385
  path_params = {}
388
- if 'license_id' in params:
389
- path_params['licenseId'] = params['license_id'] # noqa: E501
390
386
 
391
387
  query_params = []
388
+ if 'owner_id' in params:
389
+ query_params.append(('ownerId', params['owner_id'])) # noqa: E501
390
+ if 'owner_type' in params:
391
+ query_params.append(('ownerType', params['owner_type'])) # noqa: E501
392
392
 
393
393
  header_params = {}
394
394
 
@@ -404,14 +404,14 @@ class ProductLicenseServiceApi(object):
404
404
  auth_settings = [] # noqa: E501
405
405
 
406
406
  return self.api_client.call_api(
407
- '/v1/licenses/{licenseId}', 'DELETE',
407
+ '/v1/licenses', 'GET',
408
408
  path_params,
409
409
  query_params,
410
410
  header_params,
411
411
  body=body_params,
412
412
  post_params=form_params,
413
413
  files=local_var_files,
414
- response_type='V1ProductLicense', # noqa: E501
414
+ response_type='V1ListLicenseResponse', # noqa: E501
415
415
  auth_settings=auth_settings,
416
416
  async_req=params.get('async_req'),
417
417
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -419,49 +419,45 @@ class ProductLicenseServiceApi(object):
419
419
  _request_timeout=params.get('_request_timeout'),
420
420
  collection_formats=collection_formats)
421
421
 
422
- def product_license_service_validate_product_license(self, license_key: 'str', **kwargs) -> 'V1ProductLicenseCheckResponse': # noqa: E501
423
- """Validate product license # noqa: E501
422
+ def product_license_service_validate_license(self, body: 'LicenseKeyValidateBody', license_key: 'str', **kwargs) -> 'V1ValidateLicenseResponse': # noqa: E501
423
+ """product_license_service_validate_license # noqa: E501
424
424
 
425
425
  This method makes a synchronous HTTP request by default. To make an
426
426
  asynchronous HTTP request, please pass async_req=True
427
- >>> thread = api.product_license_service_validate_product_license(license_key, async_req=True)
427
+ >>> thread = api.product_license_service_validate_license(body, license_key, async_req=True)
428
428
  >>> result = thread.get()
429
429
 
430
430
  :param async_req bool
431
+ :param LicenseKeyValidateBody body: (required)
431
432
  :param str license_key: (required)
432
- :param str product_name:
433
- :param str product_version:
434
- :param str product_type:
435
- :return: V1ProductLicenseCheckResponse
433
+ :return: V1ValidateLicenseResponse
436
434
  If the method is called asynchronously,
437
435
  returns the request thread.
438
436
  """
439
437
  kwargs['_return_http_data_only'] = True
440
438
  if kwargs.get('async_req'):
441
- return self.product_license_service_validate_product_license_with_http_info(license_key, **kwargs) # noqa: E501
439
+ return self.product_license_service_validate_license_with_http_info(body, license_key, **kwargs) # noqa: E501
442
440
  else:
443
- (data) = self.product_license_service_validate_product_license_with_http_info(license_key, **kwargs) # noqa: E501
441
+ (data) = self.product_license_service_validate_license_with_http_info(body, license_key, **kwargs) # noqa: E501
444
442
  return data
445
443
 
446
- def product_license_service_validate_product_license_with_http_info(self, license_key: 'str', **kwargs) -> 'V1ProductLicenseCheckResponse': # noqa: E501
447
- """Validate product license # noqa: E501
444
+ def product_license_service_validate_license_with_http_info(self, body: 'LicenseKeyValidateBody', license_key: 'str', **kwargs) -> 'V1ValidateLicenseResponse': # noqa: E501
445
+ """product_license_service_validate_license # noqa: E501
448
446
 
449
447
  This method makes a synchronous HTTP request by default. To make an
450
448
  asynchronous HTTP request, please pass async_req=True
451
- >>> thread = api.product_license_service_validate_product_license_with_http_info(license_key, async_req=True)
449
+ >>> thread = api.product_license_service_validate_license_with_http_info(body, license_key, async_req=True)
452
450
  >>> result = thread.get()
453
451
 
454
452
  :param async_req bool
453
+ :param LicenseKeyValidateBody body: (required)
455
454
  :param str license_key: (required)
456
- :param str product_name:
457
- :param str product_version:
458
- :param str product_type:
459
- :return: V1ProductLicenseCheckResponse
455
+ :return: V1ValidateLicenseResponse
460
456
  If the method is called asynchronously,
461
457
  returns the request thread.
462
458
  """
463
459
 
464
- all_params = ['license_key', 'product_name', 'product_version', 'product_type'] # noqa: E501
460
+ all_params = ['body', 'license_key'] # noqa: E501
465
461
  all_params.append('async_req')
466
462
  all_params.append('_return_http_data_only')
467
463
  all_params.append('_preload_content')
@@ -472,14 +468,18 @@ class ProductLicenseServiceApi(object):
472
468
  if key not in all_params:
473
469
  raise TypeError(
474
470
  "Got an unexpected keyword argument '%s'"
475
- " to method product_license_service_validate_product_license" % key
471
+ " to method product_license_service_validate_license" % key
476
472
  )
477
473
  params[key] = val
478
474
  del params['kwargs']
475
+ # verify the required parameter 'body' is set
476
+ if ('body' not in params or
477
+ params['body'] is None):
478
+ raise ValueError("Missing the required parameter `body` when calling `product_license_service_validate_license`") # noqa: E501
479
479
  # verify the required parameter 'license_key' is set
480
480
  if ('license_key' not in params or
481
481
  params['license_key'] is None):
482
- raise ValueError("Missing the required parameter `license_key` when calling `product_license_service_validate_product_license`") # noqa: E501
482
+ raise ValueError("Missing the required parameter `license_key` when calling `product_license_service_validate_license`") # noqa: E501
483
483
 
484
484
  collection_formats = {}
485
485
 
@@ -488,12 +488,6 @@ class ProductLicenseServiceApi(object):
488
488
  path_params['licenseKey'] = params['license_key'] # noqa: E501
489
489
 
490
490
  query_params = []
491
- if 'product_name' in params:
492
- query_params.append(('productName', params['product_name'])) # noqa: E501
493
- if 'product_version' in params:
494
- query_params.append(('productVersion', params['product_version'])) # noqa: E501
495
- if 'product_type' in params:
496
- query_params.append(('productType', params['product_type'])) # noqa: E501
497
491
 
498
492
  header_params = {}
499
493
 
@@ -501,22 +495,28 @@ class ProductLicenseServiceApi(object):
501
495
  local_var_files = {}
502
496
 
503
497
  body_params = None
498
+ if 'body' in params:
499
+ body_params = params['body']
504
500
  # HTTP header `Accept`
505
501
  header_params['Accept'] = self.api_client.select_header_accept(
506
502
  ['application/json']) # noqa: E501
507
503
 
504
+ # HTTP header `Content-Type`
505
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
506
+ ['application/json']) # noqa: E501
507
+
508
508
  # Authentication setting
509
509
  auth_settings = [] # noqa: E501
510
510
 
511
511
  return self.api_client.call_api(
512
- '/v1/licenses/{licenseKey}/validate', 'GET',
512
+ '/v1/licenses/{licenseKey}/validate', 'POST',
513
513
  path_params,
514
514
  query_params,
515
515
  header_params,
516
516
  body=body_params,
517
517
  post_params=form_params,
518
518
  files=local_var_files,
519
- response_type='V1ProductLicenseCheckResponse', # noqa: E501
519
+ response_type='V1ValidateLicenseResponse', # noqa: E501
520
520
  auth_settings=auth_settings,
521
521
  async_req=params.get('async_req'),
522
522
  _return_http_data_only=params.get('_return_http_data_only'),
@@ -117,6 +117,7 @@ from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body1 import JobsIdBod
117
117
  from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body2 import JobsIdBody2
118
118
  from lightning_sdk.lightning_cloud.openapi.models.jobs_id_body3 import JobsIdBody3
119
119
  from lightning_sdk.lightning_cloud.openapi.models.kubernetestemplates_id_body import KubernetestemplatesIdBody
120
+ from lightning_sdk.lightning_cloud.openapi.models.license_key_validate_body import LicenseKeyValidateBody
120
121
  from lightning_sdk.lightning_cloud.openapi.models.litdatasets_dataset_id_body import LitdatasetsDatasetIdBody
121
122
  from lightning_sdk.lightning_cloud.openapi.models.litloggermetrics_id_body import LitloggermetricsIdBody
122
123
  from lightning_sdk.lightning_cloud.openapi.models.litpages_id_body import LitpagesIdBody
@@ -345,6 +346,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_create_deployment_request i
345
346
  from lightning_sdk.lightning_cloud.openapi.models.v1_create_deployment_template_request import V1CreateDeploymentTemplateRequest
346
347
  from lightning_sdk.lightning_cloud.openapi.models.v1_create_git_credentials_request import V1CreateGitCredentialsRequest
347
348
  from lightning_sdk.lightning_cloud.openapi.models.v1_create_job_request import V1CreateJobRequest
349
+ from lightning_sdk.lightning_cloud.openapi.models.v1_create_license_request import V1CreateLicenseRequest
348
350
  from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_dataset_multi_part_upload_response import V1CreateLitDatasetMultiPartUploadResponse
349
351
  from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_page_request import V1CreateLitPageRequest
350
352
  from lightning_sdk.lightning_cloud.openapi.models.v1_create_lit_page_response import V1CreateLitPageResponse
@@ -403,6 +405,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_incident_response im
403
405
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_index_response import V1DeleteIndexResponse
404
406
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_job_response import V1DeleteJobResponse
405
407
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_kubernetes_template_response import V1DeleteKubernetesTemplateResponse
408
+ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_license_response import V1DeleteLicenseResponse
406
409
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightning_run_response import V1DeleteLightningRunResponse
407
410
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightningapp_instance_artifact_response import V1DeleteLightningappInstanceArtifactResponse
408
411
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightningapp_instance_response import V1DeleteLightningappInstanceResponse
@@ -497,6 +500,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_filesystem_cloud_space impo
497
500
  from lightning_sdk.lightning_cloud.openapi.models.v1_filesystem_dataset import V1FilesystemDataset
498
501
  from lightning_sdk.lightning_cloud.openapi.models.v1_filesystem_job import V1FilesystemJob
499
502
  from lightning_sdk.lightning_cloud.openapi.models.v1_filesystem_mmt import V1FilesystemMMT
503
+ from lightning_sdk.lightning_cloud.openapi.models.v1_filesystem_metric import V1FilesystemMetric
500
504
  from lightning_sdk.lightning_cloud.openapi.models.v1_filesystem_metrics import V1FilesystemMetrics
501
505
  from lightning_sdk.lightning_cloud.openapi.models.v1_filesystem_slurm_job import V1FilesystemSlurmJob
502
506
  from lightning_sdk.lightning_cloud.openapi.models.v1_filesystem_snowflake_connection import V1FilesystemSnowflakeConnection
@@ -581,6 +585,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_ids_logger_metrics import V
581
585
  from lightning_sdk.lightning_cloud.openapi.models.v1_image_spec import V1ImageSpec
582
586
  from lightning_sdk.lightning_cloud.openapi.models.v1_image_state import V1ImageState
583
587
  from lightning_sdk.lightning_cloud.openapi.models.v1_incident import V1Incident
588
+ from lightning_sdk.lightning_cloud.openapi.models.v1_incident_detail import V1IncidentDetail
584
589
  from lightning_sdk.lightning_cloud.openapi.models.v1_incident_event import V1IncidentEvent
585
590
  from lightning_sdk.lightning_cloud.openapi.models.v1_incident_message import V1IncidentMessage
586
591
  from lightning_sdk.lightning_cloud.openapi.models.v1_incident_severity import V1IncidentSeverity
@@ -613,6 +618,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_direct_v1_status
613
618
  from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_template import V1KubernetesTemplate
614
619
  from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_template_property import V1KubernetesTemplateProperty
615
620
  from lightning_sdk.lightning_cloud.openapi.models.v1_lambda_labs_direct_v1 import V1LambdaLabsDirectV1
621
+ from lightning_sdk.lightning_cloud.openapi.models.v1_license import V1License
616
622
  from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_app_user import V1LightningAppUser
617
623
  from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_auth import V1LightningAuth
618
624
  from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_basic_auth import V1LightningBasicAuth
@@ -681,6 +687,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_cloud_space
681
687
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_datasets_response import V1ListFilesystemDatasetsResponse
682
688
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_jobs_response import V1ListFilesystemJobsResponse
683
689
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_mm_ts_response import V1ListFilesystemMMTsResponse
690
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_metrics_response import V1ListFilesystemMetricsResponse
684
691
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_slurm_jobs_response import V1ListFilesystemSlurmJobsResponse
685
692
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_snowflake_response import V1ListFilesystemSnowflakeResponse
686
693
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_gallery_components_response import V1ListGalleryComponentsResponse
@@ -696,6 +703,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_jobs_response import V
696
703
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_joinable_organizations_response import V1ListJoinableOrganizationsResponse
697
704
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_kai_scheduler_queues_metrics_response import V1ListKaiSchedulerQueuesMetricsResponse
698
705
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_kubernetes_templates_response import V1ListKubernetesTemplatesResponse
706
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_license_response import V1ListLicenseResponse
699
707
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_lightning_run_response import V1ListLightningRunResponse
700
708
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_lightningapp_instance_artifacts_response import V1ListLightningappInstanceArtifactsResponse
701
709
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_lightningapp_instance_events_response import V1ListLightningappInstanceEventsResponse
@@ -725,8 +733,8 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_org_roles_response imp
725
733
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_organization_cluster_encryption_keys_response import V1ListOrganizationClusterEncryptionKeysResponse
726
734
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_organizations_response import V1ListOrganizationsResponse
727
735
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_pipelines_response import V1ListPipelinesResponse
736
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_platform_notifications_response import V1ListPlatformNotificationsResponse
728
737
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_pod_metrics_response import V1ListPodMetricsResponse
729
- from lightning_sdk.lightning_cloud.openapi.models.v1_list_product_licenses_response import V1ListProductLicensesResponse
730
738
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_profiler_captures_response import V1ListProfilerCapturesResponse
731
739
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_project_artifacts_response import V1ListProjectArtifactsResponse
732
740
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_project_cluster_accelerators_response import V1ListProjectClusterAcceleratorsResponse
@@ -833,13 +841,12 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_pipeline_step_status import
833
841
  from lightning_sdk.lightning_cloud.openapi.models.v1_pipeline_step_type import V1PipelineStepType
834
842
  from lightning_sdk.lightning_cloud.openapi.models.v1_pipeline_template import V1PipelineTemplate
835
843
  from lightning_sdk.lightning_cloud.openapi.models.v1_pipeline_template_visibility_type import V1PipelineTemplateVisibilityType
844
+ from lightning_sdk.lightning_cloud.openapi.models.v1_platform_notification import V1PlatformNotification
836
845
  from lightning_sdk.lightning_cloud.openapi.models.v1_plugin import V1Plugin
837
846
  from lightning_sdk.lightning_cloud.openapi.models.v1_plugins_list_response import V1PluginsListResponse
838
847
  from lightning_sdk.lightning_cloud.openapi.models.v1_pod_metrics import V1PodMetrics
839
848
  from lightning_sdk.lightning_cloud.openapi.models.v1_post_cloud_space_artifact_events_response import V1PostCloudSpaceArtifactEventsResponse
840
849
  from lightning_sdk.lightning_cloud.openapi.models.v1_presigned_url import V1PresignedUrl
841
- from lightning_sdk.lightning_cloud.openapi.models.v1_product_license import V1ProductLicense
842
- from lightning_sdk.lightning_cloud.openapi.models.v1_product_license_check_response import V1ProductLicenseCheckResponse
843
850
  from lightning_sdk.lightning_cloud.openapi.models.v1_profiler_capture import V1ProfilerCapture
844
851
  from lightning_sdk.lightning_cloud.openapi.models.v1_profiler_enabled_response import V1ProfilerEnabledResponse
845
852
  from lightning_sdk.lightning_cloud.openapi.models.v1_project import V1Project
@@ -889,6 +896,8 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_request_cluster_access_resp
889
896
  from lightning_sdk.lightning_cloud.openapi.models.v1_request_verification_code_response import V1RequestVerificationCodeResponse
890
897
  from lightning_sdk.lightning_cloud.openapi.models.v1_required_balance_reason import V1RequiredBalanceReason
891
898
  from lightning_sdk.lightning_cloud.openapi.models.v1_reservation_details import V1ReservationDetails
899
+ from lightning_sdk.lightning_cloud.openapi.models.v1_reset_api_key_request import V1ResetAPIKeyRequest
900
+ from lightning_sdk.lightning_cloud.openapi.models.v1_reset_api_key_response import V1ResetAPIKeyResponse
892
901
  from lightning_sdk.lightning_cloud.openapi.models.v1_resource_tag import V1ResourceTag
893
902
  from lightning_sdk.lightning_cloud.openapi.models.v1_resource_visibility import V1ResourceVisibility
894
903
  from lightning_sdk.lightning_cloud.openapi.models.v1_resources import V1Resources
@@ -961,6 +970,9 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_system_metrics_aggregated i
961
970
  from lightning_sdk.lightning_cloud.openapi.models.v1_system_metrics_list import V1SystemMetricsList
962
971
  from lightning_sdk.lightning_cloud.openapi.models.v1_telemetry import V1Telemetry
963
972
  from lightning_sdk.lightning_cloud.openapi.models.v1_timestamp_code_telemetry import V1TimestampCodeTelemetry
973
+ from lightning_sdk.lightning_cloud.openapi.models.v1_token_login_request import V1TokenLoginRequest
974
+ from lightning_sdk.lightning_cloud.openapi.models.v1_token_login_response import V1TokenLoginResponse
975
+ from lightning_sdk.lightning_cloud.openapi.models.v1_token_owner_type import V1TokenOwnerType
964
976
  from lightning_sdk.lightning_cloud.openapi.models.v1_token_usage import V1TokenUsage
965
977
  from lightning_sdk.lightning_cloud.openapi.models.v1_tool import V1Tool
966
978
  from lightning_sdk.lightning_cloud.openapi.models.v1_tool_call import V1ToolCall
@@ -1025,6 +1037,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_validate_auto_join_domain_r
1025
1037
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_data_connection_response import V1ValidateDataConnectionResponse
1026
1038
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_deployment_image_request import V1ValidateDeploymentImageRequest
1027
1039
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_deployment_image_response import V1ValidateDeploymentImageResponse
1040
+ from lightning_sdk.lightning_cloud.openapi.models.v1_validate_license_response import V1ValidateLicenseResponse
1028
1041
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_managed_endpoint_request import V1ValidateManagedEndpointRequest
1029
1042
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_managed_endpoint_response import V1ValidateManagedEndpointResponse
1030
1043
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_managed_model_response import V1ValidateManagedModelResponse