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
@@ -0,0 +1,1058 @@
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
+ from __future__ import absolute_import
21
+
22
+ import re # noqa: F401
23
+ from typing import TYPE_CHECKING, Any
24
+
25
+ # python 2 and python 3 compatibility library
26
+ import six
27
+
28
+ from lightning_sdk.lightning_cloud.openapi.api_client import ApiClient
29
+
30
+ if TYPE_CHECKING:
31
+ from datetime import datetime
32
+ from lightning_sdk.lightning_cloud.openapi.models import *
33
+
34
+ class IncidentsServiceApi(object):
35
+ """NOTE: This class is auto generated by the swagger code generator program.
36
+
37
+ Do not edit the class manually.
38
+ Ref: https://github.com/swagger-api/swagger-codegen
39
+ """
40
+
41
+ def __init__(self, api_client=None):
42
+ if api_client is None:
43
+ api_client = ApiClient()
44
+ self.api_client = api_client
45
+
46
+ def incidents_service_create_incident(self, body: 'V1CreateIncidentRequest', **kwargs) -> 'V1Incident': # noqa: E501
47
+ """incidents_service_create_incident # noqa: E501
48
+
49
+ This method makes a synchronous HTTP request by default. To make an
50
+ asynchronous HTTP request, please pass async_req=True
51
+ >>> thread = api.incidents_service_create_incident(body, async_req=True)
52
+ >>> result = thread.get()
53
+
54
+ :param async_req bool
55
+ :param V1CreateIncidentRequest body: (required)
56
+ :return: V1Incident
57
+ If the method is called asynchronously,
58
+ returns the request thread.
59
+ """
60
+ kwargs['_return_http_data_only'] = True
61
+ if kwargs.get('async_req'):
62
+ return self.incidents_service_create_incident_with_http_info(body, **kwargs) # noqa: E501
63
+ else:
64
+ (data) = self.incidents_service_create_incident_with_http_info(body, **kwargs) # noqa: E501
65
+ return data
66
+
67
+ def incidents_service_create_incident_with_http_info(self, body: 'V1CreateIncidentRequest', **kwargs) -> 'V1Incident': # noqa: E501
68
+ """incidents_service_create_incident # noqa: E501
69
+
70
+ This method makes a synchronous HTTP request by default. To make an
71
+ asynchronous HTTP request, please pass async_req=True
72
+ >>> thread = api.incidents_service_create_incident_with_http_info(body, async_req=True)
73
+ >>> result = thread.get()
74
+
75
+ :param async_req bool
76
+ :param V1CreateIncidentRequest body: (required)
77
+ :return: V1Incident
78
+ If the method is called asynchronously,
79
+ returns the request thread.
80
+ """
81
+
82
+ all_params = ['body'] # noqa: E501
83
+ all_params.append('async_req')
84
+ all_params.append('_return_http_data_only')
85
+ all_params.append('_preload_content')
86
+ all_params.append('_request_timeout')
87
+
88
+ params = locals()
89
+ for key, val in six.iteritems(params['kwargs']):
90
+ if key not in all_params:
91
+ raise TypeError(
92
+ "Got an unexpected keyword argument '%s'"
93
+ " to method incidents_service_create_incident" % key
94
+ )
95
+ params[key] = val
96
+ del params['kwargs']
97
+ # verify the required parameter 'body' is set
98
+ if ('body' not in params or
99
+ params['body'] is None):
100
+ raise ValueError("Missing the required parameter `body` when calling `incidents_service_create_incident`") # noqa: E501
101
+
102
+ collection_formats = {}
103
+
104
+ path_params = {}
105
+
106
+ query_params = []
107
+
108
+ header_params = {}
109
+
110
+ form_params = []
111
+ local_var_files = {}
112
+
113
+ body_params = None
114
+ if 'body' in params:
115
+ body_params = params['body']
116
+ # HTTP header `Accept`
117
+ header_params['Accept'] = self.api_client.select_header_accept(
118
+ ['application/json']) # noqa: E501
119
+
120
+ # HTTP header `Content-Type`
121
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
122
+ ['application/json']) # noqa: E501
123
+
124
+ # Authentication setting
125
+ auth_settings = [] # noqa: E501
126
+
127
+ return self.api_client.call_api(
128
+ '/v1/incidents', 'POST',
129
+ path_params,
130
+ query_params,
131
+ header_params,
132
+ body=body_params,
133
+ post_params=form_params,
134
+ files=local_var_files,
135
+ response_type='V1Incident', # noqa: E501
136
+ auth_settings=auth_settings,
137
+ async_req=params.get('async_req'),
138
+ _return_http_data_only=params.get('_return_http_data_only'),
139
+ _preload_content=params.get('_preload_content', True),
140
+ _request_timeout=params.get('_request_timeout'),
141
+ collection_formats=collection_formats)
142
+
143
+ def incidents_service_create_incident_message(self, body: 'IncidentIdMessagesBody', incident_id: 'str', **kwargs) -> 'V1IncidentMessage': # noqa: E501
144
+ """incidents_service_create_incident_message # noqa: E501
145
+
146
+ This method makes a synchronous HTTP request by default. To make an
147
+ asynchronous HTTP request, please pass async_req=True
148
+ >>> thread = api.incidents_service_create_incident_message(body, incident_id, async_req=True)
149
+ >>> result = thread.get()
150
+
151
+ :param async_req bool
152
+ :param IncidentIdMessagesBody body: (required)
153
+ :param str incident_id: (required)
154
+ :return: V1IncidentMessage
155
+ If the method is called asynchronously,
156
+ returns the request thread.
157
+ """
158
+ kwargs['_return_http_data_only'] = True
159
+ if kwargs.get('async_req'):
160
+ return self.incidents_service_create_incident_message_with_http_info(body, incident_id, **kwargs) # noqa: E501
161
+ else:
162
+ (data) = self.incidents_service_create_incident_message_with_http_info(body, incident_id, **kwargs) # noqa: E501
163
+ return data
164
+
165
+ def incidents_service_create_incident_message_with_http_info(self, body: 'IncidentIdMessagesBody', incident_id: 'str', **kwargs) -> 'V1IncidentMessage': # noqa: E501
166
+ """incidents_service_create_incident_message # noqa: E501
167
+
168
+ This method makes a synchronous HTTP request by default. To make an
169
+ asynchronous HTTP request, please pass async_req=True
170
+ >>> thread = api.incidents_service_create_incident_message_with_http_info(body, incident_id, async_req=True)
171
+ >>> result = thread.get()
172
+
173
+ :param async_req bool
174
+ :param IncidentIdMessagesBody body: (required)
175
+ :param str incident_id: (required)
176
+ :return: V1IncidentMessage
177
+ If the method is called asynchronously,
178
+ returns the request thread.
179
+ """
180
+
181
+ all_params = ['body', 'incident_id'] # noqa: E501
182
+ all_params.append('async_req')
183
+ all_params.append('_return_http_data_only')
184
+ all_params.append('_preload_content')
185
+ all_params.append('_request_timeout')
186
+
187
+ params = locals()
188
+ for key, val in six.iteritems(params['kwargs']):
189
+ if key not in all_params:
190
+ raise TypeError(
191
+ "Got an unexpected keyword argument '%s'"
192
+ " to method incidents_service_create_incident_message" % key
193
+ )
194
+ params[key] = val
195
+ del params['kwargs']
196
+ # verify the required parameter 'body' is set
197
+ if ('body' not in params or
198
+ params['body'] is None):
199
+ raise ValueError("Missing the required parameter `body` when calling `incidents_service_create_incident_message`") # noqa: E501
200
+ # verify the required parameter 'incident_id' is set
201
+ if ('incident_id' not in params or
202
+ params['incident_id'] is None):
203
+ raise ValueError("Missing the required parameter `incident_id` when calling `incidents_service_create_incident_message`") # noqa: E501
204
+
205
+ collection_formats = {}
206
+
207
+ path_params = {}
208
+ if 'incident_id' in params:
209
+ path_params['incidentId'] = params['incident_id'] # noqa: E501
210
+
211
+ query_params = []
212
+
213
+ header_params = {}
214
+
215
+ form_params = []
216
+ local_var_files = {}
217
+
218
+ body_params = None
219
+ if 'body' in params:
220
+ body_params = params['body']
221
+ # HTTP header `Accept`
222
+ header_params['Accept'] = self.api_client.select_header_accept(
223
+ ['application/json']) # noqa: E501
224
+
225
+ # HTTP header `Content-Type`
226
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
227
+ ['application/json']) # noqa: E501
228
+
229
+ # Authentication setting
230
+ auth_settings = [] # noqa: E501
231
+
232
+ return self.api_client.call_api(
233
+ '/v1/incidents/{incidentId}/messages', 'POST',
234
+ path_params,
235
+ query_params,
236
+ header_params,
237
+ body=body_params,
238
+ post_params=form_params,
239
+ files=local_var_files,
240
+ response_type='V1IncidentMessage', # noqa: E501
241
+ auth_settings=auth_settings,
242
+ async_req=params.get('async_req'),
243
+ _return_http_data_only=params.get('_return_http_data_only'),
244
+ _preload_content=params.get('_preload_content', True),
245
+ _request_timeout=params.get('_request_timeout'),
246
+ collection_formats=collection_formats)
247
+
248
+ def incidents_service_delete_incident(self, id: 'str', **kwargs) -> 'V1DeleteIncidentResponse': # noqa: E501
249
+ """incidents_service_delete_incident # noqa: E501
250
+
251
+ This method makes a synchronous HTTP request by default. To make an
252
+ asynchronous HTTP request, please pass async_req=True
253
+ >>> thread = api.incidents_service_delete_incident(id, async_req=True)
254
+ >>> result = thread.get()
255
+
256
+ :param async_req bool
257
+ :param str id: (required)
258
+ :return: V1DeleteIncidentResponse
259
+ If the method is called asynchronously,
260
+ returns the request thread.
261
+ """
262
+ kwargs['_return_http_data_only'] = True
263
+ if kwargs.get('async_req'):
264
+ return self.incidents_service_delete_incident_with_http_info(id, **kwargs) # noqa: E501
265
+ else:
266
+ (data) = self.incidents_service_delete_incident_with_http_info(id, **kwargs) # noqa: E501
267
+ return data
268
+
269
+ def incidents_service_delete_incident_with_http_info(self, id: 'str', **kwargs) -> 'V1DeleteIncidentResponse': # noqa: E501
270
+ """incidents_service_delete_incident # noqa: E501
271
+
272
+ This method makes a synchronous HTTP request by default. To make an
273
+ asynchronous HTTP request, please pass async_req=True
274
+ >>> thread = api.incidents_service_delete_incident_with_http_info(id, async_req=True)
275
+ >>> result = thread.get()
276
+
277
+ :param async_req bool
278
+ :param str id: (required)
279
+ :return: V1DeleteIncidentResponse
280
+ If the method is called asynchronously,
281
+ returns the request thread.
282
+ """
283
+
284
+ all_params = ['id'] # noqa: E501
285
+ all_params.append('async_req')
286
+ all_params.append('_return_http_data_only')
287
+ all_params.append('_preload_content')
288
+ all_params.append('_request_timeout')
289
+
290
+ params = locals()
291
+ for key, val in six.iteritems(params['kwargs']):
292
+ if key not in all_params:
293
+ raise TypeError(
294
+ "Got an unexpected keyword argument '%s'"
295
+ " to method incidents_service_delete_incident" % key
296
+ )
297
+ params[key] = val
298
+ del params['kwargs']
299
+ # verify the required parameter 'id' is set
300
+ if ('id' not in params or
301
+ params['id'] is None):
302
+ raise ValueError("Missing the required parameter `id` when calling `incidents_service_delete_incident`") # noqa: E501
303
+
304
+ collection_formats = {}
305
+
306
+ path_params = {}
307
+ if 'id' in params:
308
+ path_params['id'] = params['id'] # noqa: E501
309
+
310
+ query_params = []
311
+
312
+ header_params = {}
313
+
314
+ form_params = []
315
+ local_var_files = {}
316
+
317
+ body_params = None
318
+ # HTTP header `Accept`
319
+ header_params['Accept'] = self.api_client.select_header_accept(
320
+ ['application/json']) # noqa: E501
321
+
322
+ # Authentication setting
323
+ auth_settings = [] # noqa: E501
324
+
325
+ return self.api_client.call_api(
326
+ '/v1/incidents/{id}', 'DELETE',
327
+ path_params,
328
+ query_params,
329
+ header_params,
330
+ body=body_params,
331
+ post_params=form_params,
332
+ files=local_var_files,
333
+ response_type='V1DeleteIncidentResponse', # noqa: E501
334
+ auth_settings=auth_settings,
335
+ async_req=params.get('async_req'),
336
+ _return_http_data_only=params.get('_return_http_data_only'),
337
+ _preload_content=params.get('_preload_content', True),
338
+ _request_timeout=params.get('_request_timeout'),
339
+ collection_formats=collection_formats)
340
+
341
+ def incidents_service_delete_incident_message(self, incident_id: 'str', message_id: 'str', **kwargs) -> 'V1DeleteIncidentMessageResponse': # noqa: E501
342
+ """incidents_service_delete_incident_message # noqa: E501
343
+
344
+ This method makes a synchronous HTTP request by default. To make an
345
+ asynchronous HTTP request, please pass async_req=True
346
+ >>> thread = api.incidents_service_delete_incident_message(incident_id, message_id, async_req=True)
347
+ >>> result = thread.get()
348
+
349
+ :param async_req bool
350
+ :param str incident_id: (required)
351
+ :param str message_id: (required)
352
+ :return: V1DeleteIncidentMessageResponse
353
+ If the method is called asynchronously,
354
+ returns the request thread.
355
+ """
356
+ kwargs['_return_http_data_only'] = True
357
+ if kwargs.get('async_req'):
358
+ return self.incidents_service_delete_incident_message_with_http_info(incident_id, message_id, **kwargs) # noqa: E501
359
+ else:
360
+ (data) = self.incidents_service_delete_incident_message_with_http_info(incident_id, message_id, **kwargs) # noqa: E501
361
+ return data
362
+
363
+ def incidents_service_delete_incident_message_with_http_info(self, incident_id: 'str', message_id: 'str', **kwargs) -> 'V1DeleteIncidentMessageResponse': # noqa: E501
364
+ """incidents_service_delete_incident_message # noqa: E501
365
+
366
+ This method makes a synchronous HTTP request by default. To make an
367
+ asynchronous HTTP request, please pass async_req=True
368
+ >>> thread = api.incidents_service_delete_incident_message_with_http_info(incident_id, message_id, async_req=True)
369
+ >>> result = thread.get()
370
+
371
+ :param async_req bool
372
+ :param str incident_id: (required)
373
+ :param str message_id: (required)
374
+ :return: V1DeleteIncidentMessageResponse
375
+ If the method is called asynchronously,
376
+ returns the request thread.
377
+ """
378
+
379
+ all_params = ['incident_id', 'message_id'] # noqa: E501
380
+ all_params.append('async_req')
381
+ all_params.append('_return_http_data_only')
382
+ all_params.append('_preload_content')
383
+ all_params.append('_request_timeout')
384
+
385
+ params = locals()
386
+ for key, val in six.iteritems(params['kwargs']):
387
+ if key not in all_params:
388
+ raise TypeError(
389
+ "Got an unexpected keyword argument '%s'"
390
+ " to method incidents_service_delete_incident_message" % key
391
+ )
392
+ params[key] = val
393
+ del params['kwargs']
394
+ # verify the required parameter 'incident_id' is set
395
+ if ('incident_id' not in params or
396
+ params['incident_id'] is None):
397
+ raise ValueError("Missing the required parameter `incident_id` when calling `incidents_service_delete_incident_message`") # noqa: E501
398
+ # verify the required parameter 'message_id' is set
399
+ if ('message_id' not in params or
400
+ params['message_id'] is None):
401
+ raise ValueError("Missing the required parameter `message_id` when calling `incidents_service_delete_incident_message`") # noqa: E501
402
+
403
+ collection_formats = {}
404
+
405
+ path_params = {}
406
+ if 'incident_id' in params:
407
+ path_params['incidentId'] = params['incident_id'] # noqa: E501
408
+ if 'message_id' in params:
409
+ path_params['messageId'] = params['message_id'] # noqa: E501
410
+
411
+ query_params = []
412
+
413
+ header_params = {}
414
+
415
+ form_params = []
416
+ local_var_files = {}
417
+
418
+ body_params = None
419
+ # HTTP header `Accept`
420
+ header_params['Accept'] = self.api_client.select_header_accept(
421
+ ['application/json']) # noqa: E501
422
+
423
+ # Authentication setting
424
+ auth_settings = [] # noqa: E501
425
+
426
+ return self.api_client.call_api(
427
+ '/v1/incidents/{incidentId}/messages/{messageId}', 'DELETE',
428
+ path_params,
429
+ query_params,
430
+ header_params,
431
+ body=body_params,
432
+ post_params=form_params,
433
+ files=local_var_files,
434
+ response_type='V1DeleteIncidentMessageResponse', # noqa: E501
435
+ auth_settings=auth_settings,
436
+ async_req=params.get('async_req'),
437
+ _return_http_data_only=params.get('_return_http_data_only'),
438
+ _preload_content=params.get('_preload_content', True),
439
+ _request_timeout=params.get('_request_timeout'),
440
+ collection_formats=collection_formats)
441
+
442
+ def incidents_service_get_incident(self, id: 'str', **kwargs) -> 'V1Incident': # noqa: E501
443
+ """incidents_service_get_incident # noqa: E501
444
+
445
+ This method makes a synchronous HTTP request by default. To make an
446
+ asynchronous HTTP request, please pass async_req=True
447
+ >>> thread = api.incidents_service_get_incident(id, async_req=True)
448
+ >>> result = thread.get()
449
+
450
+ :param async_req bool
451
+ :param str id: (required)
452
+ :return: V1Incident
453
+ If the method is called asynchronously,
454
+ returns the request thread.
455
+ """
456
+ kwargs['_return_http_data_only'] = True
457
+ if kwargs.get('async_req'):
458
+ return self.incidents_service_get_incident_with_http_info(id, **kwargs) # noqa: E501
459
+ else:
460
+ (data) = self.incidents_service_get_incident_with_http_info(id, **kwargs) # noqa: E501
461
+ return data
462
+
463
+ def incidents_service_get_incident_with_http_info(self, id: 'str', **kwargs) -> 'V1Incident': # noqa: E501
464
+ """incidents_service_get_incident # noqa: E501
465
+
466
+ This method makes a synchronous HTTP request by default. To make an
467
+ asynchronous HTTP request, please pass async_req=True
468
+ >>> thread = api.incidents_service_get_incident_with_http_info(id, async_req=True)
469
+ >>> result = thread.get()
470
+
471
+ :param async_req bool
472
+ :param str id: (required)
473
+ :return: V1Incident
474
+ If the method is called asynchronously,
475
+ returns the request thread.
476
+ """
477
+
478
+ all_params = ['id'] # noqa: E501
479
+ all_params.append('async_req')
480
+ all_params.append('_return_http_data_only')
481
+ all_params.append('_preload_content')
482
+ all_params.append('_request_timeout')
483
+
484
+ params = locals()
485
+ for key, val in six.iteritems(params['kwargs']):
486
+ if key not in all_params:
487
+ raise TypeError(
488
+ "Got an unexpected keyword argument '%s'"
489
+ " to method incidents_service_get_incident" % key
490
+ )
491
+ params[key] = val
492
+ del params['kwargs']
493
+ # verify the required parameter 'id' is set
494
+ if ('id' not in params or
495
+ params['id'] is None):
496
+ raise ValueError("Missing the required parameter `id` when calling `incidents_service_get_incident`") # noqa: E501
497
+
498
+ collection_formats = {}
499
+
500
+ path_params = {}
501
+ if 'id' in params:
502
+ path_params['id'] = params['id'] # noqa: E501
503
+
504
+ query_params = []
505
+
506
+ header_params = {}
507
+
508
+ form_params = []
509
+ local_var_files = {}
510
+
511
+ body_params = None
512
+ # HTTP header `Accept`
513
+ header_params['Accept'] = self.api_client.select_header_accept(
514
+ ['application/json']) # noqa: E501
515
+
516
+ # Authentication setting
517
+ auth_settings = [] # noqa: E501
518
+
519
+ return self.api_client.call_api(
520
+ '/v1/incidents/{id}', 'GET',
521
+ path_params,
522
+ query_params,
523
+ header_params,
524
+ body=body_params,
525
+ post_params=form_params,
526
+ files=local_var_files,
527
+ response_type='V1Incident', # noqa: E501
528
+ auth_settings=auth_settings,
529
+ async_req=params.get('async_req'),
530
+ _return_http_data_only=params.get('_return_http_data_only'),
531
+ _preload_content=params.get('_preload_content', True),
532
+ _request_timeout=params.get('_request_timeout'),
533
+ collection_formats=collection_formats)
534
+
535
+ def incidents_service_list_incident_events(self, **kwargs) -> 'V1ListIncidentEventsResponse': # noqa: E501
536
+ """incidents_service_list_incident_events # noqa: E501
537
+
538
+ This method makes a synchronous HTTP request by default. To make an
539
+ asynchronous HTTP request, please pass async_req=True
540
+ >>> thread = api.incidents_service_list_incident_events(async_req=True)
541
+ >>> result = thread.get()
542
+
543
+ :param async_req bool
544
+ :param str project_id:
545
+ :param str cluster_id:
546
+ :return: V1ListIncidentEventsResponse
547
+ If the method is called asynchronously,
548
+ returns the request thread.
549
+ """
550
+ kwargs['_return_http_data_only'] = True
551
+ if kwargs.get('async_req'):
552
+ return self.incidents_service_list_incident_events_with_http_info(**kwargs) # noqa: E501
553
+ else:
554
+ (data) = self.incidents_service_list_incident_events_with_http_info(**kwargs) # noqa: E501
555
+ return data
556
+
557
+ def incidents_service_list_incident_events_with_http_info(self, **kwargs) -> 'V1ListIncidentEventsResponse': # noqa: E501
558
+ """incidents_service_list_incident_events # noqa: E501
559
+
560
+ This method makes a synchronous HTTP request by default. To make an
561
+ asynchronous HTTP request, please pass async_req=True
562
+ >>> thread = api.incidents_service_list_incident_events_with_http_info(async_req=True)
563
+ >>> result = thread.get()
564
+
565
+ :param async_req bool
566
+ :param str project_id:
567
+ :param str cluster_id:
568
+ :return: V1ListIncidentEventsResponse
569
+ If the method is called asynchronously,
570
+ returns the request thread.
571
+ """
572
+
573
+ all_params = ['project_id', 'cluster_id'] # noqa: E501
574
+ all_params.append('async_req')
575
+ all_params.append('_return_http_data_only')
576
+ all_params.append('_preload_content')
577
+ all_params.append('_request_timeout')
578
+
579
+ params = locals()
580
+ for key, val in six.iteritems(params['kwargs']):
581
+ if key not in all_params:
582
+ raise TypeError(
583
+ "Got an unexpected keyword argument '%s'"
584
+ " to method incidents_service_list_incident_events" % key
585
+ )
586
+ params[key] = val
587
+ del params['kwargs']
588
+
589
+ collection_formats = {}
590
+
591
+ path_params = {}
592
+
593
+ query_params = []
594
+ if 'project_id' in params:
595
+ query_params.append(('projectId', params['project_id'])) # noqa: E501
596
+ if 'cluster_id' in params:
597
+ query_params.append(('clusterId', params['cluster_id'])) # noqa: E501
598
+
599
+ header_params = {}
600
+
601
+ form_params = []
602
+ local_var_files = {}
603
+
604
+ body_params = None
605
+ # HTTP header `Accept`
606
+ header_params['Accept'] = self.api_client.select_header_accept(
607
+ ['application/json']) # noqa: E501
608
+
609
+ # Authentication setting
610
+ auth_settings = [] # noqa: E501
611
+
612
+ return self.api_client.call_api(
613
+ '/v1/incident-events', 'GET',
614
+ path_params,
615
+ query_params,
616
+ header_params,
617
+ body=body_params,
618
+ post_params=form_params,
619
+ files=local_var_files,
620
+ response_type='V1ListIncidentEventsResponse', # noqa: E501
621
+ auth_settings=auth_settings,
622
+ async_req=params.get('async_req'),
623
+ _return_http_data_only=params.get('_return_http_data_only'),
624
+ _preload_content=params.get('_preload_content', True),
625
+ _request_timeout=params.get('_request_timeout'),
626
+ collection_formats=collection_formats)
627
+
628
+ def incidents_service_list_incident_messages(self, incident_id: 'str', **kwargs) -> 'V1ListIncidentMessagesResponse': # noqa: E501
629
+ """incidents_service_list_incident_messages # noqa: E501
630
+
631
+ This method makes a synchronous HTTP request by default. To make an
632
+ asynchronous HTTP request, please pass async_req=True
633
+ >>> thread = api.incidents_service_list_incident_messages(incident_id, async_req=True)
634
+ >>> result = thread.get()
635
+
636
+ :param async_req bool
637
+ :param str incident_id: (required)
638
+ :param int page_size:
639
+ :param str page_token:
640
+ :return: V1ListIncidentMessagesResponse
641
+ If the method is called asynchronously,
642
+ returns the request thread.
643
+ """
644
+ kwargs['_return_http_data_only'] = True
645
+ if kwargs.get('async_req'):
646
+ return self.incidents_service_list_incident_messages_with_http_info(incident_id, **kwargs) # noqa: E501
647
+ else:
648
+ (data) = self.incidents_service_list_incident_messages_with_http_info(incident_id, **kwargs) # noqa: E501
649
+ return data
650
+
651
+ def incidents_service_list_incident_messages_with_http_info(self, incident_id: 'str', **kwargs) -> 'V1ListIncidentMessagesResponse': # noqa: E501
652
+ """incidents_service_list_incident_messages # noqa: E501
653
+
654
+ This method makes a synchronous HTTP request by default. To make an
655
+ asynchronous HTTP request, please pass async_req=True
656
+ >>> thread = api.incidents_service_list_incident_messages_with_http_info(incident_id, async_req=True)
657
+ >>> result = thread.get()
658
+
659
+ :param async_req bool
660
+ :param str incident_id: (required)
661
+ :param int page_size:
662
+ :param str page_token:
663
+ :return: V1ListIncidentMessagesResponse
664
+ If the method is called asynchronously,
665
+ returns the request thread.
666
+ """
667
+
668
+ all_params = ['incident_id', 'page_size', 'page_token'] # noqa: E501
669
+ all_params.append('async_req')
670
+ all_params.append('_return_http_data_only')
671
+ all_params.append('_preload_content')
672
+ all_params.append('_request_timeout')
673
+
674
+ params = locals()
675
+ for key, val in six.iteritems(params['kwargs']):
676
+ if key not in all_params:
677
+ raise TypeError(
678
+ "Got an unexpected keyword argument '%s'"
679
+ " to method incidents_service_list_incident_messages" % key
680
+ )
681
+ params[key] = val
682
+ del params['kwargs']
683
+ # verify the required parameter 'incident_id' is set
684
+ if ('incident_id' not in params or
685
+ params['incident_id'] is None):
686
+ raise ValueError("Missing the required parameter `incident_id` when calling `incidents_service_list_incident_messages`") # noqa: E501
687
+
688
+ collection_formats = {}
689
+
690
+ path_params = {}
691
+ if 'incident_id' in params:
692
+ path_params['incidentId'] = params['incident_id'] # noqa: E501
693
+
694
+ query_params = []
695
+ if 'page_size' in params:
696
+ query_params.append(('pageSize', params['page_size'])) # noqa: E501
697
+ if 'page_token' in params:
698
+ query_params.append(('pageToken', params['page_token'])) # noqa: E501
699
+
700
+ header_params = {}
701
+
702
+ form_params = []
703
+ local_var_files = {}
704
+
705
+ body_params = None
706
+ # HTTP header `Accept`
707
+ header_params['Accept'] = self.api_client.select_header_accept(
708
+ ['application/json']) # noqa: E501
709
+
710
+ # Authentication setting
711
+ auth_settings = [] # noqa: E501
712
+
713
+ return self.api_client.call_api(
714
+ '/v1/incidents/{incidentId}/messages', 'GET',
715
+ path_params,
716
+ query_params,
717
+ header_params,
718
+ body=body_params,
719
+ post_params=form_params,
720
+ files=local_var_files,
721
+ response_type='V1ListIncidentMessagesResponse', # noqa: E501
722
+ auth_settings=auth_settings,
723
+ async_req=params.get('async_req'),
724
+ _return_http_data_only=params.get('_return_http_data_only'),
725
+ _preload_content=params.get('_preload_content', True),
726
+ _request_timeout=params.get('_request_timeout'),
727
+ collection_formats=collection_formats)
728
+
729
+ def incidents_service_list_incidents(self, **kwargs) -> 'V1ListIncidentsResponse': # noqa: E501
730
+ """incidents_service_list_incidents # noqa: E501
731
+
732
+ This method makes a synchronous HTTP request by default. To make an
733
+ asynchronous HTTP request, please pass async_req=True
734
+ >>> thread = api.incidents_service_list_incidents(async_req=True)
735
+ >>> result = thread.get()
736
+
737
+ :param async_req bool
738
+ :param str project_id:
739
+ :param str cluster_id:
740
+ :param str status:
741
+ :param str type:
742
+ :param str severity:
743
+ :param int page_size:
744
+ :param str page_token:
745
+ :return: V1ListIncidentsResponse
746
+ If the method is called asynchronously,
747
+ returns the request thread.
748
+ """
749
+ kwargs['_return_http_data_only'] = True
750
+ if kwargs.get('async_req'):
751
+ return self.incidents_service_list_incidents_with_http_info(**kwargs) # noqa: E501
752
+ else:
753
+ (data) = self.incidents_service_list_incidents_with_http_info(**kwargs) # noqa: E501
754
+ return data
755
+
756
+ def incidents_service_list_incidents_with_http_info(self, **kwargs) -> 'V1ListIncidentsResponse': # noqa: E501
757
+ """incidents_service_list_incidents # noqa: E501
758
+
759
+ This method makes a synchronous HTTP request by default. To make an
760
+ asynchronous HTTP request, please pass async_req=True
761
+ >>> thread = api.incidents_service_list_incidents_with_http_info(async_req=True)
762
+ >>> result = thread.get()
763
+
764
+ :param async_req bool
765
+ :param str project_id:
766
+ :param str cluster_id:
767
+ :param str status:
768
+ :param str type:
769
+ :param str severity:
770
+ :param int page_size:
771
+ :param str page_token:
772
+ :return: V1ListIncidentsResponse
773
+ If the method is called asynchronously,
774
+ returns the request thread.
775
+ """
776
+
777
+ all_params = ['project_id', 'cluster_id', 'status', 'type', 'severity', 'page_size', 'page_token'] # noqa: E501
778
+ all_params.append('async_req')
779
+ all_params.append('_return_http_data_only')
780
+ all_params.append('_preload_content')
781
+ all_params.append('_request_timeout')
782
+
783
+ params = locals()
784
+ for key, val in six.iteritems(params['kwargs']):
785
+ if key not in all_params:
786
+ raise TypeError(
787
+ "Got an unexpected keyword argument '%s'"
788
+ " to method incidents_service_list_incidents" % key
789
+ )
790
+ params[key] = val
791
+ del params['kwargs']
792
+
793
+ collection_formats = {}
794
+
795
+ path_params = {}
796
+
797
+ query_params = []
798
+ if 'project_id' in params:
799
+ query_params.append(('projectId', params['project_id'])) # noqa: E501
800
+ if 'cluster_id' in params:
801
+ query_params.append(('clusterId', params['cluster_id'])) # noqa: E501
802
+ if 'status' in params:
803
+ query_params.append(('status', params['status'])) # noqa: E501
804
+ if 'type' in params:
805
+ query_params.append(('type', params['type'])) # noqa: E501
806
+ if 'severity' in params:
807
+ query_params.append(('severity', params['severity'])) # noqa: E501
808
+ if 'page_size' in params:
809
+ query_params.append(('pageSize', params['page_size'])) # noqa: E501
810
+ if 'page_token' in params:
811
+ query_params.append(('pageToken', params['page_token'])) # noqa: E501
812
+
813
+ header_params = {}
814
+
815
+ form_params = []
816
+ local_var_files = {}
817
+
818
+ body_params = None
819
+ # HTTP header `Accept`
820
+ header_params['Accept'] = self.api_client.select_header_accept(
821
+ ['application/json']) # noqa: E501
822
+
823
+ # Authentication setting
824
+ auth_settings = [] # noqa: E501
825
+
826
+ return self.api_client.call_api(
827
+ '/v1/incidents', 'GET',
828
+ path_params,
829
+ query_params,
830
+ header_params,
831
+ body=body_params,
832
+ post_params=form_params,
833
+ files=local_var_files,
834
+ response_type='V1ListIncidentsResponse', # noqa: E501
835
+ auth_settings=auth_settings,
836
+ async_req=params.get('async_req'),
837
+ _return_http_data_only=params.get('_return_http_data_only'),
838
+ _preload_content=params.get('_preload_content', True),
839
+ _request_timeout=params.get('_request_timeout'),
840
+ collection_formats=collection_formats)
841
+
842
+ def incidents_service_update_incident(self, body: 'IncidentsIdBody', id: 'str', **kwargs) -> 'V1Incident': # noqa: E501
843
+ """incidents_service_update_incident # noqa: E501
844
+
845
+ This method makes a synchronous HTTP request by default. To make an
846
+ asynchronous HTTP request, please pass async_req=True
847
+ >>> thread = api.incidents_service_update_incident(body, id, async_req=True)
848
+ >>> result = thread.get()
849
+
850
+ :param async_req bool
851
+ :param IncidentsIdBody body: (required)
852
+ :param str id: (required)
853
+ :return: V1Incident
854
+ If the method is called asynchronously,
855
+ returns the request thread.
856
+ """
857
+ kwargs['_return_http_data_only'] = True
858
+ if kwargs.get('async_req'):
859
+ return self.incidents_service_update_incident_with_http_info(body, id, **kwargs) # noqa: E501
860
+ else:
861
+ (data) = self.incidents_service_update_incident_with_http_info(body, id, **kwargs) # noqa: E501
862
+ return data
863
+
864
+ def incidents_service_update_incident_with_http_info(self, body: 'IncidentsIdBody', id: 'str', **kwargs) -> 'V1Incident': # noqa: E501
865
+ """incidents_service_update_incident # noqa: E501
866
+
867
+ This method makes a synchronous HTTP request by default. To make an
868
+ asynchronous HTTP request, please pass async_req=True
869
+ >>> thread = api.incidents_service_update_incident_with_http_info(body, id, async_req=True)
870
+ >>> result = thread.get()
871
+
872
+ :param async_req bool
873
+ :param IncidentsIdBody body: (required)
874
+ :param str id: (required)
875
+ :return: V1Incident
876
+ If the method is called asynchronously,
877
+ returns the request thread.
878
+ """
879
+
880
+ all_params = ['body', 'id'] # noqa: E501
881
+ all_params.append('async_req')
882
+ all_params.append('_return_http_data_only')
883
+ all_params.append('_preload_content')
884
+ all_params.append('_request_timeout')
885
+
886
+ params = locals()
887
+ for key, val in six.iteritems(params['kwargs']):
888
+ if key not in all_params:
889
+ raise TypeError(
890
+ "Got an unexpected keyword argument '%s'"
891
+ " to method incidents_service_update_incident" % key
892
+ )
893
+ params[key] = val
894
+ del params['kwargs']
895
+ # verify the required parameter 'body' is set
896
+ if ('body' not in params or
897
+ params['body'] is None):
898
+ raise ValueError("Missing the required parameter `body` when calling `incidents_service_update_incident`") # noqa: E501
899
+ # verify the required parameter 'id' is set
900
+ if ('id' not in params or
901
+ params['id'] is None):
902
+ raise ValueError("Missing the required parameter `id` when calling `incidents_service_update_incident`") # noqa: E501
903
+
904
+ collection_formats = {}
905
+
906
+ path_params = {}
907
+ if 'id' in params:
908
+ path_params['id'] = params['id'] # noqa: E501
909
+
910
+ query_params = []
911
+
912
+ header_params = {}
913
+
914
+ form_params = []
915
+ local_var_files = {}
916
+
917
+ body_params = None
918
+ if 'body' in params:
919
+ body_params = params['body']
920
+ # HTTP header `Accept`
921
+ header_params['Accept'] = self.api_client.select_header_accept(
922
+ ['application/json']) # noqa: E501
923
+
924
+ # HTTP header `Content-Type`
925
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
926
+ ['application/json']) # noqa: E501
927
+
928
+ # Authentication setting
929
+ auth_settings = [] # noqa: E501
930
+
931
+ return self.api_client.call_api(
932
+ '/v1/incidents/{id}', 'PUT',
933
+ path_params,
934
+ query_params,
935
+ header_params,
936
+ body=body_params,
937
+ post_params=form_params,
938
+ files=local_var_files,
939
+ response_type='V1Incident', # noqa: E501
940
+ auth_settings=auth_settings,
941
+ async_req=params.get('async_req'),
942
+ _return_http_data_only=params.get('_return_http_data_only'),
943
+ _preload_content=params.get('_preload_content', True),
944
+ _request_timeout=params.get('_request_timeout'),
945
+ collection_formats=collection_formats)
946
+
947
+ def incidents_service_update_incident_message(self, body: 'MessagesMessageIdBody', incident_id: 'str', message_id: 'str', **kwargs) -> 'V1IncidentMessage': # noqa: E501
948
+ """incidents_service_update_incident_message # noqa: E501
949
+
950
+ This method makes a synchronous HTTP request by default. To make an
951
+ asynchronous HTTP request, please pass async_req=True
952
+ >>> thread = api.incidents_service_update_incident_message(body, incident_id, message_id, async_req=True)
953
+ >>> result = thread.get()
954
+
955
+ :param async_req bool
956
+ :param MessagesMessageIdBody body: (required)
957
+ :param str incident_id: (required)
958
+ :param str message_id: (required)
959
+ :return: V1IncidentMessage
960
+ If the method is called asynchronously,
961
+ returns the request thread.
962
+ """
963
+ kwargs['_return_http_data_only'] = True
964
+ if kwargs.get('async_req'):
965
+ return self.incidents_service_update_incident_message_with_http_info(body, incident_id, message_id, **kwargs) # noqa: E501
966
+ else:
967
+ (data) = self.incidents_service_update_incident_message_with_http_info(body, incident_id, message_id, **kwargs) # noqa: E501
968
+ return data
969
+
970
+ def incidents_service_update_incident_message_with_http_info(self, body: 'MessagesMessageIdBody', incident_id: 'str', message_id: 'str', **kwargs) -> 'V1IncidentMessage': # noqa: E501
971
+ """incidents_service_update_incident_message # noqa: E501
972
+
973
+ This method makes a synchronous HTTP request by default. To make an
974
+ asynchronous HTTP request, please pass async_req=True
975
+ >>> thread = api.incidents_service_update_incident_message_with_http_info(body, incident_id, message_id, async_req=True)
976
+ >>> result = thread.get()
977
+
978
+ :param async_req bool
979
+ :param MessagesMessageIdBody body: (required)
980
+ :param str incident_id: (required)
981
+ :param str message_id: (required)
982
+ :return: V1IncidentMessage
983
+ If the method is called asynchronously,
984
+ returns the request thread.
985
+ """
986
+
987
+ all_params = ['body', 'incident_id', 'message_id'] # noqa: E501
988
+ all_params.append('async_req')
989
+ all_params.append('_return_http_data_only')
990
+ all_params.append('_preload_content')
991
+ all_params.append('_request_timeout')
992
+
993
+ params = locals()
994
+ for key, val in six.iteritems(params['kwargs']):
995
+ if key not in all_params:
996
+ raise TypeError(
997
+ "Got an unexpected keyword argument '%s'"
998
+ " to method incidents_service_update_incident_message" % key
999
+ )
1000
+ params[key] = val
1001
+ del params['kwargs']
1002
+ # verify the required parameter 'body' is set
1003
+ if ('body' not in params or
1004
+ params['body'] is None):
1005
+ raise ValueError("Missing the required parameter `body` when calling `incidents_service_update_incident_message`") # noqa: E501
1006
+ # verify the required parameter 'incident_id' is set
1007
+ if ('incident_id' not in params or
1008
+ params['incident_id'] is None):
1009
+ raise ValueError("Missing the required parameter `incident_id` when calling `incidents_service_update_incident_message`") # noqa: E501
1010
+ # verify the required parameter 'message_id' is set
1011
+ if ('message_id' not in params or
1012
+ params['message_id'] is None):
1013
+ raise ValueError("Missing the required parameter `message_id` when calling `incidents_service_update_incident_message`") # noqa: E501
1014
+
1015
+ collection_formats = {}
1016
+
1017
+ path_params = {}
1018
+ if 'incident_id' in params:
1019
+ path_params['incidentId'] = params['incident_id'] # noqa: E501
1020
+ if 'message_id' in params:
1021
+ path_params['messageId'] = params['message_id'] # noqa: E501
1022
+
1023
+ query_params = []
1024
+
1025
+ header_params = {}
1026
+
1027
+ form_params = []
1028
+ local_var_files = {}
1029
+
1030
+ body_params = None
1031
+ if 'body' in params:
1032
+ body_params = params['body']
1033
+ # HTTP header `Accept`
1034
+ header_params['Accept'] = self.api_client.select_header_accept(
1035
+ ['application/json']) # noqa: E501
1036
+
1037
+ # HTTP header `Content-Type`
1038
+ header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
1039
+ ['application/json']) # noqa: E501
1040
+
1041
+ # Authentication setting
1042
+ auth_settings = [] # noqa: E501
1043
+
1044
+ return self.api_client.call_api(
1045
+ '/v1/incidents/{incidentId}/messages/{messageId}', 'PUT',
1046
+ path_params,
1047
+ query_params,
1048
+ header_params,
1049
+ body=body_params,
1050
+ post_params=form_params,
1051
+ files=local_var_files,
1052
+ response_type='V1IncidentMessage', # noqa: E501
1053
+ auth_settings=auth_settings,
1054
+ async_req=params.get('async_req'),
1055
+ _return_http_data_only=params.get('_return_http_data_only'),
1056
+ _preload_content=params.get('_preload_content', True),
1057
+ _request_timeout=params.get('_request_timeout'),
1058
+ collection_formats=collection_formats)