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
@@ -43,25 +43,30 @@ class ProjectIdStorageBody(object):
43
43
  swagger_types = {
44
44
  'cluster_id': 'str',
45
45
  'count': 'str',
46
+ 'data_connection_id': 'str',
46
47
  'filename': 'str'
47
48
  }
48
49
 
49
50
  attribute_map = {
50
51
  'cluster_id': 'clusterId',
51
52
  'count': 'count',
53
+ 'data_connection_id': 'dataConnectionId',
52
54
  'filename': 'filename'
53
55
  }
54
56
 
55
- def __init__(self, cluster_id: 'str' =None, count: 'str' =None, filename: 'str' =None): # noqa: E501
57
+ def __init__(self, cluster_id: 'str' =None, count: 'str' =None, data_connection_id: 'str' =None, filename: 'str' =None): # noqa: E501
56
58
  """ProjectIdStorageBody - a model defined in Swagger""" # noqa: E501
57
59
  self._cluster_id = None
58
60
  self._count = None
61
+ self._data_connection_id = None
59
62
  self._filename = None
60
63
  self.discriminator = None
61
64
  if cluster_id is not None:
62
65
  self.cluster_id = cluster_id
63
66
  if count is not None:
64
67
  self.count = count
68
+ if data_connection_id is not None:
69
+ self.data_connection_id = data_connection_id
65
70
  if filename is not None:
66
71
  self.filename = filename
67
72
 
@@ -107,6 +112,27 @@ class ProjectIdStorageBody(object):
107
112
 
108
113
  self._count = count
109
114
 
115
+ @property
116
+ def data_connection_id(self) -> 'str':
117
+ """Gets the data_connection_id of this ProjectIdStorageBody. # noqa: E501
118
+
119
+
120
+ :return: The data_connection_id of this ProjectIdStorageBody. # noqa: E501
121
+ :rtype: str
122
+ """
123
+ return self._data_connection_id
124
+
125
+ @data_connection_id.setter
126
+ def data_connection_id(self, data_connection_id: 'str'):
127
+ """Sets the data_connection_id of this ProjectIdStorageBody.
128
+
129
+
130
+ :param data_connection_id: The data_connection_id of this ProjectIdStorageBody. # noqa: E501
131
+ :type: str
132
+ """
133
+
134
+ self._data_connection_id = data_connection_id
135
+
110
136
  @property
111
137
  def filename(self) -> 'str':
