tb-rest-client 3.9.0__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.
- tb_rest_client/__init__.py +16 -0
- tb_rest_client/api/__init__.py +14 -0
- tb_rest_client/api/api_ce/__init__.py +66 -0
- tb_rest_client/api/api_ce/admin_controller_api.py +2250 -0
- tb_rest_client/api/api_ce/alarm_comment_controller_api.py +376 -0
- tb_rest_client/api/api_ce/alarm_controller_api.py +1639 -0
- tb_rest_client/api/api_ce/asset_controller_api.py +2040 -0
- tb_rest_client/api/api_ce/asset_profile_controller_api.py +934 -0
- tb_rest_client/api/api_ce/audit_log_controller_api.py +587 -0
- tb_rest_client/api/api_ce/auth_controller_api.py +882 -0
- tb_rest_client/api/api_ce/component_descriptor_controller_api.py +340 -0
- tb_rest_client/api/api_ce/customer_controller_api.py +731 -0
- tb_rest_client/api/api_ce/dashboard_controller_api.py +2364 -0
- tb_rest_client/api/api_ce/device_api_controller_api.py +1212 -0
- tb_rest_client/api/api_ce/device_connectivity_controller_api.py +332 -0
- tb_rest_client/api/api_ce/device_controller_api.py +2737 -0
- tb_rest_client/api/api_ce/device_profile_controller_api.py +1120 -0
- tb_rest_client/api/api_ce/domain_controller_api.py +563 -0
- tb_rest_client/api/api_ce/edge_controller_api.py +2475 -0
- tb_rest_client/api/api_ce/edge_event_controller_api.py +178 -0
- tb_rest_client/api/api_ce/entities_version_control_controller_api.py +1327 -0
- tb_rest_client/api/api_ce/entity_query_controller_api.py +542 -0
- tb_rest_client/api/api_ce/entity_relation_controller_api.py +1355 -0
- tb_rest_client/api/api_ce/entity_view_controller_api.py +1828 -0
- tb_rest_client/api/api_ce/event_controller_api.py +623 -0
- tb_rest_client/api/api_ce/image_controller_api.py +1295 -0
- tb_rest_client/api/api_ce/login_endpoint_api.py +142 -0
- tb_rest_client/api/api_ce/lwm_2m_controller_api.py +142 -0
- tb_rest_client/api/api_ce/mail_config_template_controller_api.py +134 -0
- tb_rest_client/api/api_ce/mobile_app_bundle_controller_api.py +562 -0
- tb_rest_client/api/api_ce/mobile_app_controller_api.py +563 -0
- tb_rest_client/api/api_ce/mobile_application_controller_api.py +508 -0
- tb_rest_client/api/api_ce/notification_controller_api.py +1480 -0
- tb_rest_client/api/api_ce/notification_rule_controller_api.py +447 -0
- tb_rest_client/api/api_ce/notification_target_controller_api.py +776 -0
- tb_rest_client/api/api_ce/notification_template_controller_api.py +550 -0
- tb_rest_client/api/api_ce/o_auth_2_config_template_controller_api.py +324 -0
- tb_rest_client/api/api_ce/o_auth_2_controller_api.py +915 -0
- tb_rest_client/api/api_ce/ota_package_controller_api.py +879 -0
- tb_rest_client/api/api_ce/qr_code_settings_controller_api.py +508 -0
- tb_rest_client/api/api_ce/queue_controller_api.py +558 -0
- tb_rest_client/api/api_ce/queue_stats_controller_api.py +352 -0
- tb_rest_client/api/api_ce/rpc_v_1_controller_api.py +253 -0
- tb_rest_client/api/api_ce/rpc_v_2_controller_api.py +570 -0
- tb_rest_client/api/api_ce/rule_chain_controller_api.py +2201 -0
- tb_rest_client/api/api_ce/rule_engine_controller_api.py +515 -0
- tb_rest_client/api/api_ce/tb_resource_controller_api.py +1379 -0
- tb_rest_client/api/api_ce/telemetry_controller_api.py +1808 -0
- tb_rest_client/api/api_ce/tenant_controller_api.py +657 -0
- tb_rest_client/api/api_ce/tenant_profile_controller_api.py +932 -0
- tb_rest_client/api/api_ce/two_factor_auth_config_controller_api.py +890 -0
- tb_rest_client/api/api_ce/two_factor_auth_controller_api.py +332 -0
- tb_rest_client/api/api_ce/ui_settings_controller_api.py +134 -0
- tb_rest_client/api/api_ce/usage_info_controller_api.py +132 -0
- tb_rest_client/api/api_ce/user_controller_api.py +2645 -0
- tb_rest_client/api/api_ce/widget_type_controller_api.py +1505 -0
- tb_rest_client/api/api_ce/widgets_bundle_controller_api.py +752 -0
- tb_rest_client/api/api_pe/__init__.py +67 -0
- tb_rest_client/api/api_pe/admin_controller_api.py +2310 -0
- tb_rest_client/api/api_pe/alarm_comment_controller_api.py +372 -0
- tb_rest_client/api/api_pe/alarm_controller_api.py +1629 -0
- tb_rest_client/api/api_pe/asset_controller_api.py +1648 -0
- tb_rest_client/api/api_pe/asset_profile_controller_api.py +1029 -0
- tb_rest_client/api/api_pe/audit_log_controller_api.py +587 -0
- tb_rest_client/api/api_pe/auth_controller_api.py +882 -0
- tb_rest_client/api/api_pe/billing_endpoint_controller_api.py +868 -0
- tb_rest_client/api/api_pe/blob_entity_controller_api.py +554 -0
- tb_rest_client/api/api_pe/chirp_stack_integration_controller_api.py +838 -0
- tb_rest_client/api/api_pe/cloud_endpoint_controller_api.py +298 -0
- tb_rest_client/api/api_pe/component_descriptor_controller_api.py +340 -0
- tb_rest_client/api/api_pe/converter_controller_api.py +851 -0
- tb_rest_client/api/api_pe/converter_library_controller_api.py +915 -0
- tb_rest_client/api/api_pe/custom_menu_controller_api.py +1090 -0
- tb_rest_client/api/api_pe/custom_translation_controller_api.py +757 -0
- tb_rest_client/api/api_pe/customer_controller_api.py +1413 -0
- tb_rest_client/api/api_pe/dashboard_controller_api.py +2194 -0
- tb_rest_client/api/api_pe/device_api_controller_api.py +1212 -0
- tb_rest_client/api/api_pe/device_connectivity_controller_api.py +332 -0
- tb_rest_client/api/api_pe/device_controller_api.py +2468 -0
- tb_rest_client/api/api_pe/device_group_ota_package_controller_api.py +334 -0
- tb_rest_client/api/api_pe/device_profile_controller_api.py +1215 -0
- tb_rest_client/api/api_pe/domain_controller_api.py +549 -0
- tb_rest_client/api/api_pe/edge_controller_api.py +2638 -0
- tb_rest_client/api/api_pe/edge_event_controller_api.py +178 -0
- tb_rest_client/api/api_pe/entities_version_control_controller_api.py +1335 -0
- tb_rest_client/api/api_pe/entity_group_controller_api.py +3936 -0
- tb_rest_client/api/api_pe/entity_query_controller_api.py +542 -0
- tb_rest_client/api/api_pe/entity_relation_controller_api.py +1355 -0
- tb_rest_client/api/api_pe/entity_view_controller_api.py +1549 -0
- tb_rest_client/api/api_pe/event_controller_api.py +623 -0
- tb_rest_client/api/api_pe/group_permission_controller_api.py +720 -0
- tb_rest_client/api/api_pe/http_integration_controller_api.py +358 -0
- tb_rest_client/api/api_pe/image_controller_api.py +1505 -0
- tb_rest_client/api/api_pe/integration_controller_api.py +1592 -0
- tb_rest_client/api/api_pe/login_endpoint_api.py +142 -0
- tb_rest_client/api/api_pe/lwm_2m_controller_api.py +142 -0
- tb_rest_client/api/api_pe/mail_config_template_controller_api.py +134 -0
- tb_rest_client/api/api_pe/mobile_app_bundle_controller_api.py +562 -0
- tb_rest_client/api/api_pe/mobile_app_controller_api.py +549 -0
- tb_rest_client/api/api_pe/mobile_application_controller_api.py +581 -0
- tb_rest_client/api/api_pe/notification_controller_api.py +1476 -0
- tb_rest_client/api/api_pe/notification_rule_controller_api.py +447 -0
- tb_rest_client/api/api_pe/notification_target_controller_api.py +776 -0
- tb_rest_client/api/api_pe/notification_template_controller_api.py +550 -0
- tb_rest_client/api/api_pe/o_auth_2_config_template_controller_api.py +324 -0
- tb_rest_client/api/api_pe/o_auth_2_controller_api.py +816 -0
- tb_rest_client/api/api_pe/ota_package_controller_api.py +1010 -0
- tb_rest_client/api/api_pe/owner_controller_api.py +285 -0
- tb_rest_client/api/api_pe/qr_code_settings_controller_api.py +595 -0
- tb_rest_client/api/api_pe/queue_controller_api.py +558 -0
- tb_rest_client/api/api_pe/queue_stats_controller_api.py +339 -0
- tb_rest_client/api/api_pe/report_controller_api.py +245 -0
- tb_rest_client/api/api_pe/role_controller_api.py +546 -0
- tb_rest_client/api/api_pe/rpc_controller_api.py +257 -0
- tb_rest_client/api/api_pe/rpc_v_1_controller_api.py +253 -0
- tb_rest_client/api/api_pe/rpc_v_2_controller_api.py +570 -0
- tb_rest_client/api/api_pe/rule_chain_controller_api.py +2201 -0
- tb_rest_client/api/api_pe/rule_engine_controller_api.py +499 -0
- tb_rest_client/api/api_pe/scheduler_event_controller_api.py +1140 -0
- tb_rest_client/api/api_pe/self_registration_controller_api.py +587 -0
- tb_rest_client/api/api_pe/sig_fox_integration_controller_api.py +838 -0
- tb_rest_client/api/api_pe/sign_up_controller_api.py +882 -0
- tb_rest_client/api/api_pe/solution_controller_api.py +514 -0
- tb_rest_client/api/api_pe/subscription_controller_api.py +310 -0
- tb_rest_client/api/api_pe/t_mobile_iot_cdp_integration_controller_api.py +838 -0
- tb_rest_client/api/api_pe/tb_resource_controller_api.py +1379 -0
- tb_rest_client/api/api_pe/telemetry_controller_api.py +1808 -0
- tb_rest_client/api/api_pe/tenant_controller_api.py +750 -0
- tb_rest_client/api/api_pe/tenant_profile_controller_api.py +932 -0
- tb_rest_client/api/api_pe/thing_park_integration_controller_api.py +1741 -0
- tb_rest_client/api/api_pe/translation_controller_api.py +690 -0
- tb_rest_client/api/api_pe/two_factor_auth_config_controller_api.py +890 -0
- tb_rest_client/api/api_pe/two_factor_auth_controller_api.py +332 -0
- tb_rest_client/api/api_pe/ui_settings_controller_api.py +134 -0
- tb_rest_client/api/api_pe/usage_info_controller_api.py +132 -0
- tb_rest_client/api/api_pe/user_controller_api.py +3328 -0
- tb_rest_client/api/api_pe/user_permissions_controller_api.py +134 -0
- tb_rest_client/api/api_pe/white_labeling_controller_api.py +1056 -0
- tb_rest_client/api/api_pe/widget_type_controller_api.py +1410 -0
- tb_rest_client/api/api_pe/widgets_bundle_controller_api.py +847 -0
- tb_rest_client/api_client.py +705 -0
- tb_rest_client/configuration.py +234 -0
- tb_rest_client/models/__init__.py +14 -0
- tb_rest_client/models/models_ce/__init__.py +493 -0
- tb_rest_client/models/models_ce/account_configverification_code_body.py +98 -0
- tb_rest_client/models/models_ce/account_two_fa_settings.py +124 -0
- tb_rest_client/models/models_ce/activate_user_request.py +154 -0
- tb_rest_client/models/models_ce/admin_settings.py +232 -0
- tb_rest_client/models/models_ce/admin_settings_id.py +127 -0
- tb_rest_client/models/models_ce/affected_tenant_administrators_filter.py +104 -0
- tb_rest_client/models/models_ce/affected_user_filter.py +104 -0
- tb_rest_client/models/models_ce/alarm.py +707 -0
- tb_rest_client/models/models_ce/alarm_assignee.py +202 -0
- tb_rest_client/models/models_ce/alarm_assignment_notification_rule_trigger_config.py +216 -0
- tb_rest_client/models/models_ce/alarm_comment.py +292 -0
- tb_rest_client/models/models_ce/alarm_comment_id.py +127 -0
- tb_rest_client/models/models_ce/alarm_comment_info.py +376 -0
- tb_rest_client/models/models_ce/alarm_comment_notification_rule_trigger_config.py +248 -0
- tb_rest_client/models/models_ce/alarm_condition.py +154 -0
- tb_rest_client/models/models_ce/alarm_condition_filter.py +214 -0
- tb_rest_client/models/models_ce/alarm_condition_filter_key.py +160 -0
- tb_rest_client/models/models_ce/alarm_condition_spec.py +135 -0
- tb_rest_client/models/models_ce/alarm_count_query.py +372 -0
- tb_rest_client/models/models_ce/alarm_data.py +855 -0
- tb_rest_client/models/models_ce/alarm_data_page_link.py +450 -0
- tb_rest_client/models/models_ce/alarm_data_query.py +254 -0
- tb_rest_client/models/models_ce/alarm_id.py +162 -0
- tb_rest_client/models/models_ce/alarm_info.py +803 -0
- tb_rest_client/models/models_ce/alarm_notification_rule_trigger_config.py +223 -0
- tb_rest_client/models/models_ce/alarm_rule.py +206 -0
- tb_rest_client/models/models_ce/alarm_schedule.py +166 -0
- tb_rest_client/models/models_ce/all_users_filter.py +104 -0
- tb_rest_client/models/models_ce/allow_create_new_devices_device_profile_provision_configuration.py +104 -0
- tb_rest_client/models/models_ce/android_config.py +202 -0
- tb_rest_client/models/models_ce/any_time_schedule.py +104 -0
- tb_rest_client/models/models_ce/api_image_body.py +177 -0
- tb_rest_client/models/models_ce/api_usage_limit_notification_rule_trigger_config.py +170 -0
- tb_rest_client/models/models_ce/api_usage_state_filter.py +130 -0
- tb_rest_client/models/models_ce/asset.py +367 -0
- tb_rest_client/models/models_ce/asset_id.py +162 -0
- tb_rest_client/models/models_ce/asset_info.py +451 -0
- tb_rest_client/models/models_ce/asset_profile.py +422 -0
- tb_rest_client/models/models_ce/asset_profile_id.py +162 -0
- tb_rest_client/models/models_ce/asset_profile_info.py +232 -0
- tb_rest_client/models/models_ce/asset_search_query.py +180 -0
- tb_rest_client/models/models_ce/asset_search_query_filter.py +266 -0
- tb_rest_client/models/models_ce/asset_type_filter.py +182 -0
- tb_rest_client/models/models_ce/atomic_integer.py +228 -0
- tb_rest_client/models/models_ce/attribute_export_data.py +280 -0
- tb_rest_client/models/models_ce/attributes_entity_view.py +185 -0
- tb_rest_client/models/models_ce/audit_log.py +434 -0
- tb_rest_client/models/models_ce/audit_log_id.py +127 -0
- tb_rest_client/models/models_ce/auto_commit_settings.py +103 -0
- tb_rest_client/models/models_ce/auto_version_create_config.py +202 -0
- tb_rest_client/models/models_ce/aws_sns_sms_provider_configuration.py +188 -0
- tb_rest_client/models/models_ce/backup_code_two_fa_account_config.py +157 -0
- tb_rest_client/models/models_ce/backup_code_two_fa_provider_config.py +130 -0
- tb_rest_client/models/models_ce/boolean_filter_predicate.py +162 -0
- tb_rest_client/models/models_ce/branch_info.py +150 -0
- tb_rest_client/models/models_ce/bulk_import_request.py +150 -0
- tb_rest_client/models/models_ce/bulk_import_result_asset.py +202 -0
- tb_rest_client/models/models_ce/bulk_import_result_asset_created.py +254 -0
- tb_rest_client/models/models_ce/bulk_import_result_device.py +202 -0
- tb_rest_client/models/models_ce/bulk_import_result_edge.py +202 -0
- tb_rest_client/models/models_ce/button.py +286 -0
- tb_rest_client/models/models_ce/byte_array_resource.py +332 -0
- tb_rest_client/models/models_ce/byte_buffer.py +306 -0
- tb_rest_client/models/models_ce/change_password_request.py +154 -0
- tb_rest_client/models/models_ce/check_pre_provisioned_devices_device_profile_provision_configuration.py +104 -0
- tb_rest_client/models/models_ce/claim_request.py +124 -0
- tb_rest_client/models/models_ce/clear_rule.py +131 -0
- tb_rest_client/models/models_ce/client_attributes_querying_snmp_communication_config.py +156 -0
- tb_rest_client/models/models_ce/coap_device_profile_transport_configuration.py +156 -0
- tb_rest_client/models/models_ce/coap_device_transport_configuration.py +214 -0
- tb_rest_client/models/models_ce/coap_device_type_configuration.py +134 -0
- tb_rest_client/models/models_ce/column_mapping.py +156 -0
- tb_rest_client/models/models_ce/comparison_ts_value.py +150 -0
- tb_rest_client/models/models_ce/complex_filter_predicate.py +162 -0
- tb_rest_client/models/models_ce/complex_version_create_request.py +162 -0
- tb_rest_client/models/models_ce/component_descriptor.py +420 -0
- tb_rest_client/models/models_ce/component_descriptor_id.py +127 -0
- tb_rest_client/models/models_ce/config_submit_body.py +98 -0
- tb_rest_client/models/models_ce/custom_mobile_page.py +98 -0
- tb_rest_client/models/models_ce/custom_time_schedule.py +156 -0
- tb_rest_client/models/models_ce/custom_time_schedule_item.py +202 -0
- tb_rest_client/models/models_ce/customer.py +510 -0
- tb_rest_client/models/models_ce/customer_id.py +162 -0
- tb_rest_client/models/models_ce/customer_users_filter.py +131 -0
- tb_rest_client/models/models_ce/dashboard.py +399 -0
- tb_rest_client/models/models_ce/dashboard_id.py +162 -0
- tb_rest_client/models/models_ce/dashboard_info.py +373 -0
- tb_rest_client/models/models_ce/dashboard_page.py +98 -0
- tb_rest_client/models/models_ce/debug_converter_event_filter.py +351 -0
- tb_rest_client/models/models_ce/debug_integration_event_filter.py +325 -0
- tb_rest_client/models/models_ce/debug_rule_chain_event_filter.py +429 -0
- tb_rest_client/models/models_ce/debug_settings.py +182 -0
- tb_rest_client/models/models_ce/default_coap_device_type_configuration.py +130 -0
- tb_rest_client/models/models_ce/default_device_configuration.py +104 -0
- tb_rest_client/models/models_ce/default_device_profile_configuration.py +104 -0
- tb_rest_client/models/models_ce/default_device_profile_transport_configuration.py +104 -0
- tb_rest_client/models/models_ce/default_device_transport_configuration.py +104 -0
- tb_rest_client/models/models_ce/default_mobile_page.py +98 -0
- tb_rest_client/models/models_ce/default_rule_chain_create_request.py +127 -0
- tb_rest_client/models/models_ce/default_tenant_profile_configuration.py +1638 -0
- tb_rest_client/models/models_ce/deferred_result_entity_data_diff.py +150 -0
- tb_rest_client/models/models_ce/deferred_result_entity_data_info.py +150 -0
- tb_rest_client/models/models_ce/deferred_result_list_branch_info.py +150 -0
- tb_rest_client/models/models_ce/deferred_result_list_versioned_entity_info.py +150 -0
- tb_rest_client/models/models_ce/deferred_result_page_data_entity_version.py +150 -0
- tb_rest_client/models/models_ce/deferred_result_repository_settings.py +150 -0
- tb_rest_client/models/models_ce/deferred_result_response_entity.py +150 -0
- tb_rest_client/models/models_ce/deferred_result_void.py +150 -0
- tb_rest_client/models/models_ce/deferred_resultuuid.py +150 -0
- tb_rest_client/models/models_ce/delivery_method_notification_template.py +191 -0
- tb_rest_client/models/models_ce/device.py +446 -0
- tb_rest_client/models/models_ce/device_activity_notification_rule_trigger_config.py +190 -0
- tb_rest_client/models/models_ce/device_configuration.py +133 -0
- tb_rest_client/models/models_ce/device_credentials.py +293 -0
- tb_rest_client/models/models_ce/device_credentials_id.py +127 -0
- tb_rest_client/models/models_ce/device_data.py +154 -0
- tb_rest_client/models/models_ce/device_export_data.py +156 -0
- tb_rest_client/models/models_ce/device_id.py +162 -0
- tb_rest_client/models/models_ce/device_info.py +558 -0
- tb_rest_client/models/models_ce/device_profile.py +630 -0
- tb_rest_client/models/models_ce/device_profile_alarm.py +320 -0
- tb_rest_client/models/models_ce/device_profile_configuration.py +133 -0
- tb_rest_client/models/models_ce/device_profile_data.py +210 -0
- tb_rest_client/models/models_ce/device_profile_id.py +162 -0
- tb_rest_client/models/models_ce/device_profile_info.py +300 -0
- tb_rest_client/models/models_ce/device_profile_provision_configuration.py +162 -0
- tb_rest_client/models/models_ce/device_profile_transport_configuration.py +137 -0
- tb_rest_client/models/models_ce/device_search_query.py +180 -0
- tb_rest_client/models/models_ce/device_search_query_filter.py +266 -0
- tb_rest_client/models/models_ce/device_transport_configuration.py +137 -0
- tb_rest_client/models/models_ce/device_type_filter.py +182 -0
- tb_rest_client/models/models_ce/disabled_device_profile_provision_configuration.py +104 -0
- tb_rest_client/models/models_ce/domain.py +247 -0
- tb_rest_client/models/models_ce/domain_id.py +146 -0
- tb_rest_client/models/models_ce/domain_info.py +275 -0
- tb_rest_client/models/models_ce/duration_alarm_condition_spec.py +162 -0
- tb_rest_client/models/models_ce/dynamic_value_boolean.py +182 -0
- tb_rest_client/models/models_ce/dynamic_value_double.py +182 -0
- tb_rest_client/models/models_ce/dynamic_value_integer.py +182 -0
- tb_rest_client/models/models_ce/dynamic_value_long.py +182 -0
- tb_rest_client/models/models_ce/dynamic_value_string.py +182 -0
- tb_rest_client/models/models_ce/edge.py +426 -0
- tb_rest_client/models/models_ce/edge_communication_failure_notification_rule_trigger_config.py +130 -0
- tb_rest_client/models/models_ce/edge_connection_notification_rule_trigger_config.py +163 -0
- tb_rest_client/models/models_ce/edge_event.py +370 -0
- tb_rest_client/models/models_ce/edge_event_id.py +127 -0
- tb_rest_client/models/models_ce/edge_id.py +162 -0
- tb_rest_client/models/models_ce/edge_info.py +478 -0
- tb_rest_client/models/models_ce/edge_install_instructions.py +126 -0
- tb_rest_client/models/models_ce/edge_instructions.py +126 -0
- tb_rest_client/models/models_ce/edge_search_query.py +180 -0
- tb_rest_client/models/models_ce/edge_search_query_filter.py +266 -0
- tb_rest_client/models/models_ce/edge_type_filter.py +182 -0
- tb_rest_client/models/models_ce/efento_coap_device_type_configuration.py +104 -0
- tb_rest_client/models/models_ce/email_delivery_method_notification_template.py +131 -0
- tb_rest_client/models/models_ce/email_two_fa_account_config.py +131 -0
- tb_rest_client/models/models_ce/email_two_fa_provider_config.py +130 -0
- tb_rest_client/models/models_ce/entities_limit_notification_rule_trigger_config.py +163 -0
- tb_rest_client/models/models_ce/entity_action_notification_rule_trigger_config.py +215 -0
- tb_rest_client/models/models_ce/entity_count_query.py +150 -0
- tb_rest_client/models/models_ce/entity_data.py +202 -0
- tb_rest_client/models/models_ce/entity_data_diff.py +150 -0
- tb_rest_client/models/models_ce/entity_data_info.py +176 -0
- tb_rest_client/models/models_ce/entity_data_page_link.py +228 -0
- tb_rest_client/models/models_ce/entity_data_query.py +228 -0
- tb_rest_client/models/models_ce/entity_data_sort_order.py +156 -0
- tb_rest_client/models/models_ce/entity_export_data_object.py +219 -0
- tb_rest_client/models/models_ce/entity_filter.py +134 -0
- tb_rest_client/models/models_ce/entity_id.py +160 -0
- tb_rest_client/models/models_ce/entity_id_clearstart_timeend_time_body.py +98 -0
- tb_rest_client/models/models_ce/entity_info.py +152 -0
- tb_rest_client/models/models_ce/entity_key.py +156 -0
- tb_rest_client/models/models_ce/entity_list_filter.py +162 -0
- tb_rest_client/models/models_ce/entity_load_error.py +202 -0
- tb_rest_client/models/models_ce/entity_name_filter.py +162 -0
- tb_rest_client/models/models_ce/entity_relation.py +264 -0
- tb_rest_client/models/models_ce/entity_relation_info.py +320 -0
- tb_rest_client/models/models_ce/entity_relations_query.py +152 -0
- tb_rest_client/models/models_ce/entity_subtype.py +182 -0
- tb_rest_client/models/models_ce/entity_type_entity_idtenant_idpage_sizepagetext_searchsort_propertysort_orderstart_timeend_time_body.py +98 -0
- tb_rest_client/models/models_ce/entity_type_filter.py +136 -0
- tb_rest_client/models/models_ce/entity_type_load_result.py +208 -0
- tb_rest_client/models/models_ce/entity_type_version_create_config.py +260 -0
- tb_rest_client/models/models_ce/entity_type_version_load_config.py +228 -0
- tb_rest_client/models/models_ce/entity_type_version_load_request.py +156 -0
- tb_rest_client/models/models_ce/entity_version.py +202 -0
- tb_rest_client/models/models_ce/entity_view.py +423 -0
- tb_rest_client/models/models_ce/entity_view_id.py +162 -0
- tb_rest_client/models/models_ce/entity_view_info.py +479 -0
- tb_rest_client/models/models_ce/entity_view_search_query.py +180 -0
- tb_rest_client/models/models_ce/entity_view_search_query_filter.py +266 -0
- tb_rest_client/models/models_ce/entity_view_type_filter.py +182 -0
- tb_rest_client/models/models_ce/error_event_filter.py +188 -0
- tb_rest_client/models/models_ce/escalated_notification_rule_recipients_config.py +131 -0
- tb_rest_client/models/models_ce/event.py +286 -0
- tb_rest_client/models/models_ce/event_filter.py +171 -0
- tb_rest_client/models/models_ce/event_id.py +127 -0
- tb_rest_client/models/models_ce/event_info.py +286 -0
- tb_rest_client/models/models_ce/features_info.py +228 -0
- tb_rest_client/models/models_ce/file.py +488 -0
- tb_rest_client/models/models_ce/filter_predicate_value_boolean.py +176 -0
- tb_rest_client/models/models_ce/filter_predicate_value_double.py +176 -0
- tb_rest_client/models/models_ce/filter_predicate_value_integer.py +176 -0
- tb_rest_client/models/models_ce/filter_predicate_value_long.py +176 -0
- tb_rest_client/models/models_ce/filter_predicate_value_string.py +176 -0
- tb_rest_client/models/models_ce/has_id_object.py +124 -0
- tb_rest_client/models/models_ce/home_dashboard.py +427 -0
- tb_rest_client/models/models_ce/home_dashboard_info.py +152 -0
- tb_rest_client/models/models_ce/image_export_data.py +332 -0
- tb_rest_client/models/models_ce/inline_response200.py +99 -0
- tb_rest_client/models/models_ce/input_stream.py +98 -0
- tb_rest_client/models/models_ce/ios_config.py +176 -0
- tb_rest_client/models/models_ce/json_node.py +98 -0
- tb_rest_client/models/models_ce/json_transport_payload_configuration.py +104 -0
- tb_rest_client/models/models_ce/jwt_pair.py +186 -0
- tb_rest_client/models/models_ce/jwt_settings.py +210 -0
- tb_rest_client/models/models_ce/key_filter.py +182 -0
- tb_rest_client/models/models_ce/key_filter_predicate.py +136 -0
- tb_rest_client/models/models_ce/last_visited_dashboard_info.py +210 -0
- tb_rest_client/models/models_ce/life_cycle_event_filter.py +222 -0
- tb_rest_client/models/models_ce/login_mobile_info.py +176 -0
- tb_rest_client/models/models_ce/login_request.py +156 -0
- tb_rest_client/models/models_ce/login_response.py +156 -0
- tb_rest_client/models/models_ce/lw_m2_m_bootstrap_server_credential.py +136 -0
- tb_rest_client/models/models_ce/lw_m2_m_server_security_config_default.py +490 -0
- tb_rest_client/models/models_ce/lw_m2m_instance.py +154 -0
- tb_rest_client/models/models_ce/lw_m2m_object.py +266 -0
- tb_rest_client/models/models_ce/lw_m2m_resource_observe.py +266 -0
- tb_rest_client/models/models_ce/lw_m2m_version.py +124 -0
- tb_rest_client/models/models_ce/lwm2m_device_profile_transport_configuration.py +208 -0
- tb_rest_client/models/models_ce/lwm2m_device_transport_configuration.py +214 -0
- tb_rest_client/models/models_ce/mapping.py +202 -0
- tb_rest_client/models/models_ce/microsoft_teams_delivery_method_notification_template.py +182 -0
- tb_rest_client/models/models_ce/microsoft_teams_notification_target_config.py +314 -0
- tb_rest_client/models/models_ce/mobile_app.py +290 -0
- tb_rest_client/models/models_ce/mobile_app_bundle.py +375 -0
- tb_rest_client/models/models_ce/mobile_app_bundle_id.py +154 -0
- tb_rest_client/models/models_ce/mobile_app_bundle_info.py +487 -0
- tb_rest_client/models/models_ce/mobile_app_delivery_method_notification_template.py +157 -0
- tb_rest_client/models/models_ce/mobile_app_id.py +160 -0
- tb_rest_client/models/models_ce/mobile_app_info.py +318 -0
- tb_rest_client/models/models_ce/mobile_app_notification_delivery_method_config.py +157 -0
- tb_rest_client/models/models_ce/mobile_app_settings.py +352 -0
- tb_rest_client/models/models_ce/mobile_app_settings_id.py +127 -0
- tb_rest_client/models/models_ce/mobile_app_version_info.py +210 -0
- tb_rest_client/models/models_ce/mobile_layout_config.py +126 -0
- tb_rest_client/models/models_ce/mobile_page.py +158 -0
- tb_rest_client/models/models_ce/mobile_session_info.py +124 -0
- tb_rest_client/models/models_ce/mqtt_device_profile_transport_configuration.py +286 -0
- tb_rest_client/models/models_ce/mqtt_device_transport_configuration.py +104 -0
- tb_rest_client/models/models_ce/new_platform_version_notification_rule_trigger_config.py +104 -0
- tb_rest_client/models/models_ce/no_sec_lw_m2_m_bootstrap_server_credential.py +440 -0
- tb_rest_client/models/models_ce/node_connection_info.py +185 -0
- tb_rest_client/models/models_ce/notification.py +402 -0
- tb_rest_client/models/models_ce/notification_delivery_method_config.py +134 -0
- tb_rest_client/models/models_ce/notification_id.py +162 -0
- tb_rest_client/models/models_ce/notification_info.py +185 -0
- tb_rest_client/models/models_ce/notification_pref.py +151 -0
- tb_rest_client/models/models_ce/notification_request.py +417 -0
- tb_rest_client/models/models_ce/notification_request_config.py +124 -0
- tb_rest_client/models/models_ce/notification_request_id.py +162 -0
- tb_rest_client/models/models_ce/notification_request_info.py +476 -0
- tb_rest_client/models/models_ce/notification_request_preview.py +202 -0
- tb_rest_client/models/models_ce/notification_request_stats.py +202 -0
- tb_rest_client/models/models_ce/notification_rule.py +369 -0
- tb_rest_client/models/models_ce/notification_rule_config.py +124 -0
- tb_rest_client/models/models_ce/notification_rule_id.py +162 -0
- tb_rest_client/models/models_ce/notification_rule_info.py +428 -0
- tb_rest_client/models/models_ce/notification_rule_recipients_config.py +139 -0
- tb_rest_client/models/models_ce/notification_rule_trigger_config.py +178 -0
- tb_rest_client/models/models_ce/notification_settings.py +125 -0
- tb_rest_client/models/models_ce/notification_target.py +230 -0
- tb_rest_client/models/models_ce/notification_target_config.py +148 -0
- tb_rest_client/models/models_ce/notification_target_id.py +162 -0
- tb_rest_client/models/models_ce/notification_template.py +263 -0
- tb_rest_client/models/models_ce/notification_template_config.py +125 -0
- tb_rest_client/models/models_ce/notification_template_id.py +162 -0
- tb_rest_client/models/models_ce/numeric_filter_predicate.py +162 -0
- tb_rest_client/models/models_ce/o_auth2_basic_mapper_config.py +329 -0
- tb_rest_client/models/models_ce/o_auth2_client.py +636 -0
- tb_rest_client/models/models_ce/o_auth2_client_id.py +160 -0
- tb_rest_client/models/models_ce/o_auth2_client_info.py +267 -0
- tb_rest_client/models/models_ce/o_auth2_client_login_info.py +182 -0
- tb_rest_client/models/models_ce/o_auth2_client_registration_template.py +565 -0
- tb_rest_client/models/models_ce/o_auth2_client_registration_template_id.py +127 -0
- tb_rest_client/models/models_ce/o_auth2_custom_mapper_config.py +202 -0
- tb_rest_client/models/models_ce/o_auth2_domain_info.py +162 -0
- tb_rest_client/models/models_ce/o_auth2_info.py +183 -0
- tb_rest_client/models/models_ce/o_auth2_mapper_config.py +241 -0
- tb_rest_client/models/models_ce/o_auth2_mobile_info.py +156 -0
- tb_rest_client/models/models_ce/o_auth2_params_info.py +185 -0
- tb_rest_client/models/models_ce/o_auth2_registration_info.py +502 -0
- tb_rest_client/models/models_ce/object_attributes.py +410 -0
- tb_rest_client/models/models_ce/object_node.py +98 -0
- tb_rest_client/models/models_ce/one_of_alarm_condition_filter_predicate.py +98 -0
- tb_rest_client/models/models_ce/one_of_alarm_condition_spec.py +98 -0
- tb_rest_client/models/models_ce/one_of_alarm_count_query_entity_filter.py +98 -0
- tb_rest_client/models/models_ce/one_of_alarm_data_query_entity_filter.py +98 -0
- tb_rest_client/models/models_ce/one_of_alarm_rule_schedule.py +98 -0
- tb_rest_client/models/models_ce/one_of_device_data_configuration.py +98 -0
- tb_rest_client/models/models_ce/one_of_device_data_transport_configuration.py +98 -0
- tb_rest_client/models/models_ce/one_of_device_profile_data_configuration.py +98 -0
- tb_rest_client/models/models_ce/one_of_device_profile_data_provision_configuration.py +98 -0
- tb_rest_client/models/models_ce/one_of_device_profile_data_transport_configuration.py +98 -0
- tb_rest_client/models/models_ce/one_of_entity_count_query_entity_filter.py +98 -0
- tb_rest_client/models/models_ce/one_of_entity_data_diff_current_version.py +98 -0
- tb_rest_client/models/models_ce/one_of_entity_data_diff_other_version.py +98 -0
- tb_rest_client/models/models_ce/one_of_entity_data_query_entity_filter.py +98 -0
- tb_rest_client/models/models_ce/one_of_key_filter_predicate.py +98 -0
- tb_rest_client/models/models_ce/one_of_notification_rule_info_recipients_config.py +98 -0
- tb_rest_client/models/models_ce/one_of_notification_rule_info_trigger_config.py +98 -0
- tb_rest_client/models/models_ce/one_of_notification_rule_recipients_config.py +98 -0
- tb_rest_client/models/models_ce/one_of_notification_rule_trigger_config.py +98 -0
- tb_rest_client/models/models_ce/one_of_notification_target_configuration.py +98 -0
- tb_rest_client/models/models_ce/one_of_platform_two_fa_settings_providers_items.py +98 -0
- tb_rest_client/models/models_ce/one_of_tenant_profile_data_configuration.py +98 -0
- tb_rest_client/models/models_ce/one_of_test_sms_request_provider_configuration.py +98 -0
- tb_rest_client/models/models_ce/originator_entity_owner_users_filter.py +104 -0
- tb_rest_client/models/models_ce/ota_package.py +576 -0
- tb_rest_client/models/models_ce/ota_package_data.py +306 -0
- tb_rest_client/models/models_ce/ota_package_id.py +162 -0
- tb_rest_client/models/models_ce/ota_package_info.py +550 -0
- tb_rest_client/models/models_ce/ota_package_ota_package_idchecksumchecksum_algorithm_body.py +127 -0
- tb_rest_client/models/models_ce/other_configuration.py +364 -0
- tb_rest_client/models/models_ce/page_data_alarm_comment_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_alarm_data.py +210 -0
- tb_rest_client/models/models_ce/page_data_alarm_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_asset.py +210 -0
- tb_rest_client/models/models_ce/page_data_asset_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_asset_profile.py +210 -0
- tb_rest_client/models/models_ce/page_data_asset_profile_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_audit_log.py +210 -0
- tb_rest_client/models/models_ce/page_data_customer.py +210 -0
- tb_rest_client/models/models_ce/page_data_dashboard_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_device.py +210 -0
- tb_rest_client/models/models_ce/page_data_device_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_device_profile.py +210 -0
- tb_rest_client/models/models_ce/page_data_device_profile_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_domain_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_edge.py +210 -0
- tb_rest_client/models/models_ce/page_data_edge_event.py +210 -0
- tb_rest_client/models/models_ce/page_data_edge_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_entity_data.py +210 -0
- tb_rest_client/models/models_ce/page_data_entity_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_entity_subtype.py +210 -0
- tb_rest_client/models/models_ce/page_data_entity_version.py +210 -0
- tb_rest_client/models/models_ce/page_data_entity_view.py +210 -0
- tb_rest_client/models/models_ce/page_data_entity_view_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_event.py +210 -0
- tb_rest_client/models/models_ce/page_data_event_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_mobile_app.py +210 -0
- tb_rest_client/models/models_ce/page_data_mobile_app_bundle_info.py +196 -0
- tb_rest_client/models/models_ce/page_data_mobile_app_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_notification.py +210 -0
- tb_rest_client/models/models_ce/page_data_notification_request_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_notification_rule_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_notification_target.py +210 -0
- tb_rest_client/models/models_ce/page_data_notification_template.py +210 -0
- tb_rest_client/models/models_ce/page_data_o_auth2_client_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_ota_package_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_queue.py +210 -0
- tb_rest_client/models/models_ce/page_data_queue_stats.py +210 -0
- tb_rest_client/models/models_ce/page_data_rpc.py +202 -0
- tb_rest_client/models/models_ce/page_data_rule_chain.py +210 -0
- tb_rest_client/models/models_ce/page_data_tb_resource_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_tenant.py +210 -0
- tb_rest_client/models/models_ce/page_data_tenant_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_tenant_profile.py +210 -0
- tb_rest_client/models/models_ce/page_data_user.py +210 -0
- tb_rest_client/models/models_ce/page_data_user_email_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_widget_type_info.py +210 -0
- tb_rest_client/models/models_ce/page_data_widgets_bundle.py +210 -0
- tb_rest_client/models/models_ce/platform_two_fa_settings.py +231 -0
- tb_rest_client/models/models_ce/platform_users_notification_target_config.py +131 -0
- tb_rest_client/models/models_ce/power_saving_configuration.py +208 -0
- tb_rest_client/models/models_ce/processing_strategy.py +234 -0
- tb_rest_client/models/models_ce/proto_transport_payload_configuration.py +260 -0
- tb_rest_client/models/models_ce/psklw_m2_m_bootstrap_server_credential.py +440 -0
- tb_rest_client/models/models_ce/qr_code_config.py +234 -0
- tb_rest_client/models/models_ce/qr_code_settings.py +399 -0
- tb_rest_client/models/models_ce/qr_code_settings_id.py +127 -0
- tb_rest_client/models/models_ce/queue.py +410 -0
- tb_rest_client/models/models_ce/queue_id.py +162 -0
- tb_rest_client/models/models_ce/queue_stats.py +228 -0
- tb_rest_client/models/models_ce/queue_stats_id.py +162 -0
- tb_rest_client/models/models_ce/rate_limits_notification_rule_trigger_config.py +137 -0
- tb_rest_client/models/models_ce/relation_entity_type_filter.py +189 -0
- tb_rest_client/models/models_ce/relations_query_filter.py +350 -0
- tb_rest_client/models/models_ce/relations_search_parameters.py +284 -0
- tb_rest_client/models/models_ce/repeating_alarm_condition_spec.py +130 -0
- tb_rest_client/models/models_ce/repository_settings.py +390 -0
- tb_rest_client/models/models_ce/repository_settings_info.py +150 -0
- tb_rest_client/models/models_ce/reset_password_email_request.py +126 -0
- tb_rest_client/models/models_ce/reset_password_request.py +154 -0
- tb_rest_client/models/models_ce/resource.py +306 -0
- tb_rest_client/models/models_ce/resource_export_data.py +384 -0
- tb_rest_client/models/models_ce/response_entity.py +182 -0
- tb_rest_client/models/models_ce/rpc.py +344 -0
- tb_rest_client/models/models_ce/rpc_id.py +162 -0
- tb_rest_client/models/models_ce/rpklw_m2_m_bootstrap_server_credential.py +440 -0
- tb_rest_client/models/models_ce/rule_chain.py +402 -0
- tb_rest_client/models/models_ce/rule_chain_connection_info.py +210 -0
- tb_rest_client/models/models_ce/rule_chain_data.py +156 -0
- tb_rest_client/models/models_ce/rule_chain_debug_event_filter.py +240 -0
- tb_rest_client/models/models_ce/rule_chain_export_data.py +156 -0
- tb_rest_client/models/models_ce/rule_chain_id.py +162 -0
- tb_rest_client/models/models_ce/rule_chain_import_result.py +202 -0
- tb_rest_client/models/models_ce/rule_chain_meta_data.py +269 -0
- tb_rest_client/models/models_ce/rule_chain_output_labels_usage.py +239 -0
- tb_rest_client/models/models_ce/rule_engine_component_lifecycle_event_notification_rule_trigger_config.py +274 -0
- tb_rest_client/models/models_ce/rule_node.py +424 -0
- tb_rest_client/models/models_ce/rule_node_debug_event_filter.py +448 -0
- tb_rest_client/models/models_ce/rule_node_id.py +162 -0
- tb_rest_client/models/models_ce/save_device_with_credentials_request.py +152 -0
- tb_rest_client/models/models_ce/save_ota_package_info_request.py +578 -0
- tb_rest_client/models/models_ce/security_settings.py +266 -0
- tb_rest_client/models/models_ce/server_security_config.py +332 -0
- tb_rest_client/models/models_ce/shared_attributes_setting_snmp_communication_config.py +130 -0
- tb_rest_client/models/models_ce/short_customer_info.py +204 -0
- tb_rest_client/models/models_ce/sign_up_request.py +294 -0
- tb_rest_client/models/models_ce/simple_alarm_condition_spec.py +104 -0
- tb_rest_client/models/models_ce/single_entity_filter.py +130 -0
- tb_rest_client/models/models_ce/single_entity_version_create_request.py +156 -0
- tb_rest_client/models/models_ce/single_entity_version_load_request.py +156 -0
- tb_rest_client/models/models_ce/slack_conversation.py +263 -0
- tb_rest_client/models/models_ce/slack_delivery_method_notification_template.py +104 -0
- tb_rest_client/models/models_ce/slack_notification_delivery_method_config.py +131 -0
- tb_rest_client/models/models_ce/slack_notification_target_config.py +163 -0
- tb_rest_client/models/models_ce/smpp_sms_provider_configuration.py +541 -0
- tb_rest_client/models/models_ce/sms_delivery_method_notification_template.py +104 -0
- tb_rest_client/models/models_ce/sms_provider_configuration.py +135 -0
- tb_rest_client/models/models_ce/sms_two_fa_account_config.py +131 -0
- tb_rest_client/models/models_ce/sms_two_fa_provider_config.py +157 -0
- tb_rest_client/models/models_ce/snmp_communication_config.py +142 -0
- tb_rest_client/models/models_ce/snmp_device_profile_transport_configuration.py +182 -0
- tb_rest_client/models/models_ce/snmp_device_transport_configuration.py +434 -0
- tb_rest_client/models/models_ce/snmp_mapping.py +182 -0
- tb_rest_client/models/models_ce/specific_time_schedule.py +208 -0
- tb_rest_client/models/models_ce/starred_dashboard_info.py +182 -0
- tb_rest_client/models/models_ce/statistics_event_filter.py +244 -0
- tb_rest_client/models/models_ce/store_info.py +176 -0
- tb_rest_client/models/models_ce/string_filter_predicate.py +188 -0
- tb_rest_client/models/models_ce/submit_strategy.py +156 -0
- tb_rest_client/models/models_ce/system_administrators_filter.py +104 -0
- tb_rest_client/models/models_ce/system_info.py +152 -0
- tb_rest_client/models/models_ce/system_info_data.py +322 -0
- tb_rest_client/models/models_ce/task_processing_failure_notification_rule_trigger_config.py +104 -0
- tb_rest_client/models/models_ce/tb_image_delete_result.py +150 -0
- tb_rest_client/models/models_ce/tb_resource.py +568 -0
- tb_rest_client/models/models_ce/tb_resource_id.py +162 -0
- tb_rest_client/models/models_ce/tb_resource_info.py +514 -0
- tb_rest_client/models/models_ce/telemetry_entity_view.py +154 -0
- tb_rest_client/models/models_ce/telemetry_mapping_configuration.py +228 -0
- tb_rest_client/models/models_ce/telemetry_querying_snmp_communication_config.py +156 -0
- tb_rest_client/models/models_ce/tenant.py +539 -0
- tb_rest_client/models/models_ce/tenant_administrators_filter.py +156 -0
- tb_rest_client/models/models_ce/tenant_id.py +162 -0
- tb_rest_client/models/models_ce/tenant_info.py +567 -0
- tb_rest_client/models/models_ce/tenant_profile.py +288 -0
- tb_rest_client/models/models_ce/tenant_profile_configuration.py +133 -0
- tb_rest_client/models/models_ce/tenant_profile_data.py +154 -0
- tb_rest_client/models/models_ce/tenant_profile_id.py +162 -0
- tb_rest_client/models/models_ce/tenant_profile_queue_configuration.py +332 -0
- tb_rest_client/models/models_ce/test_sms_request.py +182 -0
- tb_rest_client/models/models_ce/thingsboard_credentials_expired_response.py +238 -0
- tb_rest_client/models/models_ce/thingsboard_error_response.py +210 -0
- tb_rest_client/models/models_ce/to_device_rpc_request_snmp_communication_config.py +130 -0
- tb_rest_client/models/models_ce/to_server_rpc_request_snmp_communication_config.py +130 -0
- tb_rest_client/models/models_ce/totp_two_fa_account_config.py +131 -0
- tb_rest_client/models/models_ce/totp_two_fa_provider_config.py +131 -0
- tb_rest_client/models/models_ce/transport_payload_type_configuration.py +134 -0
- tb_rest_client/models/models_ce/ts_value.py +176 -0
- tb_rest_client/models/models_ce/twilio_sms_provider_configuration.py +188 -0
- tb_rest_client/models/models_ce/two_fa_account_config.py +162 -0
- tb_rest_client/models/models_ce/two_fa_account_config_update_request.py +124 -0
- tb_rest_client/models/models_ce/two_fa_provider_config.py +136 -0
- tb_rest_client/models/models_ce/two_fa_provider_info.py +234 -0
- tb_rest_client/models/models_ce/type_key_body.py +125 -0
- tb_rest_client/models/models_ce/update_message.py +266 -0
- tb_rest_client/models/models_ce/usage_info.py +696 -0
- tb_rest_client/models/models_ce/user.py +432 -0
- tb_rest_client/models/models_ce/user_activation_link.py +150 -0
- tb_rest_client/models/models_ce/user_dashboards_info.py +154 -0
- tb_rest_client/models/models_ce/user_email_info.py +208 -0
- tb_rest_client/models/models_ce/user_id.py +162 -0
- tb_rest_client/models/models_ce/user_list_filter.py +131 -0
- tb_rest_client/models/models_ce/user_mobile_info.py +228 -0
- tb_rest_client/models/models_ce/user_notification_settings.py +125 -0
- tb_rest_client/models/models_ce/user_password_policy.py +378 -0
- tb_rest_client/models/models_ce/users_filter.py +140 -0
- tb_rest_client/models/models_ce/vc_entity_body.py +98 -0
- tb_rest_client/models/models_ce/vc_version_body.py +98 -0
- tb_rest_client/models/models_ce/version.py +98 -0
- tb_rest_client/models/models_ce/version_create_config.py +176 -0
- tb_rest_client/models/models_ce/version_create_request.py +191 -0
- tb_rest_client/models/models_ce/version_creation_result.py +254 -0
- tb_rest_client/models/models_ce/version_load_config.py +176 -0
- tb_rest_client/models/models_ce/version_load_request.py +165 -0
- tb_rest_client/models/models_ce/version_load_result.py +176 -0
- tb_rest_client/models/models_ce/versioned_entity_info.py +124 -0
- tb_rest_client/models/models_ce/web_delivery_method_notification_template.py +157 -0
- tb_rest_client/models/models_ce/web_view_page.py +98 -0
- tb_rest_client/models/models_ce/widget_type.py +342 -0
- tb_rest_client/models/models_ce/widget_type_details.py +426 -0
- tb_rest_client/models/models_ce/widget_type_export_data.py +130 -0
- tb_rest_client/models/models_ce/widget_type_id.py +162 -0
- tb_rest_client/models/models_ce/widget_type_info.py +428 -0
- tb_rest_client/models/models_ce/widgets_bundle.py +400 -0
- tb_rest_client/models/models_ce/widgets_bundle_export_data.py +182 -0
- tb_rest_client/models/models_ce/widgets_bundle_id.py +162 -0
- tb_rest_client/models/models_ce/x509_certificate_chain_provision_configuration.py +156 -0
- tb_rest_client/models/models_ce/x509_lw_m2_m_bootstrap_server_credential.py +440 -0
- tb_rest_client/models/models_pe/__init__.py +413 -0
- tb_rest_client/models/models_pe/account_two_fa_settings.py +124 -0
- tb_rest_client/models/models_pe/activate_user_request.py +154 -0
- tb_rest_client/models/models_pe/admin_settings.py +232 -0
- tb_rest_client/models/models_pe/admin_settings_id.py +127 -0
- tb_rest_client/models/models_pe/affected_tenant_administrators_filter.py +104 -0
- tb_rest_client/models/models_pe/affected_user_filter.py +104 -0
- tb_rest_client/models/models_pe/alarm.py +749 -0
- tb_rest_client/models/models_pe/alarm_assignee.py +202 -0
- tb_rest_client/models/models_pe/alarm_assignment_notification_rule_trigger_config.py +230 -0
- tb_rest_client/models/models_pe/alarm_comment.py +292 -0
- tb_rest_client/models/models_pe/alarm_comment_id.py +127 -0
- tb_rest_client/models/models_pe/alarm_comment_info.py +376 -0
- tb_rest_client/models/models_pe/alarm_comment_notification_rule_trigger_config.py +248 -0
- tb_rest_client/models/models_pe/alarm_condition.py +154 -0
- tb_rest_client/models/models_pe/alarm_condition_filter.py +214 -0
- tb_rest_client/models/models_pe/alarm_condition_filter_key.py +160 -0
- tb_rest_client/models/models_pe/alarm_condition_spec.py +135 -0
- tb_rest_client/models/models_pe/alarm_count_query.py +372 -0
- tb_rest_client/models/models_pe/alarm_data.py +883 -0
- tb_rest_client/models/models_pe/alarm_data_page_link.py +450 -0
- tb_rest_client/models/models_pe/alarm_data_query.py +254 -0
- tb_rest_client/models/models_pe/alarm_id.py +162 -0
- tb_rest_client/models/models_pe/alarm_info.py +831 -0
- tb_rest_client/models/models_pe/alarm_notification_rule_trigger_config.py +223 -0
- tb_rest_client/models/models_pe/alarm_rule.py +206 -0
- tb_rest_client/models/models_pe/alarm_schedule.py +152 -0
- tb_rest_client/models/models_pe/all_users_filter.py +104 -0
- tb_rest_client/models/models_pe/allow_create_new_devices_device_profile_provision_configuration.py +104 -0
- tb_rest_client/models/models_pe/allowed_permissions_info.py +318 -0
- tb_rest_client/models/models_pe/any_time_schedule.py +104 -0
- tb_rest_client/models/models_pe/api_usage_limit_notification_rule_trigger_config.py +170 -0
- tb_rest_client/models/models_pe/api_usage_state_filter.py +130 -0
- tb_rest_client/models/models_pe/array_node.py +98 -0
- tb_rest_client/models/models_pe/asset.py +393 -0
- tb_rest_client/models/models_pe/asset_id.py +162 -0
- tb_rest_client/models/models_pe/asset_info.py +449 -0
- tb_rest_client/models/models_pe/asset_profile_id.py +162 -0
- tb_rest_client/models/models_pe/asset_search_query.py +180 -0
- tb_rest_client/models/models_pe/asset_search_query_filter.py +266 -0
- tb_rest_client/models/models_pe/asset_type_filter.py +182 -0
- tb_rest_client/models/models_pe/atomic_integer.py +228 -0
- tb_rest_client/models/models_pe/attribute_export_data.py +280 -0
- tb_rest_client/models/models_pe/attributes_entity_view.py +185 -0
- tb_rest_client/models/models_pe/audit_log.py +434 -0
- tb_rest_client/models/models_pe/audit_log_id.py +127 -0
- tb_rest_client/models/models_pe/auto_version_create_config.py +254 -0
- tb_rest_client/models/models_pe/aws_sns_sms_provider_configuration.py +188 -0
- tb_rest_client/models/models_pe/backup_code_two_fa_account_config.py +157 -0
- tb_rest_client/models/models_pe/backup_code_two_fa_provider_config.py +130 -0
- tb_rest_client/models/models_pe/blob_entity_id.py +162 -0
- tb_rest_client/models/models_pe/blob_entity_info.py +346 -0
- tb_rest_client/models/models_pe/blob_entity_with_customer_info.py +402 -0
- tb_rest_client/models/models_pe/boolean_filter_predicate.py +162 -0
- tb_rest_client/models/models_pe/branch_info.py +150 -0
- tb_rest_client/models/models_pe/bulk_import_request.py +202 -0
- tb_rest_client/models/models_pe/bulk_import_result_asset.py +202 -0
- tb_rest_client/models/models_pe/bulk_import_result_device.py +202 -0
- tb_rest_client/models/models_pe/bulk_import_result_edge.py +202 -0
- tb_rest_client/models/models_pe/byte_buffer.py +306 -0
- tb_rest_client/models/models_pe/captcha_params.py +132 -0
- tb_rest_client/models/models_pe/change_password_request.py +154 -0
- tb_rest_client/models/models_pe/check_pre_provisioned_devices_device_profile_provision_configuration.py +104 -0
- tb_rest_client/models/models_pe/claim_request.py +124 -0
- tb_rest_client/models/models_pe/clear_rule.py +131 -0
- tb_rest_client/models/models_pe/client_attributes_querying_snmp_communication_config.py +156 -0
- tb_rest_client/models/models_pe/coap_device_profile_transport_configuration.py +156 -0
- tb_rest_client/models/models_pe/coap_device_transport_configuration.py +214 -0
- tb_rest_client/models/models_pe/coap_device_type_configuration.py +134 -0
- tb_rest_client/models/models_pe/column_mapping.py +156 -0
- tb_rest_client/models/models_pe/comparison_ts_value.py +150 -0
- tb_rest_client/models/models_pe/complex_filter_predicate.py +162 -0
- tb_rest_client/models/models_pe/complex_version_create_request.py +162 -0
- tb_rest_client/models/models_pe/component_descriptor.py +420 -0
- tb_rest_client/models/models_pe/component_descriptor_id.py +127 -0
- tb_rest_client/models/models_pe/contact_based_object.py +410 -0
- tb_rest_client/models/models_pe/converter.py +376 -0
- tb_rest_client/models/models_pe/converter_id.py +162 -0
- tb_rest_client/models/models_pe/converters_info.py +136 -0
- tb_rest_client/models/models_pe/custom_menu.py +327 -0
- tb_rest_client/models/models_pe/custom_menu_config.py +113 -0
- tb_rest_client/models/models_pe/custom_menu_delete_result.py +168 -0
- tb_rest_client/models/models_pe/custom_menu_id.py +113 -0
- tb_rest_client/models/models_pe/custom_menu_info.py +287 -0
- tb_rest_client/models/models_pe/custom_menu_item.py +398 -0
- tb_rest_client/models/models_pe/custom_time_schedule.py +156 -0
- tb_rest_client/models/models_pe/custom_time_schedule_item.py +202 -0
- tb_rest_client/models/models_pe/custom_translation.py +127 -0
- tb_rest_client/models/models_pe/customer_id.py +162 -0
- tb_rest_client/models/models_pe/customer_info.py +672 -0
- tb_rest_client/models/models_pe/customer_users_filter.py +131 -0
- tb_rest_client/models/models_pe/dashboard_id.py +162 -0
- tb_rest_client/models/models_pe/dashboard_info.py +506 -0
- tb_rest_client/models/models_pe/debug_converter_event_filter.py +316 -0
- tb_rest_client/models/models_pe/debug_integration_event_filter.py +290 -0
- tb_rest_client/models/models_pe/default_coap_device_type_configuration.py +130 -0
- tb_rest_client/models/models_pe/default_dashboard_params.py +154 -0
- tb_rest_client/models/models_pe/default_device_configuration.py +104 -0
- tb_rest_client/models/models_pe/default_device_profile_configuration.py +104 -0
- tb_rest_client/models/models_pe/default_device_profile_transport_configuration.py +104 -0
- tb_rest_client/models/models_pe/default_device_transport_configuration.py +104 -0
- tb_rest_client/models/models_pe/default_menu_item.py +230 -0
- tb_rest_client/models/models_pe/default_rule_chain_create_request.py +127 -0
- tb_rest_client/models/models_pe/default_tenant_profile_configuration.py +1794 -0
- tb_rest_client/models/models_pe/deferred_result_entity_data_diff.py +150 -0
- tb_rest_client/models/models_pe/deferred_result_entity_data_info.py +150 -0
- tb_rest_client/models/models_pe/deferred_result_list_branch_info.py +150 -0
- tb_rest_client/models/models_pe/deferred_result_list_versioned_entity_info.py +150 -0
- tb_rest_client/models/models_pe/deferred_result_page_data_entity_version.py +150 -0
- tb_rest_client/models/models_pe/deferred_result_repository_settings.py +150 -0
- tb_rest_client/models/models_pe/deferred_result_void.py +150 -0
- tb_rest_client/models/models_pe/deferred_resultuuid.py +150 -0
- tb_rest_client/models/models_pe/delivery_method_notification_template.py +191 -0
- tb_rest_client/models/models_pe/device.py +471 -0
- tb_rest_client/models/models_pe/device_activity_notification_rule_trigger_config.py +190 -0
- tb_rest_client/models/models_pe/device_configuration.py +133 -0
- tb_rest_client/models/models_pe/device_credentials_id.py +127 -0
- tb_rest_client/models/models_pe/device_data.py +154 -0
- tb_rest_client/models/models_pe/device_export_data.py +156 -0
- tb_rest_client/models/models_pe/device_group_ota_package.py +234 -0
- tb_rest_client/models/models_pe/device_id.py +162 -0
- tb_rest_client/models/models_pe/device_info.py +555 -0
- tb_rest_client/models/models_pe/device_profile_alarm.py +348 -0
- tb_rest_client/models/models_pe/device_profile_configuration.py +133 -0
- tb_rest_client/models/models_pe/device_profile_data.py +210 -0
- tb_rest_client/models/models_pe/device_profile_id.py +162 -0
- tb_rest_client/models/models_pe/device_profile_provision_configuration.py +162 -0
- tb_rest_client/models/models_pe/device_profile_transport_configuration.py +137 -0
- tb_rest_client/models/models_pe/device_search_query.py +180 -0
- tb_rest_client/models/models_pe/device_search_query_filter.py +266 -0
- tb_rest_client/models/models_pe/device_transport_configuration.py +137 -0
- tb_rest_client/models/models_pe/device_type_filter.py +182 -0
- tb_rest_client/models/models_pe/disabled_device_profile_provision_configuration.py +104 -0
- tb_rest_client/models/models_pe/duration_alarm_condition_spec.py +162 -0
- tb_rest_client/models/models_pe/edge.py +510 -0
- tb_rest_client/models/models_pe/edge_communication_failure_notification_rule_trigger_config.py +130 -0
- tb_rest_client/models/models_pe/edge_connection_notification_rule_trigger_config.py +163 -0
- tb_rest_client/models/models_pe/edge_event.py +396 -0
- tb_rest_client/models/models_pe/edge_event_id.py +127 -0
- tb_rest_client/models/models_pe/edge_id.py +162 -0
- tb_rest_client/models/models_pe/edge_info.py +566 -0
- tb_rest_client/models/models_pe/edge_instructions.py +126 -0
- tb_rest_client/models/models_pe/edge_search_query.py +180 -0
- tb_rest_client/models/models_pe/edge_search_query_filter.py +266 -0
- tb_rest_client/models/models_pe/edge_type_filter.py +168 -0
- tb_rest_client/models/models_pe/efento_coap_device_type_configuration.py +104 -0
- tb_rest_client/models/models_pe/email_delivery_method_notification_template.py +131 -0
- tb_rest_client/models/models_pe/email_two_fa_account_config.py +131 -0
- tb_rest_client/models/models_pe/email_two_fa_provider_config.py +130 -0
- tb_rest_client/models/models_pe/enterprise_captcha_params.py +98 -0
- tb_rest_client/models/models_pe/entities_by_group_name_filter.py +188 -0
- tb_rest_client/models/models_pe/entities_limit_notification_rule_trigger_config.py +163 -0
- tb_rest_client/models/models_pe/entity_action_notification_rule_trigger_config.py +215 -0
- tb_rest_client/models/models_pe/entity_count_query.py +150 -0
- tb_rest_client/models/models_pe/entity_data.py +254 -0
- tb_rest_client/models/models_pe/entity_data_diff.py +150 -0
- tb_rest_client/models/models_pe/entity_data_info.py +228 -0
- tb_rest_client/models/models_pe/entity_data_page_link.py +228 -0
- tb_rest_client/models/models_pe/entity_data_query.py +228 -0
- tb_rest_client/models/models_pe/entity_data_sort_order.py +156 -0
- tb_rest_client/models/models_pe/entity_export_data_object.py +210 -0
- tb_rest_client/models/models_pe/entity_filter.py +152 -0
- tb_rest_client/models/models_pe/entity_group.py +400 -0
- tb_rest_client/models/models_pe/entity_group_export_data.py +182 -0
- tb_rest_client/models/models_pe/entity_group_filter.py +162 -0
- tb_rest_client/models/models_pe/entity_group_id.py +162 -0
- tb_rest_client/models/models_pe/entity_group_info.py +429 -0
- tb_rest_client/models/models_pe/entity_group_list_filter.py +162 -0
- tb_rest_client/models/models_pe/entity_group_name_filter.py +162 -0
- tb_rest_client/models/models_pe/entity_id.py +160 -0
- tb_rest_client/models/models_pe/entity_key.py +156 -0
- tb_rest_client/models/models_pe/entity_list_filter.py +162 -0
- tb_rest_client/models/models_pe/entity_load_error.py +202 -0
- tb_rest_client/models/models_pe/entity_name_filter.py +162 -0
- tb_rest_client/models/models_pe/entity_relation_info.py +320 -0
- tb_rest_client/models/models_pe/entity_relations_query.py +152 -0
- tb_rest_client/models/models_pe/entity_subtype.py +182 -0
- tb_rest_client/models/models_pe/entity_type_filter.py +136 -0
- tb_rest_client/models/models_pe/entity_type_load_result.py +286 -0
- tb_rest_client/models/models_pe/entity_type_version_create_config.py +312 -0
- tb_rest_client/models/models_pe/entity_type_version_load_config.py +306 -0
- tb_rest_client/models/models_pe/entity_type_version_load_request.py +156 -0
- tb_rest_client/models/models_pe/entity_version.py +202 -0
- tb_rest_client/models/models_pe/entity_view.py +449 -0
- tb_rest_client/models/models_pe/entity_view_id.py +162 -0
- tb_rest_client/models/models_pe/entity_view_info.py +505 -0
- tb_rest_client/models/models_pe/entity_view_search_query.py +180 -0
- tb_rest_client/models/models_pe/entity_view_search_query_filter.py +266 -0
- tb_rest_client/models/models_pe/entity_view_type_filter.py +182 -0
- tb_rest_client/models/models_pe/error_event_filter.py +188 -0
- tb_rest_client/models/models_pe/escalated_notification_rule_recipients_config.py +131 -0
- tb_rest_client/models/models_pe/event_filter.py +174 -0
- tb_rest_client/models/models_pe/event_id.py +127 -0
- tb_rest_client/models/models_pe/event_info.py +286 -0
- tb_rest_client/models/models_pe/exportable_entity_entity_id.py +150 -0
- tb_rest_client/models/models_pe/favicon.py +124 -0
- tb_rest_client/models/models_pe/features_info.py +254 -0
- tb_rest_client/models/models_pe/group_entity_export_data.py +130 -0
- tb_rest_client/models/models_pe/group_permission.py +370 -0
- tb_rest_client/models/models_pe/group_permission_id.py +162 -0
- tb_rest_client/models/models_pe/group_permission_info.py +560 -0
- tb_rest_client/models/models_pe/home_dashboard.py +478 -0
- tb_rest_client/models/models_pe/home_menu_item.py +320 -0
- tb_rest_client/models/models_pe/input_stream.py +98 -0
- tb_rest_client/models/models_pe/integration.py +571 -0
- tb_rest_client/models/models_pe/integration_converters_info.py +136 -0
- tb_rest_client/models/models_pe/integration_id.py +162 -0
- tb_rest_client/models/models_pe/integration_info.py +460 -0
- tb_rest_client/models/models_pe/integration_lifecycle_event_notification_rule_trigger_config.py +222 -0
- tb_rest_client/models/models_pe/json_node.py +98 -0
- tb_rest_client/models/models_pe/json_transport_payload_configuration.py +104 -0
- tb_rest_client/models/models_pe/key_filter.py +182 -0
- tb_rest_client/models/models_pe/key_filter_predicate.py +136 -0
- tb_rest_client/models/models_pe/last_visited_dashboard_info.py +210 -0
- tb_rest_client/models/models_pe/license_usage_info.py +332 -0
- tb_rest_client/models/models_pe/life_cycle_event_filter.py +222 -0
- tb_rest_client/models/models_pe/locale_code_upload_body.py +125 -0
- tb_rest_client/models/models_pe/login_request.py +156 -0
- tb_rest_client/models/models_pe/login_response.py +156 -0
- tb_rest_client/models/models_pe/login_white_labeling_params.py +682 -0
- tb_rest_client/models/models_pe/lw_m2_m_bootstrap_server_credential.py +136 -0
- tb_rest_client/models/models_pe/lw_m2_m_server_security_config_default.py +490 -0
- tb_rest_client/models/models_pe/lw_m2m_instance.py +154 -0
- tb_rest_client/models/models_pe/lw_m2m_object.py +266 -0
- tb_rest_client/models/models_pe/lw_m2m_resource_observe.py +266 -0
- tb_rest_client/models/models_pe/lwm2m_device_profile_transport_configuration.py +208 -0
- tb_rest_client/models/models_pe/lwm2m_device_transport_configuration.py +214 -0
- tb_rest_client/models/models_pe/mapping.py +202 -0
- tb_rest_client/models/models_pe/menu_item.py +152 -0
- tb_rest_client/models/models_pe/merged_group_permission_info.py +163 -0
- tb_rest_client/models/models_pe/merged_group_type_permission_info.py +154 -0
- tb_rest_client/models/models_pe/merged_user_permissions.py +273 -0
- tb_rest_client/models/models_pe/mobile_app_delivery_method_notification_template.py +157 -0
- tb_rest_client/models/models_pe/mobile_app_notification_delivery_method_config.py +182 -0
- tb_rest_client/models/models_pe/mobile_app_settings_id.py +113 -0
- tb_rest_client/models/models_pe/mobile_redirect_params.py +154 -0
- tb_rest_client/models/models_pe/mobile_self_registration_params.py +98 -0
- tb_rest_client/models/models_pe/mobile_session_info.py +124 -0
- tb_rest_client/models/models_pe/model.py +162 -0
- tb_rest_client/models/models_pe/mqtt_device_profile_transport_configuration.py +286 -0
- tb_rest_client/models/models_pe/mqtt_device_transport_configuration.py +104 -0
- tb_rest_client/models/models_pe/new_platform_version_notification_rule_trigger_config.py +104 -0
- tb_rest_client/models/models_pe/no_sec_lw_m2_m_bootstrap_server_credential.py +440 -0
- tb_rest_client/models/models_pe/node_connection_info.py +185 -0
- tb_rest_client/models/models_pe/notification.py +402 -0
- tb_rest_client/models/models_pe/notification_delivery_method_config.py +134 -0
- tb_rest_client/models/models_pe/notification_id.py +162 -0
- tb_rest_client/models/models_pe/notification_info.py +185 -0
- tb_rest_client/models/models_pe/notification_request.py +417 -0
- tb_rest_client/models/models_pe/notification_request_config.py +124 -0
- tb_rest_client/models/models_pe/notification_request_id.py +162 -0
- tb_rest_client/models/models_pe/notification_request_preview.py +202 -0
- tb_rest_client/models/models_pe/notification_request_stats.py +202 -0
- tb_rest_client/models/models_pe/notification_rule_config.py +124 -0
- tb_rest_client/models/models_pe/notification_rule_id.py +162 -0
- tb_rest_client/models/models_pe/notification_rule_recipients_config.py +139 -0
- tb_rest_client/models/models_pe/notification_rule_trigger_config.py +135 -0
- tb_rest_client/models/models_pe/notification_template_config.py +125 -0
- tb_rest_client/models/models_pe/notification_template_id.py +162 -0
- tb_rest_client/models/models_pe/numeric_filter_predicate.py +162 -0
- tb_rest_client/models/models_pe/o_auth2_basic_mapper_config.py +381 -0
- tb_rest_client/models/models_pe/o_auth2_client_info.py +267 -0
- tb_rest_client/models/models_pe/o_auth2_client_registration_template.py +565 -0
- tb_rest_client/models/models_pe/o_auth2_client_registration_template_id.py +127 -0
- tb_rest_client/models/models_pe/o_auth2_custom_mapper_config.py +202 -0
- tb_rest_client/models/models_pe/o_auth2_domain_info.py +162 -0
- tb_rest_client/models/models_pe/o_auth2_info.py +183 -0
- tb_rest_client/models/models_pe/o_auth2_mapper_config.py +241 -0
- tb_rest_client/models/models_pe/o_auth2_mobile_info.py +156 -0
- tb_rest_client/models/models_pe/o_auth2_params_info.py +185 -0
- tb_rest_client/models/models_pe/o_auth2_registration_info.py +502 -0
- tb_rest_client/models/models_pe/object_attributes.py +410 -0
- tb_rest_client/models/models_pe/object_node.py +98 -0
- tb_rest_client/models/models_pe/originator_entity_owner_users_filter.py +104 -0
- tb_rest_client/models/models_pe/ota_package.py +576 -0
- tb_rest_client/models/models_pe/ota_package_id.py +162 -0
- tb_rest_client/models/models_pe/ota_package_info.py +550 -0
- tb_rest_client/models/models_pe/ota_package_ota_package_id_body.py +184 -0
- tb_rest_client/models/models_pe/other_configuration.py +364 -0
- tb_rest_client/models/models_pe/page_data_blob_entity_with_customer_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_contact_basedobject.py +210 -0
- tb_rest_client/models/models_pe/page_data_converter.py +210 -0
- tb_rest_client/models/models_pe/page_data_customer_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_edge.py +210 -0
- tb_rest_client/models/models_pe/page_data_edge_event.py +210 -0
- tb_rest_client/models/models_pe/page_data_edge_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_entity_group_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_entity_version.py +210 -0
- tb_rest_client/models/models_pe/page_data_entity_view_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_event_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_integration.py +210 -0
- tb_rest_client/models/models_pe/page_data_integration_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_ota_package_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_queue.py +210 -0
- tb_rest_client/models/models_pe/page_data_role.py +210 -0
- tb_rest_client/models/models_pe/page_data_rule_chain.py +210 -0
- tb_rest_client/models/models_pe/page_data_scheduler_event_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_short_entity_view.py +210 -0
- tb_rest_client/models/models_pe/page_data_user_email_info.py +210 -0
- tb_rest_client/models/models_pe/page_data_user_info.py +210 -0
- tb_rest_client/models/models_pe/palette.py +183 -0
- tb_rest_client/models/models_pe/palette_settings.py +152 -0
- tb_rest_client/models/models_pe/platform_two_fa_settings.py +257 -0
- tb_rest_client/models/models_pe/platform_users_notification_target_config.py +131 -0
- tb_rest_client/models/models_pe/power_saving_configuration.py +208 -0
- tb_rest_client/models/models_pe/processing_strategy.py +234 -0
- tb_rest_client/models/models_pe/proto_transport_payload_configuration.py +260 -0
- tb_rest_client/models/models_pe/psklw_m2_m_bootstrap_server_credential.py +440 -0
- tb_rest_client/models/models_pe/queue.py +410 -0
- tb_rest_client/models/models_pe/raw_data_event_filter.py +216 -0
- tb_rest_client/models/models_pe/relation_entity_type_filter.py +189 -0
- tb_rest_client/models/models_pe/relations_query_filter.py +350 -0
- tb_rest_client/models/models_pe/relations_search_parameters.py +284 -0
- tb_rest_client/models/models_pe/repeating_alarm_condition_spec.py +130 -0
- tb_rest_client/models/models_pe/report_config.py +381 -0
- tb_rest_client/models/models_pe/repository_settings.py +390 -0
- tb_rest_client/models/models_pe/repository_settings_info.py +150 -0
- tb_rest_client/models/models_pe/reset_password_email_request.py +126 -0
- tb_rest_client/models/models_pe/reset_password_request.py +154 -0
- tb_rest_client/models/models_pe/resource.py +306 -0
- tb_rest_client/models/models_pe/response_entity.py +182 -0
- tb_rest_client/models/models_pe/role.py +371 -0
- tb_rest_client/models/models_pe/role_id.py +162 -0
- tb_rest_client/models/models_pe/rpc.py +344 -0
- tb_rest_client/models/models_pe/rpc_id.py +162 -0
- tb_rest_client/models/models_pe/rpklw_m2_m_bootstrap_server_credential.py +440 -0
- tb_rest_client/models/models_pe/rule_chain.py +402 -0
- tb_rest_client/models/models_pe/rule_chain_connection_info.py +210 -0
- tb_rest_client/models/models_pe/rule_chain_data.py +156 -0
- tb_rest_client/models/models_pe/rule_chain_debug_event_filter.py +240 -0
- tb_rest_client/models/models_pe/rule_chain_export_data.py +156 -0
- tb_rest_client/models/models_pe/rule_chain_id.py +162 -0
- tb_rest_client/models/models_pe/rule_chain_import_result.py +202 -0
- tb_rest_client/models/models_pe/rule_chain_meta_data.py +269 -0
- tb_rest_client/models/models_pe/rule_chain_output_labels_usage.py +239 -0
- tb_rest_client/models/models_pe/rule_engine_component_lifecycle_event_notification_rule_trigger_config.py +274 -0
- tb_rest_client/models/models_pe/rule_node.py +424 -0
- tb_rest_client/models/models_pe/rule_node_debug_event_filter.py +448 -0
- tb_rest_client/models/models_pe/rule_node_id.py +162 -0
- tb_rest_client/models/models_pe/save_device_with_credentials_request.py +152 -0
- tb_rest_client/models/models_pe/save_ota_package_info_request.py +578 -0
- tb_rest_client/models/models_pe/scheduler_event.py +444 -0
- tb_rest_client/models/models_pe/scheduler_event_filter.py +156 -0
- tb_rest_client/models/models_pe/scheduler_event_id.py +162 -0
- tb_rest_client/models/models_pe/scheduler_event_info.py +418 -0
- tb_rest_client/models/models_pe/scheduler_event_with_customer_info.py +474 -0
- tb_rest_client/models/models_pe/security_settings.py +266 -0
- tb_rest_client/models/models_pe/self_registration_params.py +630 -0
- tb_rest_client/models/models_pe/share_group_request.py +235 -0
- tb_rest_client/models/models_pe/shared_attributes_setting_snmp_communication_config.py +130 -0
- tb_rest_client/models/models_pe/short_customer_info.py +204 -0
- tb_rest_client/models/models_pe/short_entity_view.py +154 -0
- tb_rest_client/models/models_pe/sign_up_field.py +184 -0
- tb_rest_client/models/models_pe/sign_up_request.py +294 -0
- tb_rest_client/models/models_pe/sign_up_self_registration_params.py +266 -0
- tb_rest_client/models/models_pe/simple_alarm_condition_spec.py +104 -0
- tb_rest_client/models/models_pe/single_entity_filter.py +130 -0
- tb_rest_client/models/models_pe/single_entity_version_create_request.py +156 -0
- tb_rest_client/models/models_pe/single_entity_version_load_request.py +182 -0
- tb_rest_client/models/models_pe/slack_conversation.py +263 -0
- tb_rest_client/models/models_pe/slack_delivery_method_notification_template.py +104 -0
- tb_rest_client/models/models_pe/slack_notification_delivery_method_config.py +131 -0
- tb_rest_client/models/models_pe/slack_notification_target_config.py +163 -0
- tb_rest_client/models/models_pe/smpp_sms_provider_configuration.py +541 -0
- tb_rest_client/models/models_pe/sms_delivery_method_notification_template.py +104 -0
- tb_rest_client/models/models_pe/sms_provider_configuration.py +135 -0
- tb_rest_client/models/models_pe/sms_two_fa_account_config.py +131 -0
- tb_rest_client/models/models_pe/sms_two_fa_provider_config.py +157 -0
- tb_rest_client/models/models_pe/snmp_communication_config.py +142 -0
- tb_rest_client/models/models_pe/snmp_device_profile_transport_configuration.py +182 -0
- tb_rest_client/models/models_pe/snmp_device_transport_configuration.py +434 -0
- tb_rest_client/models/models_pe/snmp_mapping.py +182 -0
- tb_rest_client/models/models_pe/solution_install_response.py +260 -0
- tb_rest_client/models/models_pe/specific_time_schedule.py +208 -0
- tb_rest_client/models/models_pe/starred_dashboard_info.py +182 -0
- tb_rest_client/models/models_pe/state_entity_owner_filter.py +130 -0
- tb_rest_client/models/models_pe/statistics_event_filter.py +244 -0
- tb_rest_client/models/models_pe/string_filter_predicate.py +188 -0
- tb_rest_client/models/models_pe/submit_strategy.py +156 -0
- tb_rest_client/models/models_pe/subscription_usage.py +540 -0
- tb_rest_client/models/models_pe/system_administrators_filter.py +104 -0
- tb_rest_client/models/models_pe/system_info.py +152 -0
- tb_rest_client/models/models_pe/system_info_data.py +322 -0
- tb_rest_client/models/models_pe/task_processing_failure_notification_rule_trigger_config.py +98 -0
- tb_rest_client/models/models_pe/tb_image_delete_result.py +176 -0
- tb_rest_client/models/models_pe/tb_resource.py +594 -0
- tb_rest_client/models/models_pe/tb_resource_id.py +162 -0
- tb_rest_client/models/models_pe/tb_resource_info.py +540 -0
- tb_rest_client/models/models_pe/telemetry_entity_view.py +154 -0
- tb_rest_client/models/models_pe/telemetry_mapping_configuration.py +228 -0
- tb_rest_client/models/models_pe/telemetry_querying_snmp_communication_config.py +156 -0
- tb_rest_client/models/models_pe/tenant_administrators_filter.py +156 -0
- tb_rest_client/models/models_pe/tenant_profile_configuration.py +133 -0
- tb_rest_client/models/models_pe/tenant_profile_data.py +154 -0
- tb_rest_client/models/models_pe/tenant_profile_id.py +162 -0
- tb_rest_client/models/models_pe/tenant_profile_queue_configuration.py +332 -0
- tb_rest_client/models/models_pe/tenant_solution_template_details.py +376 -0
- tb_rest_client/models/models_pe/tenant_solution_template_info.py +440 -0
- tb_rest_client/models/models_pe/tenant_solution_template_instructions.py +232 -0
- tb_rest_client/models/models_pe/test_sms_request.py +182 -0
- tb_rest_client/models/models_pe/thingsboard_credentials_expired_response.py +238 -0
- tb_rest_client/models/models_pe/thingsboard_error_response.py +210 -0
- tb_rest_client/models/models_pe/to_device_rpc_request_snmp_communication_config.py +130 -0
- tb_rest_client/models/models_pe/totp_two_fa_account_config.py +131 -0
- tb_rest_client/models/models_pe/totp_two_fa_provider_config.py +131 -0
- tb_rest_client/models/models_pe/translation_info.py +238 -0
- tb_rest_client/models/models_pe/transport_payload_type_configuration.py +134 -0
- tb_rest_client/models/models_pe/ts_value.py +176 -0
- tb_rest_client/models/models_pe/twilio_sms_provider_configuration.py +188 -0
- tb_rest_client/models/models_pe/two_fa_account_config.py +162 -0
- tb_rest_client/models/models_pe/two_fa_account_config_update_request.py +124 -0
- tb_rest_client/models/models_pe/two_fa_provider_config.py +136 -0
- tb_rest_client/models/models_pe/two_fa_provider_info.py +234 -0
- tb_rest_client/models/models_pe/update_message.py +266 -0
- tb_rest_client/models/models_pe/user.py +484 -0
- tb_rest_client/models/models_pe/user_dashboards_info.py +154 -0
- tb_rest_client/models/models_pe/user_email_info.py +208 -0
- tb_rest_client/models/models_pe/user_group_list_filter.py +131 -0
- tb_rest_client/models/models_pe/user_id.py +162 -0
- tb_rest_client/models/models_pe/user_info.py +540 -0
- tb_rest_client/models/models_pe/user_list_filter.py +131 -0
- tb_rest_client/models/models_pe/user_password_policy.py +378 -0
- tb_rest_client/models/models_pe/user_role_filter.py +131 -0
- tb_rest_client/models/models_pe/users_filter.py +142 -0
- tb_rest_client/models/models_pe/v2_captcha_params.py +98 -0
- tb_rest_client/models/models_pe/v3_captcha_params.py +98 -0
- tb_rest_client/models/models_pe/vendor.py +150 -0
- tb_rest_client/models/models_pe/version_create_config.py +228 -0
- tb_rest_client/models/models_pe/version_create_request.py +191 -0
- tb_rest_client/models/models_pe/version_creation_result.py +254 -0
- tb_rest_client/models/models_pe/version_load_config.py +254 -0
- tb_rest_client/models/models_pe/version_load_request.py +165 -0
- tb_rest_client/models/models_pe/version_load_result.py +176 -0
- tb_rest_client/models/models_pe/versioned_entity_info.py +150 -0
- tb_rest_client/models/models_pe/web_delivery_method_notification_template.py +157 -0
- tb_rest_client/models/models_pe/web_self_registration_params.py +98 -0
- tb_rest_client/models/models_pe/white_labeling.py +234 -0
- tb_rest_client/models/models_pe/white_labeling_params.py +486 -0
- tb_rest_client/models/models_pe/widget_type.py +342 -0
- tb_rest_client/models/models_pe/widget_type_details.py +426 -0
- tb_rest_client/models/models_pe/widget_type_export_data.py +130 -0
- tb_rest_client/models/models_pe/widget_type_id.py +162 -0
- tb_rest_client/models/models_pe/widget_type_info.py +428 -0
- tb_rest_client/models/models_pe/widgets_bundle_export_data.py +182 -0
- tb_rest_client/models/models_pe/widgets_bundle_id.py +162 -0
- tb_rest_client/models/models_pe/x509_certificate_chain_provision_configuration.py +156 -0
- tb_rest_client/models/models_pe/x509_lw_m2_m_bootstrap_server_credential.py +440 -0
- tb_rest_client/rest.py +342 -0
- tb_rest_client/rest_client_base.py +2193 -0
- tb_rest_client/rest_client_ce.py +1284 -0
- tb_rest_client/rest_client_pe.py +1910 -0
- tb_rest_client-3.9.0.dist-info/LICENSE +201 -0
- tb_rest_client-3.9.0.dist-info/METADATA +80 -0
- tb_rest_client-3.9.0.dist-info/RECORD +1111 -0
- tb_rest_client-3.9.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
ThingsBoard REST API
|
|
5
|
+
|
|
6
|
+
ThingsBoard open-source IoT platform REST API documentation. # noqa: E501
|
|
7
|
+
|
|
8
|
+
OpenAPI spec version: 3.9.0
|
|
9
|
+
Contact: info@thingsboard.io
|
|
10
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
# Copyright 2025. ThingsBoard
|
|
14
|
+
#
|
|
15
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
+
# you may not use this file except in compliance with the License.
|
|
17
|
+
# You may obtain a copy of the License at
|
|
18
|
+
#
|
|
19
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
+
#
|
|
21
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
22
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
+
# See the License for the specific language governing permissions and
|
|
25
|
+
# limitations under the License.
|
|
26
|
+
|
|
27
|
+
from __future__ import absolute_import
|
|
28
|
+
|
|
29
|
+
import re # noqa: F401
|
|
30
|
+
|
|
31
|
+
# python 2 and python 3 compatibility library
|
|
32
|
+
import six
|
|
33
|
+
|
|
34
|
+
from tb_rest_client.api_client import ApiClient
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class EntityQueryControllerApi(object):
|
|
38
|
+
"""NOTE: This class is auto generated by the swagger code generator program.
|
|
39
|
+
|
|
40
|
+
Do not edit the class manually.
|
|
41
|
+
Ref: https://github.com/swagger-api/swagger-codegen
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
def __init__(self, api_client=None):
|
|
45
|
+
if api_client is None:
|
|
46
|
+
api_client = ApiClient()
|
|
47
|
+
self.api_client = api_client
|
|
48
|
+
|
|
49
|
+
def count_alarms_by_query_using_post(self, **kwargs): # noqa: E501
|
|
50
|
+
"""Count Alarms by Query (countAlarmsByQuery) # noqa: E501
|
|
51
|
+
|
|
52
|
+
Returns the number of alarms that match the query definition. # noqa: E501
|
|
53
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
54
|
+
asynchronous HTTP request, please pass async_req=True
|
|
55
|
+
>>> thread = api.count_alarms_by_query_using_post(async_req=True)
|
|
56
|
+
>>> result = thread.get()
|
|
57
|
+
|
|
58
|
+
:param async_req bool
|
|
59
|
+
:param AlarmCountQuery body:
|
|
60
|
+
:return: int
|
|
61
|
+
If the method is called asynchronously,
|
|
62
|
+
returns the request thread.
|
|
63
|
+
"""
|
|
64
|
+
kwargs['_return_http_data_only'] = True
|
|
65
|
+
if kwargs.get('async_req'):
|
|
66
|
+
return self.count_alarms_by_query_using_post_with_http_info(**kwargs) # noqa: E501
|
|
67
|
+
else:
|
|
68
|
+
(data) = self.count_alarms_by_query_using_post_with_http_info(**kwargs) # noqa: E501
|
|
69
|
+
return data
|
|
70
|
+
|
|
71
|
+
def count_alarms_by_query_using_post_with_http_info(self, **kwargs): # noqa: E501
|
|
72
|
+
"""Count Alarms by Query (countAlarmsByQuery) # noqa: E501
|
|
73
|
+
|
|
74
|
+
Returns the number of alarms that match the query definition. # noqa: E501
|
|
75
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
76
|
+
asynchronous HTTP request, please pass async_req=True
|
|
77
|
+
>>> thread = api.count_alarms_by_query_using_post_with_http_info(async_req=True)
|
|
78
|
+
>>> result = thread.get()
|
|
79
|
+
|
|
80
|
+
:param async_req bool
|
|
81
|
+
:param AlarmCountQuery body:
|
|
82
|
+
:return: int
|
|
83
|
+
If the method is called asynchronously,
|
|
84
|
+
returns the request thread.
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
all_params = ['body'] # noqa: E501
|
|
88
|
+
all_params.append('async_req')
|
|
89
|
+
all_params.append('_return_http_data_only')
|
|
90
|
+
all_params.append('_preload_content')
|
|
91
|
+
all_params.append('_request_timeout')
|
|
92
|
+
|
|
93
|
+
params = locals()
|
|
94
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
95
|
+
if key not in all_params:
|
|
96
|
+
raise TypeError(
|
|
97
|
+
"Got an unexpected keyword argument '%s'"
|
|
98
|
+
" to method count_alarms_by_query_using_post" % key
|
|
99
|
+
)
|
|
100
|
+
params[key] = val
|
|
101
|
+
del params['kwargs']
|
|
102
|
+
|
|
103
|
+
collection_formats = {}
|
|
104
|
+
|
|
105
|
+
path_params = {}
|
|
106
|
+
|
|
107
|
+
query_params = []
|
|
108
|
+
|
|
109
|
+
header_params = {}
|
|
110
|
+
|
|
111
|
+
form_params = []
|
|
112
|
+
local_var_files = {}
|
|
113
|
+
|
|
114
|
+
body_params = None
|
|
115
|
+
if 'body' in params:
|
|
116
|
+
body_params = params['body']
|
|
117
|
+
# HTTP header `Accept`
|
|
118
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
119
|
+
['application/json']) # noqa: E501
|
|
120
|
+
|
|
121
|
+
# HTTP header `Content-Type`
|
|
122
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
123
|
+
['application/json']) # noqa: E501
|
|
124
|
+
|
|
125
|
+
# Authentication setting
|
|
126
|
+
auth_settings = ['X-Authorization'] # noqa: E501
|
|
127
|
+
|
|
128
|
+
return self.api_client.call_api(
|
|
129
|
+
'/api/alarmsQuery/count', 'POST',
|
|
130
|
+
path_params,
|
|
131
|
+
query_params,
|
|
132
|
+
header_params,
|
|
133
|
+
body=body_params,
|
|
134
|
+
post_params=form_params,
|
|
135
|
+
files=local_var_files,
|
|
136
|
+
response_type='int', # noqa: E501
|
|
137
|
+
auth_settings=auth_settings,
|
|
138
|
+
async_req=params.get('async_req'),
|
|
139
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
140
|
+
_preload_content=params.get('_preload_content', True),
|
|
141
|
+
_request_timeout=params.get('_request_timeout'),
|
|
142
|
+
collection_formats=collection_formats)
|
|
143
|
+
|
|
144
|
+
def count_entities_by_query_using_post(self, **kwargs): # noqa: E501
|
|
145
|
+
"""Count Entities by Query # noqa: E501
|
|
146
|
+
|
|
147
|
+
Allows to run complex queries to search the count of platform entities (devices, assets, customers, etc) based on the combination of main entity filter and multiple key filters. Returns the number of entities that match the query definition. # Query Definition Main **entity filter** is mandatory and defines generic search criteria. For example, \"find all devices with profile 'Moisture Sensor'\" or \"Find all devices related to asset 'Building A'\" Optional **key filters** allow to filter results of the entity filter by complex criteria against main entity fields (name, label, type, etc), attributes and telemetry. For example, \"temperature > 20 or temperature< 10\" or \"name starts with 'T', and attribute 'model' is 'T1000', and timeseries field 'batteryLevel' > 40\". Let's review the example: ```json { \"entityFilter\": { \"type\": \"entityType\", \"entityType\": \"DEVICE\" }, \"keyFilters\": [ { \"key\": { \"type\": \"ATTRIBUTE\", \"key\": \"active\" }, \"valueType\": \"BOOLEAN\", \"predicate\": { \"operation\": \"EQUAL\", \"value\": { \"defaultValue\": true, \"dynamicValue\": null }, \"type\": \"BOOLEAN\" } } ] } ``` Example mentioned above search all devices which have attribute 'active' set to 'true'. Now let's review available entity filters and key filters syntax: # Entity Filters Entity Filter body depends on the 'type' parameter. Let's review available entity filter types. In fact, they do correspond to available dashboard aliases. ## Single Entity Allows to filter only one entity based on the id. For example, this entity filter selects certain device: ```json { \"type\": \"singleEntity\", \"singleEntity\": { \"id\": \"d521edb0-2a7a-11ec-94eb-213c95f54092\", \"entityType\": \"DEVICE\" } } ``` ## Entity List Filter Allows to filter entities of the same type using their ids. For example, this entity filter selects two devices: ```json { \"type\": \"entityList\", \"entityType\": \"DEVICE\", \"entityList\": [ \"e6501f30-2a7a-11ec-94eb-213c95f54092\", \"e6657bf0-2a7a-11ec-94eb-213c95f54092\" ] } ``` ## Entity Name Filter Allows to filter entities of the same type using the **'starts with'** expression over entity name. For example, this entity filter selects all devices which name starts with 'Air Quality': ```json { \"type\": \"entityName\", \"entityType\": \"DEVICE\", \"entityNameFilter\": \"Air Quality\" } ``` ## Entity Type Filter Allows to filter entities based on their type (CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, etc)For example, this entity filter selects all tenant customers: ```json { \"type\": \"entityType\", \"entityType\": \"CUSTOMER\" } ``` ## Asset Type Filter Allows to filter assets based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'charging station' assets which name starts with 'Tesla': ```json { \"type\": \"assetType\", \"assetType\": \"charging station\", \"assetNameFilter\": \"Tesla\" } ``` ## Device Type Filter Allows to filter devices based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Temperature Sensor' devices which name starts with 'ABC': ```json { \"type\": \"deviceType\", \"deviceType\": \"Temperature Sensor\", \"deviceNameFilter\": \"ABC\" } ``` ## Edge Type Filter Allows to filter edge instances based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Factory' edge instances which name starts with 'Nevada': ```json { \"type\": \"edgeType\", \"edgeType\": \"Factory\", \"edgeNameFilter\": \"Nevada\" } ``` ## Entity View Filter Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': ```json { \"type\": \"entityViewType\", \"entityViewType\": \"Concrete Mixer\", \"entityViewNameFilter\": \"CAT\" } ``` ## Api Usage Filter Allows to query for Api Usage based on optional customer id. If the customer id is not set, returns current tenant API usage.For example, this entity filter selects the 'Api Usage' entity for customer with id 'e6501f30-2a7a-11ec-94eb-213c95f54092': ```json { \"type\": \"apiUsageState\", \"customerId\": { \"id\": \"d521edb0-2a7a-11ec-94eb-213c95f54092\", \"entityType\": \"CUSTOMER\" } } ``` ## Relations Query Filter Allows to filter entities that are related to the provided root entity. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'filter' object allows you to define the relation type and set of acceptable entity types to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only those who match the 'filters'. For example, this entity filter selects all devices and assets which are related to the asset with id 'e51de0c0-2a7a-11ec-94eb-213c95f54092': ```json { \"type\": \"relationsQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e51de0c0-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"filters\": [ { \"relationType\": \"Contains\", \"entityTypes\": [ \"DEVICE\", \"ASSET\" ] } ] } ``` ## Asset Search Query Allows to filter assets that are related to the provided root entity. Filters related assets based on the relation type and set of asset types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'assetTypes' defines the type of the asset to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only assets that match 'relationType' and 'assetTypes' conditions. For example, this entity filter selects 'charging station' assets which are related to the asset with id 'e51de0c0-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"assetSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e51de0c0-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"relationType\": \"Contains\", \"assetTypes\": [ \"charging station\" ] } ``` ## Device Search Query Allows to filter devices that are related to the provided root entity. Filters related devices based on the relation type and set of device types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'deviceTypes' defines the type of the device to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Charging port' and 'Air Quality Sensor' devices which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"deviceSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 2, \"fetchLastLevelOnly\": true, \"relationType\": \"Contains\", \"deviceTypes\": [ \"Air Quality Sensor\", \"Charging port\" ] } ``` ## Entity View Query Allows to filter entity views that are related to the provided root entity. Filters related entity views based on the relation type and set of entity view types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'entityViewTypes' defines the type of the entity view to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Concrete mixer' entity views which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"entityViewSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"relationType\": \"Contains\", \"entityViewTypes\": [ \"Concrete mixer\" ] } ``` ## Edge Search Query Allows to filter edge instances that are related to the provided root entity. Filters related edge instances based on the relation type and set of edge types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'deviceTypes' defines the type of the device to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Factory' edge instances which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"deviceSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 2, \"fetchLastLevelOnly\": true, \"relationType\": \"Contains\", \"edgeTypes\": [ \"Factory\" ] } ``` # Key Filters Key Filter allows you to define complex logical expressions over entity field, attribute or latest time-series value. The filter is defined using 'key', 'valueType' and 'predicate' objects. Single Entity Query may have zero, one or multiple predicates. If multiple filters are defined, they are evaluated using logical 'AND'. The example below checks that temperature of the entity is above 20 degrees: ```json { \"key\": { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" }, \"valueType\": \"NUMERIC\", \"predicate\": { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 20, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } } ``` Now let's review 'key', 'valueType' and 'predicate' objects in detail. ## Filter Key Filter Key defines either entity field, attribute or telemetry. It is a JSON object that consists the key name and type. The following filter key types are supported: * 'CLIENT_ATTRIBUTE' - used for client attributes; * 'SHARED_ATTRIBUTE' - used for shared attributes; * 'SERVER_ATTRIBUTE' - used for server attributes; * 'ATTRIBUTE' - used for any of the above; * 'TIME_SERIES' - used for time-series values; * 'ENTITY_FIELD' - used for accessing entity fields like 'name', 'label', etc. The list of available fields depends on the entity type; * 'ALARM_FIELD' - similar to entity field, but is used in alarm queries only; Let's review the example: ```json { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" } ``` ## Value Type and Operations Provides a hint about the data type of the entity field that is defined in the filter key. The value type impacts the list of possible operations that you may use in the corresponding predicate. For example, you may use 'STARTS_WITH' or 'END_WITH', but you can't use 'GREATER_OR_EQUAL' for string values.The following filter value types and corresponding predicate operations are supported: * 'STRING' - used to filter any 'String' or 'JSON' values. Operations: EQUAL, NOT_EQUAL, STARTS_WITH, ENDS_WITH, CONTAINS, NOT_CONTAINS; * 'NUMERIC' - used for 'Long' and 'Double' values. Operations: EQUAL, NOT_EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL; * 'BOOLEAN' - used for boolean values. Operations: EQUAL, NOT_EQUAL; * 'DATE_TIME' - similar to numeric, transforms value to milliseconds since epoch. Operations: EQUAL, NOT_EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL; ## Filter Predicate Filter Predicate defines the logical expression to evaluate. The list of available operations depends on the filter value type, see above. Platform supports 4 predicate types: 'STRING', 'NUMERIC', 'BOOLEAN' and 'COMPLEX'. The last one allows to combine multiple operations over one filter key. Simple predicate example to check 'value < 100': ```json { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 100, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ``` Complex predicate example, to check 'value < 10 or value > 20': ```json { \"type\": \"COMPLEX\", \"operation\": \"OR\", \"predicates\": [ { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 10, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 20, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ] } ``` More complex predicate example, to check 'value < 10 or (value > 50 && value < 60)': ```json { \"type\": \"COMPLEX\", \"operation\": \"OR\", \"predicates\": [ { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 10, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"type\": \"COMPLEX\", \"operation\": \"AND\", \"predicates\": [ { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 50, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 60, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ] } ] } ``` You may also want to replace hardcoded values (for example, temperature > 20) with the more dynamic expression (for example, temperature > 'value of the tenant attribute with key 'temperatureThreshold'). It is possible to use 'dynamicValue' to define attribute of the tenant, customer or user that is performing the API call. See example below: ```json { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 0, \"dynamicValue\": { \"sourceType\": \"CURRENT_USER\", \"sourceAttribute\": \"temperatureThreshold\" } }, \"type\": \"NUMERIC\" } ``` Note that you may use 'CURRENT_USER', 'CURRENT_CUSTOMER' and 'CURRENT_TENANT' as a 'sourceType'. The 'defaultValue' is used when the attribute with such a name is not defined for the chosen source. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. # noqa: E501
|
|
148
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
149
|
+
asynchronous HTTP request, please pass async_req=True
|
|
150
|
+
>>> thread = api.count_entities_by_query_using_post(async_req=True)
|
|
151
|
+
>>> result = thread.get()
|
|
152
|
+
|
|
153
|
+
:param async_req bool
|
|
154
|
+
:param EntityCountQuery body:
|
|
155
|
+
:return: int
|
|
156
|
+
If the method is called asynchronously,
|
|
157
|
+
returns the request thread.
|
|
158
|
+
"""
|
|
159
|
+
kwargs['_return_http_data_only'] = True
|
|
160
|
+
if kwargs.get('async_req'):
|
|
161
|
+
return self.count_entities_by_query_using_post_with_http_info(**kwargs) # noqa: E501
|
|
162
|
+
else:
|
|
163
|
+
(data) = self.count_entities_by_query_using_post_with_http_info(**kwargs) # noqa: E501
|
|
164
|
+
return data
|
|
165
|
+
|
|
166
|
+
def count_entities_by_query_using_post_with_http_info(self, **kwargs): # noqa: E501
|
|
167
|
+
"""Count Entities by Query # noqa: E501
|
|
168
|
+
|
|
169
|
+
Allows to run complex queries to search the count of platform entities (devices, assets, customers, etc) based on the combination of main entity filter and multiple key filters. Returns the number of entities that match the query definition. # Query Definition Main **entity filter** is mandatory and defines generic search criteria. For example, \"find all devices with profile 'Moisture Sensor'\" or \"Find all devices related to asset 'Building A'\" Optional **key filters** allow to filter results of the entity filter by complex criteria against main entity fields (name, label, type, etc), attributes and telemetry. For example, \"temperature > 20 or temperature< 10\" or \"name starts with 'T', and attribute 'model' is 'T1000', and timeseries field 'batteryLevel' > 40\". Let's review the example: ```json { \"entityFilter\": { \"type\": \"entityType\", \"entityType\": \"DEVICE\" }, \"keyFilters\": [ { \"key\": { \"type\": \"ATTRIBUTE\", \"key\": \"active\" }, \"valueType\": \"BOOLEAN\", \"predicate\": { \"operation\": \"EQUAL\", \"value\": { \"defaultValue\": true, \"dynamicValue\": null }, \"type\": \"BOOLEAN\" } } ] } ``` Example mentioned above search all devices which have attribute 'active' set to 'true'. Now let's review available entity filters and key filters syntax: # Entity Filters Entity Filter body depends on the 'type' parameter. Let's review available entity filter types. In fact, they do correspond to available dashboard aliases. ## Single Entity Allows to filter only one entity based on the id. For example, this entity filter selects certain device: ```json { \"type\": \"singleEntity\", \"singleEntity\": { \"id\": \"d521edb0-2a7a-11ec-94eb-213c95f54092\", \"entityType\": \"DEVICE\" } } ``` ## Entity List Filter Allows to filter entities of the same type using their ids. For example, this entity filter selects two devices: ```json { \"type\": \"entityList\", \"entityType\": \"DEVICE\", \"entityList\": [ \"e6501f30-2a7a-11ec-94eb-213c95f54092\", \"e6657bf0-2a7a-11ec-94eb-213c95f54092\" ] } ``` ## Entity Name Filter Allows to filter entities of the same type using the **'starts with'** expression over entity name. For example, this entity filter selects all devices which name starts with 'Air Quality': ```json { \"type\": \"entityName\", \"entityType\": \"DEVICE\", \"entityNameFilter\": \"Air Quality\" } ``` ## Entity Type Filter Allows to filter entities based on their type (CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, etc)For example, this entity filter selects all tenant customers: ```json { \"type\": \"entityType\", \"entityType\": \"CUSTOMER\" } ``` ## Asset Type Filter Allows to filter assets based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'charging station' assets which name starts with 'Tesla': ```json { \"type\": \"assetType\", \"assetType\": \"charging station\", \"assetNameFilter\": \"Tesla\" } ``` ## Device Type Filter Allows to filter devices based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Temperature Sensor' devices which name starts with 'ABC': ```json { \"type\": \"deviceType\", \"deviceType\": \"Temperature Sensor\", \"deviceNameFilter\": \"ABC\" } ``` ## Edge Type Filter Allows to filter edge instances based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Factory' edge instances which name starts with 'Nevada': ```json { \"type\": \"edgeType\", \"edgeType\": \"Factory\", \"edgeNameFilter\": \"Nevada\" } ``` ## Entity View Filter Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': ```json { \"type\": \"entityViewType\", \"entityViewType\": \"Concrete Mixer\", \"entityViewNameFilter\": \"CAT\" } ``` ## Api Usage Filter Allows to query for Api Usage based on optional customer id. If the customer id is not set, returns current tenant API usage.For example, this entity filter selects the 'Api Usage' entity for customer with id 'e6501f30-2a7a-11ec-94eb-213c95f54092': ```json { \"type\": \"apiUsageState\", \"customerId\": { \"id\": \"d521edb0-2a7a-11ec-94eb-213c95f54092\", \"entityType\": \"CUSTOMER\" } } ``` ## Relations Query Filter Allows to filter entities that are related to the provided root entity. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'filter' object allows you to define the relation type and set of acceptable entity types to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only those who match the 'filters'. For example, this entity filter selects all devices and assets which are related to the asset with id 'e51de0c0-2a7a-11ec-94eb-213c95f54092': ```json { \"type\": \"relationsQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e51de0c0-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"filters\": [ { \"relationType\": \"Contains\", \"entityTypes\": [ \"DEVICE\", \"ASSET\" ] } ] } ``` ## Asset Search Query Allows to filter assets that are related to the provided root entity. Filters related assets based on the relation type and set of asset types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'assetTypes' defines the type of the asset to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only assets that match 'relationType' and 'assetTypes' conditions. For example, this entity filter selects 'charging station' assets which are related to the asset with id 'e51de0c0-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"assetSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e51de0c0-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"relationType\": \"Contains\", \"assetTypes\": [ \"charging station\" ] } ``` ## Device Search Query Allows to filter devices that are related to the provided root entity. Filters related devices based on the relation type and set of device types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'deviceTypes' defines the type of the device to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Charging port' and 'Air Quality Sensor' devices which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"deviceSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 2, \"fetchLastLevelOnly\": true, \"relationType\": \"Contains\", \"deviceTypes\": [ \"Air Quality Sensor\", \"Charging port\" ] } ``` ## Entity View Query Allows to filter entity views that are related to the provided root entity. Filters related entity views based on the relation type and set of entity view types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'entityViewTypes' defines the type of the entity view to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Concrete mixer' entity views which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"entityViewSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"relationType\": \"Contains\", \"entityViewTypes\": [ \"Concrete mixer\" ] } ``` ## Edge Search Query Allows to filter edge instances that are related to the provided root entity. Filters related edge instances based on the relation type and set of edge types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'deviceTypes' defines the type of the device to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Factory' edge instances which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"deviceSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 2, \"fetchLastLevelOnly\": true, \"relationType\": \"Contains\", \"edgeTypes\": [ \"Factory\" ] } ``` # Key Filters Key Filter allows you to define complex logical expressions over entity field, attribute or latest time-series value. The filter is defined using 'key', 'valueType' and 'predicate' objects. Single Entity Query may have zero, one or multiple predicates. If multiple filters are defined, they are evaluated using logical 'AND'. The example below checks that temperature of the entity is above 20 degrees: ```json { \"key\": { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" }, \"valueType\": \"NUMERIC\", \"predicate\": { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 20, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } } ``` Now let's review 'key', 'valueType' and 'predicate' objects in detail. ## Filter Key Filter Key defines either entity field, attribute or telemetry. It is a JSON object that consists the key name and type. The following filter key types are supported: * 'CLIENT_ATTRIBUTE' - used for client attributes; * 'SHARED_ATTRIBUTE' - used for shared attributes; * 'SERVER_ATTRIBUTE' - used for server attributes; * 'ATTRIBUTE' - used for any of the above; * 'TIME_SERIES' - used for time-series values; * 'ENTITY_FIELD' - used for accessing entity fields like 'name', 'label', etc. The list of available fields depends on the entity type; * 'ALARM_FIELD' - similar to entity field, but is used in alarm queries only; Let's review the example: ```json { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" } ``` ## Value Type and Operations Provides a hint about the data type of the entity field that is defined in the filter key. The value type impacts the list of possible operations that you may use in the corresponding predicate. For example, you may use 'STARTS_WITH' or 'END_WITH', but you can't use 'GREATER_OR_EQUAL' for string values.The following filter value types and corresponding predicate operations are supported: * 'STRING' - used to filter any 'String' or 'JSON' values. Operations: EQUAL, NOT_EQUAL, STARTS_WITH, ENDS_WITH, CONTAINS, NOT_CONTAINS; * 'NUMERIC' - used for 'Long' and 'Double' values. Operations: EQUAL, NOT_EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL; * 'BOOLEAN' - used for boolean values. Operations: EQUAL, NOT_EQUAL; * 'DATE_TIME' - similar to numeric, transforms value to milliseconds since epoch. Operations: EQUAL, NOT_EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL; ## Filter Predicate Filter Predicate defines the logical expression to evaluate. The list of available operations depends on the filter value type, see above. Platform supports 4 predicate types: 'STRING', 'NUMERIC', 'BOOLEAN' and 'COMPLEX'. The last one allows to combine multiple operations over one filter key. Simple predicate example to check 'value < 100': ```json { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 100, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ``` Complex predicate example, to check 'value < 10 or value > 20': ```json { \"type\": \"COMPLEX\", \"operation\": \"OR\", \"predicates\": [ { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 10, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 20, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ] } ``` More complex predicate example, to check 'value < 10 or (value > 50 && value < 60)': ```json { \"type\": \"COMPLEX\", \"operation\": \"OR\", \"predicates\": [ { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 10, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"type\": \"COMPLEX\", \"operation\": \"AND\", \"predicates\": [ { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 50, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 60, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ] } ] } ``` You may also want to replace hardcoded values (for example, temperature > 20) with the more dynamic expression (for example, temperature > 'value of the tenant attribute with key 'temperatureThreshold'). It is possible to use 'dynamicValue' to define attribute of the tenant, customer or user that is performing the API call. See example below: ```json { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 0, \"dynamicValue\": { \"sourceType\": \"CURRENT_USER\", \"sourceAttribute\": \"temperatureThreshold\" } }, \"type\": \"NUMERIC\" } ``` Note that you may use 'CURRENT_USER', 'CURRENT_CUSTOMER' and 'CURRENT_TENANT' as a 'sourceType'. The 'defaultValue' is used when the attribute with such a name is not defined for the chosen source. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. # noqa: E501
|
|
170
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
171
|
+
asynchronous HTTP request, please pass async_req=True
|
|
172
|
+
>>> thread = api.count_entities_by_query_using_post_with_http_info(async_req=True)
|
|
173
|
+
>>> result = thread.get()
|
|
174
|
+
|
|
175
|
+
:param async_req bool
|
|
176
|
+
:param EntityCountQuery body:
|
|
177
|
+
:return: int
|
|
178
|
+
If the method is called asynchronously,
|
|
179
|
+
returns the request thread.
|
|
180
|
+
"""
|
|
181
|
+
|
|
182
|
+
all_params = ['body'] # noqa: E501
|
|
183
|
+
all_params.append('async_req')
|
|
184
|
+
all_params.append('_return_http_data_only')
|
|
185
|
+
all_params.append('_preload_content')
|
|
186
|
+
all_params.append('_request_timeout')
|
|
187
|
+
|
|
188
|
+
params = locals()
|
|
189
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
190
|
+
if key not in all_params:
|
|
191
|
+
raise TypeError(
|
|
192
|
+
"Got an unexpected keyword argument '%s'"
|
|
193
|
+
" to method count_entities_by_query_using_post" % key
|
|
194
|
+
)
|
|
195
|
+
params[key] = val
|
|
196
|
+
del params['kwargs']
|
|
197
|
+
|
|
198
|
+
collection_formats = {}
|
|
199
|
+
|
|
200
|
+
path_params = {}
|
|
201
|
+
|
|
202
|
+
query_params = []
|
|
203
|
+
|
|
204
|
+
header_params = {}
|
|
205
|
+
|
|
206
|
+
form_params = []
|
|
207
|
+
local_var_files = {}
|
|
208
|
+
|
|
209
|
+
body_params = None
|
|
210
|
+
if 'body' in params:
|
|
211
|
+
body_params = params['body']
|
|
212
|
+
# HTTP header `Accept`
|
|
213
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
214
|
+
['application/json']) # noqa: E501
|
|
215
|
+
|
|
216
|
+
# HTTP header `Content-Type`
|
|
217
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
218
|
+
['application/json']) # noqa: E501
|
|
219
|
+
|
|
220
|
+
# Authentication setting
|
|
221
|
+
auth_settings = ['X-Authorization'] # noqa: E501
|
|
222
|
+
|
|
223
|
+
return self.api_client.call_api(
|
|
224
|
+
'/api/entitiesQuery/count', 'POST',
|
|
225
|
+
path_params,
|
|
226
|
+
query_params,
|
|
227
|
+
header_params,
|
|
228
|
+
body=body_params,
|
|
229
|
+
post_params=form_params,
|
|
230
|
+
files=local_var_files,
|
|
231
|
+
response_type='int', # noqa: E501
|
|
232
|
+
auth_settings=auth_settings,
|
|
233
|
+
async_req=params.get('async_req'),
|
|
234
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
235
|
+
_preload_content=params.get('_preload_content', True),
|
|
236
|
+
_request_timeout=params.get('_request_timeout'),
|
|
237
|
+
collection_formats=collection_formats)
|
|
238
|
+
|
|
239
|
+
def find_alarm_data_by_query_using_post(self, **kwargs): # noqa: E501
|
|
240
|
+
"""Find Alarms by Query # noqa: E501
|
|
241
|
+
|
|
242
|
+
This method description defines how Alarm Data Query extends the Entity Data Query. See method 'Find Entity Data by Query' first to get the info about 'Entity Data Query'. The platform will first search the entities that match the entity and key filters. Then, the platform will use 'Alarm Page Link' to filter the alarms related to those entities. Finally, platform fetch the properties of alarm that are defined in the **'alarmFields'** and combine them with the other entity, attribute and latest time-series fields to return the result. See example of the alarm query below. The query will search first 100 active alarms with type 'Temperature Alarm' or 'Fire Alarm' for any device with current temperature > 0. The query will return combination of the entity fields: name of the device, device model and latest temperature reading and alarms fields: createdTime, type, severity and status: ```json { \"entityFilter\": { \"type\": \"entityType\", \"resolveMultiple\": true, \"entityType\": \"DEVICE\" }, \"pageLink\": { \"page\": 0, \"pageSize\": 100, \"textSearch\": null, \"searchPropagatedAlarms\": false, \"statusList\": [ \"ACTIVE\" ], \"severityList\": [ \"CRITICAL\", \"MAJOR\" ], \"typeList\": [ \"Temperature Alarm\", \"Fire Alarm\" ], \"sortOrder\": { \"key\": { \"key\": \"createdTime\", \"type\": \"ALARM_FIELD\" }, \"direction\": \"DESC\" }, \"timeWindow\": 86400000 }, \"keyFilters\": [ { \"key\": { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" }, \"valueType\": \"NUMERIC\", \"predicate\": { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 0, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } } ], \"alarmFields\": [ { \"type\": \"ALARM_FIELD\", \"key\": \"createdTime\" }, { \"type\": \"ALARM_FIELD\", \"key\": \"type\" }, { \"type\": \"ALARM_FIELD\", \"key\": \"severity\" }, { \"type\": \"ALARM_FIELD\", \"key\": \"status\" } ], \"entityFields\": [ { \"type\": \"ENTITY_FIELD\", \"key\": \"name\" } ], \"latestValues\": [ { \"type\": \"ATTRIBUTE\", \"key\": \"model\" }, { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" } ] } ``` # noqa: E501
|
|
243
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
244
|
+
asynchronous HTTP request, please pass async_req=True
|
|
245
|
+
>>> thread = api.find_alarm_data_by_query_using_post(async_req=True)
|
|
246
|
+
>>> result = thread.get()
|
|
247
|
+
|
|
248
|
+
:param async_req bool
|
|
249
|
+
:param AlarmDataQuery body:
|
|
250
|
+
:return: PageDataAlarmData
|
|
251
|
+
If the method is called asynchronously,
|
|
252
|
+
returns the request thread.
|
|
253
|
+
"""
|
|
254
|
+
kwargs['_return_http_data_only'] = True
|
|
255
|
+
if kwargs.get('async_req'):
|
|
256
|
+
return self.find_alarm_data_by_query_using_post_with_http_info(**kwargs) # noqa: E501
|
|
257
|
+
else:
|
|
258
|
+
(data) = self.find_alarm_data_by_query_using_post_with_http_info(**kwargs) # noqa: E501
|
|
259
|
+
return data
|
|
260
|
+
|
|
261
|
+
def find_alarm_data_by_query_using_post_with_http_info(self, **kwargs): # noqa: E501
|
|
262
|
+
"""Find Alarms by Query # noqa: E501
|
|
263
|
+
|
|
264
|
+
This method description defines how Alarm Data Query extends the Entity Data Query. See method 'Find Entity Data by Query' first to get the info about 'Entity Data Query'. The platform will first search the entities that match the entity and key filters. Then, the platform will use 'Alarm Page Link' to filter the alarms related to those entities. Finally, platform fetch the properties of alarm that are defined in the **'alarmFields'** and combine them with the other entity, attribute and latest time-series fields to return the result. See example of the alarm query below. The query will search first 100 active alarms with type 'Temperature Alarm' or 'Fire Alarm' for any device with current temperature > 0. The query will return combination of the entity fields: name of the device, device model and latest temperature reading and alarms fields: createdTime, type, severity and status: ```json { \"entityFilter\": { \"type\": \"entityType\", \"resolveMultiple\": true, \"entityType\": \"DEVICE\" }, \"pageLink\": { \"page\": 0, \"pageSize\": 100, \"textSearch\": null, \"searchPropagatedAlarms\": false, \"statusList\": [ \"ACTIVE\" ], \"severityList\": [ \"CRITICAL\", \"MAJOR\" ], \"typeList\": [ \"Temperature Alarm\", \"Fire Alarm\" ], \"sortOrder\": { \"key\": { \"key\": \"createdTime\", \"type\": \"ALARM_FIELD\" }, \"direction\": \"DESC\" }, \"timeWindow\": 86400000 }, \"keyFilters\": [ { \"key\": { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" }, \"valueType\": \"NUMERIC\", \"predicate\": { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 0, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } } ], \"alarmFields\": [ { \"type\": \"ALARM_FIELD\", \"key\": \"createdTime\" }, { \"type\": \"ALARM_FIELD\", \"key\": \"type\" }, { \"type\": \"ALARM_FIELD\", \"key\": \"severity\" }, { \"type\": \"ALARM_FIELD\", \"key\": \"status\" } ], \"entityFields\": [ { \"type\": \"ENTITY_FIELD\", \"key\": \"name\" } ], \"latestValues\": [ { \"type\": \"ATTRIBUTE\", \"key\": \"model\" }, { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" } ] } ``` # noqa: E501
|
|
265
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
266
|
+
asynchronous HTTP request, please pass async_req=True
|
|
267
|
+
>>> thread = api.find_alarm_data_by_query_using_post_with_http_info(async_req=True)
|
|
268
|
+
>>> result = thread.get()
|
|
269
|
+
|
|
270
|
+
:param async_req bool
|
|
271
|
+
:param AlarmDataQuery body:
|
|
272
|
+
:return: PageDataAlarmData
|
|
273
|
+
If the method is called asynchronously,
|
|
274
|
+
returns the request thread.
|
|
275
|
+
"""
|
|
276
|
+
|
|
277
|
+
all_params = ['body'] # noqa: E501
|
|
278
|
+
all_params.append('async_req')
|
|
279
|
+
all_params.append('_return_http_data_only')
|
|
280
|
+
all_params.append('_preload_content')
|
|
281
|
+
all_params.append('_request_timeout')
|
|
282
|
+
|
|
283
|
+
params = locals()
|
|
284
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
285
|
+
if key not in all_params:
|
|
286
|
+
raise TypeError(
|
|
287
|
+
"Got an unexpected keyword argument '%s'"
|
|
288
|
+
" to method find_alarm_data_by_query_using_post" % key
|
|
289
|
+
)
|
|
290
|
+
params[key] = val
|
|
291
|
+
del params['kwargs']
|
|
292
|
+
|
|
293
|
+
collection_formats = {}
|
|
294
|
+
|
|
295
|
+
path_params = {}
|
|
296
|
+
|
|
297
|
+
query_params = []
|
|
298
|
+
|
|
299
|
+
header_params = {}
|
|
300
|
+
|
|
301
|
+
form_params = []
|
|
302
|
+
local_var_files = {}
|
|
303
|
+
|
|
304
|
+
body_params = None
|
|
305
|
+
if 'body' in params:
|
|
306
|
+
body_params = params['body']
|
|
307
|
+
# HTTP header `Accept`
|
|
308
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
309
|
+
['application/json']) # noqa: E501
|
|
310
|
+
|
|
311
|
+
# HTTP header `Content-Type`
|
|
312
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
313
|
+
['application/json']) # noqa: E501
|
|
314
|
+
|
|
315
|
+
# Authentication setting
|
|
316
|
+
auth_settings = ['X-Authorization'] # noqa: E501
|
|
317
|
+
|
|
318
|
+
return self.api_client.call_api(
|
|
319
|
+
'/api/alarmsQuery/find', 'POST',
|
|
320
|
+
path_params,
|
|
321
|
+
query_params,
|
|
322
|
+
header_params,
|
|
323
|
+
body=body_params,
|
|
324
|
+
post_params=form_params,
|
|
325
|
+
files=local_var_files,
|
|
326
|
+
response_type='PageDataAlarmData', # noqa: E501
|
|
327
|
+
auth_settings=auth_settings,
|
|
328
|
+
async_req=params.get('async_req'),
|
|
329
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
330
|
+
_preload_content=params.get('_preload_content', True),
|
|
331
|
+
_request_timeout=params.get('_request_timeout'),
|
|
332
|
+
collection_formats=collection_formats)
|
|
333
|
+
|
|
334
|
+
def find_entity_data_by_query_using_post(self, **kwargs): # noqa: E501
|
|
335
|
+
"""Find Entity Data by Query # noqa: E501
|
|
336
|
+
|
|
337
|
+
Allows to run complex queries over platform entities (devices, assets, customers, etc) based on the combination of main entity filter and multiple key filters. Returns the paginated result of the query that contains requested entity fields and latest values of requested attributes and time-series data. # Query Definition Main **entity filter** is mandatory and defines generic search criteria. For example, \"find all devices with profile 'Moisture Sensor'\" or \"Find all devices related to asset 'Building A'\" Optional **key filters** allow to filter results of the **entity filter** by complex criteria against main entity fields (name, label, type, etc), attributes and telemetry. For example, \"temperature > 20 or temperature< 10\" or \"name starts with 'T', and attribute 'model' is 'T1000', and timeseries field 'batteryLevel' > 40\". The **entity fields** and **latest values** contains list of entity fields and latest attribute/telemetry fields to fetch for each entity. The **page link** contains information about the page to fetch and the sort ordering. Let's review the example: ```json { \"entityFilter\": { \"type\": \"entityType\", \"resolveMultiple\": true, \"entityType\": \"DEVICE\" }, \"keyFilters\": [ { \"key\": { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" }, \"valueType\": \"NUMERIC\", \"predicate\": { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 0, \"dynamicValue\": { \"sourceType\": \"CURRENT_USER\", \"sourceAttribute\": \"temperatureThreshold\", \"inherit\": false } }, \"type\": \"NUMERIC\" } } ], \"entityFields\": [ { \"type\": \"ENTITY_FIELD\", \"key\": \"name\" }, { \"type\": \"ENTITY_FIELD\", \"key\": \"label\" }, { \"type\": \"ENTITY_FIELD\", \"key\": \"additionalInfo\" } ], \"latestValues\": [ { \"type\": \"ATTRIBUTE\", \"key\": \"model\" }, { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" } ], \"pageLink\": { \"page\": 0, \"pageSize\": 10, \"sortOrder\": { \"key\": { \"key\": \"name\", \"type\": \"ENTITY_FIELD\" }, \"direction\": \"ASC\" } } } ``` Example mentioned above search all devices which have attribute 'active' set to 'true'. Now let's review available entity filters and key filters syntax: # Entity Filters Entity Filter body depends on the 'type' parameter. Let's review available entity filter types. In fact, they do correspond to available dashboard aliases. ## Single Entity Allows to filter only one entity based on the id. For example, this entity filter selects certain device: ```json { \"type\": \"singleEntity\", \"singleEntity\": { \"id\": \"d521edb0-2a7a-11ec-94eb-213c95f54092\", \"entityType\": \"DEVICE\" } } ``` ## Entity List Filter Allows to filter entities of the same type using their ids. For example, this entity filter selects two devices: ```json { \"type\": \"entityList\", \"entityType\": \"DEVICE\", \"entityList\": [ \"e6501f30-2a7a-11ec-94eb-213c95f54092\", \"e6657bf0-2a7a-11ec-94eb-213c95f54092\" ] } ``` ## Entity Name Filter Allows to filter entities of the same type using the **'starts with'** expression over entity name. For example, this entity filter selects all devices which name starts with 'Air Quality': ```json { \"type\": \"entityName\", \"entityType\": \"DEVICE\", \"entityNameFilter\": \"Air Quality\" } ``` ## Entity Type Filter Allows to filter entities based on their type (CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, etc)For example, this entity filter selects all tenant customers: ```json { \"type\": \"entityType\", \"entityType\": \"CUSTOMER\" } ``` ## Asset Type Filter Allows to filter assets based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'charging station' assets which name starts with 'Tesla': ```json { \"type\": \"assetType\", \"assetType\": \"charging station\", \"assetNameFilter\": \"Tesla\" } ``` ## Device Type Filter Allows to filter devices based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Temperature Sensor' devices which name starts with 'ABC': ```json { \"type\": \"deviceType\", \"deviceType\": \"Temperature Sensor\", \"deviceNameFilter\": \"ABC\" } ``` ## Edge Type Filter Allows to filter edge instances based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Factory' edge instances which name starts with 'Nevada': ```json { \"type\": \"edgeType\", \"edgeType\": \"Factory\", \"edgeNameFilter\": \"Nevada\" } ``` ## Entity View Filter Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': ```json { \"type\": \"entityViewType\", \"entityViewType\": \"Concrete Mixer\", \"entityViewNameFilter\": \"CAT\" } ``` ## Api Usage Filter Allows to query for Api Usage based on optional customer id. If the customer id is not set, returns current tenant API usage.For example, this entity filter selects the 'Api Usage' entity for customer with id 'e6501f30-2a7a-11ec-94eb-213c95f54092': ```json { \"type\": \"apiUsageState\", \"customerId\": { \"id\": \"d521edb0-2a7a-11ec-94eb-213c95f54092\", \"entityType\": \"CUSTOMER\" } } ``` ## Relations Query Filter Allows to filter entities that are related to the provided root entity. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'filter' object allows you to define the relation type and set of acceptable entity types to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only those who match the 'filters'. For example, this entity filter selects all devices and assets which are related to the asset with id 'e51de0c0-2a7a-11ec-94eb-213c95f54092': ```json { \"type\": \"relationsQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e51de0c0-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"filters\": [ { \"relationType\": \"Contains\", \"entityTypes\": [ \"DEVICE\", \"ASSET\" ] } ] } ``` ## Asset Search Query Allows to filter assets that are related to the provided root entity. Filters related assets based on the relation type and set of asset types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'assetTypes' defines the type of the asset to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only assets that match 'relationType' and 'assetTypes' conditions. For example, this entity filter selects 'charging station' assets which are related to the asset with id 'e51de0c0-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"assetSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e51de0c0-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"relationType\": \"Contains\", \"assetTypes\": [ \"charging station\" ] } ``` ## Device Search Query Allows to filter devices that are related to the provided root entity. Filters related devices based on the relation type and set of device types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'deviceTypes' defines the type of the device to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Charging port' and 'Air Quality Sensor' devices which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"deviceSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 2, \"fetchLastLevelOnly\": true, \"relationType\": \"Contains\", \"deviceTypes\": [ \"Air Quality Sensor\", \"Charging port\" ] } ``` ## Entity View Query Allows to filter entity views that are related to the provided root entity. Filters related entity views based on the relation type and set of entity view types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'entityViewTypes' defines the type of the entity view to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Concrete mixer' entity views which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"entityViewSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"relationType\": \"Contains\", \"entityViewTypes\": [ \"Concrete mixer\" ] } ``` ## Edge Search Query Allows to filter edge instances that are related to the provided root entity. Filters related edge instances based on the relation type and set of edge types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'deviceTypes' defines the type of the device to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Factory' edge instances which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"deviceSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 2, \"fetchLastLevelOnly\": true, \"relationType\": \"Contains\", \"edgeTypes\": [ \"Factory\" ] } ``` # Key Filters Key Filter allows you to define complex logical expressions over entity field, attribute or latest time-series value. The filter is defined using 'key', 'valueType' and 'predicate' objects. Single Entity Query may have zero, one or multiple predicates. If multiple filters are defined, they are evaluated using logical 'AND'. The example below checks that temperature of the entity is above 20 degrees: ```json { \"key\": { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" }, \"valueType\": \"NUMERIC\", \"predicate\": { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 20, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } } ``` Now let's review 'key', 'valueType' and 'predicate' objects in detail. ## Filter Key Filter Key defines either entity field, attribute or telemetry. It is a JSON object that consists the key name and type. The following filter key types are supported: * 'CLIENT_ATTRIBUTE' - used for client attributes; * 'SHARED_ATTRIBUTE' - used for shared attributes; * 'SERVER_ATTRIBUTE' - used for server attributes; * 'ATTRIBUTE' - used for any of the above; * 'TIME_SERIES' - used for time-series values; * 'ENTITY_FIELD' - used for accessing entity fields like 'name', 'label', etc. The list of available fields depends on the entity type; * 'ALARM_FIELD' - similar to entity field, but is used in alarm queries only; Let's review the example: ```json { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" } ``` ## Value Type and Operations Provides a hint about the data type of the entity field that is defined in the filter key. The value type impacts the list of possible operations that you may use in the corresponding predicate. For example, you may use 'STARTS_WITH' or 'END_WITH', but you can't use 'GREATER_OR_EQUAL' for string values.The following filter value types and corresponding predicate operations are supported: * 'STRING' - used to filter any 'String' or 'JSON' values. Operations: EQUAL, NOT_EQUAL, STARTS_WITH, ENDS_WITH, CONTAINS, NOT_CONTAINS; * 'NUMERIC' - used for 'Long' and 'Double' values. Operations: EQUAL, NOT_EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL; * 'BOOLEAN' - used for boolean values. Operations: EQUAL, NOT_EQUAL; * 'DATE_TIME' - similar to numeric, transforms value to milliseconds since epoch. Operations: EQUAL, NOT_EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL; ## Filter Predicate Filter Predicate defines the logical expression to evaluate. The list of available operations depends on the filter value type, see above. Platform supports 4 predicate types: 'STRING', 'NUMERIC', 'BOOLEAN' and 'COMPLEX'. The last one allows to combine multiple operations over one filter key. Simple predicate example to check 'value < 100': ```json { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 100, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ``` Complex predicate example, to check 'value < 10 or value > 20': ```json { \"type\": \"COMPLEX\", \"operation\": \"OR\", \"predicates\": [ { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 10, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 20, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ] } ``` More complex predicate example, to check 'value < 10 or (value > 50 && value < 60)': ```json { \"type\": \"COMPLEX\", \"operation\": \"OR\", \"predicates\": [ { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 10, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"type\": \"COMPLEX\", \"operation\": \"AND\", \"predicates\": [ { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 50, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 60, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ] } ] } ``` You may also want to replace hardcoded values (for example, temperature > 20) with the more dynamic expression (for example, temperature > 'value of the tenant attribute with key 'temperatureThreshold'). It is possible to use 'dynamicValue' to define attribute of the tenant, customer or user that is performing the API call. See example below: ```json { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 0, \"dynamicValue\": { \"sourceType\": \"CURRENT_USER\", \"sourceAttribute\": \"temperatureThreshold\" } }, \"type\": \"NUMERIC\" } ``` Note that you may use 'CURRENT_USER', 'CURRENT_CUSTOMER' and 'CURRENT_TENANT' as a 'sourceType'. The 'defaultValue' is used when the attribute with such a name is not defined for the chosen source. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. # noqa: E501
|
|
338
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
339
|
+
asynchronous HTTP request, please pass async_req=True
|
|
340
|
+
>>> thread = api.find_entity_data_by_query_using_post(async_req=True)
|
|
341
|
+
>>> result = thread.get()
|
|
342
|
+
|
|
343
|
+
:param async_req bool
|
|
344
|
+
:param EntityDataQuery body:
|
|
345
|
+
:return: PageDataEntityData
|
|
346
|
+
If the method is called asynchronously,
|
|
347
|
+
returns the request thread.
|
|
348
|
+
"""
|
|
349
|
+
kwargs['_return_http_data_only'] = True
|
|
350
|
+
if kwargs.get('async_req'):
|
|
351
|
+
return self.find_entity_data_by_query_using_post_with_http_info(**kwargs) # noqa: E501
|
|
352
|
+
else:
|
|
353
|
+
(data) = self.find_entity_data_by_query_using_post_with_http_info(**kwargs) # noqa: E501
|
|
354
|
+
return data
|
|
355
|
+
|
|
356
|
+
def find_entity_data_by_query_using_post_with_http_info(self, **kwargs): # noqa: E501
|
|
357
|
+
"""Find Entity Data by Query # noqa: E501
|
|
358
|
+
|
|
359
|
+
Allows to run complex queries over platform entities (devices, assets, customers, etc) based on the combination of main entity filter and multiple key filters. Returns the paginated result of the query that contains requested entity fields and latest values of requested attributes and time-series data. # Query Definition Main **entity filter** is mandatory and defines generic search criteria. For example, \"find all devices with profile 'Moisture Sensor'\" or \"Find all devices related to asset 'Building A'\" Optional **key filters** allow to filter results of the **entity filter** by complex criteria against main entity fields (name, label, type, etc), attributes and telemetry. For example, \"temperature > 20 or temperature< 10\" or \"name starts with 'T', and attribute 'model' is 'T1000', and timeseries field 'batteryLevel' > 40\". The **entity fields** and **latest values** contains list of entity fields and latest attribute/telemetry fields to fetch for each entity. The **page link** contains information about the page to fetch and the sort ordering. Let's review the example: ```json { \"entityFilter\": { \"type\": \"entityType\", \"resolveMultiple\": true, \"entityType\": \"DEVICE\" }, \"keyFilters\": [ { \"key\": { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" }, \"valueType\": \"NUMERIC\", \"predicate\": { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 0, \"dynamicValue\": { \"sourceType\": \"CURRENT_USER\", \"sourceAttribute\": \"temperatureThreshold\", \"inherit\": false } }, \"type\": \"NUMERIC\" } } ], \"entityFields\": [ { \"type\": \"ENTITY_FIELD\", \"key\": \"name\" }, { \"type\": \"ENTITY_FIELD\", \"key\": \"label\" }, { \"type\": \"ENTITY_FIELD\", \"key\": \"additionalInfo\" } ], \"latestValues\": [ { \"type\": \"ATTRIBUTE\", \"key\": \"model\" }, { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" } ], \"pageLink\": { \"page\": 0, \"pageSize\": 10, \"sortOrder\": { \"key\": { \"key\": \"name\", \"type\": \"ENTITY_FIELD\" }, \"direction\": \"ASC\" } } } ``` Example mentioned above search all devices which have attribute 'active' set to 'true'. Now let's review available entity filters and key filters syntax: # Entity Filters Entity Filter body depends on the 'type' parameter. Let's review available entity filter types. In fact, they do correspond to available dashboard aliases. ## Single Entity Allows to filter only one entity based on the id. For example, this entity filter selects certain device: ```json { \"type\": \"singleEntity\", \"singleEntity\": { \"id\": \"d521edb0-2a7a-11ec-94eb-213c95f54092\", \"entityType\": \"DEVICE\" } } ``` ## Entity List Filter Allows to filter entities of the same type using their ids. For example, this entity filter selects two devices: ```json { \"type\": \"entityList\", \"entityType\": \"DEVICE\", \"entityList\": [ \"e6501f30-2a7a-11ec-94eb-213c95f54092\", \"e6657bf0-2a7a-11ec-94eb-213c95f54092\" ] } ``` ## Entity Name Filter Allows to filter entities of the same type using the **'starts with'** expression over entity name. For example, this entity filter selects all devices which name starts with 'Air Quality': ```json { \"type\": \"entityName\", \"entityType\": \"DEVICE\", \"entityNameFilter\": \"Air Quality\" } ``` ## Entity Type Filter Allows to filter entities based on their type (CUSTOMER, USER, DASHBOARD, ASSET, DEVICE, etc)For example, this entity filter selects all tenant customers: ```json { \"type\": \"entityType\", \"entityType\": \"CUSTOMER\" } ``` ## Asset Type Filter Allows to filter assets based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'charging station' assets which name starts with 'Tesla': ```json { \"type\": \"assetType\", \"assetType\": \"charging station\", \"assetNameFilter\": \"Tesla\" } ``` ## Device Type Filter Allows to filter devices based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Temperature Sensor' devices which name starts with 'ABC': ```json { \"type\": \"deviceType\", \"deviceType\": \"Temperature Sensor\", \"deviceNameFilter\": \"ABC\" } ``` ## Edge Type Filter Allows to filter edge instances based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Factory' edge instances which name starts with 'Nevada': ```json { \"type\": \"edgeType\", \"edgeType\": \"Factory\", \"edgeNameFilter\": \"Nevada\" } ``` ## Entity View Filter Allows to filter entity views based on their type and the **'starts with'** expression over their name. For example, this entity filter selects all 'Concrete Mixer' entity views which name starts with 'CAT': ```json { \"type\": \"entityViewType\", \"entityViewType\": \"Concrete Mixer\", \"entityViewNameFilter\": \"CAT\" } ``` ## Api Usage Filter Allows to query for Api Usage based on optional customer id. If the customer id is not set, returns current tenant API usage.For example, this entity filter selects the 'Api Usage' entity for customer with id 'e6501f30-2a7a-11ec-94eb-213c95f54092': ```json { \"type\": \"apiUsageState\", \"customerId\": { \"id\": \"d521edb0-2a7a-11ec-94eb-213c95f54092\", \"entityType\": \"CUSTOMER\" } } ``` ## Relations Query Filter Allows to filter entities that are related to the provided root entity. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'filter' object allows you to define the relation type and set of acceptable entity types to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only those who match the 'filters'. For example, this entity filter selects all devices and assets which are related to the asset with id 'e51de0c0-2a7a-11ec-94eb-213c95f54092': ```json { \"type\": \"relationsQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e51de0c0-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"filters\": [ { \"relationType\": \"Contains\", \"entityTypes\": [ \"DEVICE\", \"ASSET\" ] } ] } ``` ## Asset Search Query Allows to filter assets that are related to the provided root entity. Filters related assets based on the relation type and set of asset types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'assetTypes' defines the type of the asset to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only assets that match 'relationType' and 'assetTypes' conditions. For example, this entity filter selects 'charging station' assets which are related to the asset with id 'e51de0c0-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"assetSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e51de0c0-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"relationType\": \"Contains\", \"assetTypes\": [ \"charging station\" ] } ``` ## Device Search Query Allows to filter devices that are related to the provided root entity. Filters related devices based on the relation type and set of device types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'deviceTypes' defines the type of the device to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Charging port' and 'Air Quality Sensor' devices which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"deviceSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 2, \"fetchLastLevelOnly\": true, \"relationType\": \"Contains\", \"deviceTypes\": [ \"Air Quality Sensor\", \"Charging port\" ] } ``` ## Entity View Query Allows to filter entity views that are related to the provided root entity. Filters related entity views based on the relation type and set of entity view types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'entityViewTypes' defines the type of the entity view to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Concrete mixer' entity views which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"entityViewSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 1, \"fetchLastLevelOnly\": false, \"relationType\": \"Contains\", \"entityViewTypes\": [ \"Concrete mixer\" ] } ``` ## Edge Search Query Allows to filter edge instances that are related to the provided root entity. Filters related edge instances based on the relation type and set of edge types. Possible direction values are 'TO' and 'FROM'. The 'maxLevel' defines how many relation levels should the query search 'recursively'. Assuming the 'maxLevel' is > 1, the 'fetchLastLevelOnly' defines either to return all related entities or only entities that are on the last level of relations. The 'relationType' defines the type of the relation to search for. The 'deviceTypes' defines the type of the device to search for. The relation query calculates all related entities, even if they are filtered using different relation types, and then extracts only devices that match 'relationType' and 'deviceTypes' conditions. For example, this entity filter selects 'Factory' edge instances which are related to the asset with id 'e52b0020-2a7a-11ec-94eb-213c95f54092' using 'Contains' relation: ```json { \"type\": \"deviceSearchQuery\", \"rootEntity\": { \"entityType\": \"ASSET\", \"id\": \"e52b0020-2a7a-11ec-94eb-213c95f54092\" }, \"direction\": \"FROM\", \"maxLevel\": 2, \"fetchLastLevelOnly\": true, \"relationType\": \"Contains\", \"edgeTypes\": [ \"Factory\" ] } ``` # Key Filters Key Filter allows you to define complex logical expressions over entity field, attribute or latest time-series value. The filter is defined using 'key', 'valueType' and 'predicate' objects. Single Entity Query may have zero, one or multiple predicates. If multiple filters are defined, they are evaluated using logical 'AND'. The example below checks that temperature of the entity is above 20 degrees: ```json { \"key\": { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" }, \"valueType\": \"NUMERIC\", \"predicate\": { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 20, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } } ``` Now let's review 'key', 'valueType' and 'predicate' objects in detail. ## Filter Key Filter Key defines either entity field, attribute or telemetry. It is a JSON object that consists the key name and type. The following filter key types are supported: * 'CLIENT_ATTRIBUTE' - used for client attributes; * 'SHARED_ATTRIBUTE' - used for shared attributes; * 'SERVER_ATTRIBUTE' - used for server attributes; * 'ATTRIBUTE' - used for any of the above; * 'TIME_SERIES' - used for time-series values; * 'ENTITY_FIELD' - used for accessing entity fields like 'name', 'label', etc. The list of available fields depends on the entity type; * 'ALARM_FIELD' - similar to entity field, but is used in alarm queries only; Let's review the example: ```json { \"type\": \"TIME_SERIES\", \"key\": \"temperature\" } ``` ## Value Type and Operations Provides a hint about the data type of the entity field that is defined in the filter key. The value type impacts the list of possible operations that you may use in the corresponding predicate. For example, you may use 'STARTS_WITH' or 'END_WITH', but you can't use 'GREATER_OR_EQUAL' for string values.The following filter value types and corresponding predicate operations are supported: * 'STRING' - used to filter any 'String' or 'JSON' values. Operations: EQUAL, NOT_EQUAL, STARTS_WITH, ENDS_WITH, CONTAINS, NOT_CONTAINS; * 'NUMERIC' - used for 'Long' and 'Double' values. Operations: EQUAL, NOT_EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL; * 'BOOLEAN' - used for boolean values. Operations: EQUAL, NOT_EQUAL; * 'DATE_TIME' - similar to numeric, transforms value to milliseconds since epoch. Operations: EQUAL, NOT_EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL; ## Filter Predicate Filter Predicate defines the logical expression to evaluate. The list of available operations depends on the filter value type, see above. Platform supports 4 predicate types: 'STRING', 'NUMERIC', 'BOOLEAN' and 'COMPLEX'. The last one allows to combine multiple operations over one filter key. Simple predicate example to check 'value < 100': ```json { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 100, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ``` Complex predicate example, to check 'value < 10 or value > 20': ```json { \"type\": \"COMPLEX\", \"operation\": \"OR\", \"predicates\": [ { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 10, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 20, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ] } ``` More complex predicate example, to check 'value < 10 or (value > 50 && value < 60)': ```json { \"type\": \"COMPLEX\", \"operation\": \"OR\", \"predicates\": [ { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 10, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"type\": \"COMPLEX\", \"operation\": \"AND\", \"predicates\": [ { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 50, \"dynamicValue\": null }, \"type\": \"NUMERIC\" }, { \"operation\": \"LESS\", \"value\": { \"defaultValue\": 60, \"dynamicValue\": null }, \"type\": \"NUMERIC\" } ] } ] } ``` You may also want to replace hardcoded values (for example, temperature > 20) with the more dynamic expression (for example, temperature > 'value of the tenant attribute with key 'temperatureThreshold'). It is possible to use 'dynamicValue' to define attribute of the tenant, customer or user that is performing the API call. See example below: ```json { \"operation\": \"GREATER\", \"value\": { \"defaultValue\": 0, \"dynamicValue\": { \"sourceType\": \"CURRENT_USER\", \"sourceAttribute\": \"temperatureThreshold\" } }, \"type\": \"NUMERIC\" } ``` Note that you may use 'CURRENT_USER', 'CURRENT_CUSTOMER' and 'CURRENT_TENANT' as a 'sourceType'. The 'defaultValue' is used when the attribute with such a name is not defined for the chosen source. Available for users with 'TENANT_ADMIN' or 'CUSTOMER_USER' authority. # noqa: E501
|
|
360
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
361
|
+
asynchronous HTTP request, please pass async_req=True
|
|
362
|
+
>>> thread = api.find_entity_data_by_query_using_post_with_http_info(async_req=True)
|
|
363
|
+
>>> result = thread.get()
|
|
364
|
+
|
|
365
|
+
:param async_req bool
|
|
366
|
+
:param EntityDataQuery body:
|
|
367
|
+
:return: PageDataEntityData
|
|
368
|
+
If the method is called asynchronously,
|
|
369
|
+
returns the request thread.
|
|
370
|
+
"""
|
|
371
|
+
|
|
372
|
+
all_params = ['body'] # noqa: E501
|
|
373
|
+
all_params.append('async_req')
|
|
374
|
+
all_params.append('_return_http_data_only')
|
|
375
|
+
all_params.append('_preload_content')
|
|
376
|
+
all_params.append('_request_timeout')
|
|
377
|
+
|
|
378
|
+
params = locals()
|
|
379
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
380
|
+
if key not in all_params:
|
|
381
|
+
raise TypeError(
|
|
382
|
+
"Got an unexpected keyword argument '%s'"
|
|
383
|
+
" to method find_entity_data_by_query_using_post" % key
|
|
384
|
+
)
|
|
385
|
+
params[key] = val
|
|
386
|
+
del params['kwargs']
|
|
387
|
+
|
|
388
|
+
collection_formats = {}
|
|
389
|
+
|
|
390
|
+
path_params = {}
|
|
391
|
+
|
|
392
|
+
query_params = []
|
|
393
|
+
|
|
394
|
+
header_params = {}
|
|
395
|
+
|
|
396
|
+
form_params = []
|
|
397
|
+
local_var_files = {}
|
|
398
|
+
|
|
399
|
+
body_params = None
|
|
400
|
+
if 'body' in params:
|
|
401
|
+
body_params = params['body']
|
|
402
|
+
# HTTP header `Accept`
|
|
403
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
404
|
+
['application/json']) # noqa: E501
|
|
405
|
+
|
|
406
|
+
# HTTP header `Content-Type`
|
|
407
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
408
|
+
['application/json']) # noqa: E501
|
|
409
|
+
|
|
410
|
+
# Authentication setting
|
|
411
|
+
auth_settings = ['X-Authorization'] # noqa: E501
|
|
412
|
+
|
|
413
|
+
return self.api_client.call_api(
|
|
414
|
+
'/api/entitiesQuery/find', 'POST',
|
|
415
|
+
path_params,
|
|
416
|
+
query_params,
|
|
417
|
+
header_params,
|
|
418
|
+
body=body_params,
|
|
419
|
+
post_params=form_params,
|
|
420
|
+
files=local_var_files,
|
|
421
|
+
response_type='PageDataEntityData', # noqa: E501
|
|
422
|
+
auth_settings=auth_settings,
|
|
423
|
+
async_req=params.get('async_req'),
|
|
424
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
425
|
+
_preload_content=params.get('_preload_content', True),
|
|
426
|
+
_request_timeout=params.get('_request_timeout'),
|
|
427
|
+
collection_formats=collection_formats)
|
|
428
|
+
|
|
429
|
+
def find_entity_timeseries_and_attributes_keys_by_query_using_post(self, timeseries, attributes, **kwargs): # noqa: E501
|
|
430
|
+
"""Find Entity Keys by Query # noqa: E501
|
|
431
|
+
|
|
432
|
+
Uses entity data query (see 'Find Entity Data by Query') to find first 100 entities. Then fetch and return all unique time-series and/or attribute keys. Used mostly for UI hints. # noqa: E501
|
|
433
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
434
|
+
asynchronous HTTP request, please pass async_req=True
|
|
435
|
+
>>> thread = api.find_entity_timeseries_and_attributes_keys_by_query_using_post(timeseries, attributes, async_req=True)
|
|
436
|
+
>>> result = thread.get()
|
|
437
|
+
|
|
438
|
+
:param async_req bool
|
|
439
|
+
:param bool timeseries: Include all unique time-series keys to the result. (required)
|
|
440
|
+
:param bool attributes: Include all unique attribute keys to the result. (required)
|
|
441
|
+
:param EntityDataQuery body:
|
|
442
|
+
:param str scope: A string value representing the attributes scope. For example, 'SERVER_SCOPE'.
|
|
443
|
+
:return: DeferredResultResponseEntity
|
|
444
|
+
If the method is called asynchronously,
|
|
445
|
+
returns the request thread.
|
|
446
|
+
"""
|
|
447
|
+
kwargs['_return_http_data_only'] = True
|
|
448
|
+
if kwargs.get('async_req'):
|
|
449
|
+
return self.find_entity_timeseries_and_attributes_keys_by_query_using_post_with_http_info(timeseries, attributes, **kwargs) # noqa: E501
|
|
450
|
+
else:
|
|
451
|
+
(data) = self.find_entity_timeseries_and_attributes_keys_by_query_using_post_with_http_info(timeseries, attributes, **kwargs) # noqa: E501
|
|
452
|
+
return data
|
|
453
|
+
|
|
454
|
+
def find_entity_timeseries_and_attributes_keys_by_query_using_post_with_http_info(self, timeseries, attributes, **kwargs): # noqa: E501
|
|
455
|
+
"""Find Entity Keys by Query # noqa: E501
|
|
456
|
+
|
|
457
|
+
Uses entity data query (see 'Find Entity Data by Query') to find first 100 entities. Then fetch and return all unique time-series and/or attribute keys. Used mostly for UI hints. # noqa: E501
|
|
458
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
459
|
+
asynchronous HTTP request, please pass async_req=True
|
|
460
|
+
>>> thread = api.find_entity_timeseries_and_attributes_keys_by_query_using_post_with_http_info(timeseries, attributes, async_req=True)
|
|
461
|
+
>>> result = thread.get()
|
|
462
|
+
|
|
463
|
+
:param async_req bool
|
|
464
|
+
:param bool timeseries: Include all unique time-series keys to the result. (required)
|
|
465
|
+
:param bool attributes: Include all unique attribute keys to the result. (required)
|
|
466
|
+
:param EntityDataQuery body:
|
|
467
|
+
:param str scope: A string value representing the attributes scope. For example, 'SERVER_SCOPE'.
|
|
468
|
+
:return: DeferredResultResponseEntity
|
|
469
|
+
If the method is called asynchronously,
|
|
470
|
+
returns the request thread.
|
|
471
|
+
"""
|
|
472
|
+
|
|
473
|
+
all_params = ['timeseries', 'attributes', 'body', 'scope'] # noqa: E501
|
|
474
|
+
all_params.append('async_req')
|
|
475
|
+
all_params.append('_return_http_data_only')
|
|
476
|
+
all_params.append('_preload_content')
|
|
477
|
+
all_params.append('_request_timeout')
|
|
478
|
+
|
|
479
|
+
params = locals()
|
|
480
|
+
for key, val in six.iteritems(params['kwargs']):
|
|
481
|
+
if key not in all_params:
|
|
482
|
+
raise TypeError(
|
|
483
|
+
"Got an unexpected keyword argument '%s'"
|
|
484
|
+
" to method find_entity_timeseries_and_attributes_keys_by_query_using_post" % key
|
|
485
|
+
)
|
|
486
|
+
params[key] = val
|
|
487
|
+
del params['kwargs']
|
|
488
|
+
# verify the required parameter 'timeseries' is set
|
|
489
|
+
if ('timeseries' not in params or
|
|
490
|
+
params['timeseries'] is None):
|
|
491
|
+
raise ValueError("Missing the required parameter `timeseries` when calling `find_entity_timeseries_and_attributes_keys_by_query_using_post`") # noqa: E501
|
|
492
|
+
# verify the required parameter 'attributes' is set
|
|
493
|
+
if ('attributes' not in params or
|
|
494
|
+
params['attributes'] is None):
|
|
495
|
+
raise ValueError("Missing the required parameter `attributes` when calling `find_entity_timeseries_and_attributes_keys_by_query_using_post`") # noqa: E501
|
|
496
|
+
|
|
497
|
+
collection_formats = {}
|
|
498
|
+
|
|
499
|
+
path_params = {}
|
|
500
|
+
|
|
501
|
+
query_params = []
|
|
502
|
+
if 'timeseries' in params:
|
|
503
|
+
query_params.append(('timeseries', params['timeseries'])) # noqa: E501
|
|
504
|
+
if 'attributes' in params:
|
|
505
|
+
query_params.append(('attributes', params['attributes'])) # noqa: E501
|
|
506
|
+
if 'scope' in params:
|
|
507
|
+
query_params.append(('scope', params['scope'])) # noqa: E501
|
|
508
|
+
|
|
509
|
+
header_params = {}
|
|
510
|
+
|
|
511
|
+
form_params = []
|
|
512
|
+
local_var_files = {}
|
|
513
|
+
|
|
514
|
+
body_params = None
|
|
515
|
+
if 'body' in params:
|
|
516
|
+
body_params = params['body']
|
|
517
|
+
# HTTP header `Accept`
|
|
518
|
+
header_params['Accept'] = self.api_client.select_header_accept(
|
|
519
|
+
['application/json']) # noqa: E501
|
|
520
|
+
|
|
521
|
+
# HTTP header `Content-Type`
|
|
522
|
+
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
|
523
|
+
['application/json']) # noqa: E501
|
|
524
|
+
|
|
525
|
+
# Authentication setting
|
|
526
|
+
auth_settings = ['X-Authorization'] # noqa: E501
|
|
527
|
+
|
|
528
|
+
return self.api_client.call_api(
|
|
529
|
+
'/api/entitiesQuery/find/keys{?attributes,scope,timeseries}', 'POST',
|
|
530
|
+
path_params,
|
|
531
|
+
query_params,
|
|
532
|
+
header_params,
|
|
533
|
+
body=body_params,
|
|
534
|
+
post_params=form_params,
|
|
535
|
+
files=local_var_files,
|
|
536
|
+
response_type='DeferredResultResponseEntity', # noqa: E501
|
|
537
|
+
auth_settings=auth_settings,
|
|
538
|
+
async_req=params.get('async_req'),
|
|
539
|
+
_return_http_data_only=params.get('_return_http_data_only'),
|
|
540
|
+
_preload_content=params.get('_preload_content', True),
|
|
541
|
+
_request_timeout=params.get('_request_timeout'),
|
|
542
|
+
collection_formats=collection_formats)
|