lightning-sdk 2025.12.16__py3-none-any.whl → 2025.12.17__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 (73) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/org_api.py +7 -0
  3. lightning_sdk/api/studio_api.py +28 -3
  4. lightning_sdk/api/user_api.py +5 -0
  5. lightning_sdk/cli/legacy/download.py +2 -1
  6. lightning_sdk/cli/legacy/studios_menu.py +8 -1
  7. lightning_sdk/job/base.py +23 -4
  8. lightning_sdk/job/job.py +12 -5
  9. lightning_sdk/job/v1.py +5 -2
  10. lightning_sdk/job/v2.py +9 -1
  11. lightning_sdk/lightning_cloud/openapi/__init__.py +26 -1
  12. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -0
  13. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +5 -1
  14. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +517 -0
  15. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  16. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  17. lightning_sdk/lightning_cloud/openapi/api/kubernetes_virtual_machine_service_api.py +557 -0
  18. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  19. lightning_sdk/lightning_cloud/openapi/models/__init__.py +25 -1
  20. lightning_sdk/lightning_cloud/openapi/models/cloud_space_environment_template_service_update_cloud_space_environment_template_body.py +27 -1
  21. lightning_sdk/lightning_cloud/openapi/models/cluster_service_add_container_registry_body.py +123 -0
  22. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +27 -1
  23. lightning_sdk/lightning_cloud/openapi/models/cluster_service_refresh_container_registry_credentials_body.py +97 -0
  24. lightning_sdk/lightning_cloud/openapi/models/cluster_service_validate_container_registry_body.py +97 -0
  25. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +513 -0
  26. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py +97 -0
  27. lightning_sdk/lightning_cloud/openapi/models/v1_add_container_registry_response.py +123 -0
  28. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +27 -1
  29. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +1 -0
  30. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +253 -0
  31. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +281 -0
  32. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_integration.py +123 -0
  33. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_status.py +105 -0
  34. lightning_sdk/lightning_cloud/openapi/models/v1_create_cloud_space_environment_template_request.py +27 -1
  35. lightning_sdk/lightning_cloud/openapi/models/v1_delete_container_registry_response.py +97 -0
  36. lightning_sdk/lightning_cloud/openapi/models/v1_delete_kubernetes_virtual_machine_response.py +97 -0
  37. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_config.py +175 -0
  38. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_config_input.py +123 -0
  39. lightning_sdk/lightning_cloud/openapi/models/v1_ecr_registry_details.py +201 -0
  40. lightning_sdk/lightning_cloud/openapi/models/v1_get_artifacts_page_response.py +29 -3
  41. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +27 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -1
  43. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_virtual_machine.py +383 -0
  44. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +305 -0
  45. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_provider_configuration.py +227 -0
  46. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_configuration.py +149 -0
  47. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +201 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +123 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_virtual_machines_response.py +123 -0
  50. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +27 -1
  52. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +123 -0
  53. lightning_sdk/lightning_cloud/openapi/models/v1_search_user.py +27 -1
  54. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +79 -1
  55. lightning_sdk/lightning_cloud/openapi/models/v1_validate_container_registry_response.py +149 -0
  56. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  57. lightning_sdk/mmt/base.py +26 -7
  58. lightning_sdk/mmt/mmt.py +11 -6
  59. lightning_sdk/mmt/v1.py +5 -2
  60. lightning_sdk/mmt/v2.py +5 -2
  61. lightning_sdk/organization.py +10 -1
  62. lightning_sdk/owner.py +4 -0
  63. lightning_sdk/plugin.py +2 -2
  64. lightning_sdk/studio.py +33 -2
  65. lightning_sdk/user.py +22 -2
  66. lightning_sdk/utils/resolve.py +9 -7
  67. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2025.12.17.dist-info}/METADATA +1 -1
  68. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2025.12.17.dist-info}/RECORD +73 -48
  69. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mm_ts_response.py → v1_list_filesystem_mmts_response.py} +0 -0
  70. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2025.12.17.dist-info}/LICENSE +0 -0
  71. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2025.12.17.dist-info}/WHEEL +0 -0
  72. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2025.12.17.dist-info}/entry_points.txt +0 -0
  73. {lightning_sdk-2025.12.16.dist-info → lightning_sdk-2025.12.17.dist-info}/top_level.txt +0 -0
@@ -1,3 +1,3 @@
1
1
  """Version information for lightning_sdk."""
2
2
 
3
- __version__ = "2025.12.16"
3
+ __version__ = "2025.12.17"
@@ -1,4 +1,5 @@
1
1
  from lightning_sdk.lightning_cloud.openapi import (
2
+ V1CreateProjectRequest,
2
3
  V1Organization,
3
4
  )
4
5
  from lightning_sdk.lightning_cloud.rest_client import LightningClient
@@ -20,3 +21,9 @@ class OrgApi:
20
21
  def _get_org_by_id(self, org_id: str) -> V1Organization:
21
22
  """Gets the organization from the given ID."""
22
23
  return self._client.organizations_service_get_organization(id=org_id)
24
+
25
+ def create_teamspace(self, name: str, organization_id: str) -> None:
26
+ """Creates a new teamspace."""
27
+ self._client.projects_service_create_project(
28
+ body=V1CreateProjectRequest(name=name, organization_id=organization_id, display_name=name)
29
+ )
@@ -962,9 +962,9 @@ class StudioApi:
962
962
  interruptible=interruptible,
963
963
  )
964
964
 
965
- def start_new_port(self, teamspace_id: str, studio_id: str, name: str, port: int, auto_start: bool = False) -> str:
965
+ def add_port(self, teamspace_id: str, studio_id: str, name: str, port: int, auto_start: bool = False) -> V1Endpoint:
966
966
  """Starts a new port to the given Studio."""
967
- endpoint = self._client.endpoint_service_create_endpoint(
967
+ return self._client.endpoint_service_create_endpoint(
968
968
  project_id=teamspace_id,
969
969
  body=EndpointServiceCreateEndpointBody(
970
970
  name=name,
@@ -974,7 +974,32 @@ class StudioApi:
974
974
  ),
975
975
  ),
976
976
  )
977
- return endpoint.urls[0]
977
+
978
+ def get_port_url(
979
+ self, teamspace_id: str, studio_id: str, port: Optional[int] = None, name: Optional[str] = None
980
+ ) -> str:
981
+ if port is None and name is None:
982
+ raise ValueError("Either 'port' or 'name' must be provided")
983
+
984
+ endpoints = self.list_ports(teamspace_id=teamspace_id, studio_id=studio_id)
985
+
986
+ for endpoint in endpoints:
987
+ if port is not None and port in endpoint.ports:
988
+ idx = endpoint.ports.index(port)
989
+ return endpoint.urls[idx]
990
+
991
+ if name is not None and endpoint.name == name:
992
+ return endpoint.urls[0] if endpoint.urls else None
993
+
994
+ identifier = f"port {port}" if port else f"name '{name}'"
995
+ raise ValueError(f"Endpoint with {identifier} not found")
996
+
997
+ def list_ports(self, teamspace_id: str, studio_id: str) -> List[V1Endpoint]:
998
+ """List ports that are exposed in the Studio."""
999
+ return self._client.endpoint_service_list_endpoints(
1000
+ project_id=teamspace_id,
1001
+ cloudspace_id=studio_id,
1002
+ ).endpoints
978
1003
 
979
1004
  def create_assistant(self, studio_id: str, teamspace_id: str, port: int, assistant_name: str) -> V1Assistant:
980
1005
  target_teamspace = self._client.projects_service_get_project(teamspace_id)
@@ -5,6 +5,7 @@ from lightning_sdk.lightning_cloud.login import Auth
5
5
  from lightning_sdk.lightning_cloud.openapi import (
6
6
  SecretServiceUpdateUserSecretBody,
7
7
  V1CloudSpace,
8
+ V1CreateProjectRequest,
8
9
  V1CreateUserSecretRequest,
9
10
  V1GetUserResponse,
10
11
  V1ListCloudSpacesResponse,
@@ -123,3 +124,7 @@ class UserApi:
123
124
  """
124
125
  pattern = r"^[A-Za-z_][A-Za-z0-9_]*$"
125
126
  return re.match(pattern, name) is not None
127
+
128
+ def create_teamspace(self, name: str) -> None:
129
+ """Creates a new teamspace."""
130
+ self._client.projects_service_create_project(body=V1CreateProjectRequest(name=name, display_name=name))
@@ -242,7 +242,8 @@ def _resolve_studio(studio: Optional[str]) -> Studio:
242
242
  and (re.match(studio_name, st["name"]) or studio_name in st["name"]),
243
243
  possible_studios,
244
244
  )
245
- if not len(possible_studios):
245
+ possible_studios = list(possible_studios)
246
+ if len(possible_studios) == 0:
246
247
  raise ValueError(
247
248
  f"Could not find Studio like '{studio}', please consider update your filtering pattern."
248
249
  )
@@ -31,7 +31,14 @@ class _StudiosMenu:
31
31
  title = "Please select a Studio of the following studios:"
32
32
 
33
33
  return TerminalMenu(
34
- [f"{s['teamspace']}/{s['name']}" for s in possible_studios], title=title, clear_menu_on_exit=True
34
+ [
35
+ f"{s['org']}/{s['teamspace']}/{s['name']}"
36
+ if s.get("org") is not None
37
+ else f"{s['teamspace']}/{s['name']}"
38
+ for s in possible_studios
39
+ ],
40
+ title=title,
41
+ clear_menu_on_exit=True,
35
42
  )
36
43
 
37
44
  @staticmethod
lightning_sdk/job/base.py CHANGED
@@ -87,7 +87,7 @@ class _BaseJob(ABC, metaclass=TrackCallsABCMeta):
87
87
  cloud_account_auth: bool = False,
88
88
  artifacts_local: Optional[str] = None,
89
89
  artifacts_remote: Optional[str] = None,
90
- entrypoint: str = "sh -c",
90
+ entrypoint: Optional[str] = None,
91
91
  path_mappings: Optional[Dict[str, str]] = None,
92
92
  max_runtime: Optional[int] = None,
93
93
  cluster: Optional[str] = None, # deprecated in favor of cloud_account
@@ -193,7 +193,7 @@ class _BaseJob(ABC, metaclass=TrackCallsABCMeta):
193
193
  "Other jobs will automatically persist artifacts to the teamspace distributed filesystem."
194
194
  )
195
195
 
196
- if entrypoint != "sh -c":
196
+ if entrypoint is not None:
197
197
  raise ValueError("Specifying the entrypoint has no effect for jobs with Studio envs.")
198
198
 
199
199
  else:
@@ -219,6 +219,20 @@ class _BaseJob(ABC, metaclass=TrackCallsABCMeta):
219
219
  f"<CONNECTION_TYPE>:<CONNECTION_NAME>:<PATH_WITHIN_CONNECTION>, got {artifacts_local}"
220
220
  )
221
221
 
222
+ # command specified, so use the default entrypoint of sh -c
223
+ if command is not None and entrypoint is None:
224
+ entrypoint = "sh -c"
225
+
226
+ # entrypoint specifically set to empty string, so set to None here to fall back to the image entrypoint
227
+ elif entrypoint == "": # noqa: SIM114
228
+ entrypoint = None
229
+
230
+ # entrypoint not specified, but also no command specified, so use the image entrypoint
231
+ elif entrypoint is None:
232
+ entrypoint = None
233
+
234
+ # all other cases, the entrypoint has been specifically set, so use it as is
235
+
222
236
  inst = cls(name=name, teamspace=teamspace, org=org, user=user, _fetch_job=False)
223
237
  return inst._submit(
224
238
  machine=machine,
@@ -255,7 +269,7 @@ class _BaseJob(ABC, metaclass=TrackCallsABCMeta):
255
269
  cloud_account_auth: bool = False,
256
270
  artifacts_local: Optional[str] = None,
257
271
  artifacts_remote: Optional[str] = None,
258
- entrypoint: str = "sh -c",
272
+ entrypoint: Optional[str] = None,
259
273
  path_mappings: Optional[Dict[str, str]] = None,
260
274
  max_runtime: Optional[int] = None,
261
275
  reuse_snapshot: bool = True,
@@ -292,7 +306,12 @@ class _BaseJob(ABC, metaclass=TrackCallsABCMeta):
292
306
  within it.
293
307
  Note that the connection needs to be added to the teamspace already in order for it to be found.
294
308
  Only supported for jobs with a docker image compute environment.
295
- entrypoint: The entrypoint of your docker container. Defaults to sh -c.
309
+ entrypoint: The entrypoint of your docker container. Defaults to `sh -c` which
310
+ just runs the provided command in a standard shell if a command is provided.
311
+ If no command is provided, it will run the pre-defined entrypoint of the provided image.
312
+ To use the pre-defined entrypoint of the provided image with a specified command,
313
+ set this to an empty string.
314
+ Only applicable when submitting docker jobs.
296
315
  To use the pre-defined entrypoint of the provided image, set this to an empty string.
297
316
  Only applicable when submitting docker jobs.
298
317
  max_runtime: the duration (in seconds) for which to allocate the machine.
lightning_sdk/job/job.py CHANGED
@@ -97,7 +97,7 @@ class Job(_BaseJob):
97
97
  interruptible: bool = False,
98
98
  image_credentials: Optional[str] = None,
99
99
  cloud_account_auth: bool = False,
100
- entrypoint: str = "sh -c",
100
+ entrypoint: Optional[str] = None,
101
101
  path_mappings: Optional[Dict[str, str]] = None,
102
102
  max_runtime: Optional[int] = None,
103
103
  artifacts_local: Optional[str] = None, # deprecated in terms of path_mappings
@@ -132,8 +132,10 @@ class Job(_BaseJob):
132
132
  cloud_account_auth: Whether to authenticate with the cloud account to pull the image.
133
133
  Required if the registry is part of a cloud provider (e.g. ECR).
134
134
  entrypoint: The entrypoint of your docker container. Defaults to `sh -c` which
135
- just runs the provided command in a standard shell.
136
- To use the pre-defined entrypoint of the provided image, set this to an empty string.
135
+ just runs the provided command in a standard shell if a command is provided.
136
+ If no command is provided, it will run the pre-defined entrypoint of the provided image.
137
+ To use the pre-defined entrypoint of the provided image with a specified command,
138
+ set this to an empty string.
137
139
  Only applicable when submitting docker jobs.
138
140
  path_mappings: Dictionary of path mappings. The keys are the path inside the container whereas the value
139
141
  represents the data-connection name and the path inside that connection.
@@ -193,7 +195,7 @@ class Job(_BaseJob):
193
195
  cloud_provider: Optional[Union["CloudProvider", str]] = None,
194
196
  image_credentials: Optional[str] = None,
195
197
  cloud_account_auth: bool = False,
196
- entrypoint: str = "sh -c",
198
+ entrypoint: Optional[str] = None,
197
199
  path_mappings: Optional[Dict[str, str]] = None,
198
200
  artifacts_local: Optional[str] = None, # deprecated in terms of path_mappings
199
201
  artifacts_remote: Optional[str] = None, # deprecated in terms of path_mappings
@@ -222,7 +224,12 @@ class Job(_BaseJob):
222
224
  This should be the name of the respective credentials secret created on the Lightning AI platform.
223
225
  cloud_account_auth: Whether to authenticate with the cloud account to pull the image.
224
226
  Required if the registry is part of a cloud provider (e.g. ECR).
225
- entrypoint: The entrypoint of your docker container. Defaults to sh -c.
227
+ entrypoint: The entrypoint of your docker container. Defaults to `sh -c` which
228
+ just runs the provided command in a standard shell if a command is provided.
229
+ If no command is provided, it will run the pre-defined entrypoint of the provided image.
230
+ To use the pre-defined entrypoint of the provided image with a specified command,
231
+ set this to an empty string.
232
+ Only applicable when submitting docker jobs.
226
233
  To use the pre-defined entrypoint of the provided image, set this to an empty string.
227
234
  Only applicable when submitting docker jobs.
228
235
  path_mappings: Dictionary of path mappings. The keys are the path inside the container whereas the value
lightning_sdk/job/v1.py CHANGED
@@ -108,7 +108,7 @@ class _JobV1(_BaseJob):
108
108
  cloud_account_auth: bool = False,
109
109
  artifacts_local: Optional[str] = None,
110
110
  artifacts_remote: Optional[str] = None,
111
- entrypoint: str = "sh -c",
111
+ entrypoint: Optional[str] = None,
112
112
  path_mappings: Optional[Dict[str, str]] = None,
113
113
  max_runtime: Optional[int] = None,
114
114
  reuse_snapshot: bool = True,
@@ -127,7 +127,10 @@ class _JobV1(_BaseJob):
127
127
  image_credentials: The image credentials for the job (not supported).
128
128
  cloud_account_auth: Whether to use cloud account authentication for the job (not supported).
129
129
  entrypoint: The entrypoint of your docker container (not supported).
130
- Defaults to `sh -c` which just runs the provided command in a standard shell.
130
+ Defaults to `sh -c` which just runs the provided command in a standard shell if a command is provided.
131
+ If no command is provided, it will run the pre-defined entrypoint of the provided image.
132
+ To use the pre-defined entrypoint of the provided image with a specified command,
133
+ set this to an empty string.
131
134
  To use the pre-defined entrypoint of the provided image, set this to an empty string.
132
135
  Only applicable when submitting docker jobs.
133
136
  path_mappings: The mappings from data connection inside your container (not supported)
lightning_sdk/job/v2.py CHANGED
@@ -49,7 +49,7 @@ class _JobV2(_BaseJob):
49
49
  cloud_provider: Optional[Union["CloudProvider", str]] = None,
50
50
  image_credentials: Optional[str] = None,
51
51
  cloud_account_auth: bool = False,
52
- entrypoint: str = "sh -c",
52
+ entrypoint: Optional[str] = None,
53
53
  path_mappings: Optional[Dict[str, str]] = None,
54
54
  max_runtime: Optional[int] = None,
55
55
  artifacts_local: Optional[str] = None, # deprecated in favor of path_mappings
@@ -74,6 +74,14 @@ class _JobV2(_BaseJob):
74
74
  This should be the name of the respective credentials secret created on the Lightning AI platform.
75
75
  cloud_account_auth: Whether to authenticate with the cloud account to pull the image.
76
76
  Required if the registry is part of a cloud provider (e.g. ECR).
77
+ entrypoint: The entrypoint of your docker container. Defaults to `sh -c` which
78
+ just runs the provided command in a standard shell if a command is provided.
79
+ If no command is provided, it will run the pre-defined entrypoint of the provided image.
80
+ To use the pre-defined entrypoint of the provided image with a specified command,
81
+ set this to an empty string.
82
+ Only applicable when submitting docker jobs.
83
+ To use the pre-defined entrypoint of the provided image, set this to an empty string.
84
+ Only applicable when submitting docker jobs.
77
85
  artifacts_local: The path of inside the docker container, you want to persist images from.
78
86
  CAUTION: When setting this to "/", it will effectively erase your container.
79
87
  Only supported for jobs with a docker image compute environment.
@@ -42,6 +42,7 @@ from lightning_sdk.lightning_cloud.openapi.api.git_credentials_service_api impor
42
42
  from lightning_sdk.lightning_cloud.openapi.api.incidents_service_api import IncidentsServiceApi
43
43
  from lightning_sdk.lightning_cloud.openapi.api.jobs_service_api import JobsServiceApi
44
44
  from lightning_sdk.lightning_cloud.openapi.api.k8_s_cluster_service_api import K8SClusterServiceApi
45
+ from lightning_sdk.lightning_cloud.openapi.api.kubernetes_virtual_machine_service_api import KubernetesVirtualMachineServiceApi
45
46
  from lightning_sdk.lightning_cloud.openapi.api.lightningapp_instance_service_api import LightningappInstanceServiceApi
46
47
  from lightning_sdk.lightning_cloud.openapi.api.lightningapp_v2_service_api import LightningappV2ServiceApi
47
48
  from lightning_sdk.lightning_cloud.openapi.api.lightningwork_service_api import LightningworkServiceApi
@@ -132,6 +133,7 @@ from lightning_sdk.lightning_cloud.openapi.models.cloud_space_service_update_clo
132
133
  from lightning_sdk.lightning_cloud.openapi.models.cloud_space_service_update_cloud_space_version_publication_body import CloudSpaceServiceUpdateCloudSpaceVersionPublicationBody
133
134
  from lightning_sdk.lightning_cloud.openapi.models.cloud_space_service_update_cloud_space_visibility_body import CloudSpaceServiceUpdateCloudSpaceVisibilityBody
134
135
  from lightning_sdk.lightning_cloud.openapi.models.cloudy_service_update_user_cloudy_settings_body import CloudyServiceUpdateUserCloudySettingsBody
136
+ from lightning_sdk.lightning_cloud.openapi.models.cluster_service_add_container_registry_body import ClusterServiceAddContainerRegistryBody
135
137
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_create_cluster_capacity_reservation_body import ClusterServiceCreateClusterCapacityReservationBody
136
138
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_create_cluster_proxy_body import ClusterServiceCreateClusterProxyBody
137
139
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_create_cluster_usage_restriction_body import ClusterServiceCreateClusterUsageRestrictionBody
@@ -140,11 +142,13 @@ from lightning_sdk.lightning_cloud.openapi.models.cluster_service_create_project
140
142
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_create_server_alert_body import ClusterServiceCreateServerAlertBody
141
143
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_interrupt_server_body import ClusterServiceInterruptServerBody
142
144
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_purchase_capacity_block_body import ClusterServicePurchaseCapacityBlockBody
145
+ from lightning_sdk.lightning_cloud.openapi.models.cluster_service_refresh_container_registry_credentials_body import ClusterServiceRefreshContainerRegistryCredentialsBody
143
146
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_server_check_in_body import ClusterServiceServerCheckInBody
144
147
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_sleep_server_body import ClusterServiceSleepServerBody
145
148
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_update_cluster_body import ClusterServiceUpdateClusterBody
146
149
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_update_cluster_usage_restriction_body import ClusterServiceUpdateClusterUsageRestrictionBody
147
150
  from lightning_sdk.lightning_cloud.openapi.models.cluster_service_update_project_cluster_body import ClusterServiceUpdateProjectClusterBody
151
+ from lightning_sdk.lightning_cloud.openapi.models.cluster_service_validate_container_registry_body import ClusterServiceValidateContainerRegistryBody
148
152
  from lightning_sdk.lightning_cloud.openapi.models.create_checkout_session_request_wallet_type import CreateCheckoutSessionRequestWalletType
149
153
  from lightning_sdk.lightning_cloud.openapi.models.data_connection_mount_data_connection_mount_copy_status import DataConnectionMountDataConnectionMountCopyStatus
150
154
  from lightning_sdk.lightning_cloud.openapi.models.data_connection_service_create_data_connection_body import DataConnectionServiceCreateDataConnectionBody
@@ -191,6 +195,8 @@ from lightning_sdk.lightning_cloud.openapi.models.k8_s_cluster_service_create_ku
191
195
  from lightning_sdk.lightning_cloud.openapi.models.k8_s_cluster_service_render_kubernetes_template_body import K8SClusterServiceRenderKubernetesTemplateBody
192
196
  from lightning_sdk.lightning_cloud.openapi.models.k8_s_cluster_service_report_k8_s_cluster_metrics_body import K8SClusterServiceReportK8SClusterMetricsBody
193
197
  from lightning_sdk.lightning_cloud.openapi.models.k8_s_cluster_service_update_kubernetes_template_body import K8SClusterServiceUpdateKubernetesTemplateBody
198
+ from lightning_sdk.lightning_cloud.openapi.models.kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body import KubernetesVirtualMachineServiceCreateKubernetesVirtualMachineBody
199
+ from lightning_sdk.lightning_cloud.openapi.models.kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body import KubernetesVirtualMachineServiceUpdateKubernetesVirtualMachineBody
194
200
  from lightning_sdk.lightning_cloud.openapi.models.lightningapp_instance_service_update_lightningapp_instance_body import LightningappInstanceServiceUpdateLightningappInstanceBody
195
201
  from lightning_sdk.lightning_cloud.openapi.models.lightningapp_instance_service_update_lightningapp_instance_release_body import LightningappInstanceServiceUpdateLightningappInstanceReleaseBody
196
202
  from lightning_sdk.lightning_cloud.openapi.models.lightningapp_instance_service_upload_lightningapp_instance_artifact_body import LightningappInstanceServiceUploadLightningappInstanceArtifactBody
@@ -295,6 +301,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_aws_direct_v1_status import
295
301
  from lightning_sdk.lightning_cloud.openapi.models.v1_abort_storage_transfer_response import V1AbortStorageTransferResponse
296
302
  from lightning_sdk.lightning_cloud.openapi.models.v1_accelerator_quota_info import V1AcceleratorQuotaInfo
297
303
  from lightning_sdk.lightning_cloud.openapi.models.v1_ack_user_storage_violation_response import V1AckUserStorageViolationResponse
304
+ from lightning_sdk.lightning_cloud.openapi.models.v1_add_container_registry_response import V1AddContainerRegistryResponse
298
305
  from lightning_sdk.lightning_cloud.openapi.models.v1_add_job_timing_response import V1AddJobTimingResponse
299
306
  from lightning_sdk.lightning_cloud.openapi.models.v1_affiliate_link import V1AffiliateLink
300
307
  from lightning_sdk.lightning_cloud.openapi.models.v1_agent_complete_part_response import V1AgentCompletePartResponse
@@ -412,6 +419,10 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_compute_config import V1Com
412
419
  from lightning_sdk.lightning_cloud.openapi.models.v1_contact_assistant_owner_reason import V1ContactAssistantOwnerReason
413
420
  from lightning_sdk.lightning_cloud.openapi.models.v1_contact_assistant_owner_response import V1ContactAssistantOwnerResponse
414
421
  from lightning_sdk.lightning_cloud.openapi.models.v1_container_metrics import V1ContainerMetrics
422
+ from lightning_sdk.lightning_cloud.openapi.models.v1_container_registry import V1ContainerRegistry
423
+ from lightning_sdk.lightning_cloud.openapi.models.v1_container_registry_info import V1ContainerRegistryInfo
424
+ from lightning_sdk.lightning_cloud.openapi.models.v1_container_registry_integration import V1ContainerRegistryIntegration
425
+ from lightning_sdk.lightning_cloud.openapi.models.v1_container_registry_status import V1ContainerRegistryStatus
415
426
  from lightning_sdk.lightning_cloud.openapi.models.v1_conversation import V1Conversation
416
427
  from lightning_sdk.lightning_cloud.openapi.models.v1_conversation_response_chunk import V1ConversationResponseChunk
417
428
  from lightning_sdk.lightning_cloud.openapi.models.v1_count_metrics_streams_response import V1CountMetricsStreamsResponse
@@ -481,6 +492,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_cluster_encryption_k
481
492
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_cluster_proxy_response import V1DeleteClusterProxyResponse
482
493
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_cluster_response import V1DeleteClusterResponse
483
494
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_cluster_usage_restriction_response import V1DeleteClusterUsageRestrictionResponse
495
+ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_container_registry_response import V1DeleteContainerRegistryResponse
484
496
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_conversation_response import V1DeleteConversationResponse
485
497
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_data_connection_response import V1DeleteDataConnectionResponse
486
498
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_dataset_response import V1DeleteDatasetResponse
@@ -494,6 +506,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_incident_response im
494
506
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_index_response import V1DeleteIndexResponse
495
507
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_job_response import V1DeleteJobResponse
496
508
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_kubernetes_template_response import V1DeleteKubernetesTemplateResponse
509
+ from lightning_sdk.lightning_cloud.openapi.models.v1_delete_kubernetes_virtual_machine_response import V1DeleteKubernetesVirtualMachineResponse
497
510
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_license_response import V1DeleteLicenseResponse
498
511
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightning_run_response import V1DeleteLightningRunResponse
499
512
  from lightning_sdk.lightning_cloud.openapi.models.v1_delete_lightningapp_instance_artifact_response import V1DeleteLightningappInstanceArtifactResponse
@@ -569,6 +582,9 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_drive_status import V1Drive
569
582
  from lightning_sdk.lightning_cloud.openapi.models.v1_drive_type import V1DriveType
570
583
  from lightning_sdk.lightning_cloud.openapi.models.v1_drive_type_spec import V1DriveTypeSpec
571
584
  from lightning_sdk.lightning_cloud.openapi.models.v1_drive_type_status import V1DriveTypeStatus
585
+ from lightning_sdk.lightning_cloud.openapi.models.v1_ecr_registry_config import V1ECRRegistryConfig
586
+ from lightning_sdk.lightning_cloud.openapi.models.v1_ecr_registry_config_input import V1ECRRegistryConfigInput
587
+ from lightning_sdk.lightning_cloud.openapi.models.v1_ecr_registry_details import V1ECRRegistryDetails
572
588
  from lightning_sdk.lightning_cloud.openapi.models.v1_efs_config import V1EfsConfig
573
589
  from lightning_sdk.lightning_cloud.openapi.models.v1_endpoint import V1Endpoint
574
590
  from lightning_sdk.lightning_cloud.openapi.models.v1_endpoint_auth import V1EndpointAuth
@@ -712,6 +728,11 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_direct_v1_status
712
728
  from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_pod import V1KubernetesPod
713
729
  from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_template import V1KubernetesTemplate
714
730
  from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_template_property import V1KubernetesTemplateProperty
731
+ from lightning_sdk.lightning_cloud.openapi.models.v1_kubernetes_virtual_machine import V1KubernetesVirtualMachine
732
+ from lightning_sdk.lightning_cloud.openapi.models.v1_kubevirt_config import V1KubevirtConfig
733
+ from lightning_sdk.lightning_cloud.openapi.models.v1_kubevirt_provider_configuration import V1KubevirtProviderConfiguration
734
+ from lightning_sdk.lightning_cloud.openapi.models.v1_kubevirt_vm_configuration import V1KubevirtVmConfiguration
735
+ from lightning_sdk.lightning_cloud.openapi.models.v1_kubevirt_vm_resources import V1KubevirtVmResources
715
736
  from lightning_sdk.lightning_cloud.openapi.models.v1_lambda_labs_direct_v1 import V1LambdaLabsDirectV1
716
737
  from lightning_sdk.lightning_cloud.openapi.models.v1_license import V1License
717
738
  from lightning_sdk.lightning_cloud.openapi.models.v1_lightning_app_user import V1LightningAppUser
@@ -764,6 +785,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_proxies_respon
764
785
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_cluster_usage_restrictions_response import V1ListClusterUsageRestrictionsResponse
765
786
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_clusters_response import V1ListClustersResponse
766
787
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_container_metrics_response import V1ListContainerMetricsResponse
788
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_container_registries_response import V1ListContainerRegistriesResponse
767
789
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_conversation_message_actions_response import V1ListConversationMessageActionsResponse
768
790
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_conversations_response import V1ListConversationsResponse
769
791
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_data_connection_artifacts_response import V1ListDataConnectionArtifactsResponse
@@ -783,7 +805,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_apps_respon
783
805
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_cloud_spaces_response import V1ListFilesystemCloudSpacesResponse
784
806
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_datasets_response import V1ListFilesystemDatasetsResponse
785
807
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_jobs_response import V1ListFilesystemJobsResponse
786
- from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_mm_ts_response import V1ListFilesystemMMTsResponse
808
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_mmts_response import V1ListFilesystemMMTsResponse
787
809
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_metrics_response import V1ListFilesystemMetricsResponse
788
810
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_slurm_jobs_response import V1ListFilesystemSlurmJobsResponse
789
811
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_filesystem_snowflake_response import V1ListFilesystemSnowflakeResponse
@@ -803,6 +825,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_list_joinable_organizations
803
825
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_kai_scheduler_queues_metrics_response import V1ListKaiSchedulerQueuesMetricsResponse
804
826
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_kubernetes_pods_response import V1ListKubernetesPodsResponse
805
827
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_kubernetes_templates_response import V1ListKubernetesTemplatesResponse
828
+ from lightning_sdk.lightning_cloud.openapi.models.v1_list_kubernetes_virtual_machines_response import V1ListKubernetesVirtualMachinesResponse
806
829
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_license_response import V1ListLicenseResponse
807
830
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_lightning_run_response import V1ListLightningRunResponse
808
831
  from lightning_sdk.lightning_cloud.openapi.models.v1_list_lightningapp_instance_artifacts_response import V1ListLightningappInstanceArtifactsResponse
@@ -981,6 +1004,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_quotas import V1Quotas
981
1004
  from lightning_sdk.lightning_cloud.openapi.models.v1_quote_annual_upsell_response import V1QuoteAnnualUpsellResponse
982
1005
  from lightning_sdk.lightning_cloud.openapi.models.v1_quote_subscription_response import V1QuoteSubscriptionResponse
983
1006
  from lightning_sdk.lightning_cloud.openapi.models.v1_r2_data_connection import V1R2DataConnection
1007
+ from lightning_sdk.lightning_cloud.openapi.models.v1_refresh_container_registry_credentials_response import V1RefreshContainerRegistryCredentialsResponse
984
1008
  from lightning_sdk.lightning_cloud.openapi.models.v1_refresh_index_response import V1RefreshIndexResponse
985
1009
  from lightning_sdk.lightning_cloud.openapi.models.v1_refresh_path_response import V1RefreshPathResponse
986
1010
  from lightning_sdk.lightning_cloud.openapi.models.v1_refresh_request import V1RefreshRequest
@@ -1141,6 +1165,7 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_user_requested_flow_compute
1141
1165
  from lightning_sdk.lightning_cloud.openapi.models.v1_user_slurm_job_action_response import V1UserSLURMJobActionResponse
1142
1166
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_assistant_status_response import V1ValidateAssistantStatusResponse
1143
1167
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_auto_join_domain_response import V1ValidateAutoJoinDomainResponse
1168
+ from lightning_sdk.lightning_cloud.openapi.models.v1_validate_container_registry_response import V1ValidateContainerRegistryResponse
1144
1169
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_data_connection_response import V1ValidateDataConnectionResponse
1145
1170
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_deployment_image_request import V1ValidateDeploymentImageRequest
1146
1171
  from lightning_sdk.lightning_cloud.openapi.models.v1_validate_deployment_image_response import V1ValidateDeploymentImageResponse
@@ -23,6 +23,7 @@ from lightning_sdk.lightning_cloud.openapi.api.git_credentials_service_api impor
23
23
  from lightning_sdk.lightning_cloud.openapi.api.incidents_service_api import IncidentsServiceApi
24
24
  from lightning_sdk.lightning_cloud.openapi.api.jobs_service_api import JobsServiceApi
25
25
  from lightning_sdk.lightning_cloud.openapi.api.k8_s_cluster_service_api import K8SClusterServiceApi
26
+ from lightning_sdk.lightning_cloud.openapi.api.kubernetes_virtual_machine_service_api import KubernetesVirtualMachineServiceApi
26
27
  from lightning_sdk.lightning_cloud.openapi.api.lightningapp_instance_service_api import LightningappInstanceServiceApi
27
28
  from lightning_sdk.lightning_cloud.openapi.api.lightningapp_v2_service_api import LightningappV2ServiceApi
28
29
  from lightning_sdk.lightning_cloud.openapi.api.lightningwork_service_api import LightningworkServiceApi
@@ -3073,6 +3073,7 @@ class CloudSpaceServiceApi(object):
3073
3073
  :param bool include_download_url:
3074
3074
  :param str cluster_id:
3075
3075
  :param bool local_index: if true, fetch from the local index
3076
+ :param bool include_folder_index: if true, include the folder index in the response
3076
3077
  :return: V1GetArtifactsPageResponse
3077
3078
  If the method is called asynchronously,
3078
3079
  returns the request thread.
@@ -3100,12 +3101,13 @@ class CloudSpaceServiceApi(object):
3100
3101
  :param bool include_download_url:
3101
3102
  :param str cluster_id:
3102
3103
  :param bool local_index: if true, fetch from the local index
3104
+ :param bool include_folder_index: if true, include the folder index in the response
3103
3105
  :return: V1GetArtifactsPageResponse
3104
3106
  If the method is called asynchronously,
3105
3107
  returns the request thread.
3106
3108
  """
3107
3109
 
3108
- all_params = ['project_id', 'id', 'page_number', 'prefix', 'include_download_url', 'cluster_id', 'local_index'] # noqa: E501
3110
+ all_params = ['project_id', 'id', 'page_number', 'prefix', 'include_download_url', 'cluster_id', 'local_index', 'include_folder_index'] # noqa: E501
3109
3111
  all_params.append('async_req')
3110
3112
  all_params.append('_return_http_data_only')
3111
3113
  all_params.append('_preload_content')
@@ -3148,6 +3150,8 @@ class CloudSpaceServiceApi(object):
3148
3150
  query_params.append(('clusterId', params['cluster_id'])) # noqa: E501
3149
3151
  if 'local_index' in params:
3150
3152
  query_params.append(('localIndex', params['local_index'])) # noqa: E501
3153
+ if 'include_folder_index' in params:
3154
+ query_params.append(('includeFolderIndex', params['include_folder_index'])) # noqa: E501
3151
3155
 
3152
3156
  header_params = {}
3153
3157