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.
- ourskyai_node_platform_api/__init__.py +301 -0
- ourskyai_node_platform_api/api/__init__.py +5 -0
- ourskyai_node_platform_api/api/default_api.py +22197 -0
- ourskyai_node_platform_api/api_client.py +758 -0
- ourskyai_node_platform_api/api_response.py +25 -0
- ourskyai_node_platform_api/configuration.py +456 -0
- ourskyai_node_platform_api/exceptions.py +166 -0
- ourskyai_node_platform_api/models/__init__.py +284 -0
- ourskyai_node_platform_api/models/all_sky_camera_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/astro_camera_diagnosis_report.py +79 -0
- ourskyai_node_platform_api/models/auto_stretch_image_completed.py +71 -0
- ourskyai_node_platform_api/models/auto_stretch_image_started.py +71 -0
- ourskyai_node_platform_api/models/autofocus_failed.py +71 -0
- ourskyai_node_platform_api/models/autofocus_finished.py +80 -0
- ourskyai_node_platform_api/models/autofocus_method.py +41 -0
- ourskyai_node_platform_api/models/autofocus_point_added.py +75 -0
- ourskyai_node_platform_api/models/autofocus_started.py +79 -0
- ourskyai_node_platform_api/models/bff_v1_all_sky_images.py +90 -0
- ourskyai_node_platform_api/models/camera_image_captured.py +75 -0
- ourskyai_node_platform_api/models/camera_status_updated.py +76 -0
- ourskyai_node_platform_api/models/camera_temperature_set.py +71 -0
- ourskyai_node_platform_api/models/capture_image_started.py +79 -0
- ourskyai_node_platform_api/models/connection_status.py +41 -0
- ourskyai_node_platform_api/models/create_mount_model_completed.py +71 -0
- ourskyai_node_platform_api/models/create_mount_model_failed.py +71 -0
- ourskyai_node_platform_api/models/create_mount_model_started.py +71 -0
- ourskyai_node_platform_api/models/custom_image_processing_container.py +81 -0
- ourskyai_node_platform_api/models/custom_image_processing_container_list.py +81 -0
- ourskyai_node_platform_api/models/debug_logged.py +73 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_completed.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_failed.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_started.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_point_added.py +75 -0
- ourskyai_node_platform_api/models/empty_success.py +71 -0
- ourskyai_node_platform_api/models/enclosure_shutter_label.py +40 -0
- ourskyai_node_platform_api/models/enclosure_shutter_state.py +46 -0
- ourskyai_node_platform_api/models/enclosure_shutter_statuses_updated.py +75 -0
- ourskyai_node_platform_api/models/enclosure_state.py +50 -0
- ourskyai_node_platform_api/models/event_type.py +94 -0
- ourskyai_node_platform_api/models/fits_header.py +73 -0
- ourskyai_node_platform_api/models/focus_operation.py +43 -0
- ourskyai_node_platform_api/models/focuser_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/focuser_position.py +81 -0
- ourskyai_node_platform_api/models/focuser_status_updated.py +72 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_started.py +73 -0
- ourskyai_node_platform_api/models/go_to_home_completed.py +71 -0
- ourskyai_node_platform_api/models/go_to_home_failed.py +71 -0
- ourskyai_node_platform_api/models/go_to_home_started.py +71 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_started.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_started.py +73 -0
- ourskyai_node_platform_api/models/gps_data_updated.py +83 -0
- ourskyai_node_platform_api/models/hardware_daemon_logged.py +71 -0
- ourskyai_node_platform_api/models/ice_message.py +87 -0
- ourskyai_node_platform_api/models/image_file_format.py +42 -0
- ourskyai_node_platform_api/models/image_set_type.py +43 -0
- ourskyai_node_platform_api/models/location.py +75 -0
- ourskyai_node_platform_api/models/message_type.py +46 -0
- ourskyai_node_platform_api/models/message_type_wrapper.py +72 -0
- ourskyai_node_platform_api/models/metric_type.py +42 -0
- ourskyai_node_platform_api/models/motor_faulted.py +76 -0
- ourskyai_node_platform_api/models/motor_faults_cleared.py +72 -0
- ourskyai_node_platform_api/models/mount_diagnosis_report.py +77 -0
- ourskyai_node_platform_api/models/mount_model_point_added.py +77 -0
- ourskyai_node_platform_api/models/mount_model_point_failed.py +73 -0
- ourskyai_node_platform_api/models/mount_status_updated.py +72 -0
- ourskyai_node_platform_api/models/operation_status_updated.py +75 -0
- ourskyai_node_platform_api/models/optical_tube_status.py +71 -0
- ourskyai_node_platform_api/models/optical_tube_status_updated.py +72 -0
- ourskyai_node_platform_api/models/peer.py +78 -0
- ourskyai_node_platform_api/models/peer_role.py +40 -0
- ourskyai_node_platform_api/models/plate_solve_completed.py +75 -0
- ourskyai_node_platform_api/models/plate_solve_failed.py +71 -0
- ourskyai_node_platform_api/models/plate_solve_started.py +71 -0
- ourskyai_node_platform_api/models/platform_connection_diagnosis_report.py +71 -0
- ourskyai_node_platform_api/models/point2_d.py +73 -0
- ourskyai_node_platform_api/models/relay_channel.py +45 -0
- ourskyai_node_platform_api/models/relay_function.py +46 -0
- ourskyai_node_platform_api/models/relays_diagnosis_report.py +75 -0
- ourskyai_node_platform_api/models/relays_status.py +71 -0
- ourskyai_node_platform_api/models/relays_updated.py +82 -0
- ourskyai_node_platform_api/models/roof_diagnosis_report.py +75 -0
- ourskyai_node_platform_api/models/roof_state.py +50 -0
- ourskyai_node_platform_api/models/roof_status.py +71 -0
- ourskyai_node_platform_api/models/roof_updated.py +78 -0
- ourskyai_node_platform_api/models/rotator_position.py +73 -0
- ourskyai_node_platform_api/models/rotator_status_updated.py +72 -0
- ourskyai_node_platform_api/models/rotator_target_type.py +40 -0
- ourskyai_node_platform_api/models/safety_status_updated.py +75 -0
- ourskyai_node_platform_api/models/sdp_message.py +73 -0
- ourskyai_node_platform_api/models/slew_demo_enabled.py +71 -0
- ourskyai_node_platform_api/models/star_measurement_failed.py +71 -0
- ourskyai_node_platform_api/models/star_measurement_started.py +71 -0
- ourskyai_node_platform_api/models/stars_measured.py +75 -0
- ourskyai_node_platform_api/models/startup_wizard_step.py +76 -0
- ourskyai_node_platform_api/models/system_event_type.py +96 -0
- ourskyai_node_platform_api/models/task_cancelled.py +78 -0
- ourskyai_node_platform_api/models/task_completed.py +76 -0
- ourskyai_node_platform_api/models/task_scheduled.py +76 -0
- ourskyai_node_platform_api/models/task_started.py +76 -0
- ourskyai_node_platform_api/models/update_custom_image_processing_container_request.py +73 -0
- ourskyai_node_platform_api/models/v1_all_sky_classification.py +74 -0
- ourskyai_node_platform_api/models/v1_all_sky_classification_label.py +43 -0
- ourskyai_node_platform_api/models/v1_all_sky_image.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_images.py +79 -0
- ourskyai_node_platform_api/models/v1_all_sky_keogram.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_keograms.py +79 -0
- ourskyai_node_platform_api/models/v1_all_sky_prediction_label.py +43 -0
- ourskyai_node_platform_api/models/v1_all_sky_timelapse.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_timelapses.py +79 -0
- ourskyai_node_platform_api/models/v1_apex_charts_timeline.py +79 -0
- ourskyai_node_platform_api/models/v1_apex_charts_timeline_element.py +75 -0
- ourskyai_node_platform_api/models/v1_astro_target.py +83 -0
- ourskyai_node_platform_api/models/v1_camera_roll_image.py +86 -0
- ourskyai_node_platform_api/models/v1_camera_status.py +85 -0
- ourskyai_node_platform_api/models/v1_camera_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_cancel_all_tasks_request.py +71 -0
- ourskyai_node_platform_api/models/v1_cancel_task_request.py +73 -0
- ourskyai_node_platform_api/models/v1_capture_image_request.py +89 -0
- ourskyai_node_platform_api/models/v1_capture_images_continuously_request.py +89 -0
- ourskyai_node_platform_api/models/v1_connected_camera.py +73 -0
- ourskyai_node_platform_api/models/v1_create_mount_model_request.py +77 -0
- ourskyai_node_platform_api/models/v1_cycle_relays_request.py +74 -0
- ourskyai_node_platform_api/models/v1_delete_image_request.py +71 -0
- ourskyai_node_platform_api/models/v1_diagnose_system_request.py +85 -0
- ourskyai_node_platform_api/models/v1_disable_live_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_elevation_mask.py +81 -0
- ourskyai_node_platform_api/models/v1_elevation_mask_point.py +75 -0
- ourskyai_node_platform_api/models/v1_enable_live_video_request.py +81 -0
- ourskyai_node_platform_api/models/v1_enclosure_rotator_status.py +75 -0
- ourskyai_node_platform_api/models/v1_enclosure_shutter_status.py +79 -0
- ourskyai_node_platform_api/models/v1_enclosure_shutter_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_enclosure_status.py +78 -0
- ourskyai_node_platform_api/models/v1_enclosure_window_status.py +75 -0
- ourskyai_node_platform_api/models/v1_end_session_request.py +73 -0
- ourskyai_node_platform_api/models/v1_event.py +80 -0
- ourskyai_node_platform_api/models/v1_event_data.py +911 -0
- ourskyai_node_platform_api/models/v1_filter.py +74 -0
- ourskyai_node_platform_api/models/v1_filter_type.py +65 -0
- ourskyai_node_platform_api/models/v1_filter_wheel_status.py +85 -0
- ourskyai_node_platform_api/models/v1_focuser_limit.py +73 -0
- ourskyai_node_platform_api/models/v1_focuser_status.py +79 -0
- ourskyai_node_platform_api/models/v1_follow_tle_request.py +73 -0
- ourskyai_node_platform_api/models/v1_get_component_status_response.py +145 -0
- ourskyai_node_platform_api/models/v1_get_health_check_response.py +83 -0
- ourskyai_node_platform_api/models/v1_get_storage_status_response.py +75 -0
- ourskyai_node_platform_api/models/v1_gnss_pps_status.py +88 -0
- ourskyai_node_platform_api/models/v1_gnss_pps_status_details.py +77 -0
- ourskyai_node_platform_api/models/v1_go_to_filter_wheel_position_request.py +71 -0
- ourskyai_node_platform_api/models/v1_go_to_focuser_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_go_to_m3_port_request.py +71 -0
- ourskyai_node_platform_api/models/v1_go_to_mount_coordinates_request.py +77 -0
- ourskyai_node_platform_api/models/v1_go_to_rotator_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_image.py +103 -0
- ourskyai_node_platform_api/models/v1_images.py +79 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_rotator_request.py +71 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_shutter_request.py +74 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_shutters_request.py +79 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_window_request.py +71 -0
- ourskyai_node_platform_api/models/v1_jog_mount_request.py +73 -0
- ourskyai_node_platform_api/models/v1_last_sample.py +75 -0
- ourskyai_node_platform_api/models/v1_latest_image.py +89 -0
- ourskyai_node_platform_api/models/v1_list_producers_request.py +71 -0
- ourskyai_node_platform_api/models/v1_list_producers_response.py +81 -0
- ourskyai_node_platform_api/models/v1_m3_status.py +73 -0
- ourskyai_node_platform_api/models/v1_metric.py +82 -0
- ourskyai_node_platform_api/models/v1_motor.py +46 -0
- ourskyai_node_platform_api/models/v1_motor_status.py +87 -0
- ourskyai_node_platform_api/models/v1_mount_model.py +81 -0
- ourskyai_node_platform_api/models/v1_mount_model_point.py +77 -0
- ourskyai_node_platform_api/models/v1_mount_status.py +93 -0
- ourskyai_node_platform_api/models/v1_mount_system_settings.py +73 -0
- ourskyai_node_platform_api/models/v1_move_focuser_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_move_focuser_response.py +77 -0
- ourskyai_node_platform_api/models/v1_move_focuser_steps_request.py +74 -0
- ourskyai_node_platform_api/models/v1_node_history.py +73 -0
- ourskyai_node_platform_api/models/v1_node_overview.py +122 -0
- ourskyai_node_platform_api/models/v1_node_status.py +43 -0
- ourskyai_node_platform_api/models/v1_ntp_status.py +88 -0
- ourskyai_node_platform_api/models/v1_ntp_status_details.py +73 -0
- ourskyai_node_platform_api/models/v1_open_enclosure_shutters_request.py +71 -0
- ourskyai_node_platform_api/models/v1_open_roof_request.py +71 -0
- ourskyai_node_platform_api/models/v1_optical_tube_cover_status.py +73 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_role.py +46 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_status.py +76 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_role.py +41 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_status.py +76 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_optical_tube_status.py +87 -0
- ourskyai_node_platform_api/models/v1_peer_status_changed_request.py +81 -0
- ourskyai_node_platform_api/models/v1_ptp_data_set.py +75 -0
- ourskyai_node_platform_api/models/v1_ptp_port_properties.py +77 -0
- ourskyai_node_platform_api/models/v1_ptp_status.py +88 -0
- ourskyai_node_platform_api/models/v1_ptp_status_details.py +102 -0
- ourskyai_node_platform_api/models/v1_ptp_time_status.py +85 -0
- ourskyai_node_platform_api/models/v1_record_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_relay.py +74 -0
- ourskyai_node_platform_api/models/v1_reset_mount_system_settings_to_default_request.py +73 -0
- ourskyai_node_platform_api/models/v1_reset_system_settings_to_default_request.py +75 -0
- ourskyai_node_platform_api/models/v1_roof_status.py +78 -0
- ourskyai_node_platform_api/models/v1_rotator_status.py +81 -0
- ourskyai_node_platform_api/models/v1_run_autofocus_request.py +82 -0
- ourskyai_node_platform_api/models/v1_run_blind_autofocus_request.py +73 -0
- ourskyai_node_platform_api/models/v1_safety_status.py +83 -0
- ourskyai_node_platform_api/models/v1_save_image_request.py +71 -0
- ourskyai_node_platform_api/models/v1_set_mount_park_position_request.py +73 -0
- ourskyai_node_platform_api/models/v1_set_optical_tube_heater_power_request.py +74 -0
- ourskyai_node_platform_api/models/v1_set_peer_status_request.py +88 -0
- ourskyai_node_platform_api/models/v1_set_relay_state_request.py +74 -0
- ourskyai_node_platform_api/models/v1_signal_message_request.py +90 -0
- ourskyai_node_platform_api/models/v1_signalling_request.py +225 -0
- ourskyai_node_platform_api/models/v1_source_statistics.py +103 -0
- ourskyai_node_platform_api/models/v1_start_session_request.py +90 -0
- ourskyai_node_platform_api/models/v1_stop_capturing_images_continuously_request.py +71 -0
- ourskyai_node_platform_api/models/v1_stop_recording_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_suntimes.py +87 -0
- ourskyai_node_platform_api/models/v1_system_diagnosis_report.py +117 -0
- ourskyai_node_platform_api/models/v1_system_event.py +80 -0
- ourskyai_node_platform_api/models/v1_system_event_data.py +939 -0
- ourskyai_node_platform_api/models/v1_system_events.py +79 -0
- ourskyai_node_platform_api/models/v1_system_health_check.py +86 -0
- ourskyai_node_platform_api/models/v1_system_location.py +83 -0
- ourskyai_node_platform_api/models/v1_system_location_gps_details.py +77 -0
- ourskyai_node_platform_api/models/v1_system_metric.py +88 -0
- ourskyai_node_platform_api/models/v1_system_metric_names.py +71 -0
- ourskyai_node_platform_api/models/v1_system_metric_tag.py +73 -0
- ourskyai_node_platform_api/models/v1_system_metric_type.py +40 -0
- ourskyai_node_platform_api/models/v1_system_metrics.py +79 -0
- ourskyai_node_platform_api/models/v1_system_network_interface.py +83 -0
- ourskyai_node_platform_api/models/v1_system_network_interface_info.py +75 -0
- ourskyai_node_platform_api/models/v1_system_network_interfaces.py +79 -0
- ourskyai_node_platform_api/models/v1_system_operation_mode.py +41 -0
- ourskyai_node_platform_api/models/v1_system_operation_status.py +75 -0
- ourskyai_node_platform_api/models/v1_system_settings.py +75 -0
- ourskyai_node_platform_api/models/v1_system_status.py +135 -0
- ourskyai_node_platform_api/models/v1_system_storage_status.py +75 -0
- ourskyai_node_platform_api/models/v1_system_time.py +94 -0
- ourskyai_node_platform_api/models/v1_system_variant.py +43 -0
- ourskyai_node_platform_api/models/v1_task.py +78 -0
- ourskyai_node_platform_api/models/v1_task_type.py +47 -0
- ourskyai_node_platform_api/models/v1_time_source.py +42 -0
- ourskyai_node_platform_api/models/v1_time_windowed_asset.py +86 -0
- ourskyai_node_platform_api/models/v1_time_windowed_asset_type.py +40 -0
- ourskyai_node_platform_api/models/v1_turn_off_optical_tube_fans_request.py +72 -0
- ourskyai_node_platform_api/models/v1_turn_on_optical_tube_fans_request.py +72 -0
- ourskyai_node_platform_api/models/v1_ui_operation_mode.py +40 -0
- ourskyai_node_platform_api/models/v1_update_filter_request.py +74 -0
- ourskyai_node_platform_api/models/v1_video.py +105 -0
- ourskyai_node_platform_api/models/v1_videos.py +79 -0
- ourskyai_node_platform_api/models/v1_weather_forecast.py +85 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_city.py +73 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_item.py +103 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_temperature.py +77 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_weather.py +77 -0
- ourskyai_node_platform_api/models/v1_weather_metric.py +85 -0
- ourskyai_node_platform_api/models/v1_weather_metrics.py +79 -0
- ourskyai_node_platform_api/models/v1_weather_station_status.py +71 -0
- ourskyai_node_platform_api/models/v2_capture_image_request.py +89 -0
- ourskyai_node_platform_api/models/v2_cycle_relays_request.py +74 -0
- ourskyai_node_platform_api/models/v2_enclosure_status.py +87 -0
- ourskyai_node_platform_api/models/v2_mount_status.py +94 -0
- ourskyai_node_platform_api/models/v2_relay_status.py +76 -0
- ourskyai_node_platform_api/models/v2_relay_statuses.py +79 -0
- ourskyai_node_platform_api/models/v2_turn_off_relay_request.py +72 -0
- ourskyai_node_platform_api/models/v2_turn_on_relay_request.py +72 -0
- ourskyai_node_platform_api/models/video_codec.py +39 -0
- ourskyai_node_platform_api/models/video_container_format.py +39 -0
- ourskyai_node_platform_api/models/wavefront_sensor_data_updated.py +110 -0
- ourskyai_node_platform_api/models/weather_station_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/weather_station_status_updated.py +72 -0
- ourskyai_node_platform_api/py.typed +0 -0
- ourskyai_node_platform_api/rest.py +303 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/METADATA +23 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/RECORD +282 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/WHEEL +5 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,74 @@
|
|
|
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, StrictInt
|
|
23
|
+
from ourskyai_node_platform_api.models.v1_filter_type import V1FilterType
|
|
24
|
+
|
|
25
|
+
class V1Filter(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Represents a filter installed in a specific position of the filter wheel. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
position: StrictInt = Field(..., description="The slot position of this filter in the wheel as a zero-based index.")
|
|
30
|
+
type: V1FilterType = Field(...)
|
|
31
|
+
__properties = ["position", "type"]
|
|
32
|
+
|
|
33
|
+
class Config:
|
|
34
|
+
"""Pydantic configuration"""
|
|
35
|
+
allow_population_by_field_name = True
|
|
36
|
+
validate_assignment = True
|
|
37
|
+
|
|
38
|
+
def to_str(self) -> str:
|
|
39
|
+
"""Returns the string representation of the model using alias"""
|
|
40
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
41
|
+
|
|
42
|
+
def to_json(self) -> str:
|
|
43
|
+
"""Returns the JSON representation of the model using alias"""
|
|
44
|
+
return json.dumps(self.to_dict())
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_json(cls, json_str: str) -> V1Filter:
|
|
48
|
+
"""Create an instance of V1Filter from a JSON string"""
|
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
|
50
|
+
|
|
51
|
+
def to_dict(self):
|
|
52
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
53
|
+
_dict = self.dict(by_alias=True,
|
|
54
|
+
exclude={
|
|
55
|
+
},
|
|
56
|
+
exclude_none=True)
|
|
57
|
+
return _dict
|
|
58
|
+
|
|
59
|
+
@classmethod
|
|
60
|
+
def from_dict(cls, obj: dict) -> V1Filter:
|
|
61
|
+
"""Create an instance of V1Filter from a dict"""
|
|
62
|
+
if obj is None:
|
|
63
|
+
return None
|
|
64
|
+
|
|
65
|
+
if not isinstance(obj, dict):
|
|
66
|
+
return V1Filter.parse_obj(obj)
|
|
67
|
+
|
|
68
|
+
_obj = V1Filter.parse_obj({
|
|
69
|
+
"position": obj.get("position"),
|
|
70
|
+
"type": obj.get("type")
|
|
71
|
+
})
|
|
72
|
+
return _obj
|
|
73
|
+
|
|
74
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
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 V1FilterType(str, Enum):
|
|
25
|
+
"""
|
|
26
|
+
Enumeration of supported astronomical filter types. NONE indicates an empty slot. RGB filters (RED, BLUE, GREEN) are for color imaging. UV and IR are for ultraviolet and infrared. LUMINANCE captures broadband light. Narrowband filters (H_ALPHA, H_BETA, S_II, O_III) isolate specific emission lines. PHOTO_JOHNSON and PHOTO_COUSINS are standard photometric systems. PHOTO_SLOAN filters follow the SDSS photometric system. DUAL_BAND, TRIPLE_BAND, and QUAD_BAND are multi-narrowband filters. DARK blocks all light for calibration frames. OTHER covers non-standard filters.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
"""
|
|
30
|
+
allowed enum values
|
|
31
|
+
"""
|
|
32
|
+
NONE = 'NONE'
|
|
33
|
+
RED = 'RED'
|
|
34
|
+
BLUE = 'BLUE'
|
|
35
|
+
GREEN = 'GREEN'
|
|
36
|
+
UV = 'UV'
|
|
37
|
+
IR = 'IR'
|
|
38
|
+
LUMINANCE = 'LUMINANCE'
|
|
39
|
+
ENHANCED_LUMINANCE = 'ENHANCED_LUMINANCE'
|
|
40
|
+
H_ALPHA = 'H_ALPHA'
|
|
41
|
+
H_BETA = 'H_BETA'
|
|
42
|
+
S_II = 'S_II'
|
|
43
|
+
O_III = 'O_III'
|
|
44
|
+
DUAL_BAND = 'DUAL_BAND'
|
|
45
|
+
PHOTO_JOHNSON_U = 'PHOTO_JOHNSON_U'
|
|
46
|
+
PHOTO_JOHNSON_B = 'PHOTO_JOHNSON_B'
|
|
47
|
+
PHOTO_JOHNSON_V = 'PHOTO_JOHNSON_V'
|
|
48
|
+
PHOTO_COUSINS_R = 'PHOTO_COUSINS_R'
|
|
49
|
+
PHOTO_COUSINS_I = 'PHOTO_COUSINS_I'
|
|
50
|
+
PHOTO_SLOAN_U = 'PHOTO_SLOAN_U'
|
|
51
|
+
PHOTO_SLOAN_G = 'PHOTO_SLOAN_G'
|
|
52
|
+
PHOTO_SLOAN_R = 'PHOTO_SLOAN_R'
|
|
53
|
+
PHOTO_SLOAN_I = 'PHOTO_SLOAN_I'
|
|
54
|
+
PHOTO_SLOAN_Z = 'PHOTO_SLOAN_Z'
|
|
55
|
+
TRIPLE_BAND = 'TRIPLE_BAND'
|
|
56
|
+
QUAD_BAND = 'QUAD_BAND'
|
|
57
|
+
DARK = 'DARK'
|
|
58
|
+
OTHER = 'OTHER'
|
|
59
|
+
|
|
60
|
+
@classmethod
|
|
61
|
+
def from_json(cls, json_str: str) -> V1FilterType:
|
|
62
|
+
"""Create an instance of V1FilterType from a JSON string"""
|
|
63
|
+
return V1FilterType(json.loads(json_str))
|
|
64
|
+
|
|
65
|
+
|
|
@@ -0,0 +1,85 @@
|
|
|
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, Optional
|
|
22
|
+
from pydantic import BaseModel, Field, StrictBool, StrictInt, conlist
|
|
23
|
+
from ourskyai_node_platform_api.models.v1_filter import V1Filter
|
|
24
|
+
|
|
25
|
+
class V1FilterWheelStatus(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Current status of the filter wheel including connection state, current position, and configuration of all filter slots. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
connected: StrictBool = Field(..., description="Indicates whether communication with the filter wheel is active. When false, the filter wheel cannot be controlled and position data may be stale.")
|
|
30
|
+
position: StrictInt = Field(..., description="Current filter wheel position as a zero-based slot index. This indicates which filter is currently in the optical path.")
|
|
31
|
+
capacity: StrictInt = Field(..., description="Total number of filter slots available in the wheel. Positions range from 0 to (capacity - 1).")
|
|
32
|
+
filters: Optional[conlist(V1Filter)] = Field(None, description="Array of filter configurations for each slot in the wheel. May not include all positions if some slots have not been configured.")
|
|
33
|
+
__properties = ["connected", "position", "capacity", "filters"]
|
|
34
|
+
|
|
35
|
+
class Config:
|
|
36
|
+
"""Pydantic configuration"""
|
|
37
|
+
allow_population_by_field_name = True
|
|
38
|
+
validate_assignment = True
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
return json.dumps(self.to_dict())
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_json(cls, json_str: str) -> V1FilterWheelStatus:
|
|
50
|
+
"""Create an instance of V1FilterWheelStatus from a JSON string"""
|
|
51
|
+
return cls.from_dict(json.loads(json_str))
|
|
52
|
+
|
|
53
|
+
def to_dict(self):
|
|
54
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
55
|
+
_dict = self.dict(by_alias=True,
|
|
56
|
+
exclude={
|
|
57
|
+
},
|
|
58
|
+
exclude_none=True)
|
|
59
|
+
# override the default output from pydantic by calling `to_dict()` of each item in filters (list)
|
|
60
|
+
_items = []
|
|
61
|
+
if self.filters:
|
|
62
|
+
for _item in self.filters:
|
|
63
|
+
if _item:
|
|
64
|
+
_items.append(_item.to_dict())
|
|
65
|
+
_dict['filters'] = _items
|
|
66
|
+
return _dict
|
|
67
|
+
|
|
68
|
+
@classmethod
|
|
69
|
+
def from_dict(cls, obj: dict) -> V1FilterWheelStatus:
|
|
70
|
+
"""Create an instance of V1FilterWheelStatus from a dict"""
|
|
71
|
+
if obj is None:
|
|
72
|
+
return None
|
|
73
|
+
|
|
74
|
+
if not isinstance(obj, dict):
|
|
75
|
+
return V1FilterWheelStatus.parse_obj(obj)
|
|
76
|
+
|
|
77
|
+
_obj = V1FilterWheelStatus.parse_obj({
|
|
78
|
+
"connected": obj.get("connected"),
|
|
79
|
+
"position": obj.get("position"),
|
|
80
|
+
"capacity": obj.get("capacity"),
|
|
81
|
+
"filters": [V1Filter.from_dict(_item) for _item in obj.get("filters")] if obj.get("filters") is not None else None
|
|
82
|
+
})
|
|
83
|
+
return _obj
|
|
84
|
+
|
|
85
|
+
|
|
@@ -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, StrictInt
|
|
23
|
+
|
|
24
|
+
class V1FocuserLimit(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Physical travel limits of the focuser discovered by the findLimit calibration routine. # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
min: StrictInt = Field(..., description="Minimum focuser position in steps, representing the fully retracted (inward) position.")
|
|
29
|
+
max: StrictInt = Field(..., description="Maximum focuser position in steps, representing the fully extended (outward) position.")
|
|
30
|
+
__properties = ["min", "max"]
|
|
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) -> V1FocuserLimit:
|
|
47
|
+
"""Create an instance of V1FocuserLimit 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) -> V1FocuserLimit:
|
|
60
|
+
"""Create an instance of V1FocuserLimit from a dict"""
|
|
61
|
+
if obj is None:
|
|
62
|
+
return None
|
|
63
|
+
|
|
64
|
+
if not isinstance(obj, dict):
|
|
65
|
+
return V1FocuserLimit.parse_obj(obj)
|
|
66
|
+
|
|
67
|
+
_obj = V1FocuserLimit.parse_obj({
|
|
68
|
+
"min": obj.get("min"),
|
|
69
|
+
"max": obj.get("max")
|
|
70
|
+
})
|
|
71
|
+
return _obj
|
|
72
|
+
|
|
73
|
+
|
|
@@ -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 Optional
|
|
22
|
+
from pydantic import BaseModel, Field, StrictBool
|
|
23
|
+
from ourskyai_node_platform_api.models.focuser_position import FocuserPosition
|
|
24
|
+
|
|
25
|
+
class V1FocuserStatus(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Current status of the telescope focuser including connection state, movement status, and position information. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
connected: StrictBool = Field(..., description="Indicates whether the focuser hardware is connected and communicating. A false value means the focuser cannot be controlled until connection is restored.")
|
|
30
|
+
moving: StrictBool = Field(..., description="Indicates whether the focuser is currently in motion. Wait for this to become false before capturing images or starting autofocus routines.")
|
|
31
|
+
position: Optional[FocuserPosition] = None
|
|
32
|
+
__properties = ["connected", "moving", "position"]
|
|
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) -> V1FocuserStatus:
|
|
49
|
+
"""Create an instance of V1FocuserStatus 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
|
+
# override the default output from pydantic by calling `to_dict()` of position
|
|
59
|
+
if self.position:
|
|
60
|
+
_dict['position'] = self.position.to_dict()
|
|
61
|
+
return _dict
|
|
62
|
+
|
|
63
|
+
@classmethod
|
|
64
|
+
def from_dict(cls, obj: dict) -> V1FocuserStatus:
|
|
65
|
+
"""Create an instance of V1FocuserStatus from a dict"""
|
|
66
|
+
if obj is None:
|
|
67
|
+
return None
|
|
68
|
+
|
|
69
|
+
if not isinstance(obj, dict):
|
|
70
|
+
return V1FocuserStatus.parse_obj(obj)
|
|
71
|
+
|
|
72
|
+
_obj = V1FocuserStatus.parse_obj({
|
|
73
|
+
"connected": obj.get("connected"),
|
|
74
|
+
"moving": obj.get("moving"),
|
|
75
|
+
"position": FocuserPosition.from_dict(obj.get("position")) if obj.get("position") is not None else None
|
|
76
|
+
})
|
|
77
|
+
return _obj
|
|
78
|
+
|
|
79
|
+
|
|
@@ -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 V1FollowTLERequest(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Request to track a satellite using Two-Line Element (TLE) orbital data. The mount will continuously compute and follow the satellite trajectory. # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
tle_line1: StrictStr = Field(..., alias="tleLine1", description="First line of the TLE data set containing the satellite catalog number, classification, launch info, and epoch. Standard 69-character format from NORAD.")
|
|
29
|
+
tle_line2: StrictStr = Field(..., alias="tleLine2", description="Second line of the TLE data set containing the orbital elements including inclination, eccentricity, and mean motion. Standard 69-character format from NORAD.")
|
|
30
|
+
__properties = ["tleLine1", "tleLine2"]
|
|
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) -> V1FollowTLERequest:
|
|
47
|
+
"""Create an instance of V1FollowTLERequest 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) -> V1FollowTLERequest:
|
|
60
|
+
"""Create an instance of V1FollowTLERequest from a dict"""
|
|
61
|
+
if obj is None:
|
|
62
|
+
return None
|
|
63
|
+
|
|
64
|
+
if not isinstance(obj, dict):
|
|
65
|
+
return V1FollowTLERequest.parse_obj(obj)
|
|
66
|
+
|
|
67
|
+
_obj = V1FollowTLERequest.parse_obj({
|
|
68
|
+
"tle_line1": obj.get("tleLine1"),
|
|
69
|
+
"tle_line2": obj.get("tleLine2")
|
|
70
|
+
})
|
|
71
|
+
return _obj
|
|
72
|
+
|
|
73
|
+
|
|
@@ -0,0 +1,145 @@
|
|
|
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, Optional
|
|
22
|
+
from pydantic import BaseModel, Field, conlist
|
|
23
|
+
from ourskyai_node_platform_api.models.optical_tube_status import OpticalTubeStatus
|
|
24
|
+
from ourskyai_node_platform_api.models.relays_status import RelaysStatus
|
|
25
|
+
from ourskyai_node_platform_api.models.roof_status import RoofStatus
|
|
26
|
+
from ourskyai_node_platform_api.models.v1_camera_status import V1CameraStatus
|
|
27
|
+
from ourskyai_node_platform_api.models.v1_enclosure_status import V1EnclosureStatus
|
|
28
|
+
from ourskyai_node_platform_api.models.v1_enclosure_window_status import V1EnclosureWindowStatus
|
|
29
|
+
from ourskyai_node_platform_api.models.v1_filter_wheel_status import V1FilterWheelStatus
|
|
30
|
+
from ourskyai_node_platform_api.models.v1_focuser_status import V1FocuserStatus
|
|
31
|
+
from ourskyai_node_platform_api.models.v1_mount_status import V1MountStatus
|
|
32
|
+
from ourskyai_node_platform_api.models.v1_rotator_status import V1RotatorStatus
|
|
33
|
+
from ourskyai_node_platform_api.models.v1_safety_status import V1SafetyStatus
|
|
34
|
+
from ourskyai_node_platform_api.models.v1_weather_station_status import V1WeatherStationStatus
|
|
35
|
+
|
|
36
|
+
class V1GetComponentStatusResponse(BaseModel):
|
|
37
|
+
"""
|
|
38
|
+
DEPRECATED: Comprehensive status of all telescope hardware components. Use V1SystemStatus from system_query.yaml instead for improved structure and additional component support. # noqa: E501
|
|
39
|
+
"""
|
|
40
|
+
camera_statuses: conlist(V1CameraStatus) = Field(..., alias="cameraStatuses", description="Array of status objects for all connected cameras including imaging and guide cameras.")
|
|
41
|
+
mount_status: V1MountStatus = Field(..., alias="mountStatus")
|
|
42
|
+
focuser_status: V1FocuserStatus = Field(..., alias="focuserStatus")
|
|
43
|
+
rotator_status: Optional[V1RotatorStatus] = Field(None, alias="rotatorStatus")
|
|
44
|
+
optical_tube_status: OpticalTubeStatus = Field(..., alias="opticalTubeStatus")
|
|
45
|
+
weather_station_status: V1WeatherStationStatus = Field(..., alias="weatherStationStatus")
|
|
46
|
+
relays_status: RelaysStatus = Field(..., alias="relaysStatus")
|
|
47
|
+
roof_status: RoofStatus = Field(..., alias="roofStatus")
|
|
48
|
+
enclosure_status: Optional[V1EnclosureStatus] = Field(None, alias="enclosureStatus")
|
|
49
|
+
enclosure_window_status: Optional[V1EnclosureWindowStatus] = Field(None, alias="enclosureWindowStatus")
|
|
50
|
+
safety_status: V1SafetyStatus = Field(..., alias="safetyStatus")
|
|
51
|
+
filter_wheel_status: V1FilterWheelStatus = Field(..., alias="filterWheelStatus")
|
|
52
|
+
__properties = ["cameraStatuses", "mountStatus", "focuserStatus", "rotatorStatus", "opticalTubeStatus", "weatherStationStatus", "relaysStatus", "roofStatus", "enclosureStatus", "enclosureWindowStatus", "safetyStatus", "filterWheelStatus"]
|
|
53
|
+
|
|
54
|
+
class Config:
|
|
55
|
+
"""Pydantic configuration"""
|
|
56
|
+
allow_population_by_field_name = True
|
|
57
|
+
validate_assignment = True
|
|
58
|
+
|
|
59
|
+
def to_str(self) -> str:
|
|
60
|
+
"""Returns the string representation of the model using alias"""
|
|
61
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
62
|
+
|
|
63
|
+
def to_json(self) -> str:
|
|
64
|
+
"""Returns the JSON representation of the model using alias"""
|
|
65
|
+
return json.dumps(self.to_dict())
|
|
66
|
+
|
|
67
|
+
@classmethod
|
|
68
|
+
def from_json(cls, json_str: str) -> V1GetComponentStatusResponse:
|
|
69
|
+
"""Create an instance of V1GetComponentStatusResponse from a JSON string"""
|
|
70
|
+
return cls.from_dict(json.loads(json_str))
|
|
71
|
+
|
|
72
|
+
def to_dict(self):
|
|
73
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
74
|
+
_dict = self.dict(by_alias=True,
|
|
75
|
+
exclude={
|
|
76
|
+
},
|
|
77
|
+
exclude_none=True)
|
|
78
|
+
# override the default output from pydantic by calling `to_dict()` of each item in camera_statuses (list)
|
|
79
|
+
_items = []
|
|
80
|
+
if self.camera_statuses:
|
|
81
|
+
for _item in self.camera_statuses:
|
|
82
|
+
if _item:
|
|
83
|
+
_items.append(_item.to_dict())
|
|
84
|
+
_dict['cameraStatuses'] = _items
|
|
85
|
+
# override the default output from pydantic by calling `to_dict()` of mount_status
|
|
86
|
+
if self.mount_status:
|
|
87
|
+
_dict['mountStatus'] = self.mount_status.to_dict()
|
|
88
|
+
# override the default output from pydantic by calling `to_dict()` of focuser_status
|
|
89
|
+
if self.focuser_status:
|
|
90
|
+
_dict['focuserStatus'] = self.focuser_status.to_dict()
|
|
91
|
+
# override the default output from pydantic by calling `to_dict()` of rotator_status
|
|
92
|
+
if self.rotator_status:
|
|
93
|
+
_dict['rotatorStatus'] = self.rotator_status.to_dict()
|
|
94
|
+
# override the default output from pydantic by calling `to_dict()` of optical_tube_status
|
|
95
|
+
if self.optical_tube_status:
|
|
96
|
+
_dict['opticalTubeStatus'] = self.optical_tube_status.to_dict()
|
|
97
|
+
# override the default output from pydantic by calling `to_dict()` of weather_station_status
|
|
98
|
+
if self.weather_station_status:
|
|
99
|
+
_dict['weatherStationStatus'] = self.weather_station_status.to_dict()
|
|
100
|
+
# override the default output from pydantic by calling `to_dict()` of relays_status
|
|
101
|
+
if self.relays_status:
|
|
102
|
+
_dict['relaysStatus'] = self.relays_status.to_dict()
|
|
103
|
+
# override the default output from pydantic by calling `to_dict()` of roof_status
|
|
104
|
+
if self.roof_status:
|
|
105
|
+
_dict['roofStatus'] = self.roof_status.to_dict()
|
|
106
|
+
# override the default output from pydantic by calling `to_dict()` of enclosure_status
|
|
107
|
+
if self.enclosure_status:
|
|
108
|
+
_dict['enclosureStatus'] = self.enclosure_status.to_dict()
|
|
109
|
+
# override the default output from pydantic by calling `to_dict()` of enclosure_window_status
|
|
110
|
+
if self.enclosure_window_status:
|
|
111
|
+
_dict['enclosureWindowStatus'] = self.enclosure_window_status.to_dict()
|
|
112
|
+
# override the default output from pydantic by calling `to_dict()` of safety_status
|
|
113
|
+
if self.safety_status:
|
|
114
|
+
_dict['safetyStatus'] = self.safety_status.to_dict()
|
|
115
|
+
# override the default output from pydantic by calling `to_dict()` of filter_wheel_status
|
|
116
|
+
if self.filter_wheel_status:
|
|
117
|
+
_dict['filterWheelStatus'] = self.filter_wheel_status.to_dict()
|
|
118
|
+
return _dict
|
|
119
|
+
|
|
120
|
+
@classmethod
|
|
121
|
+
def from_dict(cls, obj: dict) -> V1GetComponentStatusResponse:
|
|
122
|
+
"""Create an instance of V1GetComponentStatusResponse from a dict"""
|
|
123
|
+
if obj is None:
|
|
124
|
+
return None
|
|
125
|
+
|
|
126
|
+
if not isinstance(obj, dict):
|
|
127
|
+
return V1GetComponentStatusResponse.parse_obj(obj)
|
|
128
|
+
|
|
129
|
+
_obj = V1GetComponentStatusResponse.parse_obj({
|
|
130
|
+
"camera_statuses": [V1CameraStatus.from_dict(_item) for _item in obj.get("cameraStatuses")] if obj.get("cameraStatuses") is not None else None,
|
|
131
|
+
"mount_status": V1MountStatus.from_dict(obj.get("mountStatus")) if obj.get("mountStatus") is not None else None,
|
|
132
|
+
"focuser_status": V1FocuserStatus.from_dict(obj.get("focuserStatus")) if obj.get("focuserStatus") is not None else None,
|
|
133
|
+
"rotator_status": V1RotatorStatus.from_dict(obj.get("rotatorStatus")) if obj.get("rotatorStatus") is not None else None,
|
|
134
|
+
"optical_tube_status": OpticalTubeStatus.from_dict(obj.get("opticalTubeStatus")) if obj.get("opticalTubeStatus") is not None else None,
|
|
135
|
+
"weather_station_status": V1WeatherStationStatus.from_dict(obj.get("weatherStationStatus")) if obj.get("weatherStationStatus") is not None else None,
|
|
136
|
+
"relays_status": RelaysStatus.from_dict(obj.get("relaysStatus")) if obj.get("relaysStatus") is not None else None,
|
|
137
|
+
"roof_status": RoofStatus.from_dict(obj.get("roofStatus")) if obj.get("roofStatus") is not None else None,
|
|
138
|
+
"enclosure_status": V1EnclosureStatus.from_dict(obj.get("enclosureStatus")) if obj.get("enclosureStatus") is not None else None,
|
|
139
|
+
"enclosure_window_status": V1EnclosureWindowStatus.from_dict(obj.get("enclosureWindowStatus")) if obj.get("enclosureWindowStatus") is not None else None,
|
|
140
|
+
"safety_status": V1SafetyStatus.from_dict(obj.get("safetyStatus")) if obj.get("safetyStatus") is not None else None,
|
|
141
|
+
"filter_wheel_status": V1FilterWheelStatus.from_dict(obj.get("filterWheelStatus")) if obj.get("filterWheelStatus") is not None else None
|
|
142
|
+
})
|
|
143
|
+
return _obj
|
|
144
|
+
|
|
145
|
+
|
|
@@ -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
|
+
|
|
21
|
+
from typing import Optional
|
|
22
|
+
from pydantic import BaseModel, Field, StrictBool, StrictStr
|
|
23
|
+
|
|
24
|
+
class V1GetHealthCheckResponse(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Health status and version information for the edge controller. Used for monitoring system health and verifying firmware compatibility during integration. # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
healthy: StrictBool = Field(..., description="True if the edge controller is healthy and operating normally. False indicates a problem requiring attention.")
|
|
29
|
+
message: StrictStr = Field(..., description="Human-readable message providing additional context about the health status. Contains diagnostic details when healthy is false.")
|
|
30
|
+
version: StrictStr = Field(..., description="Semantic version string of the edge controller software. Use for compatibility checks and support requests.")
|
|
31
|
+
hardware_version: StrictStr = Field(..., alias="hardwareVersion", description="Hardware revision identifier of the edge controller board. Important for hardware-specific feature support.")
|
|
32
|
+
habitat_firmware_version: StrictStr = Field(..., alias="habitatFirmwareVersion", description="Firmware version of the habitat controller subsystem. Should be compatible with the main software version.")
|
|
33
|
+
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.")
|
|
34
|
+
serial_number: Optional[StrictStr] = Field(None, alias="serialNumber", description="Hardware serial number of the edge controller unit. Useful for inventory tracking and support identification.")
|
|
35
|
+
__properties = ["healthy", "message", "version", "hardwareVersion", "habitatFirmwareVersion", "lineageId", "serialNumber"]
|
|
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) -> V1GetHealthCheckResponse:
|
|
52
|
+
"""Create an instance of V1GetHealthCheckResponse 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
|
+
return _dict
|
|
62
|
+
|
|
63
|
+
@classmethod
|
|
64
|
+
def from_dict(cls, obj: dict) -> V1GetHealthCheckResponse:
|
|
65
|
+
"""Create an instance of V1GetHealthCheckResponse from a dict"""
|
|
66
|
+
if obj is None:
|
|
67
|
+
return None
|
|
68
|
+
|
|
69
|
+
if not isinstance(obj, dict):
|
|
70
|
+
return V1GetHealthCheckResponse.parse_obj(obj)
|
|
71
|
+
|
|
72
|
+
_obj = V1GetHealthCheckResponse.parse_obj({
|
|
73
|
+
"healthy": obj.get("healthy"),
|
|
74
|
+
"message": obj.get("message"),
|
|
75
|
+
"version": obj.get("version"),
|
|
76
|
+
"hardware_version": obj.get("hardwareVersion"),
|
|
77
|
+
"habitat_firmware_version": obj.get("habitatFirmwareVersion"),
|
|
78
|
+
"lineage_id": obj.get("lineageId"),
|
|
79
|
+
"serial_number": obj.get("serialNumber")
|
|
80
|
+
})
|
|
81
|
+
return _obj
|
|
82
|
+
|
|
83
|
+
|