ourskyai-node-platform-api 1.3.9821__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 (282) hide show
  1. ourskyai_node_platform_api/__init__.py +301 -0
  2. ourskyai_node_platform_api/api/__init__.py +5 -0
  3. ourskyai_node_platform_api/api/default_api.py +22197 -0
  4. ourskyai_node_platform_api/api_client.py +758 -0
  5. ourskyai_node_platform_api/api_response.py +25 -0
  6. ourskyai_node_platform_api/configuration.py +456 -0
  7. ourskyai_node_platform_api/exceptions.py +166 -0
  8. ourskyai_node_platform_api/models/__init__.py +284 -0
  9. ourskyai_node_platform_api/models/all_sky_camera_diagnosis_report.py +73 -0
  10. ourskyai_node_platform_api/models/astro_camera_diagnosis_report.py +79 -0
  11. ourskyai_node_platform_api/models/auto_stretch_image_completed.py +71 -0
  12. ourskyai_node_platform_api/models/auto_stretch_image_started.py +71 -0
  13. ourskyai_node_platform_api/models/autofocus_failed.py +71 -0
  14. ourskyai_node_platform_api/models/autofocus_finished.py +80 -0
  15. ourskyai_node_platform_api/models/autofocus_method.py +41 -0
  16. ourskyai_node_platform_api/models/autofocus_point_added.py +75 -0
  17. ourskyai_node_platform_api/models/autofocus_started.py +79 -0
  18. ourskyai_node_platform_api/models/bff_v1_all_sky_images.py +90 -0
  19. ourskyai_node_platform_api/models/camera_image_captured.py +75 -0
  20. ourskyai_node_platform_api/models/camera_status_updated.py +76 -0
  21. ourskyai_node_platform_api/models/camera_temperature_set.py +71 -0
  22. ourskyai_node_platform_api/models/capture_image_started.py +79 -0
  23. ourskyai_node_platform_api/models/connection_status.py +41 -0
  24. ourskyai_node_platform_api/models/create_mount_model_completed.py +71 -0
  25. ourskyai_node_platform_api/models/create_mount_model_failed.py +71 -0
  26. ourskyai_node_platform_api/models/create_mount_model_started.py +71 -0
  27. ourskyai_node_platform_api/models/custom_image_processing_container.py +81 -0
  28. ourskyai_node_platform_api/models/custom_image_processing_container_list.py +81 -0
  29. ourskyai_node_platform_api/models/debug_logged.py +73 -0
  30. ourskyai_node_platform_api/models/elevation_mask_diagnostic_completed.py +71 -0
  31. ourskyai_node_platform_api/models/elevation_mask_diagnostic_failed.py +71 -0
  32. ourskyai_node_platform_api/models/elevation_mask_diagnostic_started.py +71 -0
  33. ourskyai_node_platform_api/models/elevation_mask_point_added.py +75 -0
  34. ourskyai_node_platform_api/models/empty_success.py +71 -0
  35. ourskyai_node_platform_api/models/enclosure_shutter_label.py +40 -0
  36. ourskyai_node_platform_api/models/enclosure_shutter_state.py +46 -0
  37. ourskyai_node_platform_api/models/enclosure_shutter_statuses_updated.py +75 -0
  38. ourskyai_node_platform_api/models/enclosure_state.py +50 -0
  39. ourskyai_node_platform_api/models/event_type.py +94 -0
  40. ourskyai_node_platform_api/models/fits_header.py +73 -0
  41. ourskyai_node_platform_api/models/focus_operation.py +43 -0
  42. ourskyai_node_platform_api/models/focuser_diagnosis_report.py +73 -0
  43. ourskyai_node_platform_api/models/focuser_position.py +81 -0
  44. ourskyai_node_platform_api/models/focuser_status_updated.py +72 -0
  45. ourskyai_node_platform_api/models/go_to_altitude_azimuth_completed.py +73 -0
  46. ourskyai_node_platform_api/models/go_to_altitude_azimuth_failed.py +73 -0
  47. ourskyai_node_platform_api/models/go_to_altitude_azimuth_started.py +73 -0
  48. ourskyai_node_platform_api/models/go_to_home_completed.py +71 -0
  49. ourskyai_node_platform_api/models/go_to_home_failed.py +71 -0
  50. ourskyai_node_platform_api/models/go_to_home_started.py +71 -0
  51. ourskyai_node_platform_api/models/go_to_mechanical_coordinates_completed.py +73 -0
  52. ourskyai_node_platform_api/models/go_to_mechanical_coordinates_failed.py +73 -0
  53. ourskyai_node_platform_api/models/go_to_mechanical_coordinates_started.py +73 -0
  54. ourskyai_node_platform_api/models/go_to_ra_dec_completed.py +73 -0
  55. ourskyai_node_platform_api/models/go_to_ra_dec_failed.py +73 -0
  56. ourskyai_node_platform_api/models/go_to_ra_dec_started.py +73 -0
  57. ourskyai_node_platform_api/models/gps_data_updated.py +83 -0
  58. ourskyai_node_platform_api/models/hardware_daemon_logged.py +71 -0
  59. ourskyai_node_platform_api/models/ice_message.py +87 -0
  60. ourskyai_node_platform_api/models/image_file_format.py +42 -0
  61. ourskyai_node_platform_api/models/image_set_type.py +43 -0
  62. ourskyai_node_platform_api/models/location.py +75 -0
  63. ourskyai_node_platform_api/models/message_type.py +46 -0
  64. ourskyai_node_platform_api/models/message_type_wrapper.py +72 -0
  65. ourskyai_node_platform_api/models/metric_type.py +42 -0
  66. ourskyai_node_platform_api/models/motor_faulted.py +76 -0
  67. ourskyai_node_platform_api/models/motor_faults_cleared.py +72 -0
  68. ourskyai_node_platform_api/models/mount_diagnosis_report.py +77 -0
  69. ourskyai_node_platform_api/models/mount_model_point_added.py +77 -0
  70. ourskyai_node_platform_api/models/mount_model_point_failed.py +73 -0
  71. ourskyai_node_platform_api/models/mount_status_updated.py +72 -0
  72. ourskyai_node_platform_api/models/operation_status_updated.py +75 -0
  73. ourskyai_node_platform_api/models/optical_tube_status.py +71 -0
  74. ourskyai_node_platform_api/models/optical_tube_status_updated.py +72 -0
  75. ourskyai_node_platform_api/models/peer.py +78 -0
  76. ourskyai_node_platform_api/models/peer_role.py +40 -0
  77. ourskyai_node_platform_api/models/plate_solve_completed.py +75 -0
  78. ourskyai_node_platform_api/models/plate_solve_failed.py +71 -0
  79. ourskyai_node_platform_api/models/plate_solve_started.py +71 -0
  80. ourskyai_node_platform_api/models/platform_connection_diagnosis_report.py +71 -0
  81. ourskyai_node_platform_api/models/point2_d.py +73 -0
  82. ourskyai_node_platform_api/models/relay_channel.py +45 -0
  83. ourskyai_node_platform_api/models/relay_function.py +46 -0
  84. ourskyai_node_platform_api/models/relays_diagnosis_report.py +75 -0
  85. ourskyai_node_platform_api/models/relays_status.py +71 -0
  86. ourskyai_node_platform_api/models/relays_updated.py +82 -0
  87. ourskyai_node_platform_api/models/roof_diagnosis_report.py +75 -0
  88. ourskyai_node_platform_api/models/roof_state.py +50 -0
  89. ourskyai_node_platform_api/models/roof_status.py +71 -0
  90. ourskyai_node_platform_api/models/roof_updated.py +78 -0
  91. ourskyai_node_platform_api/models/rotator_position.py +73 -0
  92. ourskyai_node_platform_api/models/rotator_status_updated.py +72 -0
  93. ourskyai_node_platform_api/models/rotator_target_type.py +40 -0
  94. ourskyai_node_platform_api/models/safety_status_updated.py +75 -0
  95. ourskyai_node_platform_api/models/sdp_message.py +73 -0
  96. ourskyai_node_platform_api/models/slew_demo_enabled.py +71 -0
  97. ourskyai_node_platform_api/models/star_measurement_failed.py +71 -0
  98. ourskyai_node_platform_api/models/star_measurement_started.py +71 -0
  99. ourskyai_node_platform_api/models/stars_measured.py +75 -0
  100. ourskyai_node_platform_api/models/startup_wizard_step.py +76 -0
  101. ourskyai_node_platform_api/models/system_event_type.py +96 -0
  102. ourskyai_node_platform_api/models/task_cancelled.py +78 -0
  103. ourskyai_node_platform_api/models/task_completed.py +76 -0
  104. ourskyai_node_platform_api/models/task_scheduled.py +76 -0
  105. ourskyai_node_platform_api/models/task_started.py +76 -0
  106. ourskyai_node_platform_api/models/update_custom_image_processing_container_request.py +73 -0
  107. ourskyai_node_platform_api/models/v1_all_sky_classification.py +74 -0
  108. ourskyai_node_platform_api/models/v1_all_sky_classification_label.py +43 -0
  109. ourskyai_node_platform_api/models/v1_all_sky_image.py +81 -0
  110. ourskyai_node_platform_api/models/v1_all_sky_images.py +79 -0
  111. ourskyai_node_platform_api/models/v1_all_sky_keogram.py +81 -0
  112. ourskyai_node_platform_api/models/v1_all_sky_keograms.py +79 -0
  113. ourskyai_node_platform_api/models/v1_all_sky_prediction_label.py +43 -0
  114. ourskyai_node_platform_api/models/v1_all_sky_timelapse.py +81 -0
  115. ourskyai_node_platform_api/models/v1_all_sky_timelapses.py +79 -0
  116. ourskyai_node_platform_api/models/v1_apex_charts_timeline.py +79 -0
  117. ourskyai_node_platform_api/models/v1_apex_charts_timeline_element.py +75 -0
  118. ourskyai_node_platform_api/models/v1_astro_target.py +83 -0
  119. ourskyai_node_platform_api/models/v1_camera_roll_image.py +86 -0
  120. ourskyai_node_platform_api/models/v1_camera_status.py +85 -0
  121. ourskyai_node_platform_api/models/v1_camera_statuses.py +79 -0
  122. ourskyai_node_platform_api/models/v1_cancel_all_tasks_request.py +71 -0
  123. ourskyai_node_platform_api/models/v1_cancel_task_request.py +73 -0
  124. ourskyai_node_platform_api/models/v1_capture_image_request.py +89 -0
  125. ourskyai_node_platform_api/models/v1_capture_images_continuously_request.py +89 -0
  126. ourskyai_node_platform_api/models/v1_connected_camera.py +73 -0
  127. ourskyai_node_platform_api/models/v1_create_mount_model_request.py +77 -0
  128. ourskyai_node_platform_api/models/v1_cycle_relays_request.py +74 -0
  129. ourskyai_node_platform_api/models/v1_delete_image_request.py +71 -0
  130. ourskyai_node_platform_api/models/v1_diagnose_system_request.py +85 -0
  131. ourskyai_node_platform_api/models/v1_disable_live_video_request.py +71 -0
  132. ourskyai_node_platform_api/models/v1_elevation_mask.py +81 -0
  133. ourskyai_node_platform_api/models/v1_elevation_mask_point.py +75 -0
  134. ourskyai_node_platform_api/models/v1_enable_live_video_request.py +81 -0
  135. ourskyai_node_platform_api/models/v1_enclosure_rotator_status.py +75 -0
  136. ourskyai_node_platform_api/models/v1_enclosure_shutter_status.py +79 -0
  137. ourskyai_node_platform_api/models/v1_enclosure_shutter_statuses.py +79 -0
  138. ourskyai_node_platform_api/models/v1_enclosure_status.py +78 -0
  139. ourskyai_node_platform_api/models/v1_enclosure_window_status.py +75 -0
  140. ourskyai_node_platform_api/models/v1_end_session_request.py +73 -0
  141. ourskyai_node_platform_api/models/v1_event.py +80 -0
  142. ourskyai_node_platform_api/models/v1_event_data.py +911 -0
  143. ourskyai_node_platform_api/models/v1_filter.py +74 -0
  144. ourskyai_node_platform_api/models/v1_filter_type.py +65 -0
  145. ourskyai_node_platform_api/models/v1_filter_wheel_status.py +85 -0
  146. ourskyai_node_platform_api/models/v1_focuser_limit.py +73 -0
  147. ourskyai_node_platform_api/models/v1_focuser_status.py +79 -0
  148. ourskyai_node_platform_api/models/v1_follow_tle_request.py +73 -0
  149. ourskyai_node_platform_api/models/v1_get_component_status_response.py +145 -0
  150. ourskyai_node_platform_api/models/v1_get_health_check_response.py +83 -0
  151. ourskyai_node_platform_api/models/v1_get_storage_status_response.py +75 -0
  152. ourskyai_node_platform_api/models/v1_gnss_pps_status.py +88 -0
  153. ourskyai_node_platform_api/models/v1_gnss_pps_status_details.py +77 -0
  154. ourskyai_node_platform_api/models/v1_go_to_filter_wheel_position_request.py +71 -0
  155. ourskyai_node_platform_api/models/v1_go_to_focuser_position_request.py +74 -0
  156. ourskyai_node_platform_api/models/v1_go_to_m3_port_request.py +71 -0
  157. ourskyai_node_platform_api/models/v1_go_to_mount_coordinates_request.py +77 -0
  158. ourskyai_node_platform_api/models/v1_go_to_rotator_position_request.py +74 -0
  159. ourskyai_node_platform_api/models/v1_image.py +103 -0
  160. ourskyai_node_platform_api/models/v1_images.py +79 -0
  161. ourskyai_node_platform_api/models/v1_jog_enclosure_rotator_request.py +71 -0
  162. ourskyai_node_platform_api/models/v1_jog_enclosure_shutter_request.py +74 -0
  163. ourskyai_node_platform_api/models/v1_jog_enclosure_shutters_request.py +79 -0
  164. ourskyai_node_platform_api/models/v1_jog_enclosure_window_request.py +71 -0
  165. ourskyai_node_platform_api/models/v1_jog_mount_request.py +73 -0
  166. ourskyai_node_platform_api/models/v1_last_sample.py +75 -0
  167. ourskyai_node_platform_api/models/v1_latest_image.py +89 -0
  168. ourskyai_node_platform_api/models/v1_list_producers_request.py +71 -0
  169. ourskyai_node_platform_api/models/v1_list_producers_response.py +81 -0
  170. ourskyai_node_platform_api/models/v1_m3_status.py +73 -0
  171. ourskyai_node_platform_api/models/v1_metric.py +82 -0
  172. ourskyai_node_platform_api/models/v1_motor.py +46 -0
  173. ourskyai_node_platform_api/models/v1_motor_status.py +87 -0
  174. ourskyai_node_platform_api/models/v1_mount_model.py +81 -0
  175. ourskyai_node_platform_api/models/v1_mount_model_point.py +77 -0
  176. ourskyai_node_platform_api/models/v1_mount_status.py +93 -0
  177. ourskyai_node_platform_api/models/v1_mount_system_settings.py +73 -0
  178. ourskyai_node_platform_api/models/v1_move_focuser_position_request.py +74 -0
  179. ourskyai_node_platform_api/models/v1_move_focuser_response.py +77 -0
  180. ourskyai_node_platform_api/models/v1_move_focuser_steps_request.py +74 -0
  181. ourskyai_node_platform_api/models/v1_node_history.py +73 -0
  182. ourskyai_node_platform_api/models/v1_node_overview.py +122 -0
  183. ourskyai_node_platform_api/models/v1_node_status.py +43 -0
  184. ourskyai_node_platform_api/models/v1_ntp_status.py +88 -0
  185. ourskyai_node_platform_api/models/v1_ntp_status_details.py +73 -0
  186. ourskyai_node_platform_api/models/v1_open_enclosure_shutters_request.py +71 -0
  187. ourskyai_node_platform_api/models/v1_open_roof_request.py +71 -0
  188. ourskyai_node_platform_api/models/v1_optical_tube_cover_status.py +73 -0
  189. ourskyai_node_platform_api/models/v1_optical_tube_fan_role.py +46 -0
  190. ourskyai_node_platform_api/models/v1_optical_tube_fan_status.py +76 -0
  191. ourskyai_node_platform_api/models/v1_optical_tube_fan_statuses.py +79 -0
  192. ourskyai_node_platform_api/models/v1_optical_tube_heater_role.py +41 -0
  193. ourskyai_node_platform_api/models/v1_optical_tube_heater_status.py +76 -0
  194. ourskyai_node_platform_api/models/v1_optical_tube_heater_statuses.py +79 -0
  195. ourskyai_node_platform_api/models/v1_optical_tube_status.py +87 -0
  196. ourskyai_node_platform_api/models/v1_peer_status_changed_request.py +81 -0
  197. ourskyai_node_platform_api/models/v1_ptp_data_set.py +75 -0
  198. ourskyai_node_platform_api/models/v1_ptp_port_properties.py +77 -0
  199. ourskyai_node_platform_api/models/v1_ptp_status.py +88 -0
  200. ourskyai_node_platform_api/models/v1_ptp_status_details.py +102 -0
  201. ourskyai_node_platform_api/models/v1_ptp_time_status.py +85 -0
  202. ourskyai_node_platform_api/models/v1_record_video_request.py +71 -0
  203. ourskyai_node_platform_api/models/v1_relay.py +74 -0
  204. ourskyai_node_platform_api/models/v1_reset_mount_system_settings_to_default_request.py +73 -0
  205. ourskyai_node_platform_api/models/v1_reset_system_settings_to_default_request.py +75 -0
  206. ourskyai_node_platform_api/models/v1_roof_status.py +78 -0
  207. ourskyai_node_platform_api/models/v1_rotator_status.py +81 -0
  208. ourskyai_node_platform_api/models/v1_run_autofocus_request.py +82 -0
  209. ourskyai_node_platform_api/models/v1_run_blind_autofocus_request.py +73 -0
  210. ourskyai_node_platform_api/models/v1_safety_status.py +83 -0
  211. ourskyai_node_platform_api/models/v1_save_image_request.py +71 -0
  212. ourskyai_node_platform_api/models/v1_set_mount_park_position_request.py +73 -0
  213. ourskyai_node_platform_api/models/v1_set_optical_tube_heater_power_request.py +74 -0
  214. ourskyai_node_platform_api/models/v1_set_peer_status_request.py +88 -0
  215. ourskyai_node_platform_api/models/v1_set_relay_state_request.py +74 -0
  216. ourskyai_node_platform_api/models/v1_signal_message_request.py +90 -0
  217. ourskyai_node_platform_api/models/v1_signalling_request.py +225 -0
  218. ourskyai_node_platform_api/models/v1_source_statistics.py +103 -0
  219. ourskyai_node_platform_api/models/v1_start_session_request.py +90 -0
  220. ourskyai_node_platform_api/models/v1_stop_capturing_images_continuously_request.py +71 -0
  221. ourskyai_node_platform_api/models/v1_stop_recording_video_request.py +71 -0
  222. ourskyai_node_platform_api/models/v1_suntimes.py +87 -0
  223. ourskyai_node_platform_api/models/v1_system_diagnosis_report.py +117 -0
  224. ourskyai_node_platform_api/models/v1_system_event.py +80 -0
  225. ourskyai_node_platform_api/models/v1_system_event_data.py +939 -0
  226. ourskyai_node_platform_api/models/v1_system_events.py +79 -0
  227. ourskyai_node_platform_api/models/v1_system_health_check.py +86 -0
  228. ourskyai_node_platform_api/models/v1_system_location.py +83 -0
  229. ourskyai_node_platform_api/models/v1_system_location_gps_details.py +77 -0
  230. ourskyai_node_platform_api/models/v1_system_metric.py +88 -0
  231. ourskyai_node_platform_api/models/v1_system_metric_names.py +71 -0
  232. ourskyai_node_platform_api/models/v1_system_metric_tag.py +73 -0
  233. ourskyai_node_platform_api/models/v1_system_metric_type.py +40 -0
  234. ourskyai_node_platform_api/models/v1_system_metrics.py +79 -0
  235. ourskyai_node_platform_api/models/v1_system_network_interface.py +83 -0
  236. ourskyai_node_platform_api/models/v1_system_network_interface_info.py +75 -0
  237. ourskyai_node_platform_api/models/v1_system_network_interfaces.py +79 -0
  238. ourskyai_node_platform_api/models/v1_system_operation_mode.py +41 -0
  239. ourskyai_node_platform_api/models/v1_system_operation_status.py +75 -0
  240. ourskyai_node_platform_api/models/v1_system_settings.py +75 -0
  241. ourskyai_node_platform_api/models/v1_system_status.py +135 -0
  242. ourskyai_node_platform_api/models/v1_system_storage_status.py +75 -0
  243. ourskyai_node_platform_api/models/v1_system_time.py +94 -0
  244. ourskyai_node_platform_api/models/v1_system_variant.py +43 -0
  245. ourskyai_node_platform_api/models/v1_task.py +78 -0
  246. ourskyai_node_platform_api/models/v1_task_type.py +47 -0
  247. ourskyai_node_platform_api/models/v1_time_source.py +42 -0
  248. ourskyai_node_platform_api/models/v1_time_windowed_asset.py +86 -0
  249. ourskyai_node_platform_api/models/v1_time_windowed_asset_type.py +40 -0
  250. ourskyai_node_platform_api/models/v1_turn_off_optical_tube_fans_request.py +72 -0
  251. ourskyai_node_platform_api/models/v1_turn_on_optical_tube_fans_request.py +72 -0
  252. ourskyai_node_platform_api/models/v1_ui_operation_mode.py +40 -0
  253. ourskyai_node_platform_api/models/v1_update_filter_request.py +74 -0
  254. ourskyai_node_platform_api/models/v1_video.py +105 -0
  255. ourskyai_node_platform_api/models/v1_videos.py +79 -0
  256. ourskyai_node_platform_api/models/v1_weather_forecast.py +85 -0
  257. ourskyai_node_platform_api/models/v1_weather_forecast_city.py +73 -0
  258. ourskyai_node_platform_api/models/v1_weather_forecast_item.py +103 -0
  259. ourskyai_node_platform_api/models/v1_weather_forecast_temperature.py +77 -0
  260. ourskyai_node_platform_api/models/v1_weather_forecast_weather.py +77 -0
  261. ourskyai_node_platform_api/models/v1_weather_metric.py +85 -0
  262. ourskyai_node_platform_api/models/v1_weather_metrics.py +79 -0
  263. ourskyai_node_platform_api/models/v1_weather_station_status.py +71 -0
  264. ourskyai_node_platform_api/models/v2_capture_image_request.py +89 -0
  265. ourskyai_node_platform_api/models/v2_cycle_relays_request.py +74 -0
  266. ourskyai_node_platform_api/models/v2_enclosure_status.py +87 -0
  267. ourskyai_node_platform_api/models/v2_mount_status.py +94 -0
  268. ourskyai_node_platform_api/models/v2_relay_status.py +76 -0
  269. ourskyai_node_platform_api/models/v2_relay_statuses.py +79 -0
  270. ourskyai_node_platform_api/models/v2_turn_off_relay_request.py +72 -0
  271. ourskyai_node_platform_api/models/v2_turn_on_relay_request.py +72 -0
  272. ourskyai_node_platform_api/models/video_codec.py +39 -0
  273. ourskyai_node_platform_api/models/video_container_format.py +39 -0
  274. ourskyai_node_platform_api/models/wavefront_sensor_data_updated.py +110 -0
  275. ourskyai_node_platform_api/models/weather_station_diagnosis_report.py +73 -0
  276. ourskyai_node_platform_api/models/weather_station_status_updated.py +72 -0
  277. ourskyai_node_platform_api/py.typed +0 -0
  278. ourskyai_node_platform_api/rest.py +303 -0
  279. ourskyai_node_platform_api-1.3.9821.dist-info/METADATA +23 -0
  280. ourskyai_node_platform_api-1.3.9821.dist-info/RECORD +282 -0
  281. ourskyai_node_platform_api-1.3.9821.dist-info/WHEEL +5 -0
  282. ourskyai_node_platform_api-1.3.9821.dist-info/top_level.txt +1 -0
