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
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
import typing
|
|
4
4
|
|
|
5
5
|
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
|
+
from ...core.pagination import AsyncPager, SyncPager
|
|
6
7
|
from ...core.request_options import RequestOptions
|
|
7
8
|
from ...types.action_object_request_body import ActionObjectRequestBody
|
|
8
|
-
from ...types.alerts_get_configurations_response_body import AlertsGetConfigurationsResponseBody
|
|
9
9
|
from ...types.alerts_patch_configurations_response_body import AlertsPatchConfigurationsResponseBody
|
|
10
10
|
from ...types.alerts_post_configurations_response_body import AlertsPostConfigurationsResponseBody
|
|
11
|
+
from ...types.get_response_workflow_configuration_object_response_body import (
|
|
12
|
+
GetResponseWorkflowConfigurationObjectResponseBody,
|
|
13
|
+
)
|
|
11
14
|
from ...types.operational_settings_object_request_body import OperationalSettingsObjectRequestBody
|
|
12
15
|
from ...types.scope_object_request_body import ScopeObjectRequestBody
|
|
13
16
|
from ...types.workflow_trigger_object_request_body import WorkflowTriggerObjectRequestBody
|
|
@@ -41,7 +44,7 @@ class ConfigurationsClient:
|
|
|
41
44
|
after: typing.Optional[str] = None,
|
|
42
45
|
include_external_ids: typing.Optional[bool] = None,
|
|
43
46
|
request_options: typing.Optional[RequestOptions] = None,
|
|
44
|
-
) ->
|
|
47
|
+
) -> SyncPager[GetResponseWorkflowConfigurationObjectResponseBody]:
|
|
45
48
|
"""
|
|
46
49
|
Get specified Alert Configurations.
|
|
47
50
|
|
|
@@ -74,6 +77,7 @@ class ConfigurationsClient:
|
|
|
74
77
|
Gateway Disconnected
|
|
75
78
|
Panic Button
|
|
76
79
|
Tampering Detected
|
|
80
|
+
Asset Reading
|
|
77
81
|
If vehicle is severely speeding (as defined by your organization)
|
|
78
82
|
DVIR Submitted for Asset
|
|
79
83
|
Driver Document Submitted
|
|
@@ -115,7 +119,7 @@ class ConfigurationsClient:
|
|
|
115
119
|
|
|
116
120
|
Returns
|
|
117
121
|
-------
|
|
118
|
-
|
|
122
|
+
SyncPager[GetResponseWorkflowConfigurationObjectResponseBody]
|
|
119
123
|
OK response.
|
|
120
124
|
|
|
121
125
|
Examples
|
|
@@ -125,16 +129,20 @@ class ConfigurationsClient:
|
|
|
125
129
|
client = Samsara(
|
|
126
130
|
token="YOUR_TOKEN",
|
|
127
131
|
)
|
|
128
|
-
client.alerts.configurations.list()
|
|
132
|
+
response = client.alerts.configurations.list()
|
|
133
|
+
for item in response:
|
|
134
|
+
yield item
|
|
135
|
+
# alternatively, you can paginate page-by-page
|
|
136
|
+
for page in response.iter_pages():
|
|
137
|
+
yield page
|
|
129
138
|
"""
|
|
130
|
-
|
|
139
|
+
return self._raw_client.list(
|
|
131
140
|
ids=ids,
|
|
132
141
|
status=status,
|
|
133
142
|
after=after,
|
|
134
143
|
include_external_ids=include_external_ids,
|
|
135
144
|
request_options=request_options,
|
|
136
145
|
)
|
|
137
|
-
return _response.data
|
|
138
146
|
|
|
139
147
|
def create(
|
|
140
148
|
self,
|
|
@@ -369,7 +377,7 @@ class AsyncConfigurationsClient:
|
|
|
369
377
|
after: typing.Optional[str] = None,
|
|
370
378
|
include_external_ids: typing.Optional[bool] = None,
|
|
371
379
|
request_options: typing.Optional[RequestOptions] = None,
|
|
372
|
-
) ->
|
|
380
|
+
) -> AsyncPager[GetResponseWorkflowConfigurationObjectResponseBody]:
|
|
373
381
|
"""
|
|
374
382
|
Get specified Alert Configurations.
|
|
375
383
|
|
|
@@ -402,6 +410,7 @@ class AsyncConfigurationsClient:
|
|
|
402
410
|
Gateway Disconnected
|
|
403
411
|
Panic Button
|
|
404
412
|
Tampering Detected
|
|
413
|
+
Asset Reading
|
|
405
414
|
If vehicle is severely speeding (as defined by your organization)
|
|
406
415
|
DVIR Submitted for Asset
|
|
407
416
|
Driver Document Submitted
|
|
@@ -443,7 +452,7 @@ class AsyncConfigurationsClient:
|
|
|
443
452
|
|
|
444
453
|
Returns
|
|
445
454
|
-------
|
|
446
|
-
|
|
455
|
+
AsyncPager[GetResponseWorkflowConfigurationObjectResponseBody]
|
|
447
456
|
OK response.
|
|
448
457
|
|
|
449
458
|
Examples
|
|
@@ -458,19 +467,24 @@ class AsyncConfigurationsClient:
|
|
|
458
467
|
|
|
459
468
|
|
|
460
469
|
async def main() -> None:
|
|
461
|
-
await client.alerts.configurations.list()
|
|
470
|
+
response = await client.alerts.configurations.list()
|
|
471
|
+
async for item in response:
|
|
472
|
+
yield item
|
|
473
|
+
|
|
474
|
+
# alternatively, you can paginate page-by-page
|
|
475
|
+
async for page in response.iter_pages():
|
|
476
|
+
yield page
|
|
462
477
|
|
|
463
478
|
|
|
464
479
|
asyncio.run(main())
|
|
465
480
|
"""
|
|
466
|
-
|
|
481
|
+
return await self._raw_client.list(
|
|
467
482
|
ids=ids,
|
|
468
483
|
status=status,
|
|
469
484
|
after=after,
|
|
470
485
|
include_external_ids=include_external_ids,
|
|
471
486
|
request_options=request_options,
|
|
472
487
|
)
|
|
473
|
-
return _response.data
|
|
474
488
|
|
|
475
489
|
async def create(
|
|
476
490
|
self,
|
|
@@ -6,6 +6,7 @@ from json.decoder import JSONDecodeError
|
|
|
6
6
|
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
|
+
from ...core.pagination import AsyncPager, BaseHttpResponse, SyncPager
|
|
9
10
|
from ...core.pydantic_utilities import parse_obj_as
|
|
10
11
|
from ...core.request_options import RequestOptions
|
|
11
12
|
from ...core.serialization import convert_and_respect_annotation_metadata
|
|
@@ -22,6 +23,9 @@ from ...types.action_object_request_body import ActionObjectRequestBody
|
|
|
22
23
|
from ...types.alerts_get_configurations_response_body import AlertsGetConfigurationsResponseBody
|
|
23
24
|
from ...types.alerts_patch_configurations_response_body import AlertsPatchConfigurationsResponseBody
|
|
24
25
|
from ...types.alerts_post_configurations_response_body import AlertsPostConfigurationsResponseBody
|
|
26
|
+
from ...types.get_response_workflow_configuration_object_response_body import (
|
|
27
|
+
GetResponseWorkflowConfigurationObjectResponseBody,
|
|
28
|
+
)
|
|
25
29
|
from ...types.operational_settings_object_request_body import OperationalSettingsObjectRequestBody
|
|
26
30
|
from ...types.scope_object_request_body import ScopeObjectRequestBody
|
|
27
31
|
from ...types.workflow_trigger_object_request_body import WorkflowTriggerObjectRequestBody
|
|
@@ -43,7 +47,7 @@ class RawConfigurationsClient:
|
|
|
43
47
|
after: typing.Optional[str] = None,
|
|
44
48
|
include_external_ids: typing.Optional[bool] = None,
|
|
45
49
|
request_options: typing.Optional[RequestOptions] = None,
|
|
46
|
-
) ->
|
|
50
|
+
) -> SyncPager[GetResponseWorkflowConfigurationObjectResponseBody]:
|
|
47
51
|
"""
|
|
48
52
|
Get specified Alert Configurations.
|
|
49
53
|
|
|
@@ -76,6 +80,7 @@ class RawConfigurationsClient:
|
|
|
76
80
|
Gateway Disconnected
|
|
77
81
|
Panic Button
|
|
78
82
|
Tampering Detected
|
|
83
|
+
Asset Reading
|
|
79
84
|
If vehicle is severely speeding (as defined by your organization)
|
|
80
85
|
DVIR Submitted for Asset
|
|
81
86
|
Driver Document Submitted
|
|
@@ -117,7 +122,7 @@ class RawConfigurationsClient:
|
|
|
117
122
|
|
|
118
123
|
Returns
|
|
119
124
|
-------
|
|
120
|
-
|
|
125
|
+
SyncPager[GetResponseWorkflowConfigurationObjectResponseBody]
|
|
121
126
|
OK response.
|
|
122
127
|
"""
|
|
123
128
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -133,14 +138,29 @@ class RawConfigurationsClient:
|
|
|
133
138
|
)
|
|
134
139
|
try:
|
|
135
140
|
if 200 <= _response.status_code < 300:
|
|
136
|
-
|
|
141
|
+
_parsed_response = typing.cast(
|
|
137
142
|
AlertsGetConfigurationsResponseBody,
|
|
138
143
|
parse_obj_as(
|
|
139
144
|
type_=AlertsGetConfigurationsResponseBody, # type: ignore
|
|
140
145
|
object_=_response.json(),
|
|
141
146
|
),
|
|
142
147
|
)
|
|
143
|
-
|
|
148
|
+
_items = _parsed_response.data
|
|
149
|
+
_has_next = False
|
|
150
|
+
_get_next = None
|
|
151
|
+
if _parsed_response.pagination is not None:
|
|
152
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
153
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
154
|
+
_get_next = lambda: self.list(
|
|
155
|
+
ids=ids,
|
|
156
|
+
status=status,
|
|
157
|
+
after=_parsed_next,
|
|
158
|
+
include_external_ids=include_external_ids,
|
|
159
|
+
request_options=request_options,
|
|
160
|
+
)
|
|
161
|
+
return SyncPager(
|
|
162
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
163
|
+
)
|
|
144
164
|
if _response.status_code == 401:
|
|
145
165
|
raise UnauthorizedError(
|
|
146
166
|
headers=dict(_response.headers),
|
|
@@ -783,7 +803,7 @@ class AsyncRawConfigurationsClient:
|
|
|
783
803
|
after: typing.Optional[str] = None,
|
|
784
804
|
include_external_ids: typing.Optional[bool] = None,
|
|
785
805
|
request_options: typing.Optional[RequestOptions] = None,
|
|
786
|
-
) ->
|
|
806
|
+
) -> AsyncPager[GetResponseWorkflowConfigurationObjectResponseBody]:
|
|
787
807
|
"""
|
|
788
808
|
Get specified Alert Configurations.
|
|
789
809
|
|
|
@@ -816,6 +836,7 @@ class AsyncRawConfigurationsClient:
|
|
|
816
836
|
Gateway Disconnected
|
|
817
837
|
Panic Button
|
|
818
838
|
Tampering Detected
|
|
839
|
+
Asset Reading
|
|
819
840
|
If vehicle is severely speeding (as defined by your organization)
|
|
820
841
|
DVIR Submitted for Asset
|
|
821
842
|
Driver Document Submitted
|
|
@@ -857,7 +878,7 @@ class AsyncRawConfigurationsClient:
|
|
|
857
878
|
|
|
858
879
|
Returns
|
|
859
880
|
-------
|
|
860
|
-
|
|
881
|
+
AsyncPager[GetResponseWorkflowConfigurationObjectResponseBody]
|
|
861
882
|
OK response.
|
|
862
883
|
"""
|
|
863
884
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -873,14 +894,32 @@ class AsyncRawConfigurationsClient:
|
|
|
873
894
|
)
|
|
874
895
|
try:
|
|
875
896
|
if 200 <= _response.status_code < 300:
|
|
876
|
-
|
|
897
|
+
_parsed_response = typing.cast(
|
|
877
898
|
AlertsGetConfigurationsResponseBody,
|
|
878
899
|
parse_obj_as(
|
|
879
900
|
type_=AlertsGetConfigurationsResponseBody, # type: ignore
|
|
880
901
|
object_=_response.json(),
|
|
881
902
|
),
|
|
882
903
|
)
|
|
883
|
-
|
|
904
|
+
_items = _parsed_response.data
|
|
905
|
+
_has_next = False
|
|
906
|
+
_get_next = None
|
|
907
|
+
if _parsed_response.pagination is not None:
|
|
908
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
909
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
910
|
+
|
|
911
|
+
async def _get_next():
|
|
912
|
+
return await self.list(
|
|
913
|
+
ids=ids,
|
|
914
|
+
status=status,
|
|
915
|
+
after=_parsed_next,
|
|
916
|
+
include_external_ids=include_external_ids,
|
|
917
|
+
request_options=request_options,
|
|
918
|
+
)
|
|
919
|
+
|
|
920
|
+
return AsyncPager(
|
|
921
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
922
|
+
)
|
|
884
923
|
if _response.status_code == 401:
|
|
885
924
|
raise UnauthorizedError(
|
|
886
925
|
headers=dict(_response.headers),
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
import typing
|
|
4
4
|
|
|
5
5
|
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
|
+
from ...core.pagination import AsyncPager, SyncPager
|
|
6
7
|
from ...core.request_options import RequestOptions
|
|
7
|
-
from ...types.
|
|
8
|
+
from ...types.get_workflow_incident_response_object_response_body import GetWorkflowIncidentResponseObjectResponseBody
|
|
8
9
|
from .raw_client import AsyncRawIncidentsClient, RawIncidentsClient
|
|
9
10
|
|
|
10
11
|
|
|
@@ -31,7 +32,7 @@ class IncidentsClient:
|
|
|
31
32
|
end_time: typing.Optional[str] = None,
|
|
32
33
|
after: typing.Optional[str] = None,
|
|
33
34
|
request_options: typing.Optional[RequestOptions] = None,
|
|
34
|
-
) ->
|
|
35
|
+
) -> SyncPager[GetWorkflowIncidentResponseObjectResponseBody]:
|
|
35
36
|
"""
|
|
36
37
|
Get Alert Incidents for specific Alert Configurations over a specified period of time.
|
|
37
38
|
|
|
@@ -61,7 +62,7 @@ class IncidentsClient:
|
|
|
61
62
|
|
|
62
63
|
Returns
|
|
63
64
|
-------
|
|
64
|
-
|
|
65
|
+
SyncPager[GetWorkflowIncidentResponseObjectResponseBody]
|
|
65
66
|
OK response.
|
|
66
67
|
|
|
67
68
|
Examples
|
|
@@ -71,18 +72,22 @@ class IncidentsClient:
|
|
|
71
72
|
client = Samsara(
|
|
72
73
|
token="YOUR_TOKEN",
|
|
73
74
|
)
|
|
74
|
-
client.alerts.incidents.stream(
|
|
75
|
+
response = client.alerts.incidents.stream(
|
|
75
76
|
start_time="startTime",
|
|
76
77
|
)
|
|
78
|
+
for item in response:
|
|
79
|
+
yield item
|
|
80
|
+
# alternatively, you can paginate page-by-page
|
|
81
|
+
for page in response.iter_pages():
|
|
82
|
+
yield page
|
|
77
83
|
"""
|
|
78
|
-
|
|
84
|
+
return self._raw_client.stream(
|
|
79
85
|
start_time=start_time,
|
|
80
86
|
configuration_ids=configuration_ids,
|
|
81
87
|
end_time=end_time,
|
|
82
88
|
after=after,
|
|
83
89
|
request_options=request_options,
|
|
84
90
|
)
|
|
85
|
-
return _response.data
|
|
86
91
|
|
|
87
92
|
|
|
88
93
|
class AsyncIncidentsClient:
|
|
@@ -108,7 +113,7 @@ class AsyncIncidentsClient:
|
|
|
108
113
|
end_time: typing.Optional[str] = None,
|
|
109
114
|
after: typing.Optional[str] = None,
|
|
110
115
|
request_options: typing.Optional[RequestOptions] = None,
|
|
111
|
-
) ->
|
|
116
|
+
) -> AsyncPager[GetWorkflowIncidentResponseObjectResponseBody]:
|
|
112
117
|
"""
|
|
113
118
|
Get Alert Incidents for specific Alert Configurations over a specified period of time.
|
|
114
119
|
|
|
@@ -138,7 +143,7 @@ class AsyncIncidentsClient:
|
|
|
138
143
|
|
|
139
144
|
Returns
|
|
140
145
|
-------
|
|
141
|
-
|
|
146
|
+
AsyncPager[GetWorkflowIncidentResponseObjectResponseBody]
|
|
142
147
|
OK response.
|
|
143
148
|
|
|
144
149
|
Examples
|
|
@@ -153,18 +158,23 @@ class AsyncIncidentsClient:
|
|
|
153
158
|
|
|
154
159
|
|
|
155
160
|
async def main() -> None:
|
|
156
|
-
await client.alerts.incidents.stream(
|
|
161
|
+
response = await client.alerts.incidents.stream(
|
|
157
162
|
start_time="startTime",
|
|
158
163
|
)
|
|
164
|
+
async for item in response:
|
|
165
|
+
yield item
|
|
166
|
+
|
|
167
|
+
# alternatively, you can paginate page-by-page
|
|
168
|
+
async for page in response.iter_pages():
|
|
169
|
+
yield page
|
|
159
170
|
|
|
160
171
|
|
|
161
172
|
asyncio.run(main())
|
|
162
173
|
"""
|
|
163
|
-
|
|
174
|
+
return await self._raw_client.stream(
|
|
164
175
|
start_time=start_time,
|
|
165
176
|
configuration_ids=configuration_ids,
|
|
166
177
|
end_time=end_time,
|
|
167
178
|
after=after,
|
|
168
179
|
request_options=request_options,
|
|
169
180
|
)
|
|
170
|
-
return _response.data
|
|
@@ -5,7 +5,7 @@ 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 ...errors.bad_gateway_error import BadGatewayError
|
|
@@ -18,6 +18,7 @@ from ...errors.service_unavailable_error import ServiceUnavailableError
|
|
|
18
18
|
from ...errors.too_many_requests_error import TooManyRequestsError
|
|
19
19
|
from ...errors.unauthorized_error import UnauthorizedError
|
|
20
20
|
from ...types.alerts_get_incidents_response_body import AlertsGetIncidentsResponseBody
|
|
21
|
+
from ...types.get_workflow_incident_response_object_response_body import GetWorkflowIncidentResponseObjectResponseBody
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
class RawIncidentsClient:
|
|
@@ -32,7 +33,7 @@ class RawIncidentsClient:
|
|
|
32
33
|
end_time: typing.Optional[str] = None,
|
|
33
34
|
after: typing.Optional[str] = None,
|
|
34
35
|
request_options: typing.Optional[RequestOptions] = None,
|
|
35
|
-
) ->
|
|
36
|
+
) -> SyncPager[GetWorkflowIncidentResponseObjectResponseBody]:
|
|
36
37
|
"""
|
|
37
38
|
Get Alert Incidents for specific Alert Configurations over a specified period of time.
|
|
38
39
|
|
|
@@ -62,7 +63,7 @@ class RawIncidentsClient:
|
|
|
62
63
|
|
|
63
64
|
Returns
|
|
64
65
|
-------
|
|
65
|
-
|
|
66
|
+
SyncPager[GetWorkflowIncidentResponseObjectResponseBody]
|
|
66
67
|
OK response.
|
|
67
68
|
"""
|
|
68
69
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -78,14 +79,29 @@ class RawIncidentsClient:
|
|
|
78
79
|
)
|
|
79
80
|
try:
|
|
80
81
|
if 200 <= _response.status_code < 300:
|
|
81
|
-
|
|
82
|
+
_parsed_response = typing.cast(
|
|
82
83
|
AlertsGetIncidentsResponseBody,
|
|
83
84
|
parse_obj_as(
|
|
84
85
|
type_=AlertsGetIncidentsResponseBody, # type: ignore
|
|
85
86
|
object_=_response.json(),
|
|
86
87
|
),
|
|
87
88
|
)
|
|
88
|
-
|
|
89
|
+
_items = _parsed_response.data
|
|
90
|
+
_has_next = False
|
|
91
|
+
_get_next = None
|
|
92
|
+
if _parsed_response.pagination is not None:
|
|
93
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
94
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
95
|
+
_get_next = lambda: self.stream(
|
|
96
|
+
start_time=start_time,
|
|
97
|
+
configuration_ids=configuration_ids,
|
|
98
|
+
end_time=end_time,
|
|
99
|
+
after=_parsed_next,
|
|
100
|
+
request_options=request_options,
|
|
101
|
+
)
|
|
102
|
+
return SyncPager(
|
|
103
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
104
|
+
)
|
|
89
105
|
if _response.status_code == 401:
|
|
90
106
|
raise UnauthorizedError(
|
|
91
107
|
headers=dict(_response.headers),
|
|
@@ -203,7 +219,7 @@ class AsyncRawIncidentsClient:
|
|
|
203
219
|
end_time: typing.Optional[str] = None,
|
|
204
220
|
after: typing.Optional[str] = None,
|
|
205
221
|
request_options: typing.Optional[RequestOptions] = None,
|
|
206
|
-
) ->
|
|
222
|
+
) -> AsyncPager[GetWorkflowIncidentResponseObjectResponseBody]:
|
|
207
223
|
"""
|
|
208
224
|
Get Alert Incidents for specific Alert Configurations over a specified period of time.
|
|
209
225
|
|
|
@@ -233,7 +249,7 @@ class AsyncRawIncidentsClient:
|
|
|
233
249
|
|
|
234
250
|
Returns
|
|
235
251
|
-------
|
|
236
|
-
|
|
252
|
+
AsyncPager[GetWorkflowIncidentResponseObjectResponseBody]
|
|
237
253
|
OK response.
|
|
238
254
|
"""
|
|
239
255
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -249,14 +265,32 @@ class AsyncRawIncidentsClient:
|
|
|
249
265
|
)
|
|
250
266
|
try:
|
|
251
267
|
if 200 <= _response.status_code < 300:
|
|
252
|
-
|
|
268
|
+
_parsed_response = typing.cast(
|
|
253
269
|
AlertsGetIncidentsResponseBody,
|
|
254
270
|
parse_obj_as(
|
|
255
271
|
type_=AlertsGetIncidentsResponseBody, # type: ignore
|
|
256
272
|
object_=_response.json(),
|
|
257
273
|
),
|
|
258
274
|
)
|
|
259
|
-
|
|
275
|
+
_items = _parsed_response.data
|
|
276
|
+
_has_next = False
|
|
277
|
+
_get_next = None
|
|
278
|
+
if _parsed_response.pagination is not None:
|
|
279
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
280
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
281
|
+
|
|
282
|
+
async def _get_next():
|
|
283
|
+
return await self.stream(
|
|
284
|
+
start_time=start_time,
|
|
285
|
+
configuration_ids=configuration_ids,
|
|
286
|
+
end_time=end_time,
|
|
287
|
+
after=_parsed_next,
|
|
288
|
+
request_options=request_options,
|
|
289
|
+
)
|
|
290
|
+
|
|
291
|
+
return AsyncPager(
|
|
292
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
293
|
+
)
|
|
260
294
|
if _response.status_code == 401:
|
|
261
295
|
raise UnauthorizedError(
|
|
262
296
|
headers=dict(_response.headers),
|
samsara/assets/client.py
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
import typing
|
|
4
4
|
|
|
5
5
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
|
+
from ..core.pagination import AsyncPager, SyncPager
|
|
6
7
|
from ..core.request_options import RequestOptions
|
|
8
|
+
from ..types.asset_response_body import AssetResponseBody
|
|
7
9
|
from ..types.assets_create_asset_response_body import AssetsCreateAssetResponseBody
|
|
8
|
-
from ..types.assets_list_assets_response_body import AssetsListAssetsResponseBody
|
|
9
10
|
from ..types.assets_update_asset_response_body import AssetsUpdateAssetResponseBody
|
|
10
11
|
from .location_and_speed.client import AsyncLocationAndSpeedClient, LocationAndSpeedClient
|
|
11
12
|
from .raw_client import AsyncRawAssetsClient, RawAssetsClient
|
|
@@ -48,7 +49,7 @@ class AssetsClient:
|
|
|
48
49
|
ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
49
50
|
attribute_value_ids: typing.Optional[str] = None,
|
|
50
51
|
request_options: typing.Optional[RequestOptions] = None,
|
|
51
|
-
) ->
|
|
52
|
+
) -> SyncPager[AssetResponseBody]:
|
|
52
53
|
"""
|
|
53
54
|
List all assets. Up to 300 assets will be returned per page.
|
|
54
55
|
|
|
@@ -93,7 +94,7 @@ class AssetsClient:
|
|
|
93
94
|
|
|
94
95
|
Returns
|
|
95
96
|
-------
|
|
96
|
-
|
|
97
|
+
SyncPager[AssetResponseBody]
|
|
97
98
|
OK response.
|
|
98
99
|
|
|
99
100
|
Examples
|
|
@@ -103,9 +104,14 @@ class AssetsClient:
|
|
|
103
104
|
client = Samsara(
|
|
104
105
|
token="YOUR_TOKEN",
|
|
105
106
|
)
|
|
106
|
-
client.assets.list()
|
|
107
|
+
response = client.assets.list()
|
|
108
|
+
for item in response:
|
|
109
|
+
yield item
|
|
110
|
+
# alternatively, you can paginate page-by-page
|
|
111
|
+
for page in response.iter_pages():
|
|
112
|
+
yield page
|
|
107
113
|
"""
|
|
108
|
-
|
|
114
|
+
return self._raw_client.list(
|
|
109
115
|
type=type,
|
|
110
116
|
after=after,
|
|
111
117
|
updated_after_time=updated_after_time,
|
|
@@ -117,7 +123,6 @@ class AssetsClient:
|
|
|
117
123
|
attribute_value_ids=attribute_value_ids,
|
|
118
124
|
request_options=request_options,
|
|
119
125
|
)
|
|
120
|
-
return _response.data
|
|
121
126
|
|
|
122
127
|
def create(
|
|
123
128
|
self,
|
|
@@ -381,7 +386,7 @@ class AsyncAssetsClient:
|
|
|
381
386
|
ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
382
387
|
attribute_value_ids: typing.Optional[str] = None,
|
|
383
388
|
request_options: typing.Optional[RequestOptions] = None,
|
|
384
|
-
) ->
|
|
389
|
+
) -> AsyncPager[AssetResponseBody]:
|
|
385
390
|
"""
|
|
386
391
|
List all assets. Up to 300 assets will be returned per page.
|
|
387
392
|
|
|
@@ -426,7 +431,7 @@ class AsyncAssetsClient:
|
|
|
426
431
|
|
|
427
432
|
Returns
|
|
428
433
|
-------
|
|
429
|
-
|
|
434
|
+
AsyncPager[AssetResponseBody]
|
|
430
435
|
OK response.
|
|
431
436
|
|
|
432
437
|
Examples
|
|
@@ -441,12 +446,18 @@ class AsyncAssetsClient:
|
|
|
441
446
|
|
|
442
447
|
|
|
443
448
|
async def main() -> None:
|
|
444
|
-
await client.assets.list()
|
|
449
|
+
response = await client.assets.list()
|
|
450
|
+
async for item in response:
|
|
451
|
+
yield item
|
|
452
|
+
|
|
453
|
+
# alternatively, you can paginate page-by-page
|
|
454
|
+
async for page in response.iter_pages():
|
|
455
|
+
yield page
|
|
445
456
|
|
|
446
457
|
|
|
447
458
|
asyncio.run(main())
|
|
448
459
|
"""
|
|
449
|
-
|
|
460
|
+
return await self._raw_client.list(
|
|
450
461
|
type=type,
|
|
451
462
|
after=after,
|
|
452
463
|
updated_after_time=updated_after_time,
|
|
@@ -458,7 +469,6 @@ class AsyncAssetsClient:
|
|
|
458
469
|
attribute_value_ids=attribute_value_ids,
|
|
459
470
|
request_options=request_options,
|
|
460
471
|
)
|
|
461
|
-
return _response.data
|
|
462
472
|
|
|
463
473
|
async def create(
|
|
464
474
|
self,
|
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
import typing
|
|
4
4
|
|
|
5
5
|
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
|
+
from ...core.pagination import AsyncPager, SyncPager
|
|
6
7
|
from ...core.request_options import RequestOptions
|
|
7
|
-
from ...types.
|
|
8
|
-
LocationAndSpeedGetLocationAndSpeedResponseBody,
|
|
9
|
-
)
|
|
8
|
+
from ...types.location_and_speed_response_response_body import LocationAndSpeedResponseResponseBody
|
|
10
9
|
from .raw_client import AsyncRawLocationAndSpeedClient, RawLocationAndSpeedClient
|
|
11
10
|
|
|
12
11
|
|
|
@@ -38,7 +37,7 @@ class LocationAndSpeedClient:
|
|
|
38
37
|
include_geofence_lookup: typing.Optional[bool] = None,
|
|
39
38
|
include_external_ids: typing.Optional[bool] = None,
|
|
40
39
|
request_options: typing.Optional[RequestOptions] = None,
|
|
41
|
-
) ->
|
|
40
|
+
) -> SyncPager[LocationAndSpeedResponseResponseBody]:
|
|
42
41
|
"""
|
|
43
42
|
This endpoint will return asset locations and speed data that has been collected for your organization based on the time parameters passed in. Results are paginated. If you include an endTime, the endpoint will return data up until that point. If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call. The endpoint will only return data up until the endTime that has been processed by the server at the time of the original request. You will need to request the same [startTime, endTime) range again to receive data for assets processed after the original request time. This endpoint sorts the time-series data by device.
|
|
44
43
|
|
|
@@ -83,7 +82,7 @@ class LocationAndSpeedClient:
|
|
|
83
82
|
|
|
84
83
|
Returns
|
|
85
84
|
-------
|
|
86
|
-
|
|
85
|
+
SyncPager[LocationAndSpeedResponseResponseBody]
|
|
87
86
|
OK response.
|
|
88
87
|
|
|
89
88
|
Examples
|
|
@@ -93,9 +92,14 @@ class LocationAndSpeedClient:
|
|
|
93
92
|
client = Samsara(
|
|
94
93
|
token="YOUR_TOKEN",
|
|
95
94
|
)
|
|
96
|
-
client.assets.location_and_speed.stream()
|
|
95
|
+
response = client.assets.location_and_speed.stream()
|
|
96
|
+
for item in response:
|
|
97
|
+
yield item
|
|
98
|
+
# alternatively, you can paginate page-by-page
|
|
99
|
+
for page in response.iter_pages():
|
|
100
|
+
yield page
|
|
97
101
|
"""
|
|
98
|
-
|
|
102
|
+
return self._raw_client.stream(
|
|
99
103
|
after=after,
|
|
100
104
|
limit=limit,
|
|
101
105
|
start_time=start_time,
|
|
@@ -107,7 +111,6 @@ class LocationAndSpeedClient:
|
|
|
107
111
|
include_external_ids=include_external_ids,
|
|
108
112
|
request_options=request_options,
|
|
109
113
|
)
|
|
110
|
-
return _response.data
|
|
111
114
|
|
|
112
115
|
|
|
113
116
|
class AsyncLocationAndSpeedClient:
|
|
@@ -138,7 +141,7 @@ class AsyncLocationAndSpeedClient:
|
|
|
138
141
|
include_geofence_lookup: typing.Optional[bool] = None,
|
|
139
142
|
include_external_ids: typing.Optional[bool] = None,
|
|
140
143
|
request_options: typing.Optional[RequestOptions] = None,
|
|
141
|
-
) ->
|
|
144
|
+
) -> AsyncPager[LocationAndSpeedResponseResponseBody]:
|
|
142
145
|
"""
|
|
143
146
|
This endpoint will return asset locations and speed data that has been collected for your organization based on the time parameters passed in. Results are paginated. If you include an endTime, the endpoint will return data up until that point. If you don’t include an endTime, you can continue to poll the API real-time with the pagination cursor that gets returned on every call. The endpoint will only return data up until the endTime that has been processed by the server at the time of the original request. You will need to request the same [startTime, endTime) range again to receive data for assets processed after the original request time. This endpoint sorts the time-series data by device.
|
|
144
147
|
|
|
@@ -183,7 +186,7 @@ class AsyncLocationAndSpeedClient:
|
|
|
183
186
|
|
|
184
187
|
Returns
|
|
185
188
|
-------
|
|
186
|
-
|
|
189
|
+
AsyncPager[LocationAndSpeedResponseResponseBody]
|
|
187
190
|
OK response.
|
|
188
191
|
|
|
189
192
|
Examples
|
|
@@ -198,12 +201,18 @@ class AsyncLocationAndSpeedClient:
|
|
|
198
201
|
|
|
199
202
|
|
|
200
203
|
async def main() -> None:
|
|
201
|
-
await client.assets.location_and_speed.stream()
|
|
204
|
+
response = await client.assets.location_and_speed.stream()
|
|
205
|
+
async for item in response:
|
|
206
|
+
yield item
|
|
207
|
+
|
|
208
|
+
# alternatively, you can paginate page-by-page
|
|
209
|
+
async for page in response.iter_pages():
|
|
210
|
+
yield page
|
|
202
211
|
|
|
203
212
|
|
|
204
213
|
asyncio.run(main())
|
|
205
214
|
"""
|
|
206
|
-
|
|
215
|
+
return await self._raw_client.stream(
|
|
207
216
|
after=after,
|
|
208
217
|
limit=limit,
|
|
209
218
|
start_time=start_time,
|
|
@@ -215,4 +224,3 @@ class AsyncLocationAndSpeedClient:
|
|
|
215
224
|
include_external_ids=include_external_ids,
|
|
216
225
|
request_options=request_options,
|
|
217
226
|
)
|
|
218
|
-
return _response.data
|