samsara-api 0.0.1__py3-none-any.whl → 0.0.3__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.
- samsara/__init__.py +298 -38
- samsara/alerts/configurations/client.py +25 -11
- samsara/alerts/configurations/raw_client.py +47 -8
- samsara/alerts/incidents/client.py +21 -11
- samsara/alerts/incidents/raw_client.py +43 -9
- samsara/assets/client.py +21 -11
- samsara/assets/location_and_speed/client.py +21 -13
- samsara/assets/location_and_speed/raw_client.py +53 -9
- samsara/assets/raw_client.py +53 -8
- samsara/attributes/client.py +21 -13
- samsara/attributes/raw_client.py +41 -8
- samsara/cameras/media/client.py +2 -2
- samsara/cameras/media/raw_client.py +2 -2
- samsara/cameras/media/retrieval/client.py +2 -12
- samsara/cameras/media/types/media_list_request_trigger_reasons_item.py +8 -1
- samsara/carrier_proposed_assignments/client.py +21 -11
- samsara/carrier_proposed_assignments/raw_client.py +43 -8
- samsara/client.py +15 -6
- samsara/coaching/driver_coach_assignments/client.py +22 -12
- samsara/coaching/driver_coach_assignments/raw_client.py +45 -8
- samsara/coaching/sessions/client.py +21 -13
- samsara/coaching/sessions/raw_client.py +51 -9
- samsara/contacts/client.py +21 -11
- samsara/contacts/raw_client.py +39 -8
- samsara/core/client_wrapper.py +2 -2
- samsara/defect_types/client.py +21 -11
- samsara/defect_types/raw_client.py +41 -9
- samsara/defects/client.py +124 -9
- samsara/defects/raw_client.py +356 -6
- samsara/devices/client.py +21 -11
- samsara/devices/raw_client.py +45 -9
- samsara/document_types/client.py +21 -11
- samsara/document_types/raw_client.py +37 -9
- samsara/documents/client.py +21 -11
- samsara/documents/raw_client.py +45 -8
- samsara/driver_trailer_assignments/client.py +23 -13
- samsara/driver_trailer_assignments/raw_client.py +43 -8
- samsara/drivers/__init__.py +1 -3
- samsara/drivers/client.py +21 -21
- samsara/drivers/raw_client.py +51 -8
- samsara/dvirs/client.py +124 -9
- samsara/dvirs/raw_client.py +356 -6
- samsara/equipment/__init__.py +2 -2
- samsara/equipment/client.py +23 -21
- samsara/equipment/locations/client.py +62 -34
- samsara/equipment/locations/raw_client.py +132 -27
- samsara/equipment/raw_client.py +45 -18
- samsara/equipment/stats/__init__.py +2 -2
- samsara/equipment/stats/client.py +81 -53
- samsara/equipment/stats/raw_client.py +157 -46
- samsara/equipment/stats/types/__init__.py +2 -2
- samsara/equipment/stats/types/{stats_get_request_types_item.py → stats_list_request_types_item.py} +1 -1
- samsara/form_submissions/client.py +46 -54
- samsara/form_submissions/pdf_exports/client.py +14 -22
- samsara/form_submissions/pdf_exports/raw_client.py +10 -18
- samsara/form_submissions/raw_client.py +74 -47
- samsara/forms/client.py +138 -0
- samsara/{beta → forms}/raw_client.py +37 -62
- samsara/function.py +99 -0
- samsara/gateways/client.py +21 -11
- samsara/gateways/raw_client.py +39 -8
- samsara/hos/__init__.py +3 -0
- samsara/hos/client.py +218 -11
- samsara/hos/raw_client.py +485 -8
- samsara/hos/types/__init__.py +7 -0
- samsara/hos/types/hos_daily_logs_request_driver_activation_status.py +5 -0
- samsara/idling/__init__.py +7 -0
- samsara/idling/client.py +287 -0
- samsara/idling/raw_client.py +521 -0
- samsara/idling/types/__init__.py +7 -0
- samsara/idling/types/idling_list_request_pto_state.py +5 -0
- samsara/inputs/client.py +21 -11
- samsara/inputs/raw_client.py +51 -9
- samsara/issues/client.py +27 -29
- samsara/issues/raw_client.py +53 -26
- samsara/live_shares/client.py +21 -13
- samsara/live_shares/raw_client.py +43 -8
- samsara/maintenance/service_tasks/client.py +21 -11
- samsara/maintenance/service_tasks/raw_client.py +41 -8
- samsara/maintenance/work_orders/client.py +40 -22
- samsara/maintenance/work_orders/raw_client.py +84 -16
- samsara/readings/client.py +524 -0
- samsara/readings/raw_client.py +1214 -0
- samsara/reports/drivers/fuel_energy/client.py +6 -6
- samsara/reports/drivers/fuel_energy/raw_client.py +2 -2
- samsara/reports/ifta/__init__.py +4 -4
- samsara/reports/ifta/vehicle/__init__.py +2 -2
- samsara/reports/ifta/vehicle/client.py +21 -21
- samsara/reports/ifta/vehicle/raw_client.py +17 -17
- samsara/reports/ifta/vehicle/types/__init__.py +4 -4
- samsara/reports/ifta/vehicle/types/{vehicle_get_request_fuel_type.py → vehicle_list_request_fuel_type.py} +1 -1
- samsara/reports/ifta/vehicle/types/{vehicle_get_request_month.py → vehicle_list_request_month.py} +1 -1
- samsara/reports/ifta/vehicle/types/vehicle_list_request_quarter.py +5 -0
- samsara/reports/vehicles/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/client.py +11 -11
- samsara/reports/vehicles/fuel_energy/raw_client.py +7 -7
- samsara/reports/vehicles/fuel_energy/types/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/types/fuel_energy_list_request_energy_type.py +5 -0
- samsara/reports/vehicles/idling/client.py +27 -15
- samsara/reports/vehicles/idling/raw_client.py +59 -11
- samsara/routes/client.py +21 -11
- samsara/routes/raw_client.py +43 -8
- samsara/safety_events/audit_logs/client.py +21 -13
- samsara/safety_events/audit_logs/raw_client.py +39 -9
- samsara/safety_events/client.py +21 -11
- samsara/safety_events/raw_client.py +47 -9
- samsara/speeding_intervals/client.py +25 -17
- samsara/speeding_intervals/raw_client.py +55 -13
- samsara/tachograph/__init__.py +7 -0
- samsara/tachograph/client.py +44 -0
- samsara/{drivers/tachograph_files → tachograph/driver}/client.py +162 -15
- samsara/{drivers/tachograph_files → tachograph/driver}/raw_client.py +153 -4
- samsara/tachograph/raw_client.py +13 -0
- samsara/{vehicles/tachograph_files → tachograph/vehicles}/client.py +15 -15
- samsara/{vehicles/tachograph_files → tachograph/vehicles}/raw_client.py +4 -4
- samsara/tags/client.py +21 -11
- samsara/tags/raw_client.py +39 -8
- samsara/trailers/client.py +21 -11
- samsara/trailers/raw_client.py +43 -8
- samsara/training_courses/client.py +21 -11
- samsara/training_courses/raw_client.py +43 -9
- samsara/trips/client.py +21 -11
- samsara/trips/raw_client.py +49 -9
- samsara/types/__init__.py +406 -50
- samsara/types/advanced_idling_get_idling_events_bad_gateway_error_response_body.py +33 -0
- samsara/types/advanced_idling_get_idling_events_gateway_timeout_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_internal_server_error_response_body.py → advanced_idling_get_idling_events_internal_server_error_response_body.py} +1 -1
- samsara/types/advanced_idling_get_idling_events_method_not_allowed_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_not_found_error_response_body.py → advanced_idling_get_idling_events_not_found_error_response_body.py} +1 -1
- samsara/types/{hos_daily_logs_update_shipping_docs_not_implemented_error_response_body.py → advanced_idling_get_idling_events_not_implemented_error_response_body.py} +1 -1
- samsara/types/advanced_idling_get_idling_events_response_body.py +26 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_service_unavailable_error_response_body.py → advanced_idling_get_idling_events_service_unavailable_error_response_body.py} +1 -1
- samsara/types/{hos_daily_logs_update_shipping_docs_gateway_timeout_error_response_body.py → advanced_idling_get_idling_events_too_many_requests_error_response_body.py} +2 -2
- samsara/types/advanced_idling_get_idling_events_unauthorized_error_response_body.py +33 -0
- samsara/types/alert_object_asset_response_body.py +63 -0
- samsara/types/{assets_create_asset_response_body_type.py → alert_object_asset_response_body_type.py} +1 -1
- samsara/types/assets_create_asset_response_body.py +2 -87
- samsara/types/assets_update_asset_response_body.py +2 -87
- samsara/types/continuous_reading_alert_threshold_response_body.py +49 -0
- samsara/types/continuous_reading_alert_threshold_response_body_operation.py +7 -0
- samsara/types/continuous_reading_alert_threshold_response_body_unit.py +62 -0
- samsara/types/device_response_response_body.py +1 -1
- samsara/types/device_response_response_body_model.py +1 -0
- samsara/types/dvir_defect_get_defect_bad_gateway_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_gateway_timeout_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_internal_server_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_method_not_allowed_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_not_found_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_not_implemented_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_response_body.py +91 -0
- samsara/types/dvir_defect_get_defect_service_unavailable_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_too_many_requests_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_unauthorized_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_bad_gateway_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_gateway_timeout_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_internal_server_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_method_not_allowed_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_not_found_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_not_implemented_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_response_body.py +99 -0
- samsara/types/dvir_get_dvir_response_body_safety_status.py +5 -0
- samsara/types/dvir_get_dvir_response_body_type.py +5 -0
- samsara/types/dvir_get_dvir_service_unavailable_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_too_many_requests_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_unauthorized_error_response_body.py +33 -0
- samsara/types/enum_reading_alert_threshold_response_body.py +31 -0
- samsara/types/enum_value_response_body.py +31 -0
- samsara/types/equipment_gateway_engine_seconds.py +1 -1
- samsara/types/equipment_gateway_j_1939_engine_seconds.py +1 -1
- samsara/types/equipment_obd_engine_seconds.py +1 -1
- samsara/types/event_location_response_body.py +31 -0
- samsara/types/form_submission_request_field_input_object_request_body.py +7 -1
- samsara/types/form_submission_request_field_input_object_request_body_type.py +3 -1
- samsara/types/{hos_daily_logs_update_shipping_docs_response_body.py → form_submission_request_geofence_object_request_body.py} +9 -3
- samsara/types/form_submission_request_geofence_value_object_request_body.py +24 -0
- samsara/types/form_submission_response_object_response_body.py +8 -0
- samsara/types/{form_template_reference_object_request_body.py → form_template_request_object_request_body.py} +6 -4
- samsara/types/form_template_response_object_response_body.py +74 -0
- samsara/types/form_template_section_object_response_body.py +47 -0
- samsara/types/form_templates_get_form_templates_bad_gateway_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_gateway_timeout_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_internal_server_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_method_not_allowed_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_not_found_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_not_implemented_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_response_body.py +26 -0
- samsara/types/form_templates_get_form_templates_service_unavailable_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_too_many_requests_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_unauthorized_error_response_body.py +33 -0
- samsara/types/forms_action_object_response_body.py +43 -0
- samsara/types/forms_action_object_response_body_type.py +7 -0
- samsara/types/forms_approval_config_object_response_body.py +32 -0
- samsara/types/forms_asset_object_response_body.py +8 -1
- samsara/types/forms_check_boxes_value_object_response_body.py +7 -0
- samsara/types/forms_condition_object_response_body.py +36 -0
- samsara/types/forms_condition_object_response_body_type.py +7 -0
- samsara/types/forms_conditional_action_object_response_body.py +30 -0
- samsara/types/forms_field_definition_object_response_body.py +143 -0
- samsara/types/forms_field_definition_object_response_body_allowed_asset_types_item.py +7 -0
- samsara/types/forms_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
- samsara/types/forms_field_definition_object_response_body_type.py +22 -0
- samsara/types/forms_field_input_object_response_body.py +7 -4
- samsara/types/forms_field_input_object_response_body_type.py +20 -0
- samsara/types/forms_geofence_object_response_body.py +53 -0
- samsara/types/forms_geofence_object_response_body_entry_type.py +5 -0
- samsara/types/forms_geofence_value_object_response_body.py +24 -0
- samsara/types/forms_multiple_choice_value_object_response_body.py +8 -1
- samsara/types/forms_product_submission_approval_details_object_response_body.py +26 -0
- samsara/types/forms_select_option_object_response_body.py +47 -0
- samsara/types/forms_single_approval_config_object_response_body.py +33 -0
- samsara/types/forms_table_cell_object_response_body.py +3 -4
- samsara/types/forms_table_cell_object_response_body_type.py +8 -0
- samsara/types/forms_table_column_object_response_body.py +3 -4
- samsara/types/forms_table_column_object_response_body_type.py +8 -0
- samsara/types/forms_table_field_definition_object_response_body.py +91 -0
- samsara/types/forms_table_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
- samsara/types/forms_table_field_definition_object_response_body_type.py +8 -0
- samsara/types/fuel_cost_object_response_body.py +32 -0
- samsara/types/fuel_cost_object_response_body_currency.py +5 -0
- samsara/types/fuel_volume_response_body.py +28 -0
- samsara/types/fuel_volume_response_body_unit.py +5 -0
- samsara/types/gaseous_fuel_cost_object_response_body.py +32 -0
- samsara/types/gaseous_fuel_cost_object_response_body_currency.py +7 -0
- samsara/types/gateway_details_response_response_body.py +14 -0
- samsara/types/harsh_event_trigger_details_object_request_body_types_item.py +1 -0
- samsara/types/harsh_event_trigger_details_object_response_body_types_item.py +1 -0
- samsara/types/idling_event_object_response_body.py +101 -0
- samsara/types/idling_event_object_response_body_address_type.py +17 -0
- samsara/types/inline_response_2005.py +24 -0
- samsara/types/inline_response_2006.py +24 -0
- samsara/types/reading_definition_response_body.py +59 -0
- samsara/types/reading_history_response_body.py +47 -0
- samsara/types/reading_snapshot_response_body.py +52 -0
- samsara/types/reading_trigger_continuous_value_object_request_body.py +51 -0
- samsara/types/reading_trigger_continuous_value_object_request_body_operation.py +7 -0
- samsara/types/reading_trigger_continuous_value_object_request_body_unit.py +62 -0
- samsara/types/reading_trigger_continuous_value_object_response_body.py +51 -0
- samsara/types/reading_trigger_continuous_value_object_response_body_operation.py +7 -0
- samsara/types/reading_trigger_continuous_value_object_response_body_unit.py +62 -0
- samsara/types/reading_trigger_details_object_request_body.py +48 -0
- samsara/types/reading_trigger_details_object_response_body.py +48 -0
- samsara/types/reading_trigger_details_response_body.py +38 -0
- samsara/types/reading_trigger_enum_value_object_request_body.py +31 -0
- samsara/types/reading_trigger_enum_value_object_response_body.py +31 -0
- samsara/types/reading_type_response_body.py +34 -0
- samsara/types/reading_type_response_body_data_type.py +5 -0
- samsara/types/readings_get_readings_history_bad_gateway_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_bad_gateway_error_response_body.py → readings_get_readings_history_gateway_timeout_error_response_body.py} +2 -2
- samsara/types/readings_get_readings_history_internal_server_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_not_found_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_response_body.py +26 -0
- samsara/types/readings_get_readings_history_service_unavailable_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_too_many_requests_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_unauthorized_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_bad_gateway_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_gateway_timeout_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_internal_server_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_not_found_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_response_body.py +26 -0
- samsara/types/readings_get_readings_snapshot_service_unavailable_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_unauthorized_error_response_body.py → readings_get_readings_snapshot_too_many_requests_error_response_body.py} +2 -2
- samsara/types/readings_get_readings_snapshot_unauthorized_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_bad_gateway_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_too_many_requests_error_response_body.py → readings_list_readings_definitions_gateway_timeout_error_response_body.py} +2 -2
- samsara/types/readings_list_readings_definitions_internal_server_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_not_found_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_response_body.py +26 -0
- samsara/types/readings_list_readings_definitions_service_unavailable_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_method_not_allowed_error_response_body.py → readings_list_readings_definitions_too_many_requests_error_response_body.py} +2 -2
- samsara/types/readings_list_readings_definitions_unauthorized_error_response_body.py +33 -0
- samsara/types/safety_score_configuration_settings_object_response_body.py +7 -0
- samsara/types/single_approval_requirements_object_response_body.py +28 -0
- samsara/types/sudden_fuel_level_drop_response_body.py +33 -0
- samsara/types/sudden_fuel_level_rise_response_body.py +33 -0
- samsara/types/trigger_params_object_request_body.py +2 -0
- samsara/types/trigger_params_object_response_body.py +2 -0
- samsara/types/unit_response_body.py +39 -0
- samsara/types/unit_response_body_base_unit.py +62 -0
- samsara/types/unit_response_body_measurement_type.py +28 -0
- samsara/types/uploaded_media_object_response_body.py +1 -1
- samsara/types/uploaded_media_object_response_body_trigger_reason.py +8 -1
- samsara/types/v_1_message.py +29 -0
- samsara/types/v_1_message_response.py +41 -0
- samsara/types/v_1_message_sender.py +27 -0
- samsara/types/v_1_messages.py +7 -0
- samsara/types/v_1_messages_response.py +7 -0
- samsara/types/webhook_response_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_get_webhook_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_patch_webhook_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_post_webhooks_response_body_event_types_item.py +1 -0
- samsara/types/work_order_item_object_request_body.py +1 -1
- samsara/types/work_order_item_object_request_body_type.py +10 -1
- samsara/types/work_order_item_object_response_body.py +1 -1
- samsara/types/work_order_item_object_response_body_type.py +10 -1
- samsara/types/workflow_geofence_event_response_object_response_body.py +6 -0
- samsara/types/workflow_incident_details_object_response_body.py +2 -0
- samsara/types/workflow_trigger_object_request_body.py +1 -0
- samsara/types/workflow_trigger_object_response_body.py +1 -0
- samsara/user_roles/client.py +21 -11
- samsara/user_roles/raw_client.py +39 -9
- samsara/users/client.py +21 -11
- samsara/users/raw_client.py +39 -8
- samsara/v_1_messages/__init__.py +4 -0
- samsara/v_1_messages/client.py +258 -0
- samsara/v_1_messages/raw_client.py +273 -0
- samsara/vehicles/__init__.py +1 -2
- samsara/vehicles/client.py +31 -16
- samsara/vehicles/immobilizer/client.py +21 -13
- samsara/vehicles/immobilizer/raw_client.py +43 -9
- samsara/vehicles/locations/client.py +60 -32
- samsara/vehicles/locations/raw_client.py +132 -25
- samsara/vehicles/raw_client.py +61 -8
- samsara/vehicles/stats/client.py +66 -38
- samsara/vehicles/stats/raw_client.py +148 -31
- samsara/webhooks/client.py +21 -11
- samsara/webhooks/raw_client.py +41 -8
- samsara/webhooks/types/webhooks_post_webhooks_request_body_event_types_item.py +1 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/METADATA +25 -18
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/RECORD +332 -197
- samsara/beta/client.py +0 -161
- samsara/drivers/tachograph_activity/client.py +0 -186
- samsara/drivers/tachograph_activity/raw_client.py +0 -169
- samsara/hours_of_service/__init__.py +0 -7
- samsara/hours_of_service/client.py +0 -229
- samsara/hours_of_service/raw_client.py +0 -425
- samsara/hours_of_service/types/__init__.py +0 -9
- samsara/hours_of_service/types/hours_of_service_get_daily_logs_request_driver_activation_status.py +0 -7
- samsara/reports/ifta/vehicle/types/vehicle_get_request_quarter.py +0 -5
- samsara/reports/vehicles/fuel_energy/types/fuel_energy_get_request_energy_type.py +0 -5
- samsara/types/assets_create_asset_response_body_regulation_mode.py +0 -7
- samsara/types/assets_update_asset_response_body_regulation_mode.py +0 -7
- samsara/types/assets_update_asset_response_body_type.py +0 -7
- samsara/types/patch_shipping_docs_response_body_response_body.py +0 -93
- /samsara/{beta → forms}/__init__.py +0 -0
- /samsara/{drivers/tachograph_activity → readings}/__init__.py +0 -0
- /samsara/{drivers/tachograph_files → tachograph/driver}/__init__.py +0 -0
- /samsara/{vehicles/tachograph_files → tachograph/vehicles}/__init__.py +0 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/LICENSE +0 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/WHEEL +0 -0
|
@@ -5,11 +5,13 @@ from json.decoder import JSONDecodeError
|
|
|
5
5
|
|
|
6
6
|
from ...core.api_error import ApiError
|
|
7
7
|
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
|
-
from ...core.
|
|
8
|
+
from ...core.pagination import AsyncPager, BaseHttpResponse, SyncPager
|
|
9
9
|
from ...core.pydantic_utilities import parse_obj_as
|
|
10
10
|
from ...core.request_options import RequestOptions
|
|
11
11
|
from ...types.equipment_locations_list_response import EquipmentLocationsListResponse
|
|
12
|
+
from ...types.equipment_locations_list_response_data import EquipmentLocationsListResponseData
|
|
12
13
|
from ...types.equipment_locations_response import EquipmentLocationsResponse
|
|
14
|
+
from ...types.equipment_locations_response_data import EquipmentLocationsResponseData
|
|
13
15
|
|
|
14
16
|
|
|
15
17
|
class RawLocationsClient:
|
|
@@ -24,7 +26,7 @@ class RawLocationsClient:
|
|
|
24
26
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
25
27
|
equipment_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
26
28
|
request_options: typing.Optional[RequestOptions] = None,
|
|
27
|
-
) ->
|
|
29
|
+
) -> SyncPager[EquipmentLocationsResponseData]:
|
|
28
30
|
"""
|
|
29
31
|
Returns last known locations for all equipment. This can be optionally filtered by tags or specific equipment IDs.
|
|
30
32
|
|
|
@@ -51,7 +53,7 @@ class RawLocationsClient:
|
|
|
51
53
|
|
|
52
54
|
Returns
|
|
53
55
|
-------
|
|
54
|
-
|
|
56
|
+
SyncPager[EquipmentLocationsResponseData]
|
|
55
57
|
The most recent equipment locations and pagination information
|
|
56
58
|
"""
|
|
57
59
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -67,14 +69,29 @@ class RawLocationsClient:
|
|
|
67
69
|
)
|
|
68
70
|
try:
|
|
69
71
|
if 200 <= _response.status_code < 300:
|
|
70
|
-
|
|
72
|
+
_parsed_response = typing.cast(
|
|
71
73
|
EquipmentLocationsResponse,
|
|
72
74
|
parse_obj_as(
|
|
73
75
|
type_=EquipmentLocationsResponse, # type: ignore
|
|
74
76
|
object_=_response.json(),
|
|
75
77
|
),
|
|
76
78
|
)
|
|
77
|
-
|
|
79
|
+
_items = _parsed_response.data
|
|
80
|
+
_has_next = False
|
|
81
|
+
_get_next = None
|
|
82
|
+
if _parsed_response.pagination is not None:
|
|
83
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
84
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
85
|
+
_get_next = lambda: self.list(
|
|
86
|
+
after=_parsed_next,
|
|
87
|
+
parent_tag_ids=parent_tag_ids,
|
|
88
|
+
tag_ids=tag_ids,
|
|
89
|
+
equipment_ids=equipment_ids,
|
|
90
|
+
request_options=request_options,
|
|
91
|
+
)
|
|
92
|
+
return SyncPager(
|
|
93
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
94
|
+
)
|
|
78
95
|
_response_json = _response.json()
|
|
79
96
|
except JSONDecodeError:
|
|
80
97
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
@@ -88,9 +105,9 @@ class RawLocationsClient:
|
|
|
88
105
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
89
106
|
equipment_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
90
107
|
request_options: typing.Optional[RequestOptions] = None,
|
|
91
|
-
) ->
|
|
108
|
+
) -> SyncPager[EquipmentLocationsListResponseData]:
|
|
92
109
|
"""
|
|
93
|
-
Follow a continuous feed of all equipment locations
|
|
110
|
+
Follow a continuous feed of all equipment locations.
|
|
94
111
|
|
|
95
112
|
Your first call to this endpoint will provide you with the most recent location for each unit of equipment and a `pagination` object that contains an `endCursor`.
|
|
96
113
|
|
|
@@ -121,7 +138,7 @@ class RawLocationsClient:
|
|
|
121
138
|
|
|
122
139
|
Returns
|
|
123
140
|
-------
|
|
124
|
-
|
|
141
|
+
SyncPager[EquipmentLocationsListResponseData]
|
|
125
142
|
The feed of equipment locations and pagination information
|
|
126
143
|
"""
|
|
127
144
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -137,14 +154,29 @@ class RawLocationsClient:
|
|
|
137
154
|
)
|
|
138
155
|
try:
|
|
139
156
|
if 200 <= _response.status_code < 300:
|
|
140
|
-
|
|
157
|
+
_parsed_response = typing.cast(
|
|
141
158
|
EquipmentLocationsListResponse,
|
|
142
159
|
parse_obj_as(
|
|
143
160
|
type_=EquipmentLocationsListResponse, # type: ignore
|
|
144
161
|
object_=_response.json(),
|
|
145
162
|
),
|
|
146
163
|
)
|
|
147
|
-
|
|
164
|
+
_items = _parsed_response.data
|
|
165
|
+
_has_next = False
|
|
166
|
+
_get_next = None
|
|
167
|
+
if _parsed_response.pagination is not None:
|
|
168
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
169
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
170
|
+
_get_next = lambda: self.feed(
|
|
171
|
+
after=_parsed_next,
|
|
172
|
+
parent_tag_ids=parent_tag_ids,
|
|
173
|
+
tag_ids=tag_ids,
|
|
174
|
+
equipment_ids=equipment_ids,
|
|
175
|
+
request_options=request_options,
|
|
176
|
+
)
|
|
177
|
+
return SyncPager(
|
|
178
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
179
|
+
)
|
|
148
180
|
_response_json = _response.json()
|
|
149
181
|
except JSONDecodeError:
|
|
150
182
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
@@ -160,7 +192,7 @@ class RawLocationsClient:
|
|
|
160
192
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
161
193
|
equipment_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
162
194
|
request_options: typing.Optional[RequestOptions] = None,
|
|
163
|
-
) ->
|
|
195
|
+
) -> SyncPager[EquipmentLocationsListResponseData]:
|
|
164
196
|
"""
|
|
165
197
|
Returns historical equipment locations during the given time range. This can be optionally filtered by tags or specific equipment IDs.
|
|
166
198
|
|
|
@@ -193,7 +225,7 @@ class RawLocationsClient:
|
|
|
193
225
|
|
|
194
226
|
Returns
|
|
195
227
|
-------
|
|
196
|
-
|
|
228
|
+
SyncPager[EquipmentLocationsListResponseData]
|
|
197
229
|
Historical equipment locations and pagination information
|
|
198
230
|
"""
|
|
199
231
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -211,14 +243,31 @@ class RawLocationsClient:
|
|
|
211
243
|
)
|
|
212
244
|
try:
|
|
213
245
|
if 200 <= _response.status_code < 300:
|
|
214
|
-
|
|
246
|
+
_parsed_response = typing.cast(
|
|
215
247
|
EquipmentLocationsListResponse,
|
|
216
248
|
parse_obj_as(
|
|
217
249
|
type_=EquipmentLocationsListResponse, # type: ignore
|
|
218
250
|
object_=_response.json(),
|
|
219
251
|
),
|
|
220
252
|
)
|
|
221
|
-
|
|
253
|
+
_items = _parsed_response.data
|
|
254
|
+
_has_next = False
|
|
255
|
+
_get_next = None
|
|
256
|
+
if _parsed_response.pagination is not None:
|
|
257
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
258
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
259
|
+
_get_next = lambda: self.history(
|
|
260
|
+
start_time=start_time,
|
|
261
|
+
end_time=end_time,
|
|
262
|
+
after=_parsed_next,
|
|
263
|
+
parent_tag_ids=parent_tag_ids,
|
|
264
|
+
tag_ids=tag_ids,
|
|
265
|
+
equipment_ids=equipment_ids,
|
|
266
|
+
request_options=request_options,
|
|
267
|
+
)
|
|
268
|
+
return SyncPager(
|
|
269
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
270
|
+
)
|
|
222
271
|
_response_json = _response.json()
|
|
223
272
|
except JSONDecodeError:
|
|
224
273
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
@@ -237,7 +286,7 @@ class AsyncRawLocationsClient:
|
|
|
237
286
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
238
287
|
equipment_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
239
288
|
request_options: typing.Optional[RequestOptions] = None,
|
|
240
|
-
) ->
|
|
289
|
+
) -> AsyncPager[EquipmentLocationsResponseData]:
|
|
241
290
|
"""
|
|
242
291
|
Returns last known locations for all equipment. This can be optionally filtered by tags or specific equipment IDs.
|
|
243
292
|
|
|
@@ -264,7 +313,7 @@ class AsyncRawLocationsClient:
|
|
|
264
313
|
|
|
265
314
|
Returns
|
|
266
315
|
-------
|
|
267
|
-
|
|
316
|
+
AsyncPager[EquipmentLocationsResponseData]
|
|
268
317
|
The most recent equipment locations and pagination information
|
|
269
318
|
"""
|
|
270
319
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -280,14 +329,32 @@ class AsyncRawLocationsClient:
|
|
|
280
329
|
)
|
|
281
330
|
try:
|
|
282
331
|
if 200 <= _response.status_code < 300:
|
|
283
|
-
|
|
332
|
+
_parsed_response = typing.cast(
|
|
284
333
|
EquipmentLocationsResponse,
|
|
285
334
|
parse_obj_as(
|
|
286
335
|
type_=EquipmentLocationsResponse, # type: ignore
|
|
287
336
|
object_=_response.json(),
|
|
288
337
|
),
|
|
289
338
|
)
|
|
290
|
-
|
|
339
|
+
_items = _parsed_response.data
|
|
340
|
+
_has_next = False
|
|
341
|
+
_get_next = None
|
|
342
|
+
if _parsed_response.pagination is not None:
|
|
343
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
344
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
345
|
+
|
|
346
|
+
async def _get_next():
|
|
347
|
+
return await self.list(
|
|
348
|
+
after=_parsed_next,
|
|
349
|
+
parent_tag_ids=parent_tag_ids,
|
|
350
|
+
tag_ids=tag_ids,
|
|
351
|
+
equipment_ids=equipment_ids,
|
|
352
|
+
request_options=request_options,
|
|
353
|
+
)
|
|
354
|
+
|
|
355
|
+
return AsyncPager(
|
|
356
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
357
|
+
)
|
|
291
358
|
_response_json = _response.json()
|
|
292
359
|
except JSONDecodeError:
|
|
293
360
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
@@ -301,9 +368,9 @@ class AsyncRawLocationsClient:
|
|
|
301
368
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
302
369
|
equipment_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
303
370
|
request_options: typing.Optional[RequestOptions] = None,
|
|
304
|
-
) ->
|
|
371
|
+
) -> AsyncPager[EquipmentLocationsListResponseData]:
|
|
305
372
|
"""
|
|
306
|
-
Follow a continuous feed of all equipment locations
|
|
373
|
+
Follow a continuous feed of all equipment locations.
|
|
307
374
|
|
|
308
375
|
Your first call to this endpoint will provide you with the most recent location for each unit of equipment and a `pagination` object that contains an `endCursor`.
|
|
309
376
|
|
|
@@ -334,7 +401,7 @@ class AsyncRawLocationsClient:
|
|
|
334
401
|
|
|
335
402
|
Returns
|
|
336
403
|
-------
|
|
337
|
-
|
|
404
|
+
AsyncPager[EquipmentLocationsListResponseData]
|
|
338
405
|
The feed of equipment locations and pagination information
|
|
339
406
|
"""
|
|
340
407
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -350,14 +417,32 @@ class AsyncRawLocationsClient:
|
|
|
350
417
|
)
|
|
351
418
|
try:
|
|
352
419
|
if 200 <= _response.status_code < 300:
|
|
353
|
-
|
|
420
|
+
_parsed_response = typing.cast(
|
|
354
421
|
EquipmentLocationsListResponse,
|
|
355
422
|
parse_obj_as(
|
|
356
423
|
type_=EquipmentLocationsListResponse, # type: ignore
|
|
357
424
|
object_=_response.json(),
|
|
358
425
|
),
|
|
359
426
|
)
|
|
360
|
-
|
|
427
|
+
_items = _parsed_response.data
|
|
428
|
+
_has_next = False
|
|
429
|
+
_get_next = None
|
|
430
|
+
if _parsed_response.pagination is not None:
|
|
431
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
432
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
433
|
+
|
|
434
|
+
async def _get_next():
|
|
435
|
+
return await self.feed(
|
|
436
|
+
after=_parsed_next,
|
|
437
|
+
parent_tag_ids=parent_tag_ids,
|
|
438
|
+
tag_ids=tag_ids,
|
|
439
|
+
equipment_ids=equipment_ids,
|
|
440
|
+
request_options=request_options,
|
|
441
|
+
)
|
|
442
|
+
|
|
443
|
+
return AsyncPager(
|
|
444
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
445
|
+
)
|
|
361
446
|
_response_json = _response.json()
|
|
362
447
|
except JSONDecodeError:
|
|
363
448
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
@@ -373,7 +458,7 @@ class AsyncRawLocationsClient:
|
|
|
373
458
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
374
459
|
equipment_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
375
460
|
request_options: typing.Optional[RequestOptions] = None,
|
|
376
|
-
) ->
|
|
461
|
+
) -> AsyncPager[EquipmentLocationsListResponseData]:
|
|
377
462
|
"""
|
|
378
463
|
Returns historical equipment locations during the given time range. This can be optionally filtered by tags or specific equipment IDs.
|
|
379
464
|
|
|
@@ -406,7 +491,7 @@ class AsyncRawLocationsClient:
|
|
|
406
491
|
|
|
407
492
|
Returns
|
|
408
493
|
-------
|
|
409
|
-
|
|
494
|
+
AsyncPager[EquipmentLocationsListResponseData]
|
|
410
495
|
Historical equipment locations and pagination information
|
|
411
496
|
"""
|
|
412
497
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -424,14 +509,34 @@ class AsyncRawLocationsClient:
|
|
|
424
509
|
)
|
|
425
510
|
try:
|
|
426
511
|
if 200 <= _response.status_code < 300:
|
|
427
|
-
|
|
512
|
+
_parsed_response = typing.cast(
|
|
428
513
|
EquipmentLocationsListResponse,
|
|
429
514
|
parse_obj_as(
|
|
430
515
|
type_=EquipmentLocationsListResponse, # type: ignore
|
|
431
516
|
object_=_response.json(),
|
|
432
517
|
),
|
|
433
518
|
)
|
|
434
|
-
|
|
519
|
+
_items = _parsed_response.data
|
|
520
|
+
_has_next = False
|
|
521
|
+
_get_next = None
|
|
522
|
+
if _parsed_response.pagination is not None:
|
|
523
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
524
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
525
|
+
|
|
526
|
+
async def _get_next():
|
|
527
|
+
return await self.history(
|
|
528
|
+
start_time=start_time,
|
|
529
|
+
end_time=end_time,
|
|
530
|
+
after=_parsed_next,
|
|
531
|
+
parent_tag_ids=parent_tag_ids,
|
|
532
|
+
tag_ids=tag_ids,
|
|
533
|
+
equipment_ids=equipment_ids,
|
|
534
|
+
request_options=request_options,
|
|
535
|
+
)
|
|
536
|
+
|
|
537
|
+
return AsyncPager(
|
|
538
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
539
|
+
)
|
|
435
540
|
_response_json = _response.json()
|
|
436
541
|
except JSONDecodeError:
|
|
437
542
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
samsara/equipment/raw_client.py
CHANGED
|
@@ -7,9 +7,11 @@ from ..core.api_error import ApiError
|
|
|
7
7
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
8
|
from ..core.http_response import AsyncHttpResponse, HttpResponse
|
|
9
9
|
from ..core.jsonable_encoder import jsonable_encoder
|
|
10
|
+
from ..core.pagination import AsyncPager, BaseHttpResponse, SyncPager
|
|
10
11
|
from ..core.pydantic_utilities import parse_obj_as
|
|
11
12
|
from ..core.request_options import RequestOptions
|
|
12
13
|
from ..types.equipment_list_response import EquipmentListResponse
|
|
14
|
+
from ..types.equipment_object import EquipmentObject
|
|
13
15
|
from ..types.equipment_response import EquipmentResponse
|
|
14
16
|
|
|
15
17
|
|
|
@@ -25,13 +27,9 @@ class RawEquipmentClient:
|
|
|
25
27
|
parent_tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
26
28
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
27
29
|
request_options: typing.Optional[RequestOptions] = None,
|
|
28
|
-
) ->
|
|
30
|
+
) -> SyncPager[EquipmentObject]:
|
|
29
31
|
"""
|
|
30
|
-
Returns a list of all equipment in an organization.
|
|
31
|
-
|
|
32
|
-
**Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
|
|
33
|
-
|
|
34
|
-
To use this endpoint, select **Read Equipment** under the Equipment category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
|
|
32
|
+
Returns a list of all equipment in an organization.
|
|
35
33
|
|
|
36
34
|
Parameters
|
|
37
35
|
----------
|
|
@@ -52,7 +50,7 @@ class RawEquipmentClient:
|
|
|
52
50
|
|
|
53
51
|
Returns
|
|
54
52
|
-------
|
|
55
|
-
|
|
53
|
+
SyncPager[EquipmentObject]
|
|
56
54
|
List of all equipment objects, and pagination information
|
|
57
55
|
"""
|
|
58
56
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -68,14 +66,29 @@ class RawEquipmentClient:
|
|
|
68
66
|
)
|
|
69
67
|
try:
|
|
70
68
|
if 200 <= _response.status_code < 300:
|
|
71
|
-
|
|
69
|
+
_parsed_response = typing.cast(
|
|
72
70
|
EquipmentListResponse,
|
|
73
71
|
parse_obj_as(
|
|
74
72
|
type_=EquipmentListResponse, # type: ignore
|
|
75
73
|
object_=_response.json(),
|
|
76
74
|
),
|
|
77
75
|
)
|
|
78
|
-
|
|
76
|
+
_items = _parsed_response.data
|
|
77
|
+
_has_next = False
|
|
78
|
+
_get_next = None
|
|
79
|
+
if _parsed_response.pagination is not None:
|
|
80
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
81
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
82
|
+
_get_next = lambda: self.list(
|
|
83
|
+
limit=limit,
|
|
84
|
+
after=_parsed_next,
|
|
85
|
+
parent_tag_ids=parent_tag_ids,
|
|
86
|
+
tag_ids=tag_ids,
|
|
87
|
+
request_options=request_options,
|
|
88
|
+
)
|
|
89
|
+
return SyncPager(
|
|
90
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
91
|
+
)
|
|
79
92
|
_response_json = _response.json()
|
|
80
93
|
except JSONDecodeError:
|
|
81
94
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
@@ -137,13 +150,9 @@ class AsyncRawEquipmentClient:
|
|
|
137
150
|
parent_tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
138
151
|
tag_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
139
152
|
request_options: typing.Optional[RequestOptions] = None,
|
|
140
|
-
) ->
|
|
153
|
+
) -> AsyncPager[EquipmentObject]:
|
|
141
154
|
"""
|
|
142
|
-
Returns a list of all equipment in an organization.
|
|
143
|
-
|
|
144
|
-
**Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
|
|
145
|
-
|
|
146
|
-
To use this endpoint, select **Read Equipment** under the Equipment category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
|
|
155
|
+
Returns a list of all equipment in an organization.
|
|
147
156
|
|
|
148
157
|
Parameters
|
|
149
158
|
----------
|
|
@@ -164,7 +173,7 @@ class AsyncRawEquipmentClient:
|
|
|
164
173
|
|
|
165
174
|
Returns
|
|
166
175
|
-------
|
|
167
|
-
|
|
176
|
+
AsyncPager[EquipmentObject]
|
|
168
177
|
List of all equipment objects, and pagination information
|
|
169
178
|
"""
|
|
170
179
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -180,14 +189,32 @@ class AsyncRawEquipmentClient:
|
|
|
180
189
|
)
|
|
181
190
|
try:
|
|
182
191
|
if 200 <= _response.status_code < 300:
|
|
183
|
-
|
|
192
|
+
_parsed_response = typing.cast(
|
|
184
193
|
EquipmentListResponse,
|
|
185
194
|
parse_obj_as(
|
|
186
195
|
type_=EquipmentListResponse, # type: ignore
|
|
187
196
|
object_=_response.json(),
|
|
188
197
|
),
|
|
189
198
|
)
|
|
190
|
-
|
|
199
|
+
_items = _parsed_response.data
|
|
200
|
+
_has_next = False
|
|
201
|
+
_get_next = None
|
|
202
|
+
if _parsed_response.pagination is not None:
|
|
203
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
204
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
205
|
+
|
|
206
|
+
async def _get_next():
|
|
207
|
+
return await self.list(
|
|
208
|
+
limit=limit,
|
|
209
|
+
after=_parsed_next,
|
|
210
|
+
parent_tag_ids=parent_tag_ids,
|
|
211
|
+
tag_ids=tag_ids,
|
|
212
|
+
request_options=request_options,
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
return AsyncPager(
|
|
216
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
217
|
+
)
|
|
191
218
|
_response_json = _response.json()
|
|
192
219
|
except JSONDecodeError:
|
|
193
220
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
# isort: skip_file
|
|
4
4
|
|
|
5
|
-
from .types import StatsFeedRequestTypesItem,
|
|
5
|
+
from .types import StatsFeedRequestTypesItem, StatsHistoryRequestTypesItem, StatsListRequestTypesItem
|
|
6
6
|
|
|
7
|
-
__all__ = ["StatsFeedRequestTypesItem", "
|
|
7
|
+
__all__ = ["StatsFeedRequestTypesItem", "StatsHistoryRequestTypesItem", "StatsListRequestTypesItem"]
|