112
138
  """Gets the filename of this ProjectIdStorageBody. # noqa: E501
@@ -0,0 +1,175 @@
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 ProjectIdStoragetransfersBody(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
+ 'new_folder_name': 'str',
45
+ 'source_data_connection_id': 'str',
46
+ 'target_data_connection_id': 'str'
47
+ }
48
+
49
+ attribute_map = {
50
+ 'new_folder_name': 'newFolderName',
51
+ 'source_data_connection_id': 'sourceDataConnectionId',
52
+ 'target_data_connection_id': 'targetDataConnectionId'
53
+ }
54
+
55
+ def __init__(self, new_folder_name: 'str' =None, source_data_connection_id: 'str' =None, target_data_connection_id: 'str' =None): # noqa: E501
56
+ """ProjectIdStoragetransfersBody - a model defined in Swagger""" # noqa: E501
57
+ self._new_folder_name = None
58
+ self._source_data_connection_id = None
59
+ self._target_data_connection_id = None
60
+ self.discriminator = None
61
+ if new_folder_name is not None:
62
+ self.new_folder_name = new_folder_name
63
+ if source_data_connection_id is not None:
64
+ self.source_data_connection_id = source_data_connection_id
65
+ if target_data_connection_id is not None:
66
+ self.target_data_connection_id = target_data_connection_id
67
+
68
+ @property
69
+ def new_folder_name(self) -> 'str':
70
+ """Gets the new_folder_name of this ProjectIdStoragetransfersBody. # noqa: E501
71
+
72
+
73
+ :return: The new_folder_name of this ProjectIdStoragetransfersBody. # noqa: E501
74
+ :rtype: str
75
+ """
76
+ return self._new_folder_name
77
+
78
+ @new_folder_name.setter
79
+ def new_folder_name(self, new_folder_name: 'str'):
80
+ """Sets the new_folder_name of this ProjectIdStoragetransfersBody.
81
+
82
+
83
+ :param new_folder_name: The new_folder_name of this ProjectIdStoragetransfersBody. # noqa: E501
84
+ :type: str
85
+ """
86
+
87
+ self._new_folder_name = new_folder_name
88
+
89
+ @property
90
+ def source_data_connection_id(self) -> 'str':
91
+ """Gets the source_data_connection_id of this ProjectIdStoragetransfersBody. # noqa: E501
92
+
93
+
94
+ :return: The source_data_connection_id of this ProjectIdStoragetransfersBody. # noqa: E501
95
+ :rtype: str
96
+ """
97
+ return self._source_data_connection_id
98
+
99
+ @source_data_connection_id.setter
100
+ def source_data_connection_id(self, source_data_connection_id: 'str'):
101
+ """Sets the source_data_connection_id of this ProjectIdStoragetransfersBody.
102
+
103
+
104
+ :param source_data_connection_id: The source_data_connection_id of this ProjectIdStoragetransfersBody. # noqa: E501
105
+ :type: str
106
+ """
107
+
108
+ self._source_data_connection_id = source_data_connection_id
109
+
110
+ @property
111
+ def target_data_connection_id(self) -> 'str':
112
+ """Gets the target_data_connection_id of this ProjectIdStoragetransfersBody. # noqa: E501
113
+
114
+
115
+ :return: The target_data_connection_id of this ProjectIdStoragetransfersBody. # noqa: E501
116
+ :rtype: str
117
+ """
118
+ return self._target_data_connection_id
119
+
120
+ @target_data_connection_id.setter
121
+ def target_data_connection_id(self, target_data_connection_id: 'str'):
122
+ """Sets the target_data_connection_id of this ProjectIdStoragetransfersBody.
123
+
124
+
125
+ :param target_data_connection_id: The target_data_connection_id of this ProjectIdStoragetransfersBody. # noqa: E501
126
+ :type: str
127
+ """
128
+
129
+ self._target_data_connection_id = target_data_connection_id
130
+
131
+ def to_dict(self) -> dict:
132
+ """Returns the model properties as a dict"""
133
+ result = {}
134
+
135
+ for attr, _ in six.iteritems(self.swagger_types):
136
+ value = getattr(self, attr)
137
+ if isinstance(value, list):
138
+ result[attr] = list(map(
139
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
140
+ value
141
+ ))
142
+ elif hasattr(value, "to_dict"):
143
+ result[attr] = value.to_dict()
144
+ elif isinstance(value, dict):
145
+ result[attr] = dict(map(
146
+ lambda item: (item[0], item[1].to_dict())
147
+ if hasattr(item[1], "to_dict") else item,
148
+ value.items()
149
+ ))
150
+ else:
151
+ result[attr] = value
152
+ if issubclass(ProjectIdStoragetransfersBody, dict):
153
+ for key, value in self.items():
154
+ result[key] = value
155
+
156
+ return result
157
+
158
+ def to_str(self) -> str:
159
+ """Returns the string representation of the model"""
160
+ return pprint.pformat(self.to_dict())
161
+
162
+ def __repr__(self) -> str:
163
+ """For `print` and `pprint`"""
164
+ return self.to_str()
165
+
166
+ def __eq__(self, other: 'ProjectIdStoragetransfersBody') -> bool:
167
+ """Returns true if both objects are equal"""
168
+ if not isinstance(other, ProjectIdStoragetransfersBody):
169
+ return False
170
+
171
+ return self.__dict__ == other.__dict__
172
+
173
+ def __ne__(self, other: 'ProjectIdStoragetransfersBody') -> bool:
174
+ """Returns true if both objects are not equal"""
175
+ return not self == other
@@ -0,0 +1,123 @@
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 ProjectTabManagementMessages(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
+ 'tabs': 'list[V1ProjectTab]'
45
+ }
46
+
47
+ attribute_map = {
48
+ 'tabs': 'tabs'
49
+ }
50
+
51
+ def __init__(self, tabs: 'list[V1ProjectTab]' =None): # noqa: E501
52
+ """ProjectTabManagementMessages - a model defined in Swagger""" # noqa: E501
53
+ self._tabs = None
54
+ self.discriminator = None
55
+ if tabs is not None:
56
+ self.tabs = tabs
57
+
58
+ @property
59
+ def tabs(self) -> 'list[V1ProjectTab]':
60
+ """Gets the tabs of this ProjectTabManagementMessages. # noqa: E501
61
+
62
+
63
+ :return: The tabs of this ProjectTabManagementMessages. # noqa: E501
64
+ :rtype: list[V1ProjectTab]
65
+ """
66
+ return self._tabs
67
+
68
+ @tabs.setter
69
+ def tabs(self, tabs: 'list[V1ProjectTab]'):
70
+ """Sets the tabs of this ProjectTabManagementMessages.
71
+
72
+
73
+ :param tabs: The tabs of this ProjectTabManagementMessages. # noqa: E501
74
+ :type: list[V1ProjectTab]
75
+ """
76
+
77
+ self._tabs = tabs
78
+
79
+ def to_dict(self) -> dict:
80
+ """Returns the model properties as a dict"""
81
+ result = {}
82
+
83
+ for attr, _ in six.iteritems(self.swagger_types):
84
+ value = getattr(self, attr)
85
+ if isinstance(value, list):
86
+ result[attr] = list(map(
87
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
88
+ value
89
+ ))
90
+ elif hasattr(value, "to_dict"):
91
+ result[attr] = value.to_dict()
92
+ elif isinstance(value, dict):
93
+ result[attr] = dict(map(
94
+ lambda item: (item[0], item[1].to_dict())
95
+ if hasattr(item[1], "to_dict") else item,
96
+ value.items()
97
+ ))
98
+ else:
99
+ result[attr] = value
100
+ if issubclass(ProjectTabManagementMessages, dict):
101
+ for key, value in self.items():
102
+ result[key] = value
103
+
104
+ return result
105
+
106
+ def to_str(self) -> str:
107
+ """Returns the string representation of the model"""
108
+ return pprint.pformat(self.to_dict())
109
+
110
+ def __repr__(self) -> str:
111
+ """For `print` and `pprint`"""
112
+ return self.to_str()
113
+
114
+ def __eq__(self, other: 'ProjectTabManagementMessages') -> bool:
115
+ """Returns true if both objects are equal"""
116
+ if not isinstance(other, ProjectTabManagementMessages):
117
+ return False
118
+
119
+ return self.__dict__ == other.__dict__
120
+
121
+ def __ne__(self, other: 'ProjectTabManagementMessages') -> bool:
122
+ """Returns true if both objects are not equal"""
123
+ return not self == other
@@ -54,10 +54,13 @@ class ProjectsIdBody(object):
54
54
  'auto_replenish_amount': 'float',
55
55
  'auto_replenish_threshold': 'float',
56
56
  'auto_switch_machine': 'bool',
57
+ 'budgeting_enabled': 'bool',
57
58
  'default_machine_type': 'str',
58
59
  'description': 'str',
59
60
  'display_name': 'str',
61
+ 'layout_config': 'list[V1ProjectTab]',
60
62
  'name': 'str',
63
+ 'organization_billing_enabled': 'bool',
61
64
  'preferred_cluster': 'str',
62
65
  'preferred_deployment_provider': 'str',
63
66
  'preferred_studio_provider': 'str',
@@ -81,10 +84,13 @@ class ProjectsIdBody(object):
81
84
  'auto_replenish_amount': 'autoReplenishAmount',
82
85
  'auto_replenish_threshold': 'autoReplenishThreshold',
83
86
  'auto_switch_machine': 'autoSwitchMachine',
87
+ 'budgeting_enabled': 'budgetingEnabled',
84
88
  'default_machine_type': 'defaultMachineType',
85
89
  'description': 'description',
86
90
  'display_name': 'displayName',
91
+ 'layout_config': 'layoutConfig',
87
92
  'name': 'name',
93
+ 'organization_billing_enabled': 'organizationBillingEnabled',
88
94
  'preferred_cluster': 'preferredCluster',
89
95
  'preferred_deployment_provider': 'preferredDeploymentProvider',
90
96
  'preferred_studio_provider': 'preferredStudioProvider',
@@ -94,7 +100,7 @@ class ProjectsIdBody(object):
94
100
  'switch_to_default_machine_on_idle': 'switchToDefaultMachineOnIdle'
95
101
  }
96
102
 
97
- def __init__(self, allow_aws_saas: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_dgx_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_lightning_saas: 'bool' =None, allow_nebius_saas: 'bool' =None, allow_voltage_park_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, name: 'str' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, quotas: 'V1Quotas' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
103
+ def __init__(self, allow_aws_saas: 'bool' =None, allow_credits_auto_replenish: 'bool' =None, allow_dgx_saas: 'bool' =None, allow_external_project_duplication: 'bool' =None, allow_gcp_saas: 'bool' =None, allow_lambda_saas: 'bool' =None, allow_lightning_saas: 'bool' =None, allow_nebius_saas: 'bool' =None, allow_voltage_park_saas: 'bool' =None, allow_vultr_saas: 'bool' =None, auto_replenish_amount: 'float' =None, auto_replenish_threshold: 'float' =None, auto_switch_machine: 'bool' =None, budgeting_enabled: 'bool' =None, default_machine_type: 'str' =None, description: 'str' =None, display_name: 'str' =None, layout_config: 'list[V1ProjectTab]' =None, name: 'str' =None, organization_billing_enabled: 'bool' =None, preferred_cluster: 'str' =None, preferred_deployment_provider: 'str' =None, preferred_studio_provider: 'str' =None, quotas: 'V1Quotas' =None, same_compute_on_resume: 'bool' =None, start_studio_on_spot_instance: 'bool' =None, switch_to_default_machine_on_idle: 'bool' =None): # noqa: E501
98
104
  """ProjectsIdBody - a model defined in Swagger""" # noqa: E501
99
105
  self._allow_aws_saas = None
100
106
  self._allow_credits_auto_replenish = None
@@ -109,10 +115,13 @@ class ProjectsIdBody(object):
109
115
  self._auto_replenish_amount = None
110
116
  self._auto_replenish_threshold = None
111
117
  self._auto_switch_machine = None
118
+ self._budgeting_enabled = None
112
119
  self._default_machine_type = None
113
120
  self._description = None
114
121
  self._display_name = None
122
+ self._layout_config = None
115
123
  self._name = None
124
+ self._organization_billing_enabled = None
116
125
  self._preferred_cluster = None
117
126
  self._preferred_deployment_provider = None
118
127
  self._preferred_studio_provider = None
@@ -147,14 +156,20 @@ class ProjectsIdBody(object):
147
156
  self.auto_replenish_threshold = auto_replenish_threshold
148
157
  if auto_switch_machine is not None:
149
158
  self.auto_switch_machine = auto_switch_machine
159
+ if budgeting_enabled is not None:
160
+ self.budgeting_enabled = budgeting_enabled
150
161
  if default_machine_type is not None:
151
162
  self.default_machine_type = default_machine_type
152
163
  if description is not None:
153
164
  self.description = description
154
165
  if display_name is not None:
155
166
  self.display_name = display_name
167
+ if layout_config is not None:
168
+ self.layout_config = layout_config
156
169
  if name is not None:
157
170
  self.name = name
171
+ if organization_billing_enabled is not None:
172
+ self.organization_billing_enabled = organization_billing_enabled
158
173
  if preferred_cluster is not None:
159
174
  self.preferred_cluster = preferred_cluster
160
175
  if preferred_deployment_provider is not None:
@@ -443,6 +458,27 @@ class ProjectsIdBody(object):
443
458
 
444
459
  self._auto_switch_machine = auto_switch_machine
445
460
 
461
+ @property
462
+ def budgeting_enabled(self) -> 'bool':
463
+ """Gets the budgeting_enabled of this ProjectsIdBody. # noqa: E501
464
+
465
+
466
+ :return: The budgeting_enabled of this ProjectsIdBody. # noqa: E501
467
+ :rtype: bool
468
+ """
469
+ return self._budgeting_enabled
470
+
471
+ @budgeting_enabled.setter
472
+ def budgeting_enabled(self, budgeting_enabled: 'bool'):
473
+ """Sets the budgeting_enabled of this ProjectsIdBody.
474
+
475
+
476
+ :param budgeting_enabled: The budgeting_enabled of this ProjectsIdBody. # noqa: E501
477
+ :type: bool
478
+ """
479
+
480
+ self._budgeting_enabled = budgeting_enabled
481
+
446
482
  @property
447
483
  def default_machine_type(self) -> 'str':
448
484
  """Gets the default_machine_type of this ProjectsIdBody. # noqa: E501