@@ -0,0 +1,79 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import List
22
+ from pydantic import BaseModel, Field, conlist
23
+ from ourskyai_node_platform_api.models.v1_system_event import V1SystemEvent
24
+
25
+ class V1SystemEvents(BaseModel):
26
+ """
27
+ Container for a list of system events returned from an event query. Events are ordered by timestamp from most recent to oldest. # noqa: E501
28
+ """
29
+ system_events: conlist(V1SystemEvent) = Field(..., alias="systemEvents", description="Array of system event objects matching the query criteria. May be empty if no events match the filters.")
30
+ __properties = ["systemEvents"]
31
+
32
+ class Config:
33
+ """Pydantic configuration"""
34
+ allow_population_by_field_name = True
35
+ validate_assignment = True
36
+
37
+ def to_str(self) -> str:
38
+ """Returns the string representation of the model using alias"""
39
+ return pprint.pformat(self.dict(by_alias=True))
40
+
41
+ def to_json(self) -> str:
42
+ """Returns the JSON representation of the model using alias"""
43
+ return json.dumps(self.to_dict())
44
+
45
+ @classmethod
46
+ def from_json(cls, json_str: str) -> V1SystemEvents:
47
+ """Create an instance of V1SystemEvents from a JSON string"""
48
+ return cls.from_dict(json.loads(json_str))
49
+
50
+ def to_dict(self):
51
+ """Returns the dictionary representation of the model using alias"""
52
+ _dict = self.dict(by_alias=True,
53
+ exclude={
54
+ },
55
+ exclude_none=True)
56
+ # override the default output from pydantic by calling `to_dict()` of each item in system_events (list)
57
+ _items = []
58
+ if self.system_events:
59
+ for _item in self.system_events:
60
+ if _item:
61
+ _items.append(_item.to_dict())
62
+ _dict['systemEvents'] = _items
63
+ return _dict
64
+
65
+ @classmethod
66
+ def from_dict(cls, obj: dict) -> V1SystemEvents:
67
+ """Create an instance of V1SystemEvents from a dict"""
68
+ if obj is None:
69
+ return None
70
+
71
+ if not isinstance(obj, dict):
72
+ return V1SystemEvents.parse_obj(obj)
73
+
74
+ _obj = V1SystemEvents.parse_obj({
75
+ "system_events": [V1SystemEvent.from_dict(_item) for _item in obj.get("systemEvents")] if obj.get("systemEvents") is not None else None
76
+ })
77
+ return _obj
78
+
79
+
@@ -0,0 +1,86 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import Optional
22
+ from pydantic import BaseModel, Field, StrictBool, StrictStr
23
+ from ourskyai_node_platform_api.models.v1_system_variant import V1SystemVariant
24
+
25
+ class V1SystemHealthCheck(BaseModel):
26
+ """
27
+ Represents the health status and version information of the edge controller. Used for monitoring system health and verifying firmware compatibility. # noqa: E501
28
+ """
29
+ healthy: StrictBool = Field(..., description="True if the edge controller is healthy.")
30
+ message: StrictStr = Field(..., description="A message providing additional information about the health status.")
31
+ version: StrictStr = Field(..., description="The software version of the edge controller.")
32
+ hardware_version: StrictStr = Field(..., alias="hardwareVersion", description="The hardware version of the edge controller.")
33
+ habitat_firmware_version: StrictStr = Field(..., alias="habitatFirmwareVersion", description="The firmware version of the habitat controller.")
34
+ system_variant: Optional[V1SystemVariant] = Field(None, alias="systemVariant")
35
+ lineage_id: Optional[StrictStr] = Field(None, alias="lineageId", description="Unique identifier for the lineage or configuration version of this system. Used for tracking configuration changes across deployments.")
36
+ serial_number: Optional[StrictStr] = Field(None, alias="serialNumber", description="Hardware serial number of the edge controller unit. Useful for inventory tracking and support identification.")
37
+ __properties = ["healthy", "message", "version", "hardwareVersion", "habitatFirmwareVersion", "systemVariant", "lineageId", "serialNumber"]
38
+
39
+ class Config:
40
+ """Pydantic configuration"""
41
+ allow_population_by_field_name = True
42
+ validate_assignment = True
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.dict(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> V1SystemHealthCheck:
54
+ """Create an instance of V1SystemHealthCheck from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self):
58
+ """Returns the dictionary representation of the model using alias"""
59
+ _dict = self.dict(by_alias=True,
60
+ exclude={
61
+ },
62
+ exclude_none=True)
63
+ return _dict
64
+
65
+ @classmethod
66
+ def from_dict(cls, obj: dict) -> V1SystemHealthCheck:
67
+ """Create an instance of V1SystemHealthCheck from a dict"""
68
+ if obj is None:
69
+ return None
70
+
71
+ if not isinstance(obj, dict):
72
+ return V1SystemHealthCheck.parse_obj(obj)
73
+
74
+ _obj = V1SystemHealthCheck.parse_obj({
75
+ "healthy": obj.get("healthy"),
76
+ "message": obj.get("message"),
77
+ "version": obj.get("version"),
78
+ "hardware_version": obj.get("hardwareVersion"),
79
+ "habitat_firmware_version": obj.get("habitatFirmwareVersion"),
80
+ "system_variant": obj.get("systemVariant"),
81
+ "lineage_id": obj.get("lineageId"),
82
+ "serial_number": obj.get("serialNumber")
83
+ })
84
+ return _obj
85
+
86
+
@@ -0,0 +1,83 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from typing import Optional, Union
22
+ from pydantic import BaseModel, Field, StrictFloat, StrictInt
23
+ from ourskyai_node_platform_api.models.v1_system_location_gps_details import V1SystemLocationGpsDetails
24
+
25
+ class V1SystemLocation(BaseModel):
26
+ """
27
+ Geographic location of the telescope site used for astronomical calculations including coordinate transformations and observation planning. # noqa: E501
28
+ """
29
+ latitude_degrees: Union[StrictFloat, StrictInt] = Field(..., alias="latitudeDegrees", description="Geographic latitude of the telescope site in decimal degrees. Positive values indicate North latitude, negative values indicate South latitude. Range is -90 to +90.")
30
+ longitude_degrees: Union[StrictFloat, StrictInt] = Field(..., alias="longitudeDegrees", description="Geographic longitude of the telescope site in decimal degrees. Positive values indicate East longitude, negative values indicate West longitude. Range is -180 to +180.")
31
+ height_meters: Union[StrictFloat, StrictInt] = Field(..., alias="heightMeters", description="Altitude of the telescope site above mean sea level in meters. Used for atmospheric refraction calculations and precise coordinate transformations.")
32
+ updated_at: datetime = Field(..., alias="updatedAt", description="ISO 8601 timestamp of when the location was last updated. Useful for determining data freshness when using GPS-derived positions.")
33
+ gps_details: Optional[V1SystemLocationGpsDetails] = Field(None, alias="gpsDetails")
34
+ __properties = ["latitudeDegrees", "longitudeDegrees", "heightMeters", "updatedAt", "gpsDetails"]
35
+
36
+ class Config:
37
+ """Pydantic configuration"""
38
+ allow_population_by_field_name = True
39
+ validate_assignment = True
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.dict(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> V1SystemLocation:
51
+ """Create an instance of V1SystemLocation from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self):
55
+ """Returns the dictionary representation of the model using alias"""
56
+ _dict = self.dict(by_alias=True,
57
+ exclude={
58
+ },
59
+ exclude_none=True)
60
+ # override the default output from pydantic by calling `to_dict()` of gps_details
61
+ if self.gps_details:
62
+ _dict['gpsDetails'] = self.gps_details.to_dict()
63
+ return _dict
64
+
65
+ @classmethod
66
+ def from_dict(cls, obj: dict) -> V1SystemLocation:
67
+ """Create an instance of V1SystemLocation from a dict"""
68
+ if obj is None:
69
+ return None
70
+
71
+ if not isinstance(obj, dict):
72
+ return V1SystemLocation.parse_obj(obj)
73
+
74
+ _obj = V1SystemLocation.parse_obj({
75
+ "latitude_degrees": obj.get("latitudeDegrees"),
76
+ "longitude_degrees": obj.get("longitudeDegrees"),
77
+ "height_meters": obj.get("heightMeters"),
78
+ "updated_at": obj.get("updatedAt"),
79
+ "gps_details": V1SystemLocationGpsDetails.from_dict(obj.get("gpsDetails")) if obj.get("gpsDetails") is not None else None
80
+ })
81
+ return _obj
82
+
83
+
@@ -0,0 +1,77 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import Union
22
+ from pydantic import BaseModel, Field, StrictFloat, StrictInt
23
+
24
+ class V1SystemLocationGpsDetails(BaseModel):
25
+ """
26
+ Detailed GPS fix information including accuracy metrics and satellite visibility. Provides insight into the quality and reliability of the GPS position. # noqa: E501
27
+ """
28
+ fix: StrictInt = Field(..., description="GPS fix type indicating position quality. Common values are 0 for no fix, 1 for 2D fix, and 2 for 3D fix. Higher values indicate better positioning accuracy.")
29
+ position_error_meters: Union[StrictFloat, StrictInt] = Field(..., alias="positionErrorMeters", description="Estimated horizontal position error in meters. Lower values indicate more accurate positioning. Useful for determining if GPS accuracy meets requirements.")
30
+ satellites_used: StrictInt = Field(..., alias="satellitesUsed", description="Number of GPS satellites currently used in the position calculation. More satellites generally result in better accuracy and reliability.")
31
+ satellites_visible: StrictInt = Field(..., alias="satellitesVisible", description="Total number of GPS satellites visible to the receiver. This may be higher than satellites used due to signal quality or geometry constraints.")
32
+ __properties = ["fix", "positionErrorMeters", "satellitesUsed", "satellitesVisible"]
33
+
34
+ class Config:
35
+ """Pydantic configuration"""
36
+ allow_population_by_field_name = True
37
+ validate_assignment = True
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.dict(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ return json.dumps(self.to_dict())
46
+
47
+ @classmethod
48
+ def from_json(cls, json_str: str) -> V1SystemLocationGpsDetails:
49
+ """Create an instance of V1SystemLocationGpsDetails from a JSON string"""
50
+ return cls.from_dict(json.loads(json_str))
51
+
52
+ def to_dict(self):
53
+ """Returns the dictionary representation of the model using alias"""
54
+ _dict = self.dict(by_alias=True,
55
+ exclude={
56
+ },
57
+ exclude_none=True)
58
+ return _dict
59
+
60
+ @classmethod
61
+ def from_dict(cls, obj: dict) -> V1SystemLocationGpsDetails:
62
+ """Create an instance of V1SystemLocationGpsDetails from a dict"""
63
+ if obj is None:
64
+ return None
65
+
66
+ if not isinstance(obj, dict):
67
+ return V1SystemLocationGpsDetails.parse_obj(obj)
68
+
69
+ _obj = V1SystemLocationGpsDetails.parse_obj({
70
+ "fix": obj.get("fix"),
71
+ "position_error_meters": obj.get("positionErrorMeters"),
72
+ "satellites_used": obj.get("satellitesUsed"),
73
+ "satellites_visible": obj.get("satellitesVisible")
74
+ })
75
+ return _obj
76
+
77
+
@@ -0,0 +1,88 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from datetime import datetime
21
+ from typing import List, Union
22
+ from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr, conlist
23
+ from ourskyai_node_platform_api.models.v1_system_metric_tag import V1SystemMetricTag
24
+ from ourskyai_node_platform_api.models.v1_system_metric_type import V1SystemMetricType
25
+
26
+ class V1SystemMetric(BaseModel):
27
+ """
28
+ Represents a single metric data point with its value, type, timestamp, and associated tags for categorization. # noqa: E501
29
+ """
30
+ name: StrictStr = Field(..., description="The metric identifier that describes what is being measured, such as cpu_temperature or mount_position_altitude.")
31
+ value: Union[StrictFloat, StrictInt] = Field(..., description="The numeric measurement value. The interpretation depends on the metric type and name. Units are metric-specific.")
32
+ type: V1SystemMetricType = Field(...)
33
+ measured_at: datetime = Field(..., alias="measuredAt", description="ISO 8601 timestamp indicating when this measurement was taken. Essential for time-series analysis and correlation.")
34
+ tags: conlist(V1SystemMetricTag) = Field(..., description="Additional metadata tags that provide context for this metric, enabling filtering by component, sensor, or other dimensions.")
35
+ __properties = ["name", "value", "type", "measuredAt", "tags"]
36
+
37
+ class Config:
38
+ """Pydantic configuration"""
39
+ allow_population_by_field_name = True
40
+ validate_assignment = True
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.dict(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> V1SystemMetric:
52
+ """Create an instance of V1SystemMetric from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self):
56
+ """Returns the dictionary representation of the model using alias"""
57
+ _dict = self.dict(by_alias=True,
58
+ exclude={
59
+ },
60
+ exclude_none=True)
61
+ # override the default output from pydantic by calling `to_dict()` of each item in tags (list)
62
+ _items = []
63
+ if self.tags:
64
+ for _item in self.tags:
65
+ if _item:
66
+ _items.append(_item.to_dict())
67
+ _dict['tags'] = _items
68
+ return _dict
69
+
70
+ @classmethod
71
+ def from_dict(cls, obj: dict) -> V1SystemMetric:
72
+ """Create an instance of V1SystemMetric from a dict"""
73
+ if obj is None:
74
+ return None
75
+
76
+ if not isinstance(obj, dict):
77
+ return V1SystemMetric.parse_obj(obj)
78
+
79
+ _obj = V1SystemMetric.parse_obj({
80
+ "name": obj.get("name"),
81
+ "value": obj.get("value"),
82
+ "type": obj.get("type"),
83
+ "measured_at": obj.get("measuredAt"),
84
+ "tags": [V1SystemMetricTag.from_dict(_item) for _item in obj.get("tags")] if obj.get("tags") is not None else None
85
+ })
86
+ return _obj
87
+
88
+
@@ -0,0 +1,71 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import List
22
+ from pydantic import BaseModel, Field, StrictStr, conlist
23
+
24
+ class V1SystemMetricNames(BaseModel):
25
+ """
26
+ Contains the list of all available metric identifiers that can be queried from the system for telemetry and monitoring purposes. # noqa: E501
27
+ """
28
+ metric_names: conlist(StrictStr) = Field(..., alias="metricNames", description="Array of metric name strings identifying all available telemetry data points. Use these names when querying the metrics endpoint.")
29
+ __properties = ["metricNames"]
30
+
31
+ class Config:
32
+ """Pydantic configuration"""
33
+ allow_population_by_field_name = True
34
+ validate_assignment = True
35
+
36
+ def to_str(self) -> str:
37
+ """Returns the string representation of the model using alias"""
38
+ return pprint.pformat(self.dict(by_alias=True))
39
+
40
+ def to_json(self) -> str:
41
+ """Returns the JSON representation of the model using alias"""
42
+ return json.dumps(self.to_dict())
43
+
44
+ @classmethod
45
+ def from_json(cls, json_str: str) -> V1SystemMetricNames:
46
+ """Create an instance of V1SystemMetricNames from a JSON string"""
47
+ return cls.from_dict(json.loads(json_str))
48
+
49
+ def to_dict(self):
50
+ """Returns the dictionary representation of the model using alias"""
51
+ _dict = self.dict(by_alias=True,
52
+ exclude={
53
+ },
54
+ exclude_none=True)
55
+ return _dict
56
+
57
+ @classmethod
58
+ def from_dict(cls, obj: dict) -> V1SystemMetricNames:
59
+ """Create an instance of V1SystemMetricNames from a dict"""
60
+ if obj is None:
61
+ return None
62
+
63
+ if not isinstance(obj, dict):
64
+ return V1SystemMetricNames.parse_obj(obj)
65
+
66
+ _obj = V1SystemMetricNames.parse_obj({
67
+ "metric_names": obj.get("metricNames")
68
+ })
69
+ return _obj
70
+
71
+
@@ -0,0 +1,73 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+
22
+ from pydantic import BaseModel, Field, StrictStr
23
+
24
+ class V1SystemMetricTag(BaseModel):
25
+ """
26
+ A key-value pair that provides additional context and categorization for a metric data point. Tags enable filtering and grouping of metrics by various dimensions. # noqa: E501
27
+ """
28
+ name: StrictStr = Field(..., description="The tag key or dimension name, such as camera_id, component, or sensor_type. Used for filtering and grouping metrics.")
29
+ value: StrictStr = Field(..., description="The value associated with this tag key. For example, if name is camera_id, this would contain the specific camera identifier.")
30
+ __properties = ["name", "value"]
31
+
32
+ class Config:
33
+ """Pydantic configuration"""
34
+ allow_population_by_field_name = True
35
+ validate_assignment = True
36
+
37
+ def to_str(self) -> str:
38
+ """Returns the string representation of the model using alias"""
39
+ return pprint.pformat(self.dict(by_alias=True))
40
+
41
+ def to_json(self) -> str:
42
+ """Returns the JSON representation of the model using alias"""
43
+ return json.dumps(self.to_dict())
44
+
45
+ @classmethod
46
+ def from_json(cls, json_str: str) -> V1SystemMetricTag:
47
+ """Create an instance of V1SystemMetricTag from a JSON string"""
48
+ return cls.from_dict(json.loads(json_str))
49
+
50
+ def to_dict(self):
51
+ """Returns the dictionary representation of the model using alias"""
52
+ _dict = self.dict(by_alias=True,
53
+ exclude={
54
+ },
55
+ exclude_none=True)
56
+ return _dict
57
+
58
+ @classmethod
59
+ def from_dict(cls, obj: dict) -> V1SystemMetricTag:
60
+ """Create an instance of V1SystemMetricTag from a dict"""
61
+ if obj is None:
62
+ return None
63
+
64
+ if not isinstance(obj, dict):
65
+ return V1SystemMetricTag.parse_obj(obj)
66
+
67
+ _obj = V1SystemMetricTag.parse_obj({
68
+ "name": obj.get("name"),
69
+ "value": obj.get("value")
70
+ })
71
+ return _obj
72
+
73
+
@@ -0,0 +1,40 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import json
16
+ import pprint
17
+ import re # noqa: F401
18
+ from aenum import Enum, no_arg
19
+
20
+
21
+
22
+
23
+
24
+ class V1SystemMetricType(str, Enum):
25
+ """
26
+ Specifies the type of metric measurement, which determines how the value should be interpreted and aggregated.
27
+ """
28
+
29
+ """
30
+ allowed enum values
31
+ """
32
+ GAUGE = 'GAUGE'
33
+ COUNT = 'COUNT'
34
+
35
+ @classmethod
36
+ def from_json(cls, json_str: str) -> V1SystemMetricType:
37
+ """Create an instance of V1SystemMetricType from a JSON string"""
38
+ return V1SystemMetricType(json.loads(json_str))
39
+
40
+
@@ -0,0 +1,79 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ OurSky
5
+
6
+ Node Platform API
7
+
8
+ The version of the OpenAPI document: 1.3.9821
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import List
22
+ from pydantic import BaseModel, Field, conlist
23
+ from ourskyai_node_platform_api.models.v1_system_metric import V1SystemMetric
24
+
25
+ class V1SystemMetrics(BaseModel):
26
+ """
27
+ Container for an array of metric data points returned from a metrics query. Used for time-series analysis and system monitoring. # noqa: E501
28
+ """
29
+ metrics: conlist(V1SystemMetric) = Field(..., description="Array of metric data points matching the query criteria. May be empty if no metrics match the specified filters.")
30
+ __properties = ["metrics"]
31
+
32
+ class Config:
33
+ """Pydantic configuration"""
34
+ allow_population_by_field_name = True
35
+ validate_assignment = True
36
+
37
+ def to_str(self) -> str:
38
+ """Returns the string representation of the model using alias"""
39
+ return pprint.pformat(self.dict(by_alias=True))
40
+
41
+ def to_json(self) -> str:
42
+ """Returns the JSON representation of the model using alias"""
43
+ return json.dumps(self.to_dict())
44
+
45
+ @classmethod
46
+ def from_json(cls, json_str: str) -> V1SystemMetrics:
47
+ """Create an instance of V1SystemMetrics from a JSON string"""
48
+ return cls.from_dict(json.loads(json_str))
49
+
50
+ def to_dict(self):
51
+ """Returns the dictionary representation of the model using alias"""
52
+ _dict = self.dict(by_alias=True,
53
+ exclude={
54
+ },
55
+ exclude_none=True)
56
+ # override the default output from pydantic by calling `to_dict()` of each item in metrics (list)
57
+ _items = []
58
+ if self.metrics:
59
+ for _item in self.metrics:
60
+ if _item:
61
+ _items.append(_item.to_dict())
62
+ _dict['metrics'] = _items
63
+ return _dict
64
+
65
+ @classmethod
66
+ def from_dict(cls, obj: dict) -> V1SystemMetrics:
67
+ """Create an instance of V1SystemMetrics from a dict"""
68
+ if obj is None:
69
+ return None
70
+
71
+ if not isinstance(obj, dict):
72
+ return V1SystemMetrics.parse_obj(obj)
73
+
74
+ _obj = V1SystemMetrics.parse_obj({
75
+ "metrics": [V1SystemMetric.from_dict(_item) for _item in obj.get("metrics")] if obj.get("metrics") is not None else None
76
+ })
77
+ return _obj
78
+
79
+