lightning-sdk 2025.8.6rc2__py3-none-any.whl → 2025.11.5__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 (330) hide show
  1. lightning_sdk/__init__.py +13 -7
  2. lightning_sdk/__version__.py +3 -0
  3. lightning_sdk/agents.py +2 -1
  4. lightning_sdk/ai_hub.py +2 -1
  5. lightning_sdk/api/__init__.py +2 -0
  6. lightning_sdk/api/base_studio_api.py +13 -9
  7. lightning_sdk/api/cloud_account_api.py +31 -10
  8. lightning_sdk/api/deployment_api.py +27 -1
  9. lightning_sdk/api/job_api.py +16 -12
  10. lightning_sdk/api/license_api.py +26 -59
  11. lightning_sdk/api/llm_api.py +25 -2
  12. lightning_sdk/api/mmt_api.py +5 -2
  13. lightning_sdk/api/studio_api.py +252 -55
  14. lightning_sdk/api/teamspace_api.py +106 -30
  15. lightning_sdk/api/user_api.py +56 -2
  16. lightning_sdk/api/utils.py +108 -18
  17. lightning_sdk/base_studio.py +51 -27
  18. lightning_sdk/cli/__init__.py +1 -0
  19. lightning_sdk/cli/base_studio/__init__.py +10 -0
  20. lightning_sdk/cli/base_studio/list.py +43 -0
  21. lightning_sdk/cli/config/__init__.py +14 -0
  22. lightning_sdk/cli/config/get.py +57 -0
  23. lightning_sdk/cli/config/set.py +92 -0
  24. lightning_sdk/cli/config/show.py +9 -0
  25. lightning_sdk/cli/entrypoint.py +71 -71
  26. lightning_sdk/cli/groups.py +56 -0
  27. lightning_sdk/cli/job/__init__.py +7 -0
  28. lightning_sdk/cli/{clusters_menu.py → legacy/clusters_menu.py} +9 -6
  29. lightning_sdk/cli/{configure.py → legacy/configure.py} +2 -2
  30. lightning_sdk/cli/{connect.py → legacy/connect.py} +2 -2
  31. lightning_sdk/cli/{create.py → legacy/create.py} +12 -14
  32. lightning_sdk/cli/{delete.py → legacy/delete.py} +5 -5
  33. lightning_sdk/cli/legacy/deploy/__init__.py +0 -0
  34. lightning_sdk/cli/{deploy → legacy/deploy}/_auth.py +5 -6
  35. lightning_sdk/cli/{deploy → legacy/deploy}/devbox.py +8 -2
  36. lightning_sdk/cli/{deploy → legacy/deploy}/serve.py +19 -8
  37. lightning_sdk/cli/{download.py → legacy/download.py} +14 -15
  38. lightning_sdk/cli/legacy/entrypoint.py +110 -0
  39. lightning_sdk/cli/{generate.py → legacy/generate.py} +1 -1
  40. lightning_sdk/cli/{inspection.py → legacy/inspection.py} +1 -1
  41. lightning_sdk/cli/{job_and_mmt_action.py → legacy/job_and_mmt_action.py} +6 -6
  42. lightning_sdk/cli/{jobs_menu.py → legacy/jobs_menu.py} +1 -1
  43. lightning_sdk/cli/{list.py → legacy/list.py} +12 -13
  44. lightning_sdk/cli/{mmts_menu.py → legacy/mmts_menu.py} +1 -1
  45. lightning_sdk/cli/{open.py → legacy/open.py} +4 -4
  46. lightning_sdk/cli/{start.py → legacy/start.py} +1 -0
  47. lightning_sdk/cli/{stop.py → legacy/stop.py} +1 -1
  48. lightning_sdk/cli/{switch.py → legacy/switch.py} +1 -0
  49. lightning_sdk/cli/{teamspace_menu.py → legacy/teamspace_menu.py} +1 -1
  50. lightning_sdk/cli/{upload.py → legacy/upload.py} +7 -8
  51. lightning_sdk/cli/license/__init__.py +14 -0
  52. lightning_sdk/cli/license/get.py +15 -0
  53. lightning_sdk/cli/license/list.py +45 -0
  54. lightning_sdk/cli/license/set.py +13 -0
  55. lightning_sdk/cli/mmt/__init__.py +7 -0
  56. lightning_sdk/cli/studio/__init__.py +24 -0
  57. lightning_sdk/cli/studio/connect.py +139 -0
  58. lightning_sdk/cli/studio/create.py +96 -0
  59. lightning_sdk/cli/studio/delete.py +49 -0
  60. lightning_sdk/cli/studio/list.py +85 -0
  61. lightning_sdk/cli/studio/ssh.py +64 -0
  62. lightning_sdk/cli/studio/start.py +115 -0
  63. lightning_sdk/cli/studio/stop.py +45 -0
  64. lightning_sdk/cli/studio/switch.py +66 -0
  65. lightning_sdk/cli/utils/__init__.py +7 -0
  66. lightning_sdk/cli/utils/cloud_account_map.py +10 -0
  67. lightning_sdk/cli/utils/get_base_studio.py +24 -0
  68. lightning_sdk/cli/utils/handle_machine_and_gpus_args.py +69 -0
  69. lightning_sdk/cli/utils/logging.py +122 -0
  70. lightning_sdk/cli/utils/owner_selection.py +110 -0
  71. lightning_sdk/cli/utils/resolve.py +28 -0
  72. lightning_sdk/cli/utils/richt_print.py +35 -0
  73. lightning_sdk/cli/utils/save_to_config.py +27 -0
  74. lightning_sdk/cli/utils/ssh_connection.py +59 -0
  75. lightning_sdk/cli/utils/studio_selection.py +113 -0
  76. lightning_sdk/cli/utils/teamspace_selection.py +125 -0
  77. lightning_sdk/cli/vm/__init__.py +20 -0
  78. lightning_sdk/cli/vm/create.py +33 -0
  79. lightning_sdk/cli/vm/delete.py +25 -0
  80. lightning_sdk/cli/vm/list.py +30 -0
  81. lightning_sdk/cli/vm/ssh.py +31 -0
  82. lightning_sdk/cli/vm/start.py +60 -0
  83. lightning_sdk/cli/vm/stop.py +25 -0
  84. lightning_sdk/cli/vm/switch.py +38 -0
  85. lightning_sdk/constants.py +1 -0
  86. lightning_sdk/deployment/__init__.py +2 -0
  87. lightning_sdk/deployment/deployment.py +17 -2
  88. lightning_sdk/helpers.py +56 -37
  89. lightning_sdk/job/base.py +21 -6
  90. lightning_sdk/job/job.py +13 -0
  91. lightning_sdk/job/v1.py +11 -0
  92. lightning_sdk/job/v2.py +12 -0
  93. lightning_sdk/lightning_cloud/login.py +320 -10
  94. lightning_sdk/lightning_cloud/openapi/__init__.py +113 -3
  95. lightning_sdk/lightning_cloud/openapi/api/__init__.py +3 -0
  96. lightning_sdk/lightning_cloud/openapi/api/assistants_service_api.py +713 -75
  97. lightning_sdk/lightning_cloud/openapi/api/auth_service_api.py +376 -0
  98. lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +191 -1
  99. lightning_sdk/lightning_cloud/openapi/api/cloud_space_environment_template_service_api.py +5 -1
  100. lightning_sdk/lightning_cloud/openapi/api/cloud_space_service_api.py +420 -0
  101. lightning_sdk/lightning_cloud/openapi/api/cloudy_service_api.py +0 -97
  102. lightning_sdk/lightning_cloud/openapi/api/cluster_service_api.py +420 -0
  103. lightning_sdk/lightning_cloud/openapi/api/data_connection_service_api.py +101 -0
  104. lightning_sdk/lightning_cloud/openapi/api/incidents_service_api.py +1058 -0
  105. lightning_sdk/lightning_cloud/openapi/api/jobs_service_api.py +121 -0
  106. lightning_sdk/lightning_cloud/openapi/api/k8_s_cluster_service_api.py +1742 -94
  107. lightning_sdk/lightning_cloud/openapi/api/markets_service_api.py +145 -0
  108. lightning_sdk/lightning_cloud/openapi/api/models_store_api.py +4 -4
  109. lightning_sdk/lightning_cloud/openapi/api/product_license_service_api.py +108 -108
  110. lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +105 -0
  111. lightning_sdk/lightning_cloud/openapi/api/schedules_service_api.py +347 -0
  112. lightning_sdk/lightning_cloud/openapi/api/sdk_command_history_service_api.py +141 -0
  113. lightning_sdk/lightning_cloud/openapi/api/storage_service_api.py +761 -1
  114. lightning_sdk/lightning_cloud/openapi/configuration.py +3 -19
  115. lightning_sdk/lightning_cloud/openapi/models/__init__.py +110 -3
  116. lightning_sdk/lightning_cloud/openapi/models/assistant_id_conversations_body.py +15 -15
  117. lightning_sdk/lightning_cloud/openapi/models/cloudspace_id_visibility_body.py +27 -1
  118. lightning_sdk/lightning_cloud/openapi/models/cluster_id_kubernetestemplates_body.py +201 -0
  119. lightning_sdk/lightning_cloud/openapi/models/cluster_id_metrics_body.py +131 -1
  120. lightning_sdk/lightning_cloud/openapi/models/create.py +27 -1
  121. lightning_sdk/lightning_cloud/openapi/models/create_machine_request_represents_the_request_to_create_a_machine.py +461 -0
  122. lightning_sdk/lightning_cloud/openapi/models/deployments_id_body.py +27 -1
  123. lightning_sdk/lightning_cloud/openapi/models/externalv1_cloud_space_instance_status.py +105 -1
  124. lightning_sdk/lightning_cloud/openapi/models/externalv1_user_status.py +27 -1
  125. lightning_sdk/lightning_cloud/openapi/models/id_codeconfig_body.py +3 -81
  126. lightning_sdk/lightning_cloud/openapi/models/id_fork_body1.py +27 -1
  127. lightning_sdk/lightning_cloud/openapi/models/id_render_body.py +123 -0
  128. lightning_sdk/lightning_cloud/openapi/models/id_sleepconfig_body.py +175 -0
  129. lightning_sdk/lightning_cloud/openapi/models/id_transfer_body.py +53 -1
  130. lightning_sdk/lightning_cloud/openapi/models/incident_id_messages_body.py +123 -0
  131. lightning_sdk/lightning_cloud/openapi/models/incidents_id_body.py +279 -0
  132. lightning_sdk/lightning_cloud/openapi/models/job_id_reportroutingtelemetry_body.py +123 -0
  133. lightning_sdk/lightning_cloud/openapi/models/kubernetestemplates_id_body.py +201 -0
  134. lightning_sdk/lightning_cloud/openapi/models/license_key_validate_body.py +123 -0
  135. lightning_sdk/lightning_cloud/openapi/models/message_id_actions_body.py +201 -0
  136. lightning_sdk/lightning_cloud/openapi/models/messages_message_id_body.py +123 -0
  137. lightning_sdk/lightning_cloud/openapi/models/metricsstream_create_body.py +27 -1
  138. lightning_sdk/lightning_cloud/openapi/models/models_model_id_body.py +109 -31
  139. lightning_sdk/lightning_cloud/openapi/models/models_model_id_body1.py +149 -0
  140. lightning_sdk/lightning_cloud/openapi/models/orgs_id_body.py +53 -1
  141. lightning_sdk/lightning_cloud/openapi/models/project_id_storage_body.py +27 -1
  142. lightning_sdk/lightning_cloud/openapi/models/project_id_storagetransfers_body.py +175 -0
  143. lightning_sdk/lightning_cloud/openapi/models/project_tab_management_messages.py +123 -0
  144. lightning_sdk/lightning_cloud/openapi/models/projects_id_body.py +79 -1
  145. lightning_sdk/lightning_cloud/openapi/models/storage_complete_body.py +41 -15
  146. lightning_sdk/lightning_cloud/openapi/models/storagetransfers_validate_body.py +149 -0
  147. lightning_sdk/lightning_cloud/openapi/models/update1.py +27 -1
  148. lightning_sdk/lightning_cloud/openapi/models/uploads_upload_id_body1.py +27 -1
  149. lightning_sdk/lightning_cloud/openapi/models/user_id_affiliatelinks_body.py +107 -3
  150. lightning_sdk/lightning_cloud/openapi/models/v1_abort_storage_transfer_response.py +97 -0
  151. lightning_sdk/lightning_cloud/openapi/models/v1_aggregated_pod_metrics.py +799 -0
  152. lightning_sdk/lightning_cloud/openapi/models/v1_ai_pod_v1.py +53 -1
  153. lightning_sdk/lightning_cloud/openapi/models/v1_assistant_session_daily_aggregated.py +27 -1
  154. lightning_sdk/lightning_cloud/openapi/models/v1_billing_tier.py +0 -1
  155. lightning_sdk/lightning_cloud/openapi/models/v1_cancel_running_cloud_space_instance_transfer_response.py +97 -0
  156. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_provider.py +2 -0
  157. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_environment_template_config.py +27 -1
  158. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_specialized_view.py +1 -0
  159. lightning_sdk/lightning_cloud/openapi/models/v1_cloud_space_transfer_metadata.py +147 -17
  160. lightning_sdk/lightning_cloud/openapi/models/v1_cloudflare_v1.py +3 -29
  161. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_accelerator.py +53 -1
  162. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_capacity_reservation.py +27 -1
  163. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_metrics.py +1527 -0
  164. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_security_options.py +27 -1
  165. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_spec.py +53 -1
  166. lightning_sdk/lightning_cloud/openapi/models/v1_cluster_type.py +1 -0
  167. lightning_sdk/lightning_cloud/openapi/models/v1_container_metrics.py +21 -21
  168. lightning_sdk/lightning_cloud/openapi/models/v1_create_incident_request.py +305 -0
  169. lightning_sdk/lightning_cloud/openapi/models/v1_create_license_request.py +175 -0
  170. lightning_sdk/lightning_cloud/openapi/models/v1_create_machine_response.py +123 -0
  171. lightning_sdk/lightning_cloud/openapi/models/v1_create_model_metrics_response.py +97 -0
  172. lightning_sdk/lightning_cloud/openapi/models/v1_create_project_request.py +79 -1
  173. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_request.py +253 -0
  174. lightning_sdk/lightning_cloud/openapi/models/v1_create_sdk_command_history_response.py +97 -0
  175. lightning_sdk/lightning_cloud/openapi/models/v1_daily_model_metrics.py +149 -0
  176. lightning_sdk/lightning_cloud/openapi/models/v1_data_connection.py +53 -1
  177. lightning_sdk/lightning_cloud/openapi/models/v1_delete_incident_message_response.py +97 -0
  178. lightning_sdk/lightning_cloud/openapi/models/v1_delete_incident_response.py +97 -0
  179. lightning_sdk/lightning_cloud/openapi/models/v1_delete_kubernetes_template_response.py +97 -0
  180. lightning_sdk/lightning_cloud/openapi/models/v1_delete_license_response.py +97 -0
  181. lightning_sdk/lightning_cloud/openapi/models/v1_delete_machine_response.py +97 -0
  182. lightning_sdk/lightning_cloud/openapi/models/v1_deployment.py +27 -1
  183. lightning_sdk/lightning_cloud/openapi/models/v1_external_cluster_spec.py +53 -1
  184. lightning_sdk/lightning_cloud/openapi/models/v1_external_search_user.py +27 -1
  185. lightning_sdk/lightning_cloud/openapi/models/v1_filestore_data_connection.py +27 -1
  186. lightning_sdk/lightning_cloud/openapi/models/v1_filesystem_metric.py +201 -0
  187. lightning_sdk/lightning_cloud/openapi/models/v1_firewall_rule.py +175 -0
  188. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_required_balance_status_response.py +149 -0
  189. lightning_sdk/lightning_cloud/openapi/models/v1_get_cloud_space_transfer_estimate_response.py +149 -0
  190. lightning_sdk/lightning_cloud/openapi/models/v1_get_latest_model_metrics_response.py +123 -0
  191. lightning_sdk/lightning_cloud/openapi/models/v1_get_machine_response.py +123 -0
  192. lightning_sdk/lightning_cloud/openapi/models/v1_get_market_pricing_response.py +201 -0
  193. lightning_sdk/lightning_cloud/openapi/models/v1_get_model_metrics_response.py +123 -0
  194. lightning_sdk/lightning_cloud/openapi/models/v1_get_temp_bucket_credentials_response.py +201 -0
  195. lightning_sdk/lightning_cloud/openapi/models/v1_get_user_response.py +41 -15
  196. lightning_sdk/lightning_cloud/openapi/models/v1_google_cloud_direct_v1.py +27 -1
  197. lightning_sdk/lightning_cloud/openapi/models/v1_group_node_metrics.py +1215 -0
  198. lightning_sdk/lightning_cloud/openapi/models/v1_group_pod_metrics.py +1241 -0
  199. lightning_sdk/lightning_cloud/openapi/models/v1_guest_login_request.py +177 -0
  200. lightning_sdk/lightning_cloud/openapi/models/v1_guest_login_response.py +149 -0
  201. lightning_sdk/lightning_cloud/openapi/models/v1_guest_user.py +201 -0
  202. lightning_sdk/lightning_cloud/openapi/models/v1_incident.py +565 -0
  203. lightning_sdk/lightning_cloud/openapi/models/v1_incident_detail.py +149 -0
  204. lightning_sdk/lightning_cloud/openapi/models/v1_incident_event.py +591 -0
  205. lightning_sdk/lightning_cloud/openapi/models/v1_incident_message.py +253 -0
  206. lightning_sdk/lightning_cloud/openapi/models/v1_incident_severity.py +105 -0
  207. lightning_sdk/lightning_cloud/openapi/models/v1_incident_type.py +108 -0
  208. lightning_sdk/lightning_cloud/openapi/models/v1_job.py +53 -1
  209. lightning_sdk/lightning_cloud/openapi/models/v1_job_spec.py +27 -1
  210. lightning_sdk/lightning_cloud/openapi/models/v1_k8s_incident_indexes.py +149 -0
  211. lightning_sdk/lightning_cloud/openapi/models/v1_kai_scheduler_queue_metrics.py +627 -0
  212. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_aws_config.py +279 -0
  213. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_settings_v1.py +253 -0
  214. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_direct_v1.py +107 -3
  215. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_template.py +357 -0
  216. lightning_sdk/lightning_cloud/openapi/models/v1_kubernetes_template_property.py +227 -0
  217. lightning_sdk/lightning_cloud/openapi/models/v1_lambda_labs_direct_v1.py +29 -3
  218. lightning_sdk/lightning_cloud/openapi/models/v1_license.py +227 -0
  219. lightning_sdk/lightning_cloud/openapi/models/v1_lightning_elastic_cluster_v1.py +97 -0
  220. lightning_sdk/lightning_cloud/openapi/models/v1_list_aggregated_pod_metrics_response.py +123 -0
  221. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metric_timestamps_response.py +123 -0
  222. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_metrics_response.py +123 -0
  223. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_metrics_response.py +123 -0
  224. lightning_sdk/lightning_cloud/openapi/models/v1_list_cluster_namespace_user_metrics_response.py +123 -0
  225. lightning_sdk/lightning_cloud/openapi/models/v1_list_conversation_message_actions_response.py +123 -0
  226. lightning_sdk/lightning_cloud/openapi/models/v1_list_filesystem_metrics_response.py +123 -0
  227. lightning_sdk/lightning_cloud/openapi/models/v1_list_group_pod_metrics_response.py +123 -0
  228. lightning_sdk/lightning_cloud/openapi/models/v1_list_incident_events_response.py +123 -0
  229. lightning_sdk/lightning_cloud/openapi/models/v1_list_incident_messages_response.py +149 -0
  230. lightning_sdk/lightning_cloud/openapi/models/v1_list_incidents_response.py +149 -0
  231. lightning_sdk/lightning_cloud/openapi/models/v1_list_kai_scheduler_queues_metrics_response.py +123 -0
  232. lightning_sdk/lightning_cloud/openapi/models/v1_list_kubernetes_templates_response.py +123 -0
  233. lightning_sdk/lightning_cloud/openapi/models/{v1_list_product_licenses_response.py → v1_list_license_response.py} +16 -16
  234. lightning_sdk/lightning_cloud/openapi/models/v1_list_machines_response.py +149 -0
  235. lightning_sdk/lightning_cloud/openapi/models/v1_list_platform_notifications_response.py +123 -0
  236. lightning_sdk/lightning_cloud/openapi/models/v1_list_schedule_runs_response.py +123 -0
  237. lightning_sdk/lightning_cloud/openapi/models/v1_list_storage_transfers_response.py +123 -0
  238. lightning_sdk/lightning_cloud/openapi/models/v1_lustre_data_connection.py +149 -0
  239. lightning_sdk/lightning_cloud/openapi/models/v1_machine.py +617 -0
  240. lightning_sdk/lightning_cloud/openapi/models/v1_machine_direct_v1.py +123 -0
  241. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_request.py +1 -27
  242. lightning_sdk/lightning_cloud/openapi/models/v1_magic_link_login_response.py +27 -1
  243. lightning_sdk/lightning_cloud/openapi/models/v1_managed_model.py +29 -3
  244. lightning_sdk/lightning_cloud/openapi/models/v1_market_price.py +149 -0
  245. lightning_sdk/lightning_cloud/openapi/models/v1_membership.py +53 -1
  246. lightning_sdk/lightning_cloud/openapi/models/v1_message_action.py +279 -0
  247. lightning_sdk/lightning_cloud/openapi/models/v1_metrics_stream.py +27 -1
  248. lightning_sdk/lightning_cloud/openapi/models/v1_model_metrics.py +175 -0
  249. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_metrics.py +591 -0
  250. lightning_sdk/lightning_cloud/openapi/models/v1_namespace_user_metrics.py +435 -0
  251. lightning_sdk/lightning_cloud/openapi/models/v1_nebius_direct_v1.py +29 -3
  252. lightning_sdk/lightning_cloud/openapi/models/v1_node_metrics.py +361 -23
  253. lightning_sdk/lightning_cloud/openapi/models/v1_notification_type.py +1 -0
  254. lightning_sdk/lightning_cloud/openapi/models/v1_organization.py +53 -1
  255. lightning_sdk/lightning_cloud/openapi/models/v1_pause_storage_transfer_response.py +97 -0
  256. lightning_sdk/lightning_cloud/openapi/models/v1_platform_notification.py +279 -0
  257. lightning_sdk/lightning_cloud/openapi/models/v1_pod_metrics.py +335 -23
  258. lightning_sdk/lightning_cloud/openapi/models/v1_project.py +27 -1
  259. lightning_sdk/lightning_cloud/openapi/models/v1_project_cluster_binding.py +27 -1
  260. lightning_sdk/lightning_cloud/openapi/models/v1_project_membership.py +53 -1
  261. lightning_sdk/lightning_cloud/openapi/models/v1_project_settings.py +53 -1
  262. lightning_sdk/lightning_cloud/openapi/models/v1_project_tab.py +149 -0
  263. lightning_sdk/lightning_cloud/openapi/models/{v1_product_license_check_response.py → v1_purchase_annual_upsell_request.py} +23 -23
  264. lightning_sdk/lightning_cloud/openapi/models/v1_purchase_annual_upsell_response.py +123 -0
  265. lightning_sdk/lightning_cloud/openapi/models/v1_quote_annual_upsell_response.py +227 -0
  266. lightning_sdk/lightning_cloud/openapi/models/v1_render_kubernetes_template_response.py +123 -0
  267. lightning_sdk/lightning_cloud/openapi/models/v1_report_deployment_routing_telemetry_response.py +97 -0
  268. lightning_sdk/lightning_cloud/openapi/models/v1_required_balance_reason.py +107 -0
  269. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_request.py +97 -0
  270. lightning_sdk/lightning_cloud/openapi/models/v1_reset_api_key_response.py +123 -0
  271. lightning_sdk/lightning_cloud/openapi/models/v1_resource_visibility.py +1 -27
  272. lightning_sdk/lightning_cloud/openapi/models/v1_resume_storage_transfer_response.py +97 -0
  273. lightning_sdk/lightning_cloud/openapi/models/v1_routing_telemetry.py +79 -1
  274. lightning_sdk/lightning_cloud/openapi/models/v1_rule_resource.py +1 -0
  275. lightning_sdk/lightning_cloud/openapi/models/v1_schedule_run.py +357 -0
  276. lightning_sdk/lightning_cloud/openapi/models/v1_sdk_command_history_severity.py +104 -0
  277. lightning_sdk/lightning_cloud/openapi/models/v1_sdk_command_history_type.py +104 -0
  278. lightning_sdk/lightning_cloud/openapi/models/v1_secret_type.py +1 -0
  279. lightning_sdk/lightning_cloud/openapi/models/v1_server_alert_type.py +1 -0
  280. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier.py +201 -0
  281. lightning_sdk/lightning_cloud/openapi/models/v1_slack_notifier_type.py +105 -0
  282. lightning_sdk/lightning_cloud/openapi/models/v1_storage_asset.py +133 -3
  283. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer.py +435 -0
  284. lightning_sdk/lightning_cloud/openapi/models/v1_storage_transfer_status.py +108 -0
  285. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_request.py +123 -0
  286. lightning_sdk/lightning_cloud/openapi/models/v1_token_login_response.py +123 -0
  287. lightning_sdk/lightning_cloud/openapi/models/v1_token_owner_type.py +104 -0
  288. lightning_sdk/lightning_cloud/openapi/models/v1_update_cloud_space_instance_config_request.py +3 -81
  289. lightning_sdk/lightning_cloud/openapi/models/v1_update_project_tab_order_response.py +123 -0
  290. lightning_sdk/lightning_cloud/openapi/models/v1_update_user_request.py +41 -15
  291. lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +444 -600
  292. lightning_sdk/lightning_cloud/openapi/models/v1_validate_license_response.py +123 -0
  293. lightning_sdk/lightning_cloud/openapi/models/v1_validate_storage_transfer_response.py +123 -0
  294. lightning_sdk/lightning_cloud/openapi/models/v1_voltage_park_direct_v1.py +29 -3
  295. lightning_sdk/lightning_cloud/rest_client.py +48 -45
  296. lightning_sdk/lightning_cloud/utils/data_connection.py +51 -1
  297. lightning_sdk/llm/llm.py +175 -56
  298. lightning_sdk/llm/public_assistants.py +44 -7
  299. lightning_sdk/machine.py +21 -2
  300. lightning_sdk/mmt/base.py +7 -0
  301. lightning_sdk/mmt/mmt.py +11 -3
  302. lightning_sdk/mmt/v1.py +3 -1
  303. lightning_sdk/mmt/v2.py +4 -0
  304. lightning_sdk/owner.py +2 -1
  305. lightning_sdk/pipeline/steps.py +6 -0
  306. lightning_sdk/plugin.py +6 -1
  307. lightning_sdk/studio.py +294 -53
  308. lightning_sdk/teamspace.py +167 -7
  309. lightning_sdk/user.py +19 -1
  310. lightning_sdk/utils/config.py +179 -0
  311. lightning_sdk/utils/license.py +13 -0
  312. lightning_sdk/utils/logging.py +79 -0
  313. lightning_sdk/utils/names.py +1179 -0
  314. lightning_sdk/utils/progress.py +283 -0
  315. lightning_sdk/utils/resolve.py +82 -7
  316. {lightning_sdk-2025.8.6rc2.dist-info → lightning_sdk-2025.11.5.dist-info}/METADATA +2 -1
  317. {lightning_sdk-2025.8.6rc2.dist-info → lightning_sdk-2025.11.5.dist-info}/RECORD +328 -169
  318. {lightning_sdk-2025.8.6rc2.dist-info → lightning_sdk-2025.11.5.dist-info}/entry_points.txt +1 -0
  319. lightning_sdk/lightning_cloud/openapi/models/v1_product_license.py +0 -435
  320. lightning_sdk/services/license.py +0 -363
  321. /lightning_sdk/cli/{deploy → legacy}/__init__.py +0 -0
  322. /lightning_sdk/cli/{ai_hub.py → legacy/ai_hub.py} +0 -0
  323. /lightning_sdk/cli/{docker_cli.py → legacy/docker_cli.py} +0 -0
  324. /lightning_sdk/cli/{exceptions.py → legacy/exceptions.py} +0 -0
  325. /lightning_sdk/cli/{run.py → legacy/run.py} +0 -0
  326. /lightning_sdk/cli/{studios_menu.py → legacy/studios_menu.py} +0 -0
  327. /lightning_sdk/cli/{coloring.py → utils/coloring.py} +0 -0
  328. {lightning_sdk-2025.8.6rc2.dist-info → lightning_sdk-2025.11.5.dist-info}/LICENSE +0 -0
  329. {lightning_sdk-2025.8.6rc2.dist-info → lightning_sdk-2025.11.5.dist-info}/WHEEL +0 -0
  330. {lightning_sdk-2025.8.6rc2.dist-info → lightning_sdk-2025.11.5.dist-info}/top_level.txt +0 -0
@@ -51,6 +51,7 @@ class V1ClusterSecurityOptions(object):
51
51
  'encrypt_instance_volumes': 'bool',
52
52
  'exposed_ports': 'list[str]',
53
53
  'extra_firewall_cidr_ranges': 'list[str]',
54
+ 'extra_firewall_rules': 'list[V1FirewallRule]',
54
55
  'extra_policy': 'str',
55
56
  'extra_sa_scopes': 'list[str]',
56
57
  'kms_key_id': 'str',
@@ -71,6 +72,7 @@ class V1ClusterSecurityOptions(object):
71
72
  'encrypt_instance_volumes': 'encryptInstanceVolumes',
72
73
  'exposed_ports': 'exposedPorts',
73
74
  'extra_firewall_cidr_ranges': 'extraFirewallCidrRanges',
75
+ 'extra_firewall_rules': 'extraFirewallRules',
74
76
  'extra_policy': 'extraPolicy',
75
77
  'extra_sa_scopes': 'extraSaScopes',
76
78
  'kms_key_id': 'kmsKeyId',
@@ -80,7 +82,7 @@ class V1ClusterSecurityOptions(object):
80
82
  'ssh_disabled': 'sshDisabled'
81
83
  }
82
84
 
83
- def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, disabled_services: 'list[str]' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_policy: 'str' =None, extra_sa_scopes: 'list[str]' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
85
+ def __init__(self, bucket_kms_key: 'str' =None, cloud_init_boot_cmds: 'list[str]' =None, cloud_init_run_cmds: 'list[str]' =None, containers_non_privileged: 'bool' =None, disable_public_ip: 'bool' =None, disabled_services: 'list[str]' =None, encrypt_cluster_bucket: 'bool' =None, encrypt_instance_volumes: 'bool' =None, exposed_ports: 'list[str]' =None, extra_firewall_cidr_ranges: 'list[str]' =None, extra_firewall_rules: 'list[V1FirewallRule]' =None, extra_policy: 'str' =None, extra_sa_scopes: 'list[str]' =None, kms_key_id: 'str' =None, protect_instance_metadata: 'bool' =None, rootless_docker: 'bool' =None, setup_network_load_balancer: 'bool' =None, ssh_disabled: 'bool' =None): # noqa: E501
84
86
  """V1ClusterSecurityOptions - a model defined in Swagger""" # noqa: E501
85
87
  self._bucket_kms_key = None
86
88
  self._cloud_init_boot_cmds = None
@@ -92,6 +94,7 @@ class V1ClusterSecurityOptions(object):
92
94
  self._encrypt_instance_volumes = None
93
95
  self._exposed_ports = None
94
96
  self._extra_firewall_cidr_ranges = None
97
+ self._extra_firewall_rules = None
95
98
  self._extra_policy = None
96
99
  self._extra_sa_scopes = None
97
100
  self._kms_key_id = None
@@ -120,6 +123,8 @@ class V1ClusterSecurityOptions(object):
120
123
  self.exposed_ports = exposed_ports
121
124
  if extra_firewall_cidr_ranges is not None:
122
125
  self.extra_firewall_cidr_ranges = extra_firewall_cidr_ranges
126
+ if extra_firewall_rules is not None:
127
+ self.extra_firewall_rules = extra_firewall_rules
123
128
  if extra_policy is not None:
124
129
  self.extra_policy = extra_policy
125
130
  if extra_sa_scopes is not None:
@@ -345,6 +350,27 @@ class V1ClusterSecurityOptions(object):
345
350
 
346
351
  self._extra_firewall_cidr_ranges = extra_firewall_cidr_ranges
347
352
 
353
+ @property
354
+ def extra_firewall_rules(self) -> 'list[V1FirewallRule]':
355
+ """Gets the extra_firewall_rules of this V1ClusterSecurityOptions. # noqa: E501
356
+
357
+
358
+ :return: The extra_firewall_rules of this V1ClusterSecurityOptions. # noqa: E501
359
+ :rtype: list[V1FirewallRule]
360
+ """
361
+ return self._extra_firewall_rules
362
+
363
+ @extra_firewall_rules.setter
364
+ def extra_firewall_rules(self, extra_firewall_rules: 'list[V1FirewallRule]'):
365
+ """Sets the extra_firewall_rules of this V1ClusterSecurityOptions.
366
+
367
+
368
+ :param extra_firewall_rules: The extra_firewall_rules of this V1ClusterSecurityOptions. # noqa: E501
369
+ :type: list[V1FirewallRule]
370
+ """
371
+
372
+ self._extra_firewall_rules = extra_firewall_rules
373
+
348
374
  @property
349
375
  def extra_policy(self) -> 'str':
350
376
  """Gets the extra_policy of this V1ClusterSecurityOptions. # noqa: E501
@@ -58,8 +58,10 @@ class V1ClusterSpec(object):
58
58
  'insurer_disabled': 'bool',
59
59
  'kubernetes_v1': 'V1KubernetesDirectV1',
60
60
  'lambda_labs_v1': 'V1LambdaLabsDirectV1',
61
+ 'lightning_elastic_cluster_v1': 'V1LightningElasticClusterV1',
61
62
  'lock_overprovisioning': 'bool',
62
63
  'locked_zones': 'list[str]',
64
+ 'machine_v1': 'V1MachineDirectV1',
63
65
  'monitor_deletion_disabled': 'bool',
64
66
  'nebius_v1': 'V1NebiusDirectV1',
65
67
  'overprovisioning': 'list[V1InstanceOverprovisioningSpec]',
@@ -96,8 +98,10 @@ class V1ClusterSpec(object):
96
98
  'insurer_disabled': 'insurerDisabled',
97
99
  'kubernetes_v1': 'kubernetesV1',
98
100
  'lambda_labs_v1': 'lambdaLabsV1',
101
+ 'lightning_elastic_cluster_v1': 'lightningElasticClusterV1',
99
102
  'lock_overprovisioning': 'lockOverprovisioning',
100
103
  'locked_zones': 'lockedZones',
104
+ 'machine_v1': 'machineV1',
101
105
  'monitor_deletion_disabled': 'monitorDeletionDisabled',
102
106
  'nebius_v1': 'nebiusV1',
103
107
  'overprovisioning': 'overprovisioning',
@@ -116,7 +120,7 @@ class V1ClusterSpec(object):
116
120
  'vultr_v1': 'vultrV1'
117
121
  }
118
122
 
119
- 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, 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, lock_overprovisioning: 'bool' =None, locked_zones: 'list[str]' =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, user_id: 'str' =None, vibe_coding_enabled: 'bool' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
123
+ 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, 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, user_id: 'str' =None, vibe_coding_enabled: 'bool' =None, voltage_park_v1: 'V1VoltageParkDirectV1' =None, vultr_v1: 'V1VultrDirectV1' =None): # noqa: E501
120
124
  """V1ClusterSpec - a model defined in Swagger""" # noqa: E501
121
125
  self._ai_pod_v1 = None
122
126
  self._auth_token = None
@@ -135,8 +139,10 @@ class V1ClusterSpec(object):
135
139
  self._insurer_disabled = None
136
140
  self._kubernetes_v1 = None
137
141
  self._lambda_labs_v1 = None
142
+ self._lightning_elastic_cluster_v1 = None
138
143
  self._lock_overprovisioning = None
139
144
  self._locked_zones = None
145
+ self._machine_v1 = None
140
146
  self._monitor_deletion_disabled = None
141
147
  self._nebius_v1 = None
142
148
  self._overprovisioning = None
@@ -188,10 +194,14 @@ class V1ClusterSpec(object):
188
194
  self.kubernetes_v1 = kubernetes_v1
189
195
  if lambda_labs_v1 is not None:
190
196
  self.lambda_labs_v1 = lambda_labs_v1
197
+ if lightning_elastic_cluster_v1 is not None:
198
+ self.lightning_elastic_cluster_v1 = lightning_elastic_cluster_v1
191
199
  if lock_overprovisioning is not None:
192
200
  self.lock_overprovisioning = lock_overprovisioning
193
201
  if locked_zones is not None:
194
202
  self.locked_zones = locked_zones
203
+ if machine_v1 is not None:
204
+ self.machine_v1 = machine_v1
195
205
  if monitor_deletion_disabled is not None:
196
206
  self.monitor_deletion_disabled = monitor_deletion_disabled
197
207
  if nebius_v1 is not None:
@@ -584,6 +594,27 @@ class V1ClusterSpec(object):
584
594
 
585
595
  self._lambda_labs_v1 = lambda_labs_v1
586
596
 
597
+ @property
598
+ def lightning_elastic_cluster_v1(self) -> 'V1LightningElasticClusterV1':
599
+ """Gets the lightning_elastic_cluster_v1 of this V1ClusterSpec. # noqa: E501
600
+
601
+
602
+ :return: The lightning_elastic_cluster_v1 of this V1ClusterSpec. # noqa: E501
603
+ :rtype: V1LightningElasticClusterV1
604
+ """
605
+ return self._lightning_elastic_cluster_v1
606
+
607
+ @lightning_elastic_cluster_v1.setter
608
+ def lightning_elastic_cluster_v1(self, lightning_elastic_cluster_v1: 'V1LightningElasticClusterV1'):
609
+ """Sets the lightning_elastic_cluster_v1 of this V1ClusterSpec.
610
+
611
+
612
+ :param lightning_elastic_cluster_v1: The lightning_elastic_cluster_v1 of this V1ClusterSpec. # noqa: E501
613
+ :type: V1LightningElasticClusterV1
614
+ """
615
+
616
+ self._lightning_elastic_cluster_v1 = lightning_elastic_cluster_v1
617
+
587
618
  @property
588
619
  def lock_overprovisioning(self) -> 'bool':
589
620
  """Gets the lock_overprovisioning of this V1ClusterSpec. # noqa: E501
@@ -626,6 +657,27 @@ class V1ClusterSpec(object):
626
657
 
627
658
  self._locked_zones = locked_zones
628
659
 
660
+ @property
661
+ def machine_v1(self) -> 'V1MachineDirectV1':
662
+ """Gets the machine_v1 of this V1ClusterSpec. # noqa: E501
663
+
664
+
665
+ :return: The machine_v1 of this V1ClusterSpec. # noqa: E501
666
+ :rtype: V1MachineDirectV1
667
+ """
668
+ return self._machine_v1
669
+
670
+ @machine_v1.setter
671
+ def machine_v1(self, machine_v1: 'V1MachineDirectV1'):
672
+ """Sets the machine_v1 of this V1ClusterSpec.
673
+
674
+
675
+ :param machine_v1: The machine_v1 of this V1ClusterSpec. # noqa: E501
676
+ :type: V1MachineDirectV1
677
+ """
678
+
679
+ self._machine_v1 = machine_v1
680
+
629
681
  @property
630
682
  def monitor_deletion_disabled(self) -> 'bool':
631
683
  """Gets the monitor_deletion_disabled of this V1ClusterSpec. # noqa: E501
@@ -42,6 +42,7 @@ class V1ClusterType(object):
42
42
  BYOC = "CLUSTER_TYPE_BYOC"
43
43
  SLURM = "CLUSTER_TYPE_SLURM"
44
44
  AI_POD = "CLUSTER_TYPE_AI_POD"
45
+ LEC = "CLUSTER_TYPE_LEC"
45
46
  """
46
47
  Attributes:
47
48
  swagger_types (dict): The key is attribute name
@@ -47,10 +47,10 @@ class V1ContainerMetrics(object):
47
47
  'mem_usage': 'float',
48
48
  'namespace': 'str',
49
49
  'node_name': 'str',
50
- 'num_cpus_limit': 'float',
51
- 'num_cpus_request': 'float',
52
- 'num_gpus': 'float',
53
- 'per_gpu_mem_used': 'dict(str, float)',
50
+ 'num_cpus_limit': 'int',
51
+ 'num_cpus_request': 'int',
52
+ 'num_gpus': 'int',
53
+ 'per_gpu_mem_used': 'dict(str, int)',
54
54
  'per_gpu_util': 'dict(str, float)',
55
55
  'pod_id': 'str',
56
56
  'pod_name': 'str',
@@ -74,7 +74,7 @@ class V1ContainerMetrics(object):
74
74
  'timestamp': 'timestamp'
75
75
  }
76
76
 
77
- def __init__(self, container_id: 'str' =None, container_name: 'str' =None, cpu_usage: 'float' =None, mem_usage: 'float' =None, namespace: 'str' =None, node_name: 'str' =None, num_cpus_limit: 'float' =None, num_cpus_request: 'float' =None, num_gpus: 'float' =None, per_gpu_mem_used: 'dict(str, float)' =None, per_gpu_util: 'dict(str, float)' =None, pod_id: 'str' =None, pod_name: 'str' =None, timestamp: 'datetime' =None): # noqa: E501
77
+ def __init__(self, container_id: 'str' =None, container_name: 'str' =None, cpu_usage: 'float' =None, mem_usage: 'float' =None, namespace: 'str' =None, node_name: 'str' =None, num_cpus_limit: 'int' =None, num_cpus_request: 'int' =None, num_gpus: 'int' =None, per_gpu_mem_used: 'dict(str, int)' =None, per_gpu_util: 'dict(str, float)' =None, pod_id: 'str' =None, pod_name: 'str' =None, timestamp: 'datetime' =None): # noqa: E501
78
78
  """V1ContainerMetrics - a model defined in Swagger""" # noqa: E501
79
79
  self._container_id = None
80
80
  self._container_name = None
@@ -247,85 +247,85 @@ class V1ContainerMetrics(object):
247
247
  self._node_name = node_name
248
248
 
249
249
  @property
250
- def num_cpus_limit(self) -> 'float':
250
+ def num_cpus_limit(self) -> 'int':
251
251
  """Gets the num_cpus_limit of this V1ContainerMetrics. # noqa: E501
252
252
 
253
253
 
254
254
  :return: The num_cpus_limit of this V1ContainerMetrics. # noqa: E501
255
- :rtype: float
255
+ :rtype: int
256
256
  """
257
257
  return self._num_cpus_limit
258
258
 
259
259
  @num_cpus_limit.setter
260
- def num_cpus_limit(self, num_cpus_limit: 'float'):
260
+ def num_cpus_limit(self, num_cpus_limit: 'int'):
261
261
  """Sets the num_cpus_limit of this V1ContainerMetrics.
262
262
 
263
263
 
264
264
  :param num_cpus_limit: The num_cpus_limit of this V1ContainerMetrics. # noqa: E501
265
- :type: float
265
+ :type: int
266
266
  """
267
267
 
268
268
  self._num_cpus_limit = num_cpus_limit
269
269
 
270
270
  @property
271
- def num_cpus_request(self) -> 'float':
271
+ def num_cpus_request(self) -> 'int':
272
272
  """Gets the num_cpus_request of this V1ContainerMetrics. # noqa: E501
273
273
 
274
274
 
275
275
  :return: The num_cpus_request of this V1ContainerMetrics. # noqa: E501
276
- :rtype: float
276
+ :rtype: int
277
277
  """
278
278
  return self._num_cpus_request
279
279
 
280
280
  @num_cpus_request.setter
281
- def num_cpus_request(self, num_cpus_request: 'float'):
281
+ def num_cpus_request(self, num_cpus_request: 'int'):
282
282
  """Sets the num_cpus_request of this V1ContainerMetrics.
283
283
 
284
284
 
285
285
  :param num_cpus_request: The num_cpus_request of this V1ContainerMetrics. # noqa: E501
286
- :type: float
286
+ :type: int
287
287
  """
288
288
 
289
289
  self._num_cpus_request = num_cpus_request
290
290
 
291
291
  @property
292
- def num_gpus(self) -> 'float':
292
+ def num_gpus(self) -> 'int':
293
293
  """Gets the num_gpus of this V1ContainerMetrics. # noqa: E501
294
294
 
295
295
 
296
296
  :return: The num_gpus of this V1ContainerMetrics. # noqa: E501
297
- :rtype: float
297
+ :rtype: int
298
298
  """
299
299
  return self._num_gpus
300
300
 
301
301
  @num_gpus.setter
302
- def num_gpus(self, num_gpus: 'float'):
302
+ def num_gpus(self, num_gpus: 'int'):
303
303
  """Sets the num_gpus of this V1ContainerMetrics.
304
304
 
305
305
 
306
306
  :param num_gpus: The num_gpus of this V1ContainerMetrics. # noqa: E501
307
- :type: float
307
+ :type: int
308
308
  """
309
309
 
310
310
  self._num_gpus = num_gpus
311
311
 
312
312
  @property
313
- def per_gpu_mem_used(self) -> 'dict(str, float)':
313
+ def per_gpu_mem_used(self) -> 'dict(str, int)':
314
314
  """Gets the per_gpu_mem_used of this V1ContainerMetrics. # noqa: E501
315
315
 
316
316
 
317
317
  :return: The per_gpu_mem_used of this V1ContainerMetrics. # noqa: E501
318
- :rtype: dict(str, float)
318
+ :rtype: dict(str, int)
319
319
  """
320
320
  return self._per_gpu_mem_used
321
321
 
322
322
  @per_gpu_mem_used.setter
323
- def per_gpu_mem_used(self, per_gpu_mem_used: 'dict(str, float)'):
323
+ def per_gpu_mem_used(self, per_gpu_mem_used: 'dict(str, int)'):
324
324
  """Sets the per_gpu_mem_used of this V1ContainerMetrics.
325
325
 
326
326
 
327
327
  :param per_gpu_mem_used: The per_gpu_mem_used of this V1ContainerMetrics. # noqa: E501
328
- :type: dict(str, float)
328
+ :type: dict(str, int)
329
329
  """
330
330
 
331
331
  self._per_gpu_mem_used = per_gpu_mem_used
@@ -0,0 +1,305 @@
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 V1CreateIncidentRequest(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
+ 'cluster_id': 'str',
45
+ 'message': 'str',
46
+ 'project_id': 'str',
47
+ 'resource': 'str',
48
+ 'resource_id': 'str',
49
+ 'severity': 'V1IncidentSeverity',
50
+ 'title': 'str',
51
+ 'type': 'V1IncidentType'
52
+ }
53
+
54
+ attribute_map = {
55
+ 'cluster_id': 'clusterId',
56
+ 'message': 'message',
57
+ 'project_id': 'projectId',
58
+ 'resource': 'resource',
59
+ 'resource_id': 'resourceId',
60
+ 'severity': 'severity',
61
+ 'title': 'title',
62
+ 'type': 'type'
63
+ }
64
+
65
+ def __init__(self, cluster_id: 'str' =None, message: 'str' =None, project_id: 'str' =None, resource: 'str' =None, resource_id: 'str' =None, severity: 'V1IncidentSeverity' =None, title: 'str' =None, type: 'V1IncidentType' =None): # noqa: E501
66
+ """V1CreateIncidentRequest - a model defined in Swagger""" # noqa: E501
67
+ self._cluster_id = None
68
+ self._message = None
69
+ self._project_id = None
70
+ self._resource = None
71
+ self._resource_id = None
72
+ self._severity = None
73
+ self._title = None
74
+ self._type = None
75
+ self.discriminator = None
76
+ if cluster_id is not None:
77
+ self.cluster_id = cluster_id
78
+ if message is not None:
79
+ self.message = message
80
+ if project_id is not None:
81
+ self.project_id = project_id
82
+ if resource is not None:
83
+ self.resource = resource
84
+ if resource_id is not None:
85
+ self.resource_id = resource_id
86
+ if severity is not None:
87
+ self.severity = severity
88
+ if title is not None:
89
+ self.title = title
90
+ if type is not None:
91
+ self.type = type
92
+
93
+ @property
94
+ def cluster_id(self) -> 'str':
95
+ """Gets the cluster_id of this V1CreateIncidentRequest. # noqa: E501
96
+
97
+
98
+ :return: The cluster_id of this V1CreateIncidentRequest. # noqa: E501
99
+ :rtype: str
100
+ """
101
+ return self._cluster_id
102
+
103
+ @cluster_id.setter
104
+ def cluster_id(self, cluster_id: 'str'):
105
+ """Sets the cluster_id of this V1CreateIncidentRequest.
106
+
107
+
108
+ :param cluster_id: The cluster_id of this V1CreateIncidentRequest. # noqa: E501
109
+ :type: str
110
+ """
111
+
112
+ self._cluster_id = cluster_id
113
+
114
+ @property
115
+ def message(self) -> 'str':
116
+ """Gets the message of this V1CreateIncidentRequest. # noqa: E501
117
+
118
+
119
+ :return: The message of this V1CreateIncidentRequest. # noqa: E501
120
+ :rtype: str
121
+ """
122
+ return self._message
123
+
124
+ @message.setter
125
+ def message(self, message: 'str'):
126
+ """Sets the message of this V1CreateIncidentRequest.
127
+
128
+
129
+ :param message: The message of this V1CreateIncidentRequest. # noqa: E501
130
+ :type: str
131
+ """
132
+
133
+ self._message = message
134
+
135
+ @property
136
+ def project_id(self) -> 'str':
137
+ """Gets the project_id of this V1CreateIncidentRequest. # noqa: E501
138
+
139
+
140
+ :return: The project_id of this V1CreateIncidentRequest. # noqa: E501
141
+ :rtype: str
142
+ """
143
+ return self._project_id
144
+
145
+ @project_id.setter
146
+ def project_id(self, project_id: 'str'):
147
+ """Sets the project_id of this V1CreateIncidentRequest.
148
+
149
+
150
+ :param project_id: The project_id of this V1CreateIncidentRequest. # noqa: E501
151
+ :type: str
152
+ """
153
+
154
+ self._project_id = project_id
155
+
156
+ @property
157
+ def resource(self) -> 'str':
158
+ """Gets the resource of this V1CreateIncidentRequest. # noqa: E501
159
+
160
+
161
+ :return: The resource of this V1CreateIncidentRequest. # noqa: E501
162
+ :rtype: str
163
+ """
164
+ return self._resource
165
+
166
+ @resource.setter
167
+ def resource(self, resource: 'str'):
168
+ """Sets the resource of this V1CreateIncidentRequest.
169
+
170
+
171
+ :param resource: The resource of this V1CreateIncidentRequest. # noqa: E501
172
+ :type: str
173
+ """
174
+
175
+ self._resource = resource
176
+
177
+ @property
178
+ def resource_id(self) -> 'str':
179
+ """Gets the resource_id of this V1CreateIncidentRequest. # noqa: E501
180
+
181
+
182
+ :return: The resource_id of this V1CreateIncidentRequest. # noqa: E501
183
+ :rtype: str
184
+ """
185
+ return self._resource_id
186
+
187
+ @resource_id.setter
188
+ def resource_id(self, resource_id: 'str'):
189
+ """Sets the resource_id of this V1CreateIncidentRequest.
190
+
191
+
192
+ :param resource_id: The resource_id of this V1CreateIncidentRequest. # noqa: E501
193
+ :type: str
194
+ """
195
+
196
+ self._resource_id = resource_id
197
+
198
+ @property
199
+ def severity(self) -> 'V1IncidentSeverity':
200
+ """Gets the severity of this V1CreateIncidentRequest. # noqa: E501
201
+
202
+
203
+ :return: The severity of this V1CreateIncidentRequest. # noqa: E501
204
+ :rtype: V1IncidentSeverity
205
+ """
206
+ return self._severity
207
+
208
+ @severity.setter
209
+ def severity(self, severity: 'V1IncidentSeverity'):
210
+ """Sets the severity of this V1CreateIncidentRequest.
211
+
212
+
213
+ :param severity: The severity of this V1CreateIncidentRequest. # noqa: E501
214
+ :type: V1IncidentSeverity
215
+ """
216
+
217
+ self._severity = severity
218
+
219
+ @property
220
+ def title(self) -> 'str':
221
+ """Gets the title of this V1CreateIncidentRequest. # noqa: E501
222
+
223
+
224
+ :return: The title of this V1CreateIncidentRequest. # noqa: E501
225
+ :rtype: str
226
+ """
227
+ return self._title
228
+
229
+ @title.setter
230
+ def title(self, title: 'str'):
231
+ """Sets the title of this V1CreateIncidentRequest.
232
+
233
+
234
+ :param title: The title of this V1CreateIncidentRequest. # noqa: E501
235
+ :type: str
236
+ """
237
+
238
+ self._title = title
239
+
240
+ @property
241
+ def type(self) -> 'V1IncidentType':
242
+ """Gets the type of this V1CreateIncidentRequest. # noqa: E501
243
+
244
+
245
+ :return: The type of this V1CreateIncidentRequest. # noqa: E501
246
+ :rtype: V1IncidentType
247
+ """
248
+ return self._type
249
+
250
+ @type.setter
251
+ def type(self, type: 'V1IncidentType'):
252
+ """Sets the type of this V1CreateIncidentRequest.
253
+
254
+
255
+ :param type: The type of this V1CreateIncidentRequest. # noqa: E501
256
+ :type: V1IncidentType
257
+ """
258
+
259
+ self._type = type
260
+
261
+ def to_dict(self) -> dict:
262
+ """Returns the model properties as a dict"""
263
+ result = {}
264
+
265
+ for attr, _ in six.iteritems(self.swagger_types):
266
+ value = getattr(self, attr)
267
+ if isinstance(value, list):
268
+ result[attr] = list(map(
269
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
270
+ value
271
+ ))
272
+ elif hasattr(value, "to_dict"):
273
+ result[attr] = value.to_dict()
274
+ elif isinstance(value, dict):
275
+ result[attr] = dict(map(
276
+ lambda item: (item[0], item[1].to_dict())
277
+ if hasattr(item[1], "to_dict") else item,
278
+ value.items()
279
+ ))
280
+ else:
281
+ result[attr] = value
282
+ if issubclass(V1CreateIncidentRequest, dict):
283
+ for key, value in self.items():
284
+ result[key] = value
285
+
286
+ return result
287
+
288
+ def to_str(self) -> str:
289
+ """Returns the string representation of the model"""
290
+ return pprint.pformat(self.to_dict())
291
+
292
+ def __repr__(self) -> str:
293
+ """For `print` and `pprint`"""
294
+ return self.to_str()
295
+
296
+ def __eq__(self, other: 'V1CreateIncidentRequest') -> bool:
297
+ """Returns true if both objects are equal"""
298
+ if not isinstance(other, V1CreateIncidentRequest):
299
+ return False
300
+
301
+ return self.__dict__ == other.__dict__
302
+
303
+ def __ne__(self, other: 'V1CreateIncidentRequest') -> bool:
304
+ """Returns true if both objects are not equal"""
305
+ return not self == other