@@ -506,6 +542,27 @@ class ProjectsIdBody(object):
506
542
 
507
543
  self._display_name = display_name
508
544
 
545
+ @property
546
+ def layout_config(self) -> 'list[V1ProjectTab]':
547
+ """Gets the layout_config of this ProjectsIdBody. # noqa: E501
548
+
549
+
550
+ :return: The layout_config of this ProjectsIdBody. # noqa: E501
551
+ :rtype: list[V1ProjectTab]
552
+ """
553
+ return self._layout_config
554
+
555
+ @layout_config.setter
556
+ def layout_config(self, layout_config: 'list[V1ProjectTab]'):
557
+ """Sets the layout_config of this ProjectsIdBody.
558
+
559
+
560
+ :param layout_config: The layout_config of this ProjectsIdBody. # noqa: E501
561
+ :type: list[V1ProjectTab]
562
+ """
563
+
564
+ self._layout_config = layout_config
565
+
509
566
  @property
510
567
  def name(self) -> 'str':
511
568
  """Gets the name of this ProjectsIdBody. # noqa: E501
@@ -527,6 +584,27 @@ class ProjectsIdBody(object):
527
584
 
528
585
  self._name = name
529
586
 
587
+ @property
588
+ def organization_billing_enabled(self) -> 'bool':
589
+ """Gets the organization_billing_enabled of this ProjectsIdBody. # noqa: E501
590
+
591
+
592
+ :return: The organization_billing_enabled of this ProjectsIdBody. # noqa: E501
593
+ :rtype: bool
594
+ """
595
+ return self._organization_billing_enabled
596
+
597
+ @organization_billing_enabled.setter
598
+ def organization_billing_enabled(self, organization_billing_enabled: 'bool'):
599
+ """Sets the organization_billing_enabled of this ProjectsIdBody.
600
+
601
+
602
+ :param organization_billing_enabled: The organization_billing_enabled of this ProjectsIdBody. # noqa: E501
603
+ :type: bool
604
+ """
605
+
606
+ self._organization_billing_enabled = organization_billing_enabled
607
+
530
608
  @property
531
609
  def preferred_cluster(self) -> 'str':
532
610
  """Gets the preferred_cluster of this ProjectsIdBody. # noqa: E501
@@ -42,36 +42,41 @@ class StorageCompleteBody(object):
42
42
  """
43
43
  swagger_types = {
44
44
  'cluster_id': 'str',
45
+ 'data_connection_id': 'str',
45
46
  'filename': 'str',
46
47
  'parts': 'list[V1CompleteUpload]',
47
- 'suppress_reindex': 'bool',
48
+ 'reindex': 'bool',
48
49
  'upload_id': 'str'
49
50
  }
50
51
 
51
52
  attribute_map = {
52
53
  'cluster_id': 'clusterId',
54
+ 'data_connection_id': 'dataConnectionId',
53
55
  'filename': 'filename',
54
56
  'parts': 'parts',
55
- 'suppress_reindex': 'suppressReindex',
57
+ 'reindex': 'reindex',
56
58
  'upload_id': 'uploadId'
57
59
  }
58
60
 
59
- def __init__(self, cluster_id: 'str' =None, filename: 'str' =None, parts: 'list[V1CompleteUpload]' =None, suppress_reindex: 'bool' =None, upload_id: 'str' =None): # noqa: E501
61
+ def __init__(self, cluster_id: 'str' =None, data_connection_id: 'str' =None, filename: 'str' =None, parts: 'list[V1CompleteUpload]' =None, reindex: 'bool' =None, upload_id: 'str' =None): # noqa: E501
60
62
  """StorageCompleteBody - a model defined in Swagger""" # noqa: E501
61
63
  self._cluster_id = None
64
+ self._data_connection_id = None
62
65
  self._filename = None
63
66
  self._parts = None
64
- self._suppress_reindex = None
67
+ self._reindex = None
65
68
  self._upload_id = None
66
69
  self.discriminator = None
67
70
  if cluster_id is not None:
68
71
  self.cluster_id = cluster_id
72
+ if data_connection_id is not None:
73
+ self.data_connection_id = data_connection_id
69
74
  if filename is not None:
70
75
  self.filename = filename
71
76
  if parts is not None:
72
77
  self.parts = parts
73
- if suppress_reindex is not None:
74
- self.suppress_reindex = suppress_reindex
78
+ if reindex is not None:
79
+ self.reindex = reindex
75
80
  if upload_id is not None:
76
81
  self.upload_id = upload_id
77
82
 
@@ -96,6 +101,27 @@ class StorageCompleteBody(object):
96
101
 
97
102
  self._cluster_id = cluster_id
98
103
 
104
+ @property
105
+ def data_connection_id(self) -> 'str':
106
+ """Gets the data_connection_id of this StorageCompleteBody. # noqa: E501
107
+
108
+
109
+ :return: The data_connection_id of this StorageCompleteBody. # noqa: E501
110
+ :rtype: str
111
+ """
112
+ return self._data_connection_id
113
+
114
+ @data_connection_id.setter
115
+ def data_connection_id(self, data_connection_id: 'str'):
116
+ """Sets the data_connection_id of this StorageCompleteBody.
117
+
118
+
119
+ :param data_connection_id: The data_connection_id of this StorageCompleteBody. # noqa: E501
120
+ :type: str
121
+ """
122
+
123
+ self._data_connection_id = data_connection_id
124
+
99
125
  @property
100
126
  def filename(self) -> 'str':
101
127
  """Gets the filename of this StorageCompleteBody. # noqa: E501
@@ -139,25 +165,25 @@ class StorageCompleteBody(object):
139
165
  self._parts = parts
140
166
 
141
167
  @property
142
- def suppress_reindex(self) -> 'bool':
143
- """Gets the suppress_reindex of this StorageCompleteBody. # noqa: E501
168
+ def reindex(self) -> 'bool':
169
+ """Gets the reindex of this StorageCompleteBody. # noqa: E501
144
170
 
145
171
 
146
- :return: The suppress_reindex of this StorageCompleteBody. # noqa: E501
172
+ :return: The reindex of this StorageCompleteBody. # noqa: E501
147
173
  :rtype: bool
148
174
  """
149
- return self._suppress_reindex
175
+ return self._reindex
150
176
 
151
- @suppress_reindex.setter
152
- def suppress_reindex(self, suppress_reindex: 'bool'):
153
- """Sets the suppress_reindex of this StorageCompleteBody.
177
+ @reindex.setter
178
+ def reindex(self, reindex: 'bool'):
179
+ """Sets the reindex of this StorageCompleteBody.
154
180
 
155
181
 
156
- :param suppress_reindex: The suppress_reindex of this StorageCompleteBody. # noqa: E501
182
+ :param reindex: The reindex of this StorageCompleteBody. # noqa: E501
157
183
  :type: bool
158
184
  """
159
185
 
160
- self._suppress_reindex = suppress_reindex
186
+ self._reindex = reindex
161
187
 
162
188
  @property
163
189
  def upload_id(self) -> 'str':