lightning-sdk 2025.12.17__py3-none-any.whl → 2026.1.27__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 (130) hide show
  1. lightning_sdk/__version__.py +1 -1
  2. lightning_sdk/api/k8s_api.py +75 -29
  3. lightning_sdk/api/studio_api.py +192 -37
  4. lightning_sdk/api/teamspace_api.py +180 -54
  5. lightning_sdk/api/utils.py +8 -0
  6. lightning_sdk/cli/cp/__init__.py +67 -0
  7. lightning_sdk/cli/cp/teamspace_uploads.py +93 -0
  8. lightning_sdk/cli/entrypoint.py +2 -0
  9. lightning_sdk/cli/groups.py +22 -0
  10. lightning_sdk/cli/legacy/clusters_menu.py +2 -2
  11. lightning_sdk/cli/legacy/deploy/_auth.py +7 -6
  12. lightning_sdk/cli/legacy/download.py +29 -98
  13. lightning_sdk/cli/legacy/run.py +13 -2
  14. lightning_sdk/cli/legacy/upload.py +24 -31
  15. lightning_sdk/cli/studio/__init__.py +4 -0
  16. lightning_sdk/cli/studio/cp.py +24 -65
  17. lightning_sdk/cli/studio/ls.py +57 -0
  18. lightning_sdk/cli/studio/rm.py +71 -0
  19. lightning_sdk/cli/utils/filesystem.py +103 -0
  20. lightning_sdk/cli/utils/logging.py +2 -1
  21. lightning_sdk/cli/utils/teamspace_selection.py +5 -0
  22. lightning_sdk/exceptions.py +31 -0
  23. lightning_sdk/job/base.py +1 -1
  24. lightning_sdk/k8s_cluster.py +9 -10
  25. lightning_sdk/lightning_cloud/__version__.py +1 -1
  26. lightning_sdk/lightning_cloud/openapi/__init__.py +43 -23
  27. lightning_sdk/lightning_cloud/openapi/api/__init__.py +2 -1
  28. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +118 -1
  29. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +378 -536
  30. lightning_sdk/lightning_cloud/openapi/api/container_registry_service_api.py +456 -0
  31. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +5 -1
  32. lightning_sdk/lightning_cloud/openapi/api/file_system_service_api.py +11 -11
  33. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +113 -0
  34. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
  35. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
  36. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
  37. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
  38. lightning_sdk/lightning_cloud/openapi/api/organizations_service_api.py +113 -0
  39. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +5 -1
  40. lightning_sdk/lightning_cloud/openapi/api/{kubernetes_virtual_machine_service_api.py → virtual_machine_service_api.py} +82 -82
  41. lightning_sdk/lightning_cloud/openapi/models/__init__.py +41 -22
  42. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
  43. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +53 -1
  44. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
  45. lightning_sdk/lightning_cloud/openapi/models/{v1_add_container_registry_response.py → cluster_service_report_machine_system_metrics_body.py} +23 -23
  46. lightning_sdk/lightning_cloud/openapi/models/container_registry_config_ecr.py +149 -0
  47. lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_status.py → container_registry_provider.py} +14 -10
  48. lightning_sdk/lightning_cloud/openapi/models/container_registry_service_create_container_registry_body.py +201 -0
  49. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config_input.py → container_registry_service_refresh_container_registry_credentials_body.py} +21 -21
  50. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  51. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_config.py → jobs_service_duplicate_deployment_body.py} +51 -51
  52. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
  53. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
  54. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
  55. lightning_sdk/lightning_cloud/openapi/models/organizations_service_update_org_role_body.py +175 -0
  56. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
  57. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  59. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  60. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +53 -1
  61. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +79 -27
  62. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry.py +63 -89
  64. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_add_container_registry_body.py → v1_container_registry_config.py} +16 -16
  65. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_scopes.py +149 -0
  66. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_kubernetes_virtual_machine_response.py → v1_create_container_registry_response.py} +6 -6
  67. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
  69. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
  70. lightning_sdk/lightning_cloud/openapi/models/v1_cudo_direct_v1.py +175 -0
  71. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_refresh_container_registry_credentials_body.py → v1_delete_lit_logger_media_response.py} +6 -6
  72. lightning_sdk/lightning_cloud/openapi/models/{kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py → v1_delete_org_cluster_capacity_reservation_response.py} +6 -6
  73. lightning_sdk/lightning_cloud/openapi/models/v1_delete_virtual_machine_response.py +97 -0
  74. lightning_sdk/lightning_cloud/openapi/models/v1_describe_org_cluster_capacity_reservation_response.py +201 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
  76. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  77. lightning_sdk/lightning_cloud/openapi/models/v1_generic_job_spec.py +79 -1
  78. lightning_sdk/lightning_cloud/openapi/models/{v1_validate_container_registry_response.py → v1_get_kubernetes_pod_logs_response.py} +37 -37
  79. lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
  80. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +27 -1
  81. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  82. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
  83. lightning_sdk/lightning_cloud/openapi/models/{v1_container_registry_integration.py → v1_k8s_incident_setting.py} +49 -23
  84. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
  85. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
  86. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -27
  87. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
  88. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
  89. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +53 -1
  90. lightning_sdk/lightning_cloud/openapi/models/v1_list_container_registries_response.py +6 -6
  91. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
  92. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
  93. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
  94. lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
  95. lightning_sdk/lightning_cloud/openapi/models/{v1_list_kubernetes_virtual_machines_response.py → v1_list_virtual_machines_response.py} +16 -16
  96. lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
  97. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -53
  98. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
  99. lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
  100. lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_mithril_direct_v1.py} +51 -51
  101. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  102. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  103. lightning_sdk/lightning_cloud/openapi/models/v1_refresh_container_registry_credentials_response.py +1 -27
  104. lightning_sdk/lightning_cloud/openapi/models/{cluster_service_validate_container_registry_body.py → v1_report_cloud_space_instance_idle_state_response.py} +6 -6
  105. lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
  106. lightning_sdk/lightning_cloud/openapi/models/{v1_ecr_registry_details.py → v1_tenant_credentials.py} +53 -53
  107. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +183 -157
  108. lightning_sdk/lightning_cloud/openapi/models/{v1_kubernetes_virtual_machine.py → v1_virtual_machine.py} +94 -68
  109. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_vm_configuration.py → v1_vm_configuration.py} +20 -20
  110. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_provider_configuration.py → v1_vm_provider_configuration.py} +32 -32
  111. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
  112. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
  113. lightning_sdk/lightning_cloud/openapi/rest.py +2 -2
  114. lightning_sdk/lightning_cloud/rest_client.py +0 -2
  115. lightning_sdk/machine.py +3 -3
  116. lightning_sdk/studio.py +14 -4
  117. lightning_sdk/teamspace.py +28 -7
  118. lightning_sdk/utils/logging.py +2 -1
  119. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/METADATA +1 -5
  120. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/RECORD +125 -102
  121. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/WHEEL +1 -1
  122. lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
  123. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +0 -513
  124. lightning_sdk/lightning_cloud/openapi/models/v1_container_registry_info.py +0 -281
  125. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +0 -201
  126. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
  127. /lightning_sdk/lightning_cloud/openapi/models/{v1_list_filesystem_mmts_response.py → v1_list_filesystem_mm_ts_response.py} +0 -0
  128. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/LICENSE +0 -0
  129. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/entry_points.txt +0 -0
  130. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.27.dist-info}/top_level.txt +0 -0
@@ -41,7 +41,6 @@ class V1ClusterSpec(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'ai_pod_v1': 'V1AiPodV1',
45
44
  'auth_token': 'str',
46
45
  'available_accelerators': 'list[str]',
47
46
  'aws_v1': 'V1AWSDirectV1',
@@ -50,6 +49,7 @@ class V1ClusterSpec(object):
50
49
  'cluster_type': 'V1ClusterType',
51
50
  'compute_cluster_ids': 'list[str]',
52
51
  'compute_cluster_request': 'V1ComputeClusterRequest',
52
+ 'cudo_v1': 'V1CudoDirectV1',
53
53
  'deletion_options': 'V1ClusterDeletionOptions',
54
54
  'desired_state': 'V1ClusterState',
55
55
  'domain': 'str',
@@ -63,11 +63,13 @@ class V1ClusterSpec(object):
63
63
  'lock_overprovisioning': 'bool',
64
64
  'locked_zones': 'list[str]',
65
65
  'machine_v1': 'V1MachineDirectV1',
66
+ 'mithril_v1': 'V1MithrilDirectV1',
66
67
  'monitor_deletion_disabled': 'bool',
67
68
  'nebius_v1': 'V1NebiusDirectV1',
68
69
  'overprovisioning': 'list[V1InstanceOverprovisioningSpec]',
69
70
  'parent_cluster_id': 'str',
70
71
  'parent_cluster_type': 'str',
72
+ 'partitioning_enabled': 'bool',
71
73
  'pause_automation': 'bool',
72
74
  'reservation_details': 'V1ReservationDetails',
73
75
  'reserved_capacity_provider': 'bool',
@@ -83,7 +85,6 @@ class V1ClusterSpec(object):
83
85
  }
84
86
 
85
87
  attribute_map = {
86
- 'ai_pod_v1': 'aiPodV1',
87
88
  'auth_token': 'authToken',
88
89
  'available_accelerators': 'availableAccelerators',
89
90
  'aws_v1': 'awsV1',
@@ -92,6 +93,7 @@ class V1ClusterSpec(object):
92
93
  'cluster_type': 'clusterType',
93
94
  'compute_cluster_ids': 'computeClusterIds',
94
95
  'compute_cluster_request': 'computeClusterRequest',
96
+ 'cudo_v1': 'cudoV1',
95
97
  'deletion_options': 'deletionOptions',
96
98
  'desired_state': 'desiredState',
97
99
  'domain': 'domain',
@@ -105,11 +107,13 @@ class V1ClusterSpec(object):
105
107
  'lock_overprovisioning': 'lockOverprovisioning',
106
108
  'locked_zones': 'lockedZones',
107
109
  'machine_v1': 'machineV1',
110
+ 'mithril_v1': 'mithrilV1',
108
111
  'monitor_deletion_disabled': 'monitorDeletionDisabled',
109
112
  'nebius_v1': 'nebiusV1',
110
113
  'overprovisioning': 'overprovisioning',
111
114
  'parent_cluster_id': 'parentClusterId',
112
115
  'parent_cluster_type': 'parentClusterType',
116
+ 'partitioning_enabled': 'partitioningEnabled',
113
117
  'pause_automation': 'pauseAutomation',
114
118
  'reservation_details': 'reservationDetails',
115
119
  'reserved_capacity_provider': 'reservedCapacityProvider',
@@ -124,9 +128,8 @@ class V1ClusterSpec(object):
124
128
  'vultr_v1': 'vultrV1'
125
129
  }
126
130
 
127
- def __init__(self, ai_pod_v1: 'V1AiPodV1' =None, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, compute_cluster_request: 'V1ComputeClusterRequest' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lightning_elastic_cluster_v1: 'V1LightningElasticClusterV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, machine_v1: 'V1MachineDirectV1' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, unavailability_spikes_detection_enabled: 'bool' =None, user_id: 'str' =None, vibe_coding_enabled: 'bool' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
131
+ def __init__(self, auth_token: 'str' =None, available_accelerators: 'list[str]' =None, aws_v1: 'V1AWSDirectV1' =None, cloud_pricing_enabled: 'bool' =None, cloudflare_v1: 'V1CloudflareV1' =None, cluster_type: 'V1ClusterType' =None, compute_cluster_ids: 'list[str]' =None, compute_cluster_request: 'V1ComputeClusterRequest' =None, cudo_v1: 'V1CudoDirectV1' =None, deletion_options: 'V1ClusterDeletionOptions' =None, desired_state: 'V1ClusterState' =None, domain: 'str' =None, driver: 'V1CloudProvider' =None, freeze_accelerators: 'bool' =None, google_cloud_v1: 'V1GoogleCloudDirectV1' =None, insurer_disabled: 'bool' =None, kubernetes_v1: 'V1KubernetesDirectV1' =None, lambda_labs_v1: 'V1LambdaLabsDirectV1' =None, lightning_elastic_cluster_v1: 'V1LightningElasticClusterV1' =None, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =None, machine_v1: 'V1MachineDirectV1' =None, mithril_v1: 'V1MithrilDirectV1' =None, monitor_deletion_disabled: 'bool' =None, nebius_v1: 'V1NebiusDirectV1' =None, overprovisioning: 'list[V1InstanceOverprovisioningSpec]' =None, parent_cluster_id: 'str' =None, parent_cluster_type: 'str' =None, partitioning_enabled: 'bool' =None, pause_automation: 'bool' =None, reservation_details: 'V1ReservationDetails' =None, reserved_capacity_provider: 'bool' =None, reserved_instances_only: 'bool' =None, security_options: 'V1ClusterSecurityOptions' =None, slurm_v1: 'V1SlurmV1' =None, tagging_options: 'V1ClusterTaggingOptions' =None, unavailability_spikes_detection_enabled: 'bool' =None, user_id: 'str' =None, vibe_coding_enabled: 'bool' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
128
132
  """V1ClusterSpec - a model defined in Swagger""" # noqa: E501
129
- self._ai_pod_v1 = None
130
133
  self._auth_token = None
131
134
  self._available_accelerators = None
132
135
  self._aws_v1 = None
@@ -135,6 +138,7 @@ class V1ClusterSpec(object):
135
138
  self._cluster_type = None
136
139
  self._compute_cluster_ids = None
137
140
  self._compute_cluster_request = None
141
+ self._cudo_v1 = None
138
142
  self._deletion_options = None
139
143
  self._desired_state = None
140
144
  self._domain = None
@@ -148,11 +152,13 @@ class V1ClusterSpec(object):
148
152
  self._lock_overprovisioning = None
149
153
  self._locked_zones = None
150
154
  self._machine_v1 = None
155
+ self._mithril_v1 = None
151
156
  self._monitor_deletion_disabled = None
152
157
  self._nebius_v1 = None
153
158
  self._overprovisioning = None
154
159
  self._parent_cluster_id = None
155
160
  self._parent_cluster_type = None
161
+ self._partitioning_enabled = None
156
162
  self._pause_automation = None
157
163
  self._reservation_details = None
158
164
  self._reserved_capacity_provider = None
@@ -166,8 +172,6 @@ class V1ClusterSpec(object):
166
172
  self._voltage_park_v1 = None
167
173
  self._vultr_v1 = None
168
174
  self.discriminator = None
169
- if ai_pod_v1 is not None:
170
- self.ai_pod_v1 = ai_pod_v1
171
175
  if auth_token is not None:
172
176
  self.auth_token = auth_token
173
177
  if available_accelerators is not None:
@@ -184,6 +188,8 @@ class V1ClusterSpec(object):
184
188
  self.compute_cluster_ids = compute_cluster_ids
185
189
  if compute_cluster_request is not None:
186
190
  self.compute_cluster_request = compute_cluster_request
191
+ if cudo_v1 is not None:
192
+ self.cudo_v1 = cudo_v1
187
193
  if deletion_options is not None:
188
194
  self.deletion_options = deletion_options
189
195
  if desired_state is not None:
@@ -210,6 +216,8 @@ class V1ClusterSpec(object):
210
216
  self.locked_zones = locked_zones
211
217
  if machine_v1 is not None:
212
218
  self.machine_v1 = machine_v1
219
+ if mithril_v1 is not None:
220
+ self.mithril_v1 = mithril_v1
213
221
  if monitor_deletion_disabled is not None:
214
222
  self.monitor_deletion_disabled = monitor_deletion_disabled
215
223
  if nebius_v1 is not None:
@@ -220,6 +228,8 @@ class V1ClusterSpec(object):
220
228
  self.parent_cluster_id = parent_cluster_id
221
229
  if parent_cluster_type is not None:
222
230
  self.parent_cluster_type = parent_cluster_type
231
+ if partitioning_enabled is not None:
232
+ self.partitioning_enabled = partitioning_enabled
223
233
  if pause_automation is not None:
224
234
  self.pause_automation = pause_automation
225
235
  if reservation_details is not None:
@@ -245,27 +255,6 @@ class V1ClusterSpec(object):
245
255
  if vultr_v1 is not None:
246
256
  self.vultr_v1 = vultr_v1
247
257
 
248
- @property
249
- def ai_pod_v1(self) -> 'V1AiPodV1':
250
- """Gets the ai_pod_v1 of this V1ClusterSpec. # noqa: E501
251
-
252
-
253
- :return: The ai_pod_v1 of this V1ClusterSpec. # noqa: E501
254
- :rtype: V1AiPodV1
255
- """
256
- return self._ai_pod_v1
257
-
258
- @ai_pod_v1.setter
259
- def ai_pod_v1(self, ai_pod_v1: 'V1AiPodV1'):
260
- """Sets the ai_pod_v1 of this V1ClusterSpec.
261
-
262
-
263
- :param ai_pod_v1: The ai_pod_v1 of this V1ClusterSpec. # noqa: E501
264
- :type: V1AiPodV1
265
- """
266
-
267
- self._ai_pod_v1 = ai_pod_v1
268
-
269
258
  @property
270
259
  def auth_token(self) -> 'str':
271
260
  """Gets the auth_token of this V1ClusterSpec. # noqa: E501
@@ -434,6 +423,27 @@ class V1ClusterSpec(object):
434
423
 
435
424
  self._compute_cluster_request = compute_cluster_request
436
425
 
426
+ @property
427
+ def cudo_v1(self) -> 'V1CudoDirectV1':
428
+ """Gets the cudo_v1 of this V1ClusterSpec. # noqa: E501
429
+
430
+
431
+ :return: The cudo_v1 of this V1ClusterSpec. # noqa: E501
432
+ :rtype: V1CudoDirectV1
433
+ """
434
+ return self._cudo_v1
435
+
436
+ @cudo_v1.setter
437
+ def cudo_v1(self, cudo_v1: 'V1CudoDirectV1'):
438
+ """Sets the cudo_v1 of this V1ClusterSpec.
439
+
440
+
441
+ :param cudo_v1: The cudo_v1 of this V1ClusterSpec. # noqa: E501
442
+ :type: V1CudoDirectV1
443
+ """
444
+
445
+ self._cudo_v1 = cudo_v1
446
+
437
447
  @property
438
448
  def deletion_options(self) -> 'V1ClusterDeletionOptions':
439
449
  """Gets the deletion_options of this V1ClusterSpec. # noqa: E501
@@ -709,6 +719,27 @@ class V1ClusterSpec(object):
709
719
 
710
720
  self._machine_v1 = machine_v1
711
721
 
722
+ @property
723
+ def mithril_v1(self) -> 'V1MithrilDirectV1':
724
+ """Gets the mithril_v1 of this V1ClusterSpec. # noqa: E501
725
+
726
+
727
+ :return: The mithril_v1 of this V1ClusterSpec. # noqa: E501
728
+ :rtype: V1MithrilDirectV1
729
+ """
730
+ return self._mithril_v1
731
+
732
+ @mithril_v1.setter
733
+ def mithril_v1(self, mithril_v1: 'V1MithrilDirectV1'):
734
+ """Sets the mithril_v1 of this V1ClusterSpec.
735
+
736
+
737
+ :param mithril_v1: The mithril_v1 of this V1ClusterSpec. # noqa: E501
738
+ :type: V1MithrilDirectV1
739
+ """
740
+
741
+ self._mithril_v1 = mithril_v1
742
+
712
743
  @property
713
744
  def monitor_deletion_disabled(self) -> 'bool':
714
745
  """Gets the monitor_deletion_disabled of this V1ClusterSpec. # noqa: E501
@@ -814,6 +845,27 @@ class V1ClusterSpec(object):
814
845
 
815
846
  self._parent_cluster_type = parent_cluster_type
816
847
 
848
+ @property
849
+ def partitioning_enabled(self) -> 'bool':
850
+ """Gets the partitioning_enabled of this V1ClusterSpec. # noqa: E501
851
+
852
+
853
+ :return: The partitioning_enabled of this V1ClusterSpec. # noqa: E501
854
+ :rtype: bool
855
+ """
856
+ return self._partitioning_enabled
857
+
858
+ @partitioning_enabled.setter
859
+ def partitioning_enabled(self, partitioning_enabled: 'bool'):
860
+ """Sets the partitioning_enabled of this V1ClusterSpec.
861
+
862
+
863
+ :param partitioning_enabled: The partitioning_enabled of this V1ClusterSpec. # noqa: E501
864
+ :type: bool
865
+ """
866
+
867
+ self._partitioning_enabled = partitioning_enabled
868
+
817
869
  @property
818
870
  def pause_automation(self) -> 'bool':
819
871
  """Gets the pause_automation of this V1ClusterSpec. # noqa: E501
@@ -41,7 +41,6 @@ class V1ClusterType(object):
41
41
  GLOBAL = "CLUSTER_TYPE_GLOBAL"
42
42
  BYOC = "CLUSTER_TYPE_BYOC"
43
43
  SLURM = "CLUSTER_TYPE_SLURM"
44
- AI_POD = "CLUSTER_TYPE_AI_POD"
45
44
  LEC = "CLUSTER_TYPE_LEC"
46
45
  """
47
46
  Attributes:
@@ -41,65 +41,60 @@ class V1ContainerRegistry(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'ecr': 'V1ECRRegistryConfig',
44
+ 'config': 'V1ContainerRegistryConfig',
45
45
  'id': 'str',
46
- 'last_refresh': 'datetime',
47
- 'status': 'V1ContainerRegistryStatus',
48
- 'status_message': 'str',
49
- 'validated_at': 'datetime'
46
+ 'provider': 'ContainerRegistryProvider',
47
+ 'scopes': 'V1ContainerRegistryScopes',
48
+ 'url': 'str'
50
49
  }
51
50
 
52
51
  attribute_map = {
53
- 'ecr': 'ecr',
52
+ 'config': 'config',
54
53
  'id': 'id',
55
- 'last_refresh': 'lastRefresh',
56
- 'status': 'status',
57
- 'status_message': 'statusMessage',
58
- 'validated_at': 'validatedAt'
54
+ 'provider': 'provider',
55
+ 'scopes': 'scopes',
56
+ 'url': 'url'
59
57
  }
60
58
 
61
- def __init__(self, ecr: 'V1ECRRegistryConfig' =None, id: 'str' =None, last_refresh: 'datetime' =None, status: 'V1ContainerRegistryStatus' =None, status_message: 'str' =None, validated_at: 'datetime' =None): # noqa: E501
59
+ def __init__(self, config: 'V1ContainerRegistryConfig' =None, id: 'str' =None, provider: 'ContainerRegistryProvider' =None, scopes: 'V1ContainerRegistryScopes' =None, url: 'str' =None): # noqa: E501
62
60
  """V1ContainerRegistry - a model defined in Swagger""" # noqa: E501
63
- self._ecr = None
61
+ self._config = None
64
62
  self._id = None
65
- self._last_refresh = None
66
- self._status = None
67
- self._status_message = None
68
- self._validated_at = None
63
+ self._provider = None
64
+ self._scopes = None
65
+ self._url = None
69
66
  self.discriminator = None
70
- if ecr is not None:
71
- self.ecr = ecr
67
+ if config is not None:
68
+ self.config = config
72
69
  if id is not None:
73
70
  self.id = id
74
- if last_refresh is not None:
75
- self.last_refresh = last_refresh
76
- if status is not None:
77
- self.status = status
78
- if status_message is not None:
79
- self.status_message = status_message
80
- if validated_at is not None:
81
- self.validated_at = validated_at
71
+ if provider is not None:
72
+ self.provider = provider
73
+ if scopes is not None:
74
+ self.scopes = scopes
75
+ if url is not None:
76
+ self.url = url
82
77
 
83
78
  @property
84
- def ecr(self) -> 'V1ECRRegistryConfig':
85
- """Gets the ecr of this V1ContainerRegistry. # noqa: E501
79
+ def config(self) -> 'V1ContainerRegistryConfig':
80
+ """Gets the config of this V1ContainerRegistry. # noqa: E501
86
81
 
87
82
 
88
- :return: The ecr of this V1ContainerRegistry. # noqa: E501
89
- :rtype: V1ECRRegistryConfig
83
+ :return: The config of this V1ContainerRegistry. # noqa: E501
84
+ :rtype: V1ContainerRegistryConfig
90
85
  """
91
- return self._ecr
86
+ return self._config
92
87
 
93
- @ecr.setter
94
- def ecr(self, ecr: 'V1ECRRegistryConfig'):
95
- """Sets the ecr of this V1ContainerRegistry.
88
+ @config.setter
89
+ def config(self, config: 'V1ContainerRegistryConfig'):
90
+ """Sets the config of this V1ContainerRegistry.
96
91
 
97
92
 
98
- :param ecr: The ecr of this V1ContainerRegistry. # noqa: E501
99
- :type: V1ECRRegistryConfig
93
+ :param config: The config of this V1ContainerRegistry. # noqa: E501
94
+ :type: V1ContainerRegistryConfig
100
95
  """
101
96
 
102
- self._ecr = ecr
97
+ self._config = config
103
98
 
104
99
  @property
105
100
  def id(self) -> 'str':
@@ -123,88 +118,67 @@ class V1ContainerRegistry(object):
123
118
  self._id = id
124
119
 
125
120
  @property
126
- def last_refresh(self) -> 'datetime':
127
- """Gets the last_refresh of this V1ContainerRegistry. # noqa: E501
121
+ def provider(self) -> 'ContainerRegistryProvider':
122
+ """Gets the provider of this V1ContainerRegistry. # noqa: E501
128
123
 
129
124
 
130
- :return: The last_refresh of this V1ContainerRegistry. # noqa: E501
131
- :rtype: datetime
125
+ :return: The provider of this V1ContainerRegistry. # noqa: E501
126
+ :rtype: ContainerRegistryProvider
132
127
  """
133
- return self._last_refresh
128
+ return self._provider
134
129
 
135
- @last_refresh.setter
136
- def last_refresh(self, last_refresh: 'datetime'):
137
- """Sets the last_refresh of this V1ContainerRegistry.
130
+ @provider.setter
131
+ def provider(self, provider: 'ContainerRegistryProvider'):
132
+ """Sets the provider of this V1ContainerRegistry.
138
133
 
139
134
 
140
- :param last_refresh: The last_refresh of this V1ContainerRegistry. # noqa: E501
141
- :type: datetime
135
+ :param provider: The provider of this V1ContainerRegistry. # noqa: E501
136
+ :type: ContainerRegistryProvider
142
137
  """
143
138
 
144
- self._last_refresh = last_refresh
139
+ self._provider = provider
145
140
 
146
141
  @property
147
- def status(self) -> 'V1ContainerRegistryStatus':
148
- """Gets the status of this V1ContainerRegistry. # noqa: E501
142
+ def scopes(self) -> 'V1ContainerRegistryScopes':
143
+ """Gets the scopes of this V1ContainerRegistry. # noqa: E501
149
144
 
150
145
 
151
- :return: The status of this V1ContainerRegistry. # noqa: E501
152
- :rtype: V1ContainerRegistryStatus
146
+ :return: The scopes of this V1ContainerRegistry. # noqa: E501
147
+ :rtype: V1ContainerRegistryScopes
153
148
  """
154
- return self._status
149
+ return self._scopes
155
150
 
156
- @status.setter
157
- def status(self, status: 'V1ContainerRegistryStatus'):
158
- """Sets the status of this V1ContainerRegistry.
151
+ @scopes.setter
152
+ def scopes(self, scopes: 'V1ContainerRegistryScopes'):
153
+ """Sets the scopes of this V1ContainerRegistry.
159
154
 
160
155
 
161
- :param status: The status of this V1ContainerRegistry. # noqa: E501
162
- :type: V1ContainerRegistryStatus
156
+ :param scopes: The scopes of this V1ContainerRegistry. # noqa: E501
157
+ :type: V1ContainerRegistryScopes
163
158
  """
164
159
 
165
- self._status = status
160
+ self._scopes = scopes
166
161
 
167
162
  @property
168
- def status_message(self) -> 'str':
169
- """Gets the status_message of this V1ContainerRegistry. # noqa: E501
163
+ def url(self) -> 'str':
164
+ """Gets the url of this V1ContainerRegistry. # noqa: E501
170
165
 
171
166
 
172
- :return: The status_message of this V1ContainerRegistry. # noqa: E501
167
+ :return: The url of this V1ContainerRegistry. # noqa: E501
173
168
  :rtype: str
174
169
  """
175
- return self._status_message
170
+ return self._url
176
171
 
177
- @status_message.setter
178
- def status_message(self, status_message: 'str'):
179
- """Sets the status_message of this V1ContainerRegistry.
172
+ @url.setter
173
+ def url(self, url: 'str'):
174
+ """Sets the url of this V1ContainerRegistry.
180
175
 
181
176
 
182
- :param status_message: The status_message of this V1ContainerRegistry. # noqa: E501
177
+ :param url: The url of this V1ContainerRegistry. # noqa: E501
183
178
  :type: str
184
179
  """
185
180
 
186
- self._status_message = status_message
187
-
188
- @property
189
- def validated_at(self) -> 'datetime':
190
- """Gets the validated_at of this V1ContainerRegistry. # noqa: E501
191
-
192
-
193
- :return: The validated_at of this V1ContainerRegistry. # noqa: E501
194
- :rtype: datetime
195
- """
196
- return self._validated_at
197
-
198
- @validated_at.setter
199
- def validated_at(self, validated_at: 'datetime'):
200
- """Sets the validated_at of this V1ContainerRegistry.
201
-
202
-
203
- :param validated_at: The validated_at of this V1ContainerRegistry. # noqa: E501
204
- :type: datetime
205
- """
206
-
207
- self._validated_at = validated_at
181
+ self._url = url
208
182
 
209
183
  def to_dict(self) -> dict:
210
184
  """Returns the model properties as a dict"""
@@ -28,7 +28,7 @@ if TYPE_CHECKING:
28
28
  from datetime import datetime
29
29
  from lightning_sdk.lightning_cloud.openapi.models import *
30
30
 
31
- class ClusterServiceAddContainerRegistryBody(object):
31
+ class V1ContainerRegistryConfig(object):
32
32
  """NOTE: This class is auto generated by the swagger code generator program.
33
33
 
34
34
  Do not edit the class manually.
@@ -41,37 +41,37 @@ class ClusterServiceAddContainerRegistryBody(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
- 'ecr': 'V1ECRRegistryConfigInput'
44
+ 'ecr': 'ContainerRegistryConfigECR'
45
45
  }
46
46
 
47
47
  attribute_map = {
48
48
  'ecr': 'ecr'
49
49
  }
50
50
 
51
- def __init__(self, ecr: 'V1ECRRegistryConfigInput' =None): # noqa: E501
52
- """ClusterServiceAddContainerRegistryBody - a model defined in Swagger""" # noqa: E501
51
+ def __init__(self, ecr: 'ContainerRegistryConfigECR' =None): # noqa: E501
52
+ """V1ContainerRegistryConfig - a model defined in Swagger""" # noqa: E501
53
53
  self._ecr = None
54
54
  self.discriminator = None
55
55
  if ecr is not None:
56
56
  self.ecr = ecr
57
57
 
58
58
  @property
59
- def ecr(self) -> 'V1ECRRegistryConfigInput':
60
- """Gets the ecr of this ClusterServiceAddContainerRegistryBody. # noqa: E501
59
+ def ecr(self) -> 'ContainerRegistryConfigECR':
60
+ """Gets the ecr of this V1ContainerRegistryConfig. # noqa: E501
61
61
 
62
62
 
63
- :return: The ecr of this ClusterServiceAddContainerRegistryBody. # noqa: E501
64
- :rtype: V1ECRRegistryConfigInput
63
+ :return: The ecr of this V1ContainerRegistryConfig. # noqa: E501
64
+ :rtype: ContainerRegistryConfigECR
65
65
  """
66
66
  return self._ecr
67
67
 
68
68
  @ecr.setter
69
- def ecr(self, ecr: 'V1ECRRegistryConfigInput'):
70
- """Sets the ecr of this ClusterServiceAddContainerRegistryBody.
69
+ def ecr(self, ecr: 'ContainerRegistryConfigECR'):
70
+ """Sets the ecr of this V1ContainerRegistryConfig.
71
71
 
72
72
 
73
- :param ecr: The ecr of this ClusterServiceAddContainerRegistryBody. # noqa: E501
74
- :type: V1ECRRegistryConfigInput
73
+ :param ecr: The ecr of this V1ContainerRegistryConfig. # noqa: E501
74
+ :type: ContainerRegistryConfigECR
75
75
  """
76
76
 
77
77
  self._ecr = ecr
@@ -97,7 +97,7 @@ class ClusterServiceAddContainerRegistryBody(object):
97
97
  ))
98
98
  else:
99
99
  result[attr] = value
100
- if issubclass(ClusterServiceAddContainerRegistryBody, dict):
100
+ if issubclass(V1ContainerRegistryConfig, dict):
101
101
  for key, value in self.items():
102
102
  result[key] = value
103
103
 
@@ -111,13 +111,13 @@ class ClusterServiceAddContainerRegistryBody(object):
111
111
  """For `print` and `pprint`"""
112
112
  return self.to_str()
113
113
 
114
- def __eq__(self, other: 'ClusterServiceAddContainerRegistryBody') -> bool:
114
+ def __eq__(self, other: 'V1ContainerRegistryConfig') -> bool:
115
115
  """Returns true if both objects are equal"""
116
- if not isinstance(other, ClusterServiceAddContainerRegistryBody):
116
+ if not isinstance(other, V1ContainerRegistryConfig):
117
117
  return False
118
118
 
119
119
  return self.__dict__ == other.__dict__
120
120
 
121
- def __ne__(self, other: 'ClusterServiceAddContainerRegistryBody') -> bool:
121
+ def __ne__(self, other: 'V1ContainerRegistryConfig') -> bool:
122
122
  """Returns true if both objects are not equal"""
123
123
  return not self == other