lightning-sdk 2025.12.17__py3-none-any.whl → 2026.1.22__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) 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 +195 -33
  4. lightning_sdk/api/teamspace_api.py +28 -9
  5. lightning_sdk/cli/cp/__init__.py +64 -0
  6. lightning_sdk/cli/entrypoint.py +2 -0
  7. lightning_sdk/cli/groups.py +22 -0
  8. lightning_sdk/cli/legacy/clusters_menu.py +2 -2
  9. lightning_sdk/cli/legacy/deploy/_auth.py +7 -6
  10. lightning_sdk/cli/legacy/run.py +13 -2
  11. lightning_sdk/cli/studio/__init__.py +4 -0
  12. lightning_sdk/cli/studio/cp.py +20 -64
  13. lightning_sdk/cli/studio/ls.py +57 -0
  14. lightning_sdk/cli/studio/rm.py +71 -0
  15. lightning_sdk/cli/utils/logging.py +2 -1
  16. lightning_sdk/cli/utils/studio_filesystem.py +65 -0
  17. lightning_sdk/cli/utils/teamspace_selection.py +5 -0
  18. lightning_sdk/exceptions.py +4 -0
  19. lightning_sdk/job/base.py +1 -1
  20. lightning_sdk/k8s_cluster.py +9 -10
  21. lightning_sdk/lightning_cloud/__version__.py +1 -1
  22. lightning_sdk/lightning_cloud/openapi/__init__.py +29 -11
  23. lightning_sdk/lightning_cloud/openapi/api/__init__.py +1 -1
  24. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +113 -0
  25. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +268 -123
  26. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +246 -19
  27. lightning_sdk/lightning_cloud/openapi/api/lightningwork_service_api.py +116 -11
  28. lightning_sdk/lightning_cloud/openapi/api/lit_logger_service_api.py +588 -2
  29. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +9 -1
  30. lightning_sdk/lightning_cloud/openapi/api/{kubernetes_virtual_machine_service_api.py → virtual_machine_service_api.py} +82 -82
  31. lightning_sdk/lightning_cloud/openapi/models/__init__.py +28 -10
  32. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_cluster_capacity_reservation_body.py +53 -1
  33. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_machine_body.py +53 -1
  34. lightning_sdk/lightning_cloud/openapi/models/cluster_service_create_org_cluster_capacity_reservation_body.py +409 -0
  35. lightning_sdk/lightning_cloud/openapi/models/cluster_service_report_machine_system_metrics_body.py +123 -0
  36. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +27 -1
  37. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_create_lit_logger_media_body.py +305 -0
  38. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_lit_logger_media_body.py +149 -0
  39. lightning_sdk/lightning_cloud/openapi/models/lit_logger_service_update_metrics_stream_body.py +53 -1
  40. lightning_sdk/lightning_cloud/openapi/models/v1_capacity_reservation_used_by.py +227 -0
  41. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +1 -1
  42. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_type.py +1 -0
  43. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +27 -1
  44. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  45. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -27
  46. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +0 -1
  47. lightning_sdk/lightning_cloud/openapi/models/v1_create_lit_logger_media_response.py +149 -0
  48. lightning_sdk/lightning_cloud/openapi/models/v1_create_org_cluster_capacity_reservation_response.py +201 -0
  49. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +29 -3
  50. lightning_sdk/lightning_cloud/openapi/models/{v1_ai_pod_v1.py → v1_cudo_direct_v1.py} +51 -51
  51. lightning_sdk/lightning_cloud/openapi/models/{v1_delete_kubernetes_virtual_machine_response.py → v1_delete_lit_logger_media_response.py} +6 -6
  52. lightning_sdk/lightning_cloud/openapi/models/{kubernetes_virtual_machine_service_update_kubernetes_virtual_machine_body.py → v1_delete_virtual_machine_response.py} +6 -6
  53. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +27 -27
  54. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  55. lightning_sdk/lightning_cloud/openapi/models/v1_get_kubernetes_pod_logs_response.py +149 -0
  56. lightning_sdk/lightning_cloud/openapi/models/{v1_get_machine_response.py → v1_get_kubernetes_pod_response.py} +23 -23
  57. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  58. lightning_sdk/lightning_cloud/openapi/models/v1_joinable_organization.py +27 -1
  59. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_setting.py +149 -0
  60. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_type.py +108 -0
  61. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +53 -1
  62. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +53 -1
  63. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod.py +27 -1
  64. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_pod_logs_page.py +227 -0
  65. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_config.py +53 -1
  66. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_response.py +43 -17
  67. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_pods_sort_order.py +104 -0
  68. lightning_sdk/lightning_cloud/openapi/models/v1_list_lit_logger_media_response.py +149 -0
  69. lightning_sdk/lightning_cloud/openapi/models/v1_list_models_response.py +55 -3
  70. lightning_sdk/lightning_cloud/openapi/models/{v1_list_kubernetes_virtual_machines_response.py → v1_list_virtual_machines_response.py} +16 -16
  71. lightning_sdk/lightning_cloud/openapi/models/v1_lit_logger_media.py +513 -0
  72. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +27 -53
  73. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +107 -3
  74. lightning_sdk/lightning_cloud/openapi/models/v1_media_type.py +104 -0
  75. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  76. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +27 -1
  77. lightning_sdk/lightning_cloud/openapi/models/v1_report_cloud_space_instance_idle_state_response.py +97 -0
  78. lightning_sdk/lightning_cloud/openapi/models/v1_report_machine_system_metrics_response.py +97 -0
  79. lightning_sdk/lightning_cloud/openapi/models/v1_tenant_credentials.py +201 -0
  80. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +157 -131
  81. lightning_sdk/lightning_cloud/openapi/models/{v1_kubernetes_virtual_machine.py → v1_virtual_machine.py} +94 -68
  82. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_vm_configuration.py → v1_vm_configuration.py} +20 -20
  83. lightning_sdk/lightning_cloud/openapi/models/{v1_kubevirt_provider_configuration.py → v1_vm_provider_configuration.py} +32 -32
  84. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_create_virtual_machine_body.py +565 -0
  85. lightning_sdk/lightning_cloud/openapi/models/virtual_machine_service_update_virtual_machine_body.py +97 -0
  86. lightning_sdk/lightning_cloud/rest_client.py +0 -2
  87. lightning_sdk/machine.py +3 -3
  88. lightning_sdk/studio.py +14 -4
  89. lightning_sdk/utils/logging.py +2 -1
  90. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/METADATA +1 -5
  91. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/RECORD +95 -75
  92. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/WHEEL +1 -1
  93. lightning_sdk/lightning_cloud/cli/__main__.py +0 -29
  94. lightning_sdk/lightning_cloud/openapi/models/kubernetes_virtual_machine_service_create_kubernetes_virtual_machine_body.py +0 -513
  95. lightning_sdk/lightning_cloud/openapi/models/v1_kubevirt_vm_resources.py +0 -201
  96. lightning_sdk/lightning_cloud/source_code/logs_socket_api.py +0 -103
  97. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/LICENSE +0 -0
  98. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/entry_points.txt +0 -0
  99. {lightning_sdk-2025.12.17.dist-info → lightning_sdk-2026.1.22.dist-info}/top_level.txt +0 -0
@@ -42,15 +42,14 @@ class V1Machine(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'address': 'str',
45
- 'cloud_space_name': 'str',
46
45
  'cluster_id': 'str',
47
46
  'created_at': 'datetime',
48
- 'display_name': 'str',
49
47
  'id': 'str',
50
48
  'instance_type': 'str',
51
49
  'management_api_url': 'str',
52
50
  'name': 'str',
53
51
  'org_id': 'str',
52
+ 'private_address': 'str',
54
53
  'project_id': 'str',
55
54
  'provider': 'str',
56
55
  'provider_instance_id': 'str',
@@ -69,15 +68,14 @@ class V1Machine(object):
69
68
 
70
69
  attribute_map = {
71
70
  'address': 'address',
72
- 'cloud_space_name': 'cloudSpaceName',
73
71
  'cluster_id': 'clusterId',
74
72
  'created_at': 'createdAt',
75
- 'display_name': 'displayName',
76
73
  'id': 'id',
77
74
  'instance_type': 'instanceType',
78
75
  'management_api_url': 'managementApiUrl',
79
76
  'name': 'name',
80
77
  'org_id': 'orgId',
78
+ 'private_address': 'privateAddress',
81
79
  'project_id': 'projectId',
82
80
  'provider': 'provider',
83
81
  'provider_instance_id': 'providerInstanceId',
@@ -94,18 +92,17 @@ class V1Machine(object):
94
92
  'warning_message': 'warningMessage'
95
93
  }
96
94
 
97
- def __init__(self, address: 'str' =None, cloud_space_name: 'str' =None, cluster_id: 'str' =None, created_at: 'datetime' =None, display_name: 'str' =None, id: 'str' =None, instance_type: 'str' =None, management_api_url: 'str' =None, name: 'str' =None, org_id: 'str' =None, project_id: 'str' =None, provider: 'str' =None, provider_instance_id: 'str' =None, provider_region: 'str' =None, provisioning_method: 'str' =None, ready_at: 'datetime' =None, resource_id: 'str' =None, resource_type: 'str' =None, resources: 'V1Resources' =None, ssh_username: 'str' =None, status: 'str' =None, unschedulable: 'bool' =None, updated_at: 'datetime' =None, warning_message: 'str' =None): # noqa: E501
95
+ def __init__(self, address: 'str' =None, cluster_id: 'str' =None, created_at: 'datetime' =None, id: 'str' =None, instance_type: 'str' =None, management_api_url: 'str' =None, name: 'str' =None, org_id: 'str' =None, private_address: 'str' =None, project_id: 'str' =None, provider: 'str' =None, provider_instance_id: 'str' =None, provider_region: 'str' =None, provisioning_method: 'str' =None, ready_at: 'datetime' =None, resource_id: 'str' =None, resource_type: 'str' =None, resources: 'V1Resources' =None, ssh_username: 'str' =None, status: 'str' =None, unschedulable: 'bool' =None, updated_at: 'datetime' =None, warning_message: 'str' =None): # noqa: E501
98
96
  """V1Machine - a model defined in Swagger""" # noqa: E501
99
97
  self._address = None
100
- self._cloud_space_name = None
101
98
  self._cluster_id = None
102
99
  self._created_at = None
103
- self._display_name = None
104
100
  self._id = None
105
101
  self._instance_type = None
106
102
  self._management_api_url = None
107
103
  self._name = None
108
104
  self._org_id = None
105
+ self._private_address = None
109
106
  self._project_id = None
110
107
  self._provider = None
111
108
  self._provider_instance_id = None
@@ -123,14 +120,10 @@ class V1Machine(object):
123
120
  self.discriminator = None
124
121
  if address is not None:
125
122
  self.address = address
126
- if cloud_space_name is not None:
127
- self.cloud_space_name = cloud_space_name
128
123
  if cluster_id is not None:
129
124
  self.cluster_id = cluster_id
130
125
  if created_at is not None:
131
126
  self.created_at = created_at
132
- if display_name is not None:
133
- self.display_name = display_name
134
127
  if id is not None:
135
128
  self.id = id
136
129
  if instance_type is not None:
@@ -141,6 +134,8 @@ class V1Machine(object):
141
134
  self.name = name
142
135
  if org_id is not None:
143
136
  self.org_id = org_id
137
+ if private_address is not None:
138
+ self.private_address = private_address
144
139
  if project_id is not None:
145
140
  self.project_id = project_id
146
141
  if provider is not None:
@@ -191,27 +186,6 @@ class V1Machine(object):
191
186
 
192
187
  self._address = address
193
188
 
194
- @property
195
- def cloud_space_name(self) -> 'str':
196
- """Gets the cloud_space_name of this V1Machine. # noqa: E501
197
-
198
-
199
- :return: The cloud_space_name of this V1Machine. # noqa: E501
200
- :rtype: str
201
- """
202
- return self._cloud_space_name
203
-
204
- @cloud_space_name.setter
205
- def cloud_space_name(self, cloud_space_name: 'str'):
206
- """Sets the cloud_space_name of this V1Machine.
207
-
208
-
209
- :param cloud_space_name: The cloud_space_name of this V1Machine. # noqa: E501
210
- :type: str
211
- """
212
-
213
- self._cloud_space_name = cloud_space_name
214
-
215
189
  @property
216
190
  def cluster_id(self) -> 'str':
217
191
  """Gets the cluster_id of this V1Machine. # noqa: E501
@@ -254,27 +228,6 @@ class V1Machine(object):
254
228
 
255
229
  self._created_at = created_at
256
230
 
257
- @property
258
- def display_name(self) -> 'str':
259
- """Gets the display_name of this V1Machine. # noqa: E501
260
-
261
-
262
- :return: The display_name of this V1Machine. # noqa: E501
263
- :rtype: str
264
- """
265
- return self._display_name
266
-
267
- @display_name.setter
268
- def display_name(self, display_name: 'str'):
269
- """Sets the display_name of this V1Machine.
270
-
271
-
272
- :param display_name: The display_name of this V1Machine. # noqa: E501
273
- :type: str
274
- """
275
-
276
- self._display_name = display_name
277
-
278
231
  @property
279
232
  def id(self) -> 'str':
280
233
  """Gets the id of this V1Machine. # noqa: E501
@@ -380,6 +333,27 @@ class V1Machine(object):
380
333
 
381
334
  self._org_id = org_id
382
335
 
336
+ @property
337
+ def private_address(self) -> 'str':
338
+ """Gets the private_address of this V1Machine. # noqa: E501
339
+
340
+
341
+ :return: The private_address of this V1Machine. # noqa: E501
342
+ :rtype: str
343
+ """
344
+ return self._private_address
345
+
346
+ @private_address.setter
347
+ def private_address(self, private_address: 'str'):
348
+ """Sets the private_address of this V1Machine.
349
+
350
+
351
+ :param private_address: The private_address of this V1Machine. # noqa: E501
352
+ :type: str
353
+ """
354
+
355
+ self._private_address = private_address
356
+
383
357
  @property
384
358
  def project_id(self) -> 'str':
385
359
  """Gets the project_id of this V1Machine. # noqa: E501
@@ -41,34 +41,96 @@ class V1MachineDirectV1(object):
41
41
  and the value is json key in definition.
42
42
  """
43
43
  swagger_types = {
44
+ 'cloud_hypervisor_user': 'str',
45
+ 'extra_setup_commands': 'list[str]',
44
46
  'primary_region': 'str',
45
47
  'regions': 'list[str]',
46
48
  'setup_infiniband': 'bool',
47
- 'tailscale_auth_key_secret_id': 'str'
49
+ 'storage_overcommit_factor': 'float',
50
+ 'tailscale_auth_key_secret_id': 'str',
51
+ 'use_nvme_disks': 'bool'
48
52
  }
49
53
 
50
54
  attribute_map = {
55
+ 'cloud_hypervisor_user': 'cloudHypervisorUser',
56
+ 'extra_setup_commands': 'extraSetupCommands',
51
57
  'primary_region': 'primaryRegion',
52
58
  'regions': 'regions',
53
59
  'setup_infiniband': 'setupInfiniband',
54
- 'tailscale_auth_key_secret_id': 'tailscaleAuthKeySecretId'
60
+ 'storage_overcommit_factor': 'storageOvercommitFactor',
61
+ 'tailscale_auth_key_secret_id': 'tailscaleAuthKeySecretId',
62
+ 'use_nvme_disks': 'useNvmeDisks'
55
63
  }
56
64
 
57
- def __init__(self, primary_region: 'str' =None, regions: 'list[str]' =None, setup_infiniband: 'bool' =None, tailscale_auth_key_secret_id: 'str' =None): # noqa: E501
65
+ def __init__(self, cloud_hypervisor_user: 'str' =None, extra_setup_commands: 'list[str]' =None, primary_region: 'str' =None, regions: 'list[str]' =None, setup_infiniband: 'bool' =None, storage_overcommit_factor: 'float' =None, tailscale_auth_key_secret_id: 'str' =None, use_nvme_disks: 'bool' =None): # noqa: E501
58
66
  """V1MachineDirectV1 - a model defined in Swagger""" # noqa: E501
67
+ self._cloud_hypervisor_user = None
68
+ self._extra_setup_commands = None
59
69
  self._primary_region = None
60
70
  self._regions = None
61
71
  self._setup_infiniband = None
72
+ self._storage_overcommit_factor = None
62
73
  self._tailscale_auth_key_secret_id = None
74
+ self._use_nvme_disks = None
63
75
  self.discriminator = None
76
+ if cloud_hypervisor_user is not None:
77
+ self.cloud_hypervisor_user = cloud_hypervisor_user
78
+ if extra_setup_commands is not None:
79
+ self.extra_setup_commands = extra_setup_commands
64
80
  if primary_region is not None:
65
81
  self.primary_region = primary_region
66
82
  if regions is not None:
67
83
  self.regions = regions
68
84
  if setup_infiniband is not None:
69
85
  self.setup_infiniband = setup_infiniband
86
+ if storage_overcommit_factor is not None:
87
+ self.storage_overcommit_factor = storage_overcommit_factor
70
88
  if tailscale_auth_key_secret_id is not None:
71
89
  self.tailscale_auth_key_secret_id = tailscale_auth_key_secret_id
90
+ if use_nvme_disks is not None:
91
+ self.use_nvme_disks = use_nvme_disks
92
+
93
+ @property
94
+ def cloud_hypervisor_user(self) -> 'str':
95
+ """Gets the cloud_hypervisor_user of this V1MachineDirectV1. # noqa: E501
96
+
97
+
98
+ :return: The cloud_hypervisor_user of this V1MachineDirectV1. # noqa: E501
99
+ :rtype: str
100
+ """
101
+ return self._cloud_hypervisor_user
102
+
103
+ @cloud_hypervisor_user.setter
104
+ def cloud_hypervisor_user(self, cloud_hypervisor_user: 'str'):
105
+ """Sets the cloud_hypervisor_user of this V1MachineDirectV1.
106
+
107
+
108
+ :param cloud_hypervisor_user: The cloud_hypervisor_user of this V1MachineDirectV1. # noqa: E501
109
+ :type: str
110
+ """
111
+
112
+ self._cloud_hypervisor_user = cloud_hypervisor_user
113
+
114
+ @property
115
+ def extra_setup_commands(self) -> 'list[str]':
116
+ """Gets the extra_setup_commands of this V1MachineDirectV1. # noqa: E501
117
+
118
+
119
+ :return: The extra_setup_commands of this V1MachineDirectV1. # noqa: E501
120
+ :rtype: list[str]
121
+ """
122
+ return self._extra_setup_commands
123
+
124
+ @extra_setup_commands.setter
125
+ def extra_setup_commands(self, extra_setup_commands: 'list[str]'):
126
+ """Sets the extra_setup_commands of this V1MachineDirectV1.
127
+
128
+
129
+ :param extra_setup_commands: The extra_setup_commands of this V1MachineDirectV1. # noqa: E501
130
+ :type: list[str]
131
+ """
132
+
133
+ self._extra_setup_commands = extra_setup_commands
72
134
 
73
135
  @property
74
136
  def primary_region(self) -> 'str':
@@ -133,6 +195,27 @@ class V1MachineDirectV1(object):
133
195
 
134
196
  self._setup_infiniband = setup_infiniband
135
197
 
198
+ @property
199
+ def storage_overcommit_factor(self) -> 'float':
200
+ """Gets the storage_overcommit_factor of this V1MachineDirectV1. # noqa: E501
201
+
202
+
203
+ :return: The storage_overcommit_factor of this V1MachineDirectV1. # noqa: E501
204
+ :rtype: float
205
+ """
206
+ return self._storage_overcommit_factor
207
+
208
+ @storage_overcommit_factor.setter
209
+ def storage_overcommit_factor(self, storage_overcommit_factor: 'float'):
210
+ """Sets the storage_overcommit_factor of this V1MachineDirectV1.
211
+
212
+
213
+ :param storage_overcommit_factor: The storage_overcommit_factor of this V1MachineDirectV1. # noqa: E501
214
+ :type: float
215
+ """
216
+
217
+ self._storage_overcommit_factor = storage_overcommit_factor
218
+
136
219
  @property
137
220
  def tailscale_auth_key_secret_id(self) -> 'str':
138
221
  """Gets the tailscale_auth_key_secret_id of this V1MachineDirectV1. # noqa: E501
@@ -154,6 +237,27 @@ class V1MachineDirectV1(object):
154
237
 
155
238
  self._tailscale_auth_key_secret_id = tailscale_auth_key_secret_id
156
239
 
240
+ @property
241
+ def use_nvme_disks(self) -> 'bool':
242
+ """Gets the use_nvme_disks of this V1MachineDirectV1. # noqa: E501
243
+
244
+
245
+ :return: The use_nvme_disks of this V1MachineDirectV1. # noqa: E501
246
+ :rtype: bool
247
+ """
248
+ return self._use_nvme_disks
249
+
250
+ @use_nvme_disks.setter
251
+ def use_nvme_disks(self, use_nvme_disks: 'bool'):
252
+ """Sets the use_nvme_disks of this V1MachineDirectV1.
253
+
254
+
255
+ :param use_nvme_disks: The use_nvme_disks of this V1MachineDirectV1. # noqa: E501
256
+ :type: bool
257
+ """
258
+
259
+ self._use_nvme_disks = use_nvme_disks
260
+
157
261
  def to_dict(self) -> dict:
158
262
  """Returns the model properties as a dict"""
159
263
  result = {}
@@ -0,0 +1,104 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1MediaType(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+
37
+ """
38
+ allowed enum values
39
+ """
40
+ UNSPECIFIED = "MEDIA_TYPE_UNSPECIFIED"
41
+ IMAGE = "MEDIA_TYPE_IMAGE"
42
+ TEXT = "MEDIA_TYPE_TEXT"
43
+ """
44
+ Attributes:
45
+ swagger_types (dict): The key is attribute name
46
+ and the value is attribute type.
47
+ attribute_map (dict): The key is attribute name
48
+ and the value is json key in definition.
49
+ """
50
+ swagger_types = {
51
+ }
52
+
53
+ attribute_map = {
54
+ }
55
+
56
+ def __init__(self): # noqa: E501
57
+ """V1MediaType - a model defined in Swagger""" # noqa: E501
58
+ self.discriminator = None
59
+
60
+ def to_dict(self) -> dict:
61
+ """Returns the model properties as a dict"""
62
+ result = {}
63
+
64
+ for attr, _ in six.iteritems(self.swagger_types):
65
+ value = getattr(self, attr)
66
+ if isinstance(value, list):
67
+ result[attr] = list(map(
68
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
69
+ value
70
+ ))
71
+ elif hasattr(value, "to_dict"):
72
+ result[attr] = value.to_dict()
73
+ elif isinstance(value, dict):
74
+ result[attr] = dict(map(
75
+ lambda item: (item[0], item[1].to_dict())
76
+ if hasattr(item[1], "to_dict") else item,
77
+ value.items()
78
+ ))
79
+ else:
80
+ result[attr] = value
81
+ if issubclass(V1MediaType, dict):
82
+ for key, value in self.items():
83
+ result[key] = value
84
+
85
+ return result
86
+
87
+ def to_str(self) -> str:
88
+ """Returns the string representation of the model"""
89
+ return pprint.pformat(self.to_dict())
90
+
91
+ def __repr__(self) -> str:
92
+ """For `print` and `pprint`"""
93
+ return self.to_str()
94
+
95
+ def __eq__(self, other: 'V1MediaType') -> bool:
96
+ """Returns true if both objects are equal"""
97
+ if not isinstance(other, V1MediaType):
98
+ return False
99
+
100
+ return self.__dict__ == other.__dict__
101
+
102
+ def __ne__(self, other: 'V1MediaType') -> bool:
103
+ """Returns true if both objects are not equal"""
104
+ return not self == other
@@ -43,20 +43,23 @@ class V1NebiusDirectV1(object):
43
43
  swagger_types = {
44
44
  'primary_region': 'str',
45
45
  'regions': 'list[str]',
46
- 'subnet_cidr_ranges': 'list[str]'
46
+ 'subnet_cidr_ranges': 'list[str]',
47
+ 'tenant_credentials': 'list[V1TenantCredentials]'
47
48
  }
48
49
 
49
50
  attribute_map = {
50
51
  'primary_region': 'primaryRegion',
51
52
  'regions': 'regions',
52
- 'subnet_cidr_ranges': 'subnetCidrRanges'
53
+ 'subnet_cidr_ranges': 'subnetCidrRanges',
54
+ 'tenant_credentials': 'tenantCredentials'
53
55
  }
54
56
 
55
- def __init__(self, primary_region: 'str' =None, regions: 'list[str]' =None, subnet_cidr_ranges: 'list[str]' =None): # noqa: E501
57
+ def __init__(self, primary_region: 'str' =None, regions: 'list[str]' =None, subnet_cidr_ranges: 'list[str]' =None, tenant_credentials: 'list[V1TenantCredentials]' =None): # noqa: E501
56
58
  """V1NebiusDirectV1 - a model defined in Swagger""" # noqa: E501
57
59
  self._primary_region = None
58
60
  self._regions = None
59
61
  self._subnet_cidr_ranges = None
62
+ self._tenant_credentials = None
60
63
  self.discriminator = None
61
64
  if primary_region is not None:
62
65
  self.primary_region = primary_region
@@ -64,6 +67,8 @@ class V1NebiusDirectV1(object):
64
67
  self.regions = regions
65
68
  if subnet_cidr_ranges is not None:
66
69
  self.subnet_cidr_ranges = subnet_cidr_ranges
70
+ if tenant_credentials is not None:
71
+ self.tenant_credentials = tenant_credentials
67
72
 
68
73
  @property
69
74
  def primary_region(self) -> 'str':
@@ -128,6 +133,27 @@ class V1NebiusDirectV1(object):
128
133
 
129
134
  self._subnet_cidr_ranges = subnet_cidr_ranges
130
135
 
136
+ @property
137
+ def tenant_credentials(self) -> 'list[V1TenantCredentials]':
138
+ """Gets the tenant_credentials of this V1NebiusDirectV1. # noqa: E501
139
+
140
+
141
+ :return: The tenant_credentials of this V1NebiusDirectV1. # noqa: E501
142
+ :rtype: list[V1TenantCredentials]
143
+ """
144
+ return self._tenant_credentials
145
+
146
+ @tenant_credentials.setter
147
+ def tenant_credentials(self, tenant_credentials: 'list[V1TenantCredentials]'):
148
+ """Sets the tenant_credentials of this V1NebiusDirectV1.
149
+
150
+
151
+ :param tenant_credentials: The tenant_credentials of this V1NebiusDirectV1. # noqa: E501
152
+ :type: list[V1TenantCredentials]
153
+ """
154
+
155
+ self._tenant_credentials = tenant_credentials
156
+
131
157
  def to_dict(self) -> dict:
132
158
  """Returns the model properties as a dict"""
133
159
  result = {}
@@ -84,6 +84,7 @@ class V1Organization(object):
84
84
  'preferred_deployment_provider': 'str',
85
85
  'preferred_studio_provider': 'str',
86
86
  'show_model_apis_tab': 'bool',
87
+ 'skip_phone_verification': 'bool',
87
88
  'start_studios_on_spot_instance': 'bool',
88
89
  'storage_overuse_bytes': 'str',
89
90
  'storage_overuse_deletion_at': 'datetime',
@@ -139,6 +140,7 @@ class V1Organization(object):
139
140
  'preferred_deployment_provider': 'preferredDeploymentProvider',
140
141
  'preferred_studio_provider': 'preferredStudioProvider',
141
142
  'show_model_apis_tab': 'showModelApisTab',
143
+ 'skip_phone_verification': 'skipPhoneVerification',
142
144
  'start_studios_on_spot_instance': 'startStudiosOnSpotInstance',
143
145
  'storage_overuse_bytes': 'storageOveruseBytes',
144
146
  'storage_overuse_deletion_at': 'storageOveruseDeletionAt',
@@ -150,7 +152,7 @@ class V1Organization(object):
150
152
  'workload_max_run_duration': 'workloadMaxRunDuration'
151
153
  }
152
154
 
153
- def __init__(self, alerts_config: 'V1AlertsConfig' =None, allow_budgeting: 'bool' =None, allow_cloud_space_publish: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_guest: 'bool' =None, allow_marketplace: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domain_validations: 'dict(str, V1AutoJoinDomainValidation)' =None, auto_join_domains: 'list[str]' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, created_at: 'datetime' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, default_project_id: 'str' =None, description: 'str' =None, disallow_aws_saas: 'bool' =None, disallow_dgx_saas: 'bool' =None, disallow_gcp_saas: 'bool' =None, disallow_lambda_saas: 'bool' =None, disallow_lightning_saas: 'bool' =None, disallow_nebius_saas: 'bool' =None, disallow_voltage_park_saas: 'bool' =None, disallow_vultr_saas: 'bool' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, full_story_end_date: 'datetime' =None, full_story_start_date: 'datetime' =None, general_teamspace: 'bool' =None, id: 'str' =None, last_storage_overuse_notification_sent_at: 'datetime' =None, location: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, show_model_apis_tab: 'bool' =None, start_studios_on_spot_instance: 'bool' =None, storage_overuse_bytes: 'str' =None, storage_overuse_deletion_at: 'datetime' =None, storage_overuse_notification_count: 'int' =None, switch_to_default_machine_on_idle: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, updated_at: 'datetime' =None, workload_max_run_duration: 'str' =None): # noqa: E501
155
+ def __init__(self, alerts_config: 'V1AlertsConfig' =None, allow_budgeting: 'bool' =None, allow_cloud_space_publish: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_guest: 'bool' =None, allow_marketplace: 'bool' =None, allow_member_invitations: 'bool' =None, allow_member_teamspace_creation: 'bool' =None, auto_invite_by_domain: 'bool' =None, auto_join_domain_validations: 'dict(str, V1AutoJoinDomainValidation)' =None, auto_join_domains: 'list[str]' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, created_at: 'datetime' =None, default_machine_image_version: 'str' =None, default_machine_type: 'str' =None, default_project_id: 'str' =None, description: 'str' =None, disallow_aws_saas: 'bool' =None, disallow_dgx_saas: 'bool' =None, disallow_gcp_saas: 'bool' =None, disallow_lambda_saas: 'bool' =None, disallow_lightning_saas: 'bool' =None, disallow_nebius_saas: 'bool' =None, disallow_voltage_park_saas: 'bool' =None, disallow_vultr_saas: 'bool' =None, display_name: 'str' =None, domain: 'str' =None, email: 'str' =None, featured_gallery: 'bool' =None, full_story_end_date: 'datetime' =None, full_story_start_date: 'datetime' =None, general_teamspace: 'bool' =None, id: 'str' =None, last_storage_overuse_notification_sent_at: 'datetime' =None, location: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, show_model_apis_tab: 'bool' =None, skip_phone_verification: 'bool' =None, start_studios_on_spot_instance: 'bool' =None, storage_overuse_bytes: 'str' =None, storage_overuse_deletion_at: 'datetime' =None, storage_overuse_notification_count: 'int' =None, switch_to_default_machine_on_idle: 'bool' =None, teamspace_default_credits: 'float' =None, twitter_username: 'str' =None, updated_at: 'datetime' =None, workload_max_run_duration: 'str' =None): # noqa: E501
154
156
  """V1Organization - a model defined in Swagger""" # noqa: E501
155
157
  self._alerts_config = None
156
158
  self._allow_budgeting = None
@@ -195,6 +197,7 @@ class V1Organization(object):
195
197
  self._preferred_deployment_provider = None
196
198
  self._preferred_studio_provider = None
197
199
  self._show_model_apis_tab = None
200
+ self._skip_phone_verification = None
198
201
  self._start_studios_on_spot_instance = None
199
202
  self._storage_overuse_bytes = None
200
203
  self._storage_overuse_deletion_at = None
@@ -291,6 +294,8 @@ class V1Organization(object):
291
294
  self.preferred_studio_provider = preferred_studio_provider
292
295
  if show_model_apis_tab is not None:
293
296
  self.show_model_apis_tab = show_model_apis_tab
297
+ if skip_phone_verification is not None:
298
+ self.skip_phone_verification = skip_phone_verification
294
299
  if start_studios_on_spot_instance is not None:
295
300
  self.start_studios_on_spot_instance = start_studios_on_spot_instance
296
301
  if storage_overuse_bytes is not None:
@@ -1215,6 +1220,27 @@ class V1Organization(object):
1215
1220
 
1216
1221
  self._show_model_apis_tab = show_model_apis_tab
1217
1222
 
1223
+ @property
1224
+ def skip_phone_verification(self) -> 'bool':
1225
+ """Gets the skip_phone_verification of this V1Organization. # noqa: E501
1226
+
1227
+
1228
+ :return: The skip_phone_verification of this V1Organization. # noqa: E501
1229
+ :rtype: bool
1230
+ """
1231
+ return self._skip_phone_verification
1232
+
1233
+ @skip_phone_verification.setter
1234
+ def skip_phone_verification(self, skip_phone_verification: 'bool'):
1235
+ """Sets the skip_phone_verification of this V1Organization.
1236
+
1237
+
1238
+ :param skip_phone_verification: The skip_phone_verification of this V1Organization. # noqa: E501
1239
+ :type: bool
1240
+ """
1241
+
1242
+ self._skip_phone_verification = skip_phone_verification
1243
+
1218
1244
  @property
1219
1245
  def start_studios_on_spot_instance(self) -> 'bool':
1220
1246
  """Gets the start_studios_on_spot_instance of this V1Organization. # noqa: E501
@@ -0,0 +1,97 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ external/v1/auth_service.proto
5
+
6
+ No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501
7
+
8
+ OpenAPI spec version: version not set
9
+
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+
12
+ NOTE
13
+ ----
14
+ standard swagger-codegen-cli for this python client has been modified
15
+ by custom templates. The purpose of these templates is to include
16
+ typing information in the API and Model code. Please refer to the
17
+ main grid repository for more info
18
+ """
19
+
20
+ import pprint
21
+ import re # noqa: F401
22
+
23
+ from typing import TYPE_CHECKING
24
+
25
+ import six
26
+
27
+ if TYPE_CHECKING:
28
+ from datetime import datetime
29
+ from lightning_sdk.lightning_cloud.openapi.models import *
30
+
31
+ class V1ReportCloudSpaceInstanceIdleStateResponse(object):
32
+ """NOTE: This class is auto generated by the swagger code generator program.
33
+
34
+ Do not edit the class manually.
35
+ """
36
+ """
37
+ Attributes:
38
+ swagger_types (dict): The key is attribute name
39
+ and the value is attribute type.
40
+ attribute_map (dict): The key is attribute name
41
+ and the value is json key in definition.
42
+ """
43
+ swagger_types = {
44
+ }
45
+
46
+ attribute_map = {
47
+ }
48
+
49
+ def __init__(self): # noqa: E501
50
+ """V1ReportCloudSpaceInstanceIdleStateResponse - a model defined in Swagger""" # noqa: E501
51
+ self.discriminator = None
52
+
53
+ def to_dict(self) -> dict:
54
+ """Returns the model properties as a dict"""
55
+ result = {}
56
+
57
+ for attr, _ in six.iteritems(self.swagger_types):
58
+ value = getattr(self, attr)
59
+ if isinstance(value, list):
60
+ result[attr] = list(map(
61
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
62
+ value
63
+ ))
64
+ elif hasattr(value, "to_dict"):
65
+ result[attr] = value.to_dict()
66
+ elif isinstance(value, dict):
67
+ result[attr] = dict(map(
68
+ lambda item: (item[0], item[1].to_dict())
69
+ if hasattr(item[1], "to_dict") else item,
70
+ value.items()
71
+ ))
72
+ else:
73
+ result[attr] = value
74
+ if issubclass(V1ReportCloudSpaceInstanceIdleStateResponse, dict):
75
+ for key, value in self.items():
76
+ result[key] = value
77
+
78
+ return result
79
+
80
+ def to_str(self) -> str:
81
+ """Returns the string representation of the model"""
82
+ return pprint.pformat(self.to_dict())
83
+
84
+ def __repr__(self) -> str:
85
+ """For `print` and `pprint`"""
86
+ return self.to_str()
87
+
88
+ def __eq__(self, other: 'V1ReportCloudSpaceInstanceIdleStateResponse') -> bool:
89
+ """Returns true if both objects are equal"""
90
+ if not isinstance(other, V1ReportCloudSpaceInstanceIdleStateResponse):
91
+ return False
92
+
93
+ return self.__dict__ == other.__dict__
94
+
95
+ def __ne__(self, other: 'V1ReportCloudSpaceInstanceIdleStateResponse') -> bool:
96
+ """Returns true if both objects are not equal"""
97
+ return not self == other