mirror of
https://github.com/thousandeyes/thousandeyes-sdk-python.git
synced 2026-03-23 09:55:29 +00:00
[GitHub Bot] Generated python SDK
This commit is contained in:
parent
336aa3e36a
commit
6faed7d3db
@ -12,7 +12,7 @@ This API provides the following operations to manage your organization:
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Manage Cloud and Enterprise Agents available to your account in ThousandEyes.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ For more information about the alerts, see [Alerts](https://docs.thousandeyes.co
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ For more information about monitors, see [Inside-Out BGP Visibility](https://doc
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ For more information about credentials, see [Working With Secure Credentials](ht
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Manage ThousandEyes Dashboards.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ To access Emulation API operations, the following permissions are required:
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -13,9 +13,12 @@ docs/AgentThresholdFilters.md
|
|||||||
docs/AgentTransfer.md
|
docs/AgentTransfer.md
|
||||||
docs/AgentTransferRequest.md
|
docs/AgentTransferRequest.md
|
||||||
docs/AgentTransferStatus.md
|
docs/AgentTransferStatus.md
|
||||||
|
docs/BatteryLevel.md
|
||||||
|
docs/BatteryMetrics.md
|
||||||
docs/BrowserType.md
|
docs/BrowserType.md
|
||||||
docs/BulkAgentTransferRequest.md
|
docs/BulkAgentTransferRequest.md
|
||||||
docs/BulkAgentTransferResponse.md
|
docs/BulkAgentTransferResponse.md
|
||||||
|
docs/CellularProfile.md
|
||||||
docs/ConditionalOperator.md
|
docs/ConditionalOperator.md
|
||||||
docs/ConnectionString.md
|
docs/ConnectionString.md
|
||||||
docs/EndpointAgent.md
|
docs/EndpointAgent.md
|
||||||
@ -69,9 +72,12 @@ src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filters.py
|
|||||||
src/thousandeyes_sdk/endpoint_agents/models/agent_transfer.py
|
src/thousandeyes_sdk/endpoint_agents/models/agent_transfer.py
|
||||||
src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_request.py
|
src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_request.py
|
||||||
src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_status.py
|
src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_status.py
|
||||||
|
src/thousandeyes_sdk/endpoint_agents/models/battery_level.py
|
||||||
|
src/thousandeyes_sdk/endpoint_agents/models/battery_metrics.py
|
||||||
src/thousandeyes_sdk/endpoint_agents/models/browser_type.py
|
src/thousandeyes_sdk/endpoint_agents/models/browser_type.py
|
||||||
src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_request.py
|
src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_request.py
|
||||||
src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_response.py
|
src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_response.py
|
||||||
|
src/thousandeyes_sdk/endpoint_agents/models/cellular_profile.py
|
||||||
src/thousandeyes_sdk/endpoint_agents/models/conditional_operator.py
|
src/thousandeyes_sdk/endpoint_agents/models/conditional_operator.py
|
||||||
src/thousandeyes_sdk/endpoint_agents/models/connection_string.py
|
src/thousandeyes_sdk/endpoint_agents/models/connection_string.py
|
||||||
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py
|
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py
|
||||||
|
|||||||
@ -5,7 +5,7 @@ For more information about Endpoint Agents, see [Endpoint Agents](https://docs.t
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
@ -122,9 +122,12 @@ Class | Method | HTTP request | Description
|
|||||||
- [AgentTransfer](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentTransfer.md)
|
- [AgentTransfer](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentTransfer.md)
|
||||||
- [AgentTransferRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentTransferRequest.md)
|
- [AgentTransferRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentTransferRequest.md)
|
||||||
- [AgentTransferStatus](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentTransferStatus.md)
|
- [AgentTransferStatus](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentTransferStatus.md)
|
||||||
|
- [BatteryLevel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/BatteryLevel.md)
|
||||||
|
- [BatteryMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/BatteryMetrics.md)
|
||||||
- [BrowserType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/BrowserType.md)
|
- [BrowserType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/BrowserType.md)
|
||||||
- [BulkAgentTransferRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/BulkAgentTransferRequest.md)
|
- [BulkAgentTransferRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/BulkAgentTransferRequest.md)
|
||||||
- [BulkAgentTransferResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/BulkAgentTransferResponse.md)
|
- [BulkAgentTransferResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/BulkAgentTransferResponse.md)
|
||||||
|
- [CellularProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/CellularProfile.md)
|
||||||
- [ConditionalOperator](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConditionalOperator.md)
|
- [ConditionalOperator](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConditionalOperator.md)
|
||||||
- [ConnectionString](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConnectionString.md)
|
- [ConnectionString](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConnectionString.md)
|
||||||
- [EndpointAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md)
|
- [EndpointAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md)
|
||||||
|
|||||||
12
thousandeyes-sdk-endpoint-agents/docs/BatteryLevel.md
Normal file
12
thousandeyes-sdk-endpoint-agents/docs/BatteryLevel.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# BatteryLevel
|
||||||
|
|
||||||
|
Battery level indicator.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
31
thousandeyes-sdk-endpoint-agents/docs/BatteryMetrics.md
Normal file
31
thousandeyes-sdk-endpoint-agents/docs/BatteryMetrics.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# BatteryMetrics
|
||||||
|
|
||||||
|
Battery metrics for the endpoint agent.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
**battery_level** | [**BatteryLevel**](BatteryLevel.md) | |
|
||||||
|
**battery_level_normalized_percent** | **float** | Battery level as a normalized percentage (0-1). |
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```python
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.battery_metrics import BatteryMetrics
|
||||||
|
|
||||||
|
# TODO update the JSON string below
|
||||||
|
json = "{}"
|
||||||
|
# create an instance of BatteryMetrics from a JSON string
|
||||||
|
battery_metrics_instance = BatteryMetrics.from_json(json)
|
||||||
|
# print the JSON string representation of the object
|
||||||
|
print(BatteryMetrics.to_json())
|
||||||
|
|
||||||
|
# convert the object into a dict
|
||||||
|
battery_metrics_dict = battery_metrics_instance.to_dict()
|
||||||
|
# create an instance of BatteryMetrics from a dict
|
||||||
|
battery_metrics_from_dict = BatteryMetrics.from_dict(battery_metrics_dict)
|
||||||
|
```
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
39
thousandeyes-sdk-endpoint-agents/docs/CellularProfile.md
Normal file
39
thousandeyes-sdk-endpoint-agents/docs/CellularProfile.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# CellularProfile
|
||||||
|
|
||||||
|
Cellular network profile information for a mobile endpoint agent.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
**carrier_name** | **str** | Carrier name | [optional]
|
||||||
|
**network_gen** | **str** | Cellular network generation. | [optional]
|
||||||
|
**network_subtype** | **str** | A real network subtype. It may be different from an advertised network type. | [optional]
|
||||||
|
**advertised_network_gen** | **str** | Cellular network generation. | [optional]
|
||||||
|
**advertised_network_subtype** | **str** | Advertised Network subtype | [optional]
|
||||||
|
**rssi** | **float** | Received Signal Strength Indicator in dBm. Values are always negative. | [optional]
|
||||||
|
**rsrp** | **float** | Reference Signal Received Power in dBm. Values are always negative. | [optional]
|
||||||
|
**rscp** | **float** | Received Signal Code Power in dBm. Values are always negative or zero. | [optional]
|
||||||
|
**rsrq** | **float** | Reference Signal Received Quality in dBm. Values are always negative. | [optional]
|
||||||
|
**sinr** | **float** | Signal to Interference and Noise Ratio in dBm. It can be negative or positive. | [optional]
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```python
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.cellular_profile import CellularProfile
|
||||||
|
|
||||||
|
# TODO update the JSON string below
|
||||||
|
json = "{}"
|
||||||
|
# create an instance of CellularProfile from a JSON string
|
||||||
|
cellular_profile_instance = CellularProfile.from_json(json)
|
||||||
|
# print the JSON string representation of the object
|
||||||
|
print(CellularProfile.to_json())
|
||||||
|
|
||||||
|
# convert the object into a dict
|
||||||
|
cellular_profile_dict = cellular_profile_instance.to_dict()
|
||||||
|
# create an instance of CellularProfile from a dict
|
||||||
|
cellular_profile_from_dict = CellularProfile.from_dict(cellular_profile_dict)
|
||||||
|
```
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
@ -35,6 +35,8 @@ Name | Type | Description | Notes
|
|||||||
**license_type** | [**AgentLicenseType**](AgentLicenseType.md) | | [optional]
|
**license_type** | [**AgentLicenseType**](AgentLicenseType.md) | | [optional]
|
||||||
**tcp_driver_available** | **bool** | Status of TCP test support on the agent. | [optional] [readonly]
|
**tcp_driver_available** | **bool** | Status of TCP test support on the agent. | [optional] [readonly]
|
||||||
**npcap_version** | **str** | For Windows agents, the version of the NPCAP driver that the agent has loaded. | [optional] [readonly]
|
**npcap_version** | **str** | For Windows agents, the version of the NPCAP driver that the agent has loaded. | [optional] [readonly]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
|
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|||||||
@ -31,9 +31,12 @@ from thousandeyes_sdk.endpoint_agents.models.agent_threshold_filters import Agen
|
|||||||
from thousandeyes_sdk.endpoint_agents.models.agent_transfer import AgentTransfer
|
from thousandeyes_sdk.endpoint_agents.models.agent_transfer import AgentTransfer
|
||||||
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_request import AgentTransferRequest
|
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_request import AgentTransferRequest
|
||||||
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_status import AgentTransferStatus
|
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_status import AgentTransferStatus
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.battery_level import BatteryLevel
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.battery_metrics import BatteryMetrics
|
||||||
from thousandeyes_sdk.endpoint_agents.models.browser_type import BrowserType
|
from thousandeyes_sdk.endpoint_agents.models.browser_type import BrowserType
|
||||||
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_request import BulkAgentTransferRequest
|
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_request import BulkAgentTransferRequest
|
||||||
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import BulkAgentTransferResponse
|
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import BulkAgentTransferResponse
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_agents.models.conditional_operator import ConditionalOperator
|
from thousandeyes_sdk.endpoint_agents.models.conditional_operator import ConditionalOperator
|
||||||
from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString
|
from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString
|
||||||
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
|
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
|
||||||
|
|||||||
@ -25,9 +25,12 @@ from thousandeyes_sdk.endpoint_agents.models.agent_threshold_filters import Agen
|
|||||||
from thousandeyes_sdk.endpoint_agents.models.agent_transfer import AgentTransfer
|
from thousandeyes_sdk.endpoint_agents.models.agent_transfer import AgentTransfer
|
||||||
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_request import AgentTransferRequest
|
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_request import AgentTransferRequest
|
||||||
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_status import AgentTransferStatus
|
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_status import AgentTransferStatus
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.battery_level import BatteryLevel
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.battery_metrics import BatteryMetrics
|
||||||
from thousandeyes_sdk.endpoint_agents.models.browser_type import BrowserType
|
from thousandeyes_sdk.endpoint_agents.models.browser_type import BrowserType
|
||||||
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_request import BulkAgentTransferRequest
|
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_request import BulkAgentTransferRequest
|
||||||
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import BulkAgentTransferResponse
|
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import BulkAgentTransferResponse
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_agents.models.conditional_operator import ConditionalOperator
|
from thousandeyes_sdk.endpoint_agents.models.conditional_operator import ConditionalOperator
|
||||||
from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString
|
from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString
|
||||||
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
|
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
|
||||||
|
|||||||
@ -0,0 +1,42 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
"""
|
||||||
|
Endpoint Agents API
|
||||||
|
|
||||||
|
Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents).
|
||||||
|
|
||||||
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||||
|
|
||||||
|
Do not edit the class manually.
|
||||||
|
""" # noqa: E501
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
import json
|
||||||
|
from enum import Enum
|
||||||
|
from typing_extensions import Self
|
||||||
|
|
||||||
|
|
||||||
|
class BatteryLevel(str, Enum):
|
||||||
|
"""
|
||||||
|
Battery level indicator.
|
||||||
|
"""
|
||||||
|
|
||||||
|
"""
|
||||||
|
allowed enum values
|
||||||
|
"""
|
||||||
|
HIGH = 'high'
|
||||||
|
MEDIUM = 'medium'
|
||||||
|
LOW = 'low'
|
||||||
|
UNKNOWN = 'unknown'
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_json(cls, json_str: str) -> Self:
|
||||||
|
"""Create an instance of BatteryLevel from a JSON string"""
|
||||||
|
return cls(json.loads(json_str))
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _missing_(cls, value):
|
||||||
|
"""Handle unknown values"""
|
||||||
|
return cls.UNKNOWN
|
||||||
|
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
"""
|
||||||
|
Endpoint Agents API
|
||||||
|
|
||||||
|
Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents).
|
||||||
|
|
||||||
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||||
|
|
||||||
|
Do not edit the class manually.
|
||||||
|
""" # noqa: E501
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
import pprint
|
||||||
|
import re # noqa: F401
|
||||||
|
import json
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
|
from typing import Any, ClassVar, Dict, List, Union
|
||||||
|
from typing_extensions import Annotated
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.battery_level import BatteryLevel
|
||||||
|
from typing import Optional, Set
|
||||||
|
from typing_extensions import Self
|
||||||
|
|
||||||
|
class BatteryMetrics(BaseModel):
|
||||||
|
"""
|
||||||
|
Battery metrics for the endpoint agent.
|
||||||
|
""" # noqa: E501
|
||||||
|
battery_level: BatteryLevel = Field(alias="batteryLevel")
|
||||||
|
battery_level_normalized_percent: Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]] = Field(description="Battery level as a normalized percentage (0-1).", alias="batteryLevelNormalizedPercent")
|
||||||
|
__properties: ClassVar[List[str]] = ["batteryLevel", "batteryLevelNormalizedPercent"]
|
||||||
|
|
||||||
|
model_config = ConfigDict(
|
||||||
|
populate_by_name=True,
|
||||||
|
validate_assignment=True,
|
||||||
|
protected_namespaces=(),
|
||||||
|
extra="allow",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def to_str(self) -> str:
|
||||||
|
"""Returns the string representation of the model using alias"""
|
||||||
|
return pprint.pformat(self.model_dump(by_alias=True))
|
||||||
|
|
||||||
|
def to_json(self) -> str:
|
||||||
|
"""Returns the JSON representation of the model using alias"""
|
||||||
|
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||||
|
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||||
|
"""Create an instance of BatteryMetrics from a JSON string"""
|
||||||
|
return cls.from_dict(json.loads(json_str))
|
||||||
|
|
||||||
|
def to_dict(self) -> Dict[str, Any]:
|
||||||
|
"""Return the dictionary representation of the model using alias.
|
||||||
|
|
||||||
|
This has the following differences from calling pydantic's
|
||||||
|
`self.model_dump(by_alias=True)`:
|
||||||
|
|
||||||
|
* `None` is only added to the output dict for nullable fields that
|
||||||
|
were set at model initialization. Other fields with value `None`
|
||||||
|
are ignored.
|
||||||
|
"""
|
||||||
|
excluded_fields: Set[str] = set([
|
||||||
|
])
|
||||||
|
|
||||||
|
_dict = self.model_dump(
|
||||||
|
by_alias=True,
|
||||||
|
exclude=excluded_fields,
|
||||||
|
exclude_none=True,
|
||||||
|
)
|
||||||
|
return _dict
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||||
|
"""Create an instance of BatteryMetrics from a dict"""
|
||||||
|
if obj is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if not isinstance(obj, dict):
|
||||||
|
return cls.model_validate(obj)
|
||||||
|
|
||||||
|
_obj = cls.model_validate({
|
||||||
|
"batteryLevel": obj.get("batteryLevel"),
|
||||||
|
"batteryLevelNormalizedPercent": obj.get("batteryLevelNormalizedPercent")
|
||||||
|
})
|
||||||
|
return _obj
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,105 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
"""
|
||||||
|
Endpoint Agents API
|
||||||
|
|
||||||
|
Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents).
|
||||||
|
|
||||||
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||||
|
|
||||||
|
Do not edit the class manually.
|
||||||
|
""" # noqa: E501
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
import pprint
|
||||||
|
import re # noqa: F401
|
||||||
|
import json
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
||||||
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||||
|
from typing import Optional, Set
|
||||||
|
from typing_extensions import Self
|
||||||
|
|
||||||
|
class CellularProfile(BaseModel):
|
||||||
|
"""
|
||||||
|
Cellular network profile information for a mobile endpoint agent.
|
||||||
|
""" # noqa: E501
|
||||||
|
carrier_name: Optional[StrictStr] = Field(default=None, description="Carrier name", alias="carrierName")
|
||||||
|
network_gen: Optional[StrictStr] = Field(default=None, description="Cellular network generation.", alias="networkGen")
|
||||||
|
network_subtype: Optional[StrictStr] = Field(default=None, description="A real network subtype. It may be different from an advertised network type.", alias="networkSubtype")
|
||||||
|
advertised_network_gen: Optional[StrictStr] = Field(default=None, description="Cellular network generation.", alias="advertisedNetworkGen")
|
||||||
|
advertised_network_subtype: Optional[StrictStr] = Field(default=None, description="Advertised Network subtype", alias="advertisedNetworkSubtype")
|
||||||
|
rssi: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Received Signal Strength Indicator in dBm. Values are always negative.")
|
||||||
|
rsrp: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Reference Signal Received Power in dBm. Values are always negative.")
|
||||||
|
rscp: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Received Signal Code Power in dBm. Values are always negative or zero.")
|
||||||
|
rsrq: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Reference Signal Received Quality in dBm. Values are always negative.")
|
||||||
|
sinr: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Signal to Interference and Noise Ratio in dBm. It can be negative or positive.")
|
||||||
|
__properties: ClassVar[List[str]] = ["carrierName", "networkGen", "networkSubtype", "advertisedNetworkGen", "advertisedNetworkSubtype", "rssi", "rsrp", "rscp", "rsrq", "sinr"]
|
||||||
|
|
||||||
|
model_config = ConfigDict(
|
||||||
|
populate_by_name=True,
|
||||||
|
validate_assignment=True,
|
||||||
|
protected_namespaces=(),
|
||||||
|
extra="allow",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def to_str(self) -> str:
|
||||||
|
"""Returns the string representation of the model using alias"""
|
||||||
|
return pprint.pformat(self.model_dump(by_alias=True))
|
||||||
|
|
||||||
|
def to_json(self) -> str:
|
||||||
|
"""Returns the JSON representation of the model using alias"""
|
||||||
|
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||||
|
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||||
|
"""Create an instance of CellularProfile from a JSON string"""
|
||||||
|
return cls.from_dict(json.loads(json_str))
|
||||||
|
|
||||||
|
def to_dict(self) -> Dict[str, Any]:
|
||||||
|
"""Return the dictionary representation of the model using alias.
|
||||||
|
|
||||||
|
This has the following differences from calling pydantic's
|
||||||
|
`self.model_dump(by_alias=True)`:
|
||||||
|
|
||||||
|
* `None` is only added to the output dict for nullable fields that
|
||||||
|
were set at model initialization. Other fields with value `None`
|
||||||
|
are ignored.
|
||||||
|
"""
|
||||||
|
excluded_fields: Set[str] = set([
|
||||||
|
])
|
||||||
|
|
||||||
|
_dict = self.model_dump(
|
||||||
|
by_alias=True,
|
||||||
|
exclude=excluded_fields,
|
||||||
|
exclude_none=True,
|
||||||
|
)
|
||||||
|
return _dict
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||||
|
"""Create an instance of CellularProfile from a dict"""
|
||||||
|
if obj is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if not isinstance(obj, dict):
|
||||||
|
return cls.model_validate(obj)
|
||||||
|
|
||||||
|
_obj = cls.model_validate({
|
||||||
|
"carrierName": obj.get("carrierName"),
|
||||||
|
"networkGen": obj.get("networkGen"),
|
||||||
|
"networkSubtype": obj.get("networkSubtype"),
|
||||||
|
"advertisedNetworkGen": obj.get("advertisedNetworkGen"),
|
||||||
|
"advertisedNetworkSubtype": obj.get("advertisedNetworkSubtype"),
|
||||||
|
"rssi": obj.get("rssi"),
|
||||||
|
"rsrp": obj.get("rsrp"),
|
||||||
|
"rscp": obj.get("rscp"),
|
||||||
|
"rsrq": obj.get("rsrq"),
|
||||||
|
"sinr": obj.get("sinr")
|
||||||
|
})
|
||||||
|
return _obj
|
||||||
|
|
||||||
|
|
||||||
@ -20,6 +20,8 @@ from datetime import datetime
|
|||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
from thousandeyes_sdk.endpoint_agents.models.agent_license_type import AgentLicenseType
|
from thousandeyes_sdk.endpoint_agents.models.agent_license_type import AgentLicenseType
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_agents.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_location import EndpointAgentLocation
|
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_location import EndpointAgentLocation
|
||||||
from thousandeyes_sdk.endpoint_agents.models.endpoint_asn_details import EndpointAsnDetails
|
from thousandeyes_sdk.endpoint_agents.models.endpoint_asn_details import EndpointAsnDetails
|
||||||
from thousandeyes_sdk.endpoint_agents.models.endpoint_client import EndpointClient
|
from thousandeyes_sdk.endpoint_agents.models.endpoint_client import EndpointClient
|
||||||
@ -65,8 +67,10 @@ class EndpointAgent(BaseModel):
|
|||||||
license_type: Optional[AgentLicenseType] = Field(default=None, alias="licenseType")
|
license_type: Optional[AgentLicenseType] = Field(default=None, alias="licenseType")
|
||||||
tcp_driver_available: Optional[StrictBool] = Field(default=None, description="Status of TCP test support on the agent.", alias="tcpDriverAvailable")
|
tcp_driver_available: Optional[StrictBool] = Field(default=None, description="Status of TCP test support on the agent.", alias="tcpDriverAvailable")
|
||||||
npcap_version: Optional[StrictStr] = Field(default=None, description="For Windows agents, the version of the NPCAP driver that the agent has loaded.", alias="npcapVersion")
|
npcap_version: Optional[StrictStr] = Field(default=None, description="For Windows agents, the version of the NPCAP driver that the agent has loaded.", alias="npcapVersion")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||||
__properties: ClassVar[List[str]] = ["id", "aid", "name", "computerName", "osVersion", "platform", "kernelVersion", "manufacturer", "model", "serialNumber", "lastSeen", "status", "deleted", "version", "targetVersion", "createdAt", "numberOfClients", "publicIP", "location", "clients", "totalMemory", "agentType", "vpnProfiles", "externalMetadata", "networkInterfaceProfiles", "asnDetails", "licenseType", "tcpDriverAvailable", "npcapVersion", "_links"]
|
__properties: ClassVar[List[str]] = ["id", "aid", "name", "computerName", "osVersion", "platform", "kernelVersion", "manufacturer", "model", "serialNumber", "lastSeen", "status", "deleted", "version", "targetVersion", "createdAt", "numberOfClients", "publicIP", "location", "clients", "totalMemory", "agentType", "vpnProfiles", "externalMetadata", "networkInterfaceProfiles", "asnDetails", "licenseType", "tcpDriverAvailable", "npcapVersion", "batteryMetrics", "cellularProfile", "_links"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -184,6 +188,12 @@ class EndpointAgent(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of asn_details
|
# override the default output from pydantic by calling `to_dict()` of asn_details
|
||||||
if self.asn_details:
|
if self.asn_details:
|
||||||
_dict['asnDetails'] = self.asn_details.to_dict()
|
_dict['asnDetails'] = self.asn_details.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of links
|
# override the default output from pydantic by calling `to_dict()` of links
|
||||||
if self.links:
|
if self.links:
|
||||||
_dict['_links'] = self.links.to_dict()
|
_dict['_links'] = self.links.to_dict()
|
||||||
@ -228,6 +238,8 @@ class EndpointAgent(BaseModel):
|
|||||||
"licenseType": obj.get("licenseType"),
|
"licenseType": obj.get("licenseType"),
|
||||||
"tcpDriverAvailable": obj.get("tcpDriverAvailable"),
|
"tcpDriverAvailable": obj.get("tcpDriverAvailable"),
|
||||||
"npcapVersion": obj.get("npcapVersion"),
|
"npcapVersion": obj.get("npcapVersion"),
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
|
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
|
||||||
})
|
})
|
||||||
return _obj
|
return _obj
|
||||||
|
|||||||
@ -96,11 +96,27 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
|||||||
"title" : "title"
|
"title" : "title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"publicIP" : "88.45.2.123",
|
"publicIP" : "88.45.2.123",
|
||||||
"tcpDriverAvailable" : true,
|
"tcpDriverAvailable" : true,
|
||||||
"platform" : "mac",
|
"platform" : "mac",
|
||||||
"manufacturer" : "Apple, Inc.",
|
"manufacturer" : "Apple, Inc.",
|
||||||
"targetVersion" : "0.123.4",
|
"targetVersion" : "0.123.4",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"createdAt" : "2022-05-26T23:37:16Z",
|
"createdAt" : "2022-05-26T23:37:16Z",
|
||||||
"numberOfClients" : 3,
|
"numberOfClients" : 3,
|
||||||
"licenseType" : "essentials",
|
"licenseType" : "essentials",
|
||||||
@ -265,11 +281,27 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
|||||||
"title" : "title"
|
"title" : "title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"publicIP" : "88.45.2.123",
|
"publicIP" : "88.45.2.123",
|
||||||
"tcpDriverAvailable" : true,
|
"tcpDriverAvailable" : true,
|
||||||
"platform" : "mac",
|
"platform" : "mac",
|
||||||
"manufacturer" : "Apple, Inc.",
|
"manufacturer" : "Apple, Inc.",
|
||||||
"targetVersion" : "0.123.4",
|
"targetVersion" : "0.123.4",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"createdAt" : "2022-05-26T23:37:16Z",
|
"createdAt" : "2022-05-26T23:37:16Z",
|
||||||
"numberOfClients" : 3,
|
"numberOfClients" : 3,
|
||||||
"licenseType" : "essentials",
|
"licenseType" : "essentials",
|
||||||
@ -489,11 +521,27 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
|||||||
"title" : "title"
|
"title" : "title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"publicIP" : "88.45.2.123",
|
"publicIP" : "88.45.2.123",
|
||||||
"tcpDriverAvailable" : true,
|
"tcpDriverAvailable" : true,
|
||||||
"platform" : "mac",
|
"platform" : "mac",
|
||||||
"manufacturer" : "Apple, Inc.",
|
"manufacturer" : "Apple, Inc.",
|
||||||
"targetVersion" : "0.123.4",
|
"targetVersion" : "0.123.4",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"createdAt" : "2022-05-26T23:37:16Z",
|
"createdAt" : "2022-05-26T23:37:16Z",
|
||||||
"numberOfClients" : 3,
|
"numberOfClients" : 3,
|
||||||
"licenseType" : "essentials",
|
"licenseType" : "essentials",
|
||||||
@ -648,11 +696,27 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
|||||||
"title" : "title"
|
"title" : "title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"publicIP" : "88.45.2.123",
|
"publicIP" : "88.45.2.123",
|
||||||
"tcpDriverAvailable" : true,
|
"tcpDriverAvailable" : true,
|
||||||
"platform" : "mac",
|
"platform" : "mac",
|
||||||
"manufacturer" : "Apple, Inc.",
|
"manufacturer" : "Apple, Inc.",
|
||||||
"targetVersion" : "0.123.4",
|
"targetVersion" : "0.123.4",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"createdAt" : "2022-05-26T23:37:16Z",
|
"createdAt" : "2022-05-26T23:37:16Z",
|
||||||
"numberOfClients" : 3,
|
"numberOfClients" : 3,
|
||||||
"licenseType" : "essentials",
|
"licenseType" : "essentials",
|
||||||
@ -818,11 +882,27 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
|||||||
"title" : "title"
|
"title" : "title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"publicIP" : "88.45.2.123",
|
"publicIP" : "88.45.2.123",
|
||||||
"tcpDriverAvailable" : true,
|
"tcpDriverAvailable" : true,
|
||||||
"platform" : "mac",
|
"platform" : "mac",
|
||||||
"manufacturer" : "Apple, Inc.",
|
"manufacturer" : "Apple, Inc.",
|
||||||
"targetVersion" : "0.123.4",
|
"targetVersion" : "0.123.4",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"createdAt" : "2022-05-26T23:37:16Z",
|
"createdAt" : "2022-05-26T23:37:16Z",
|
||||||
"numberOfClients" : 3,
|
"numberOfClients" : 3,
|
||||||
"licenseType" : "essentials",
|
"licenseType" : "essentials",
|
||||||
@ -1011,11 +1091,27 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
|||||||
"title" : "title"
|
"title" : "title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"publicIP" : "88.45.2.123",
|
"publicIP" : "88.45.2.123",
|
||||||
"tcpDriverAvailable" : true,
|
"tcpDriverAvailable" : true,
|
||||||
"platform" : "mac",
|
"platform" : "mac",
|
||||||
"manufacturer" : "Apple, Inc.",
|
"manufacturer" : "Apple, Inc.",
|
||||||
"targetVersion" : "0.123.4",
|
"targetVersion" : "0.123.4",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"createdAt" : "2022-05-26T23:37:16Z",
|
"createdAt" : "2022-05-26T23:37:16Z",
|
||||||
"numberOfClients" : 3,
|
"numberOfClients" : 3,
|
||||||
"licenseType" : "essentials",
|
"licenseType" : "essentials",
|
||||||
@ -1170,11 +1266,27 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
|||||||
"title" : "title"
|
"title" : "title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"publicIP" : "88.45.2.123",
|
"publicIP" : "88.45.2.123",
|
||||||
"tcpDriverAvailable" : true,
|
"tcpDriverAvailable" : true,
|
||||||
"platform" : "mac",
|
"platform" : "mac",
|
||||||
"manufacturer" : "Apple, Inc.",
|
"manufacturer" : "Apple, Inc.",
|
||||||
"targetVersion" : "0.123.4",
|
"targetVersion" : "0.123.4",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"createdAt" : "2022-05-26T23:37:16Z",
|
"createdAt" : "2022-05-26T23:37:16Z",
|
||||||
"numberOfClients" : 3,
|
"numberOfClients" : 3,
|
||||||
"licenseType" : "essentials",
|
"licenseType" : "essentials",
|
||||||
@ -1373,11 +1485,27 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
|||||||
"title" : "title"
|
"title" : "title"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"publicIP" : "88.45.2.123",
|
"publicIP" : "88.45.2.123",
|
||||||
"tcpDriverAvailable" : true,
|
"tcpDriverAvailable" : true,
|
||||||
"platform" : "mac",
|
"platform" : "mac",
|
||||||
"manufacturer" : "Apple, Inc.",
|
"manufacturer" : "Apple, Inc.",
|
||||||
"targetVersion" : "0.123.4",
|
"targetVersion" : "0.123.4",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"createdAt" : "2022-05-26T23:37:16Z",
|
"createdAt" : "2022-05-26T23:37:16Z",
|
||||||
"numberOfClients" : 3,
|
"numberOfClients" : 3,
|
||||||
"licenseType" : "essentials",
|
"licenseType" : "essentials",
|
||||||
|
|||||||
@ -13,7 +13,7 @@ The URLs for these API test data endpoints are provided within the test definiti
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ Manage labels applied to endpoint agents using this API.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,9 @@ README.md
|
|||||||
docs/ApplicationMetrics.md
|
docs/ApplicationMetrics.md
|
||||||
docs/ApplicationScoreQuality.md
|
docs/ApplicationScoreQuality.md
|
||||||
docs/AsnDetails.md
|
docs/AsnDetails.md
|
||||||
|
docs/BatteryLevel.md
|
||||||
|
docs/BatteryMetrics.md
|
||||||
|
docs/CellularProfile.md
|
||||||
docs/ConditionalOperator.md
|
docs/ConditionalOperator.md
|
||||||
docs/CpuUtilization.md
|
docs/CpuUtilization.md
|
||||||
docs/DynamicBaseEndpointTestResult.md
|
docs/DynamicBaseEndpointTestResult.md
|
||||||
@ -174,6 +177,9 @@ src/thousandeyes_sdk/endpoint_test_results/models/__init__.py
|
|||||||
src/thousandeyes_sdk/endpoint_test_results/models/application_metrics.py
|
src/thousandeyes_sdk/endpoint_test_results/models/application_metrics.py
|
||||||
src/thousandeyes_sdk/endpoint_test_results/models/application_score_quality.py
|
src/thousandeyes_sdk/endpoint_test_results/models/application_score_quality.py
|
||||||
src/thousandeyes_sdk/endpoint_test_results/models/asn_details.py
|
src/thousandeyes_sdk/endpoint_test_results/models/asn_details.py
|
||||||
|
src/thousandeyes_sdk/endpoint_test_results/models/battery_level.py
|
||||||
|
src/thousandeyes_sdk/endpoint_test_results/models/battery_metrics.py
|
||||||
|
src/thousandeyes_sdk/endpoint_test_results/models/cellular_profile.py
|
||||||
src/thousandeyes_sdk/endpoint_test_results/models/conditional_operator.py
|
src/thousandeyes_sdk/endpoint_test_results/models/conditional_operator.py
|
||||||
src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py
|
src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py
|
||||||
src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_endpoint_test_result.py
|
src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_endpoint_test_result.py
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Retrieve results for scheduled and dynamic tests on endpoint agents.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
@ -125,6 +125,9 @@ Class | Method | HTTP request | Description
|
|||||||
- [ApplicationMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ApplicationMetrics.md)
|
- [ApplicationMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ApplicationMetrics.md)
|
||||||
- [ApplicationScoreQuality](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ApplicationScoreQuality.md)
|
- [ApplicationScoreQuality](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ApplicationScoreQuality.md)
|
||||||
- [AsnDetails](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/AsnDetails.md)
|
- [AsnDetails](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/AsnDetails.md)
|
||||||
|
- [BatteryLevel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/BatteryLevel.md)
|
||||||
|
- [BatteryMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/BatteryMetrics.md)
|
||||||
|
- [CellularProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/CellularProfile.md)
|
||||||
- [ConditionalOperator](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ConditionalOperator.md)
|
- [ConditionalOperator](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ConditionalOperator.md)
|
||||||
- [CpuUtilization](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/CpuUtilization.md)
|
- [CpuUtilization](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/CpuUtilization.md)
|
||||||
- [DynamicBaseEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseEndpointTestResult.md)
|
- [DynamicBaseEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseEndpointTestResult.md)
|
||||||
|
|||||||
12
thousandeyes-sdk-endpoint-test-results/docs/BatteryLevel.md
Normal file
12
thousandeyes-sdk-endpoint-test-results/docs/BatteryLevel.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# BatteryLevel
|
||||||
|
|
||||||
|
Battery level indicator.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
# BatteryMetrics
|
||||||
|
|
||||||
|
Battery metrics for the endpoint agent.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
**battery_level** | [**BatteryLevel**](BatteryLevel.md) | |
|
||||||
|
**battery_level_normalized_percent** | **float** | Battery level as a normalized percentage (0-1). |
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```python
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
|
||||||
|
# TODO update the JSON string below
|
||||||
|
json = "{}"
|
||||||
|
# create an instance of BatteryMetrics from a JSON string
|
||||||
|
battery_metrics_instance = BatteryMetrics.from_json(json)
|
||||||
|
# print the JSON string representation of the object
|
||||||
|
print(BatteryMetrics.to_json())
|
||||||
|
|
||||||
|
# convert the object into a dict
|
||||||
|
battery_metrics_dict = battery_metrics_instance.to_dict()
|
||||||
|
# create an instance of BatteryMetrics from a dict
|
||||||
|
battery_metrics_from_dict = BatteryMetrics.from_dict(battery_metrics_dict)
|
||||||
|
```
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,39 @@
|
|||||||
|
# CellularProfile
|
||||||
|
|
||||||
|
Cellular network profile information for a mobile endpoint agent.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
**carrier_name** | **str** | Carrier name | [optional]
|
||||||
|
**network_gen** | **str** | Cellular network generation. | [optional]
|
||||||
|
**network_subtype** | **str** | A real network subtype. It may be different from an advertised network type. | [optional]
|
||||||
|
**advertised_network_gen** | **str** | Cellular network generation. | [optional]
|
||||||
|
**advertised_network_subtype** | **str** | Advertised Network subtype | [optional]
|
||||||
|
**rssi** | **float** | Received Signal Strength Indicator in dBm. Values are always negative. | [optional]
|
||||||
|
**rsrp** | **float** | Reference Signal Received Power in dBm. Values are always negative. | [optional]
|
||||||
|
**rscp** | **float** | Received Signal Code Power in dBm. Values are always negative or zero. | [optional]
|
||||||
|
**rsrq** | **float** | Reference Signal Received Quality in dBm. Values are always negative. | [optional]
|
||||||
|
**sinr** | **float** | Signal to Interference and Noise Ratio in dBm. It can be negative or positive. | [optional]
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```python
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
|
|
||||||
|
# TODO update the JSON string below
|
||||||
|
json = "{}"
|
||||||
|
# create an instance of CellularProfile from a JSON string
|
||||||
|
cellular_profile_instance = CellularProfile.from_json(json)
|
||||||
|
# print the JSON string representation of the object
|
||||||
|
print(CellularProfile.to_json())
|
||||||
|
|
||||||
|
# convert the object into a dict
|
||||||
|
cellular_profile_dict = cellular_profile_instance.to_dict()
|
||||||
|
# create an instance of CellularProfile from a dict
|
||||||
|
cellular_profile_from_dict = CellularProfile.from_dict(cellular_profile_dict)
|
||||||
|
```
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
|
||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**score** | [**EndpointHttpDataPointScore**](EndpointHttpDataPointScore.md) | | [optional]
|
**score** | [**EndpointHttpDataPointScore**](EndpointHttpDataPointScore.md) | | [optional]
|
||||||
**connect_time** | **int** | Time required to establish a TCP connection to the server in milliseconds. | [optional] [readonly]
|
**connect_time** | **int** | Time required to establish a TCP connection to the server in milliseconds. | [optional] [readonly]
|
||||||
**dns_time** | **int** | Time required to resolve DNS in milliseconds. | [optional] [readonly]
|
**dns_time** | **int** | Time required to resolve DNS in milliseconds. | [optional] [readonly]
|
||||||
|
|||||||
@ -22,6 +22,9 @@ Name | Type | Description | Notes
|
|||||||
**proxy_score** | [**EndpointProbeProxyScore**](EndpointProbeProxyScore.md) | | [optional]
|
**proxy_score** | [**EndpointProbeProxyScore**](EndpointProbeProxyScore.md) | | [optional]
|
||||||
**connection_score** | [**EndpointProbeConnectionScore**](EndpointProbeConnectionScore.md) | | [optional]
|
**connection_score** | [**EndpointProbeConnectionScore**](EndpointProbeConnectionScore.md) | | [optional]
|
||||||
**agent_score** | [**EndpointProbeAgentScore**](EndpointProbeAgentScore.md) | | [optional]
|
**agent_score** | [**EndpointProbeAgentScore**](EndpointProbeAgentScore.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**coordinates** | [**RealUserEndpointTestCoordinates**](RealUserEndpointTestCoordinates.md) | | [optional]
|
**coordinates** | [**RealUserEndpointTestCoordinates**](RealUserEndpointTestCoordinates.md) | | [optional]
|
||||||
**network_profile** | [**NetworkProfile**](NetworkProfile.md) | | [optional]
|
**network_profile** | [**NetworkProfile**](NetworkProfile.md) | | [optional]
|
||||||
**icmp_traceroute** | [**Traceroute**](Traceroute.md) | | [optional]
|
**icmp_traceroute** | [**Traceroute**](Traceroute.md) | | [optional]
|
||||||
|
|||||||
@ -22,6 +22,9 @@ Name | Type | Description | Notes
|
|||||||
**proxy_score** | [**EndpointProbeProxyScore**](EndpointProbeProxyScore.md) | | [optional]
|
**proxy_score** | [**EndpointProbeProxyScore**](EndpointProbeProxyScore.md) | | [optional]
|
||||||
**connection_score** | [**EndpointProbeConnectionScore**](EndpointProbeConnectionScore.md) | | [optional]
|
**connection_score** | [**EndpointProbeConnectionScore**](EndpointProbeConnectionScore.md) | | [optional]
|
||||||
**agent_score** | [**EndpointProbeAgentScore**](EndpointProbeAgentScore.md) | | [optional]
|
**agent_score** | [**EndpointProbeAgentScore**](EndpointProbeAgentScore.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**avg_latency** | **float** | Average RTT for packets sent to destination. | [optional] [readonly]
|
**avg_latency** | **float** | Average RTT for packets sent to destination. | [optional] [readonly]
|
||||||
**error_details** | **str** | Error details, if an error was encountered. | [optional] [readonly]
|
**error_details** | **str** | Error details, if an error was encountered. | [optional] [readonly]
|
||||||
**jitter** | **float** | Standard deviation of latency. | [optional] [readonly]
|
**jitter** | **float** | Standard deviation of latency. | [optional] [readonly]
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**avg_latency** | **float** | Average RTT for packets sent to destination. | [optional] [readonly]
|
**avg_latency** | **float** | Average RTT for packets sent to destination. | [optional] [readonly]
|
||||||
**error_details** | **str** | Error details, if an error was encountered. | [optional] [readonly]
|
**error_details** | **str** | Error details, if an error was encountered. | [optional] [readonly]
|
||||||
**jitter** | **float** | Standard deviation of latency. | [optional] [readonly]
|
**jitter** | **float** | Standard deviation of latency. | [optional] [readonly]
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
||||||
**server** | **str** | Target server, including port. | [optional] [readonly]
|
**server** | **str** | Target server, including port. | [optional] [readonly]
|
||||||
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
||||||
**server** | **str** | Target server, including port. | [optional] [readonly]
|
**server** | **str** | Target server, including port. | [optional] [readonly]
|
||||||
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
||||||
**server** | **str** | Target server, including port. | [optional] [readonly]
|
**server** | **str** | Target server, including port. | [optional] [readonly]
|
||||||
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
||||||
**server** | **str** | Target server, including port. | [optional] [readonly]
|
**server** | **str** | Target server, including port. | [optional] [readonly]
|
||||||
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
||||||
|
|||||||
@ -15,6 +15,9 @@ Name | Type | Description | Notes
|
|||||||
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
**original_target_profile** | [**TargetProfile**](TargetProfile.md) | | [optional]
|
||||||
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
**user_profile** | [**UserProfile**](UserProfile.md) | | [optional]
|
||||||
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
**vpn_profile** | [**VpnProfile**](VpnProfile.md) | | [optional]
|
||||||
|
**battery_metrics** | [**BatteryMetrics**](BatteryMetrics.md) | | [optional]
|
||||||
|
**cellular_profile** | [**CellularProfile**](CellularProfile.md) | | [optional]
|
||||||
|
**platform** | [**Platform**](Platform.md) | | [optional]
|
||||||
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
**asn_details** | [**AsnDetails**](AsnDetails.md) | | [optional]
|
||||||
**server** | **str** | Target server, including port. | [optional] [readonly]
|
**server** | **str** | Target server, including port. | [optional] [readonly]
|
||||||
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
**source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly]
|
||||||
|
|||||||
@ -25,6 +25,9 @@ from thousandeyes_sdk.endpoint_test_results.api.real_user_endpoint_test_results_
|
|||||||
from thousandeyes_sdk.endpoint_test_results.models.application_metrics import ApplicationMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.application_metrics import ApplicationMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.application_score_quality import ApplicationScoreQuality
|
from thousandeyes_sdk.endpoint_test_results.models.application_score_quality import ApplicationScoreQuality
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_level import BatteryLevel
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.conditional_operator import ConditionalOperator
|
from thousandeyes_sdk.endpoint_test_results.models.conditional_operator import ConditionalOperator
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.cpu_utilization import CpuUtilization
|
from thousandeyes_sdk.endpoint_test_results.models.cpu_utilization import CpuUtilization
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_endpoint_test_result import DynamicBaseEndpointTestResult
|
from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_endpoint_test_result import DynamicBaseEndpointTestResult
|
||||||
|
|||||||
@ -16,6 +16,9 @@
|
|||||||
from thousandeyes_sdk.endpoint_test_results.models.application_metrics import ApplicationMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.application_metrics import ApplicationMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.application_score_quality import ApplicationScoreQuality
|
from thousandeyes_sdk.endpoint_test_results.models.application_score_quality import ApplicationScoreQuality
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_level import BatteryLevel
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.conditional_operator import ConditionalOperator
|
from thousandeyes_sdk.endpoint_test_results.models.conditional_operator import ConditionalOperator
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.cpu_utilization import CpuUtilization
|
from thousandeyes_sdk.endpoint_test_results.models.cpu_utilization import CpuUtilization
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_endpoint_test_result import DynamicBaseEndpointTestResult
|
from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_endpoint_test_result import DynamicBaseEndpointTestResult
|
||||||
|
|||||||
@ -0,0 +1,42 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
"""
|
||||||
|
Endpoint Test Results API
|
||||||
|
|
||||||
|
Retrieve results for scheduled and dynamic tests on endpoint agents.
|
||||||
|
|
||||||
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||||
|
|
||||||
|
Do not edit the class manually.
|
||||||
|
""" # noqa: E501
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
import json
|
||||||
|
from enum import Enum
|
||||||
|
from typing_extensions import Self
|
||||||
|
|
||||||
|
|
||||||
|
class BatteryLevel(str, Enum):
|
||||||
|
"""
|
||||||
|
Battery level indicator.
|
||||||
|
"""
|
||||||
|
|
||||||
|
"""
|
||||||
|
allowed enum values
|
||||||
|
"""
|
||||||
|
HIGH = 'high'
|
||||||
|
MEDIUM = 'medium'
|
||||||
|
LOW = 'low'
|
||||||
|
UNKNOWN = 'unknown'
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_json(cls, json_str: str) -> Self:
|
||||||
|
"""Create an instance of BatteryLevel from a JSON string"""
|
||||||
|
return cls(json.loads(json_str))
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def _missing_(cls, value):
|
||||||
|
"""Handle unknown values"""
|
||||||
|
return cls.UNKNOWN
|
||||||
|
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
"""
|
||||||
|
Endpoint Test Results API
|
||||||
|
|
||||||
|
Retrieve results for scheduled and dynamic tests on endpoint agents.
|
||||||
|
|
||||||
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||||
|
|
||||||
|
Do not edit the class manually.
|
||||||
|
""" # noqa: E501
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
import pprint
|
||||||
|
import re # noqa: F401
|
||||||
|
import json
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
|
from typing import Any, ClassVar, Dict, List, Union
|
||||||
|
from typing_extensions import Annotated
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_level import BatteryLevel
|
||||||
|
from typing import Optional, Set
|
||||||
|
from typing_extensions import Self
|
||||||
|
|
||||||
|
class BatteryMetrics(BaseModel):
|
||||||
|
"""
|
||||||
|
Battery metrics for the endpoint agent.
|
||||||
|
""" # noqa: E501
|
||||||
|
battery_level: BatteryLevel = Field(alias="batteryLevel")
|
||||||
|
battery_level_normalized_percent: Union[Annotated[float, Field(le=1, strict=True, ge=0)], Annotated[int, Field(le=1, strict=True, ge=0)]] = Field(description="Battery level as a normalized percentage (0-1).", alias="batteryLevelNormalizedPercent")
|
||||||
|
__properties: ClassVar[List[str]] = ["batteryLevel", "batteryLevelNormalizedPercent"]
|
||||||
|
|
||||||
|
model_config = ConfigDict(
|
||||||
|
populate_by_name=True,
|
||||||
|
validate_assignment=True,
|
||||||
|
protected_namespaces=(),
|
||||||
|
extra="allow",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def to_str(self) -> str:
|
||||||
|
"""Returns the string representation of the model using alias"""
|
||||||
|
return pprint.pformat(self.model_dump(by_alias=True))
|
||||||
|
|
||||||
|
def to_json(self) -> str:
|
||||||
|
"""Returns the JSON representation of the model using alias"""
|
||||||
|
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||||
|
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||||
|
"""Create an instance of BatteryMetrics from a JSON string"""
|
||||||
|
return cls.from_dict(json.loads(json_str))
|
||||||
|
|
||||||
|
def to_dict(self) -> Dict[str, Any]:
|
||||||
|
"""Return the dictionary representation of the model using alias.
|
||||||
|
|
||||||
|
This has the following differences from calling pydantic's
|
||||||
|
`self.model_dump(by_alias=True)`:
|
||||||
|
|
||||||
|
* `None` is only added to the output dict for nullable fields that
|
||||||
|
were set at model initialization. Other fields with value `None`
|
||||||
|
are ignored.
|
||||||
|
"""
|
||||||
|
excluded_fields: Set[str] = set([
|
||||||
|
])
|
||||||
|
|
||||||
|
_dict = self.model_dump(
|
||||||
|
by_alias=True,
|
||||||
|
exclude=excluded_fields,
|
||||||
|
exclude_none=True,
|
||||||
|
)
|
||||||
|
return _dict
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||||
|
"""Create an instance of BatteryMetrics from a dict"""
|
||||||
|
if obj is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if not isinstance(obj, dict):
|
||||||
|
return cls.model_validate(obj)
|
||||||
|
|
||||||
|
_obj = cls.model_validate({
|
||||||
|
"batteryLevel": obj.get("batteryLevel"),
|
||||||
|
"batteryLevelNormalizedPercent": obj.get("batteryLevelNormalizedPercent")
|
||||||
|
})
|
||||||
|
return _obj
|
||||||
|
|
||||||
|
|
||||||
@ -0,0 +1,105 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
|
||||||
|
"""
|
||||||
|
Endpoint Test Results API
|
||||||
|
|
||||||
|
Retrieve results for scheduled and dynamic tests on endpoint agents.
|
||||||
|
|
||||||
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||||
|
|
||||||
|
Do not edit the class manually.
|
||||||
|
""" # noqa: E501
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
import pprint
|
||||||
|
import re # noqa: F401
|
||||||
|
import json
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
||||||
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||||
|
from typing import Optional, Set
|
||||||
|
from typing_extensions import Self
|
||||||
|
|
||||||
|
class CellularProfile(BaseModel):
|
||||||
|
"""
|
||||||
|
Cellular network profile information for a mobile endpoint agent.
|
||||||
|
""" # noqa: E501
|
||||||
|
carrier_name: Optional[StrictStr] = Field(default=None, description="Carrier name", alias="carrierName")
|
||||||
|
network_gen: Optional[StrictStr] = Field(default=None, description="Cellular network generation.", alias="networkGen")
|
||||||
|
network_subtype: Optional[StrictStr] = Field(default=None, description="A real network subtype. It may be different from an advertised network type.", alias="networkSubtype")
|
||||||
|
advertised_network_gen: Optional[StrictStr] = Field(default=None, description="Cellular network generation.", alias="advertisedNetworkGen")
|
||||||
|
advertised_network_subtype: Optional[StrictStr] = Field(default=None, description="Advertised Network subtype", alias="advertisedNetworkSubtype")
|
||||||
|
rssi: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Received Signal Strength Indicator in dBm. Values are always negative.")
|
||||||
|
rsrp: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Reference Signal Received Power in dBm. Values are always negative.")
|
||||||
|
rscp: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Received Signal Code Power in dBm. Values are always negative or zero.")
|
||||||
|
rsrq: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Reference Signal Received Quality in dBm. Values are always negative.")
|
||||||
|
sinr: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Signal to Interference and Noise Ratio in dBm. It can be negative or positive.")
|
||||||
|
__properties: ClassVar[List[str]] = ["carrierName", "networkGen", "networkSubtype", "advertisedNetworkGen", "advertisedNetworkSubtype", "rssi", "rsrp", "rscp", "rsrq", "sinr"]
|
||||||
|
|
||||||
|
model_config = ConfigDict(
|
||||||
|
populate_by_name=True,
|
||||||
|
validate_assignment=True,
|
||||||
|
protected_namespaces=(),
|
||||||
|
extra="allow",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def to_str(self) -> str:
|
||||||
|
"""Returns the string representation of the model using alias"""
|
||||||
|
return pprint.pformat(self.model_dump(by_alias=True))
|
||||||
|
|
||||||
|
def to_json(self) -> str:
|
||||||
|
"""Returns the JSON representation of the model using alias"""
|
||||||
|
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||||
|
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||||
|
"""Create an instance of CellularProfile from a JSON string"""
|
||||||
|
return cls.from_dict(json.loads(json_str))
|
||||||
|
|
||||||
|
def to_dict(self) -> Dict[str, Any]:
|
||||||
|
"""Return the dictionary representation of the model using alias.
|
||||||
|
|
||||||
|
This has the following differences from calling pydantic's
|
||||||
|
`self.model_dump(by_alias=True)`:
|
||||||
|
|
||||||
|
* `None` is only added to the output dict for nullable fields that
|
||||||
|
were set at model initialization. Other fields with value `None`
|
||||||
|
are ignored.
|
||||||
|
"""
|
||||||
|
excluded_fields: Set[str] = set([
|
||||||
|
])
|
||||||
|
|
||||||
|
_dict = self.model_dump(
|
||||||
|
by_alias=True,
|
||||||
|
exclude=excluded_fields,
|
||||||
|
exclude_none=True,
|
||||||
|
)
|
||||||
|
return _dict
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||||
|
"""Create an instance of CellularProfile from a dict"""
|
||||||
|
if obj is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if not isinstance(obj, dict):
|
||||||
|
return cls.model_validate(obj)
|
||||||
|
|
||||||
|
_obj = cls.model_validate({
|
||||||
|
"carrierName": obj.get("carrierName"),
|
||||||
|
"networkGen": obj.get("networkGen"),
|
||||||
|
"networkSubtype": obj.get("networkSubtype"),
|
||||||
|
"advertisedNetworkGen": obj.get("advertisedNetworkGen"),
|
||||||
|
"advertisedNetworkSubtype": obj.get("advertisedNetworkSubtype"),
|
||||||
|
"rssi": obj.get("rssi"),
|
||||||
|
"rsrp": obj.get("rsrp"),
|
||||||
|
"rscp": obj.get("rscp"),
|
||||||
|
"rsrq": obj.get("rsrq"),
|
||||||
|
"sinr": obj.get("sinr")
|
||||||
|
})
|
||||||
|
return _obj
|
||||||
|
|
||||||
|
|
||||||
@ -18,7 +18,10 @@ import json
|
|||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
||||||
@ -40,7 +43,10 @@ class EndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile"]
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -105,6 +111,12 @@ class EndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
return _dict
|
return _dict
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -126,7 +138,10 @@ class EndpointTestResult(BaseModel):
|
|||||||
"systemMetrics": SystemMetrics.from_dict(obj["systemMetrics"]) if obj.get("systemMetrics") is not None else None,
|
"systemMetrics": SystemMetrics.from_dict(obj["systemMetrics"]) if obj.get("systemMetrics") is not None else None,
|
||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform")
|
||||||
})
|
})
|
||||||
return _obj
|
return _obj
|
||||||
|
|
||||||
|
|||||||
@ -18,10 +18,13 @@ import json
|
|||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_http_data_point_score import EndpointHttpDataPointScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_http_data_point_score import EndpointHttpDataPointScore
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result_headers import HttpEndpointTestResultHeaders
|
from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result_headers import HttpEndpointTestResultHeaders
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.http_error_type import HttpErrorType
|
from thousandeyes_sdk.endpoint_test_results.models.http_error_type import HttpErrorType
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
||||||
@ -43,6 +46,9 @@ class HttpEndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
score: Optional[EndpointHttpDataPointScore] = None
|
score: Optional[EndpointHttpDataPointScore] = None
|
||||||
connect_time: Optional[StrictInt] = Field(default=None, description="Time required to establish a TCP connection to the server in milliseconds.", alias="connectTime")
|
connect_time: Optional[StrictInt] = Field(default=None, description="Time required to establish a TCP connection to the server in milliseconds.", alias="connectTime")
|
||||||
dns_time: Optional[StrictInt] = Field(default=None, description="Time required to resolve DNS in milliseconds.", alias="dnsTime")
|
dns_time: Optional[StrictInt] = Field(default=None, description="Time required to resolve DNS in milliseconds.", alias="dnsTime")
|
||||||
@ -59,7 +65,7 @@ class HttpEndpointTestResult(BaseModel):
|
|||||||
wait_time: Optional[StrictInt] = Field(default=None, description="Time elapsed between completion of request and first byte of response in milliseconds.", alias="waitTime")
|
wait_time: Optional[StrictInt] = Field(default=None, description="Time elapsed between completion of request and first byte of response in milliseconds.", alias="waitTime")
|
||||||
wire_size: Optional[StrictInt] = Field(default=None, description="Size of content in bytes.", alias="wireSize")
|
wire_size: Optional[StrictInt] = Field(default=None, description="Size of content in bytes.", alias="wireSize")
|
||||||
throughput: Optional[StrictInt] = Field(default=None, description="Amount of data transmitted, in bytes.")
|
throughput: Optional[StrictInt] = Field(default=None, description="Amount of data transmitted, in bytes.")
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "score", "connectTime", "dnsTime", "errorType", "errorDetails", "headers", "numRedirects", "receiveTime", "redirectTime", "responseCode", "responseTime", "sslTime", "totalTime", "waitTime", "wireSize", "throughput"]
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform", "score", "connectTime", "dnsTime", "errorType", "errorDetails", "headers", "numRedirects", "receiveTime", "redirectTime", "responseCode", "responseTime", "sslTime", "totalTime", "waitTime", "wireSize", "throughput"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -150,6 +156,12 @@ class HttpEndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of score
|
# override the default output from pydantic by calling `to_dict()` of score
|
||||||
if self.score:
|
if self.score:
|
||||||
_dict['score'] = self.score.to_dict()
|
_dict['score'] = self.score.to_dict()
|
||||||
@ -178,6 +190,9 @@ class HttpEndpointTestResult(BaseModel):
|
|||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"score": EndpointHttpDataPointScore.from_dict(obj["score"]) if obj.get("score") is not None else None,
|
"score": EndpointHttpDataPointScore.from_dict(obj["score"]) if obj.get("score") is not None else None,
|
||||||
"connectTime": obj.get("connectTime"),
|
"connectTime": obj.get("connectTime"),
|
||||||
"dnsTime": obj.get("dnsTime"),
|
"dnsTime": obj.get("dnsTime"),
|
||||||
|
|||||||
@ -19,6 +19,8 @@ import json
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_agent_score import EndpointProbeAgentScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_agent_score import EndpointProbeAgentScore
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_connection_score import EndpointProbeConnectionScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_connection_score import EndpointProbeConnectionScore
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_gateway_score import EndpointProbeGatewayScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_gateway_score import EndpointProbeGatewayScore
|
||||||
@ -27,6 +29,7 @@ from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_vpn_score impo
|
|||||||
from thousandeyes_sdk.endpoint_test_results.models.network_ping import NetworkPing
|
from thousandeyes_sdk.endpoint_test_results.models.network_ping import NetworkPing
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_topology_type import NetworkTopologyType
|
from thousandeyes_sdk.endpoint_test_results.models.network_topology_type import NetworkTopologyType
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_coordinates import RealUserEndpointTestCoordinates
|
from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_coordinates import RealUserEndpointTestCoordinates
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails
|
from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
@ -56,11 +59,14 @@ class LocalNetworkTopologyResult(BaseModel):
|
|||||||
proxy_score: Optional[EndpointProbeProxyScore] = Field(default=None, alias="proxyScore")
|
proxy_score: Optional[EndpointProbeProxyScore] = Field(default=None, alias="proxyScore")
|
||||||
connection_score: Optional[EndpointProbeConnectionScore] = Field(default=None, alias="connectionScore")
|
connection_score: Optional[EndpointProbeConnectionScore] = Field(default=None, alias="connectionScore")
|
||||||
agent_score: Optional[EndpointProbeAgentScore] = Field(default=None, alias="agentScore")
|
agent_score: Optional[EndpointProbeAgentScore] = Field(default=None, alias="agentScore")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
coordinates: Optional[RealUserEndpointTestCoordinates] = None
|
coordinates: Optional[RealUserEndpointTestCoordinates] = None
|
||||||
network_profile: Optional[NetworkProfile] = Field(default=None, alias="networkProfile")
|
network_profile: Optional[NetworkProfile] = Field(default=None, alias="networkProfile")
|
||||||
icmp_traceroute: Optional[Traceroute] = Field(default=None, alias="icmpTraceroute")
|
icmp_traceroute: Optional[Traceroute] = Field(default=None, alias="icmpTraceroute")
|
||||||
icmp_traceroutes: Optional[List[Traceroute]] = Field(default=None, alias="icmpTraceroutes")
|
icmp_traceroutes: Optional[List[Traceroute]] = Field(default=None, alias="icmpTraceroutes")
|
||||||
__properties: ClassVar[List[str]] = ["agentId", "date", "networkTopologyId", "roundId", "target", "targetPort", "type", "icmpPing", "isIcmpBlocked", "tcpConnect", "systemMetrics", "systemMetricDetails", "vpnScore", "gatewayScore", "proxyScore", "connectionScore", "agentScore", "coordinates", "networkProfile", "icmpTraceroute", "icmpTraceroutes"]
|
__properties: ClassVar[List[str]] = ["agentId", "date", "networkTopologyId", "roundId", "target", "targetPort", "type", "icmpPing", "isIcmpBlocked", "tcpConnect", "systemMetrics", "systemMetricDetails", "vpnScore", "gatewayScore", "proxyScore", "connectionScore", "agentScore", "batteryMetrics", "cellularProfile", "platform", "coordinates", "networkProfile", "icmpTraceroute", "icmpTraceroutes"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -143,6 +149,12 @@ class LocalNetworkTopologyResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of agent_score
|
# override the default output from pydantic by calling `to_dict()` of agent_score
|
||||||
if self.agent_score:
|
if self.agent_score:
|
||||||
_dict['agentScore'] = self.agent_score.to_dict()
|
_dict['agentScore'] = self.agent_score.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||||
if self.coordinates:
|
if self.coordinates:
|
||||||
_dict['coordinates'] = self.coordinates.to_dict()
|
_dict['coordinates'] = self.coordinates.to_dict()
|
||||||
@ -188,6 +200,9 @@ class LocalNetworkTopologyResult(BaseModel):
|
|||||||
"proxyScore": EndpointProbeProxyScore.from_dict(obj["proxyScore"]) if obj.get("proxyScore") is not None else None,
|
"proxyScore": EndpointProbeProxyScore.from_dict(obj["proxyScore"]) if obj.get("proxyScore") is not None else None,
|
||||||
"connectionScore": EndpointProbeConnectionScore.from_dict(obj["connectionScore"]) if obj.get("connectionScore") is not None else None,
|
"connectionScore": EndpointProbeConnectionScore.from_dict(obj["connectionScore"]) if obj.get("connectionScore") is not None else None,
|
||||||
"agentScore": EndpointProbeAgentScore.from_dict(obj["agentScore"]) if obj.get("agentScore") is not None else None,
|
"agentScore": EndpointProbeAgentScore.from_dict(obj["agentScore"]) if obj.get("agentScore") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"coordinates": RealUserEndpointTestCoordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
"coordinates": RealUserEndpointTestCoordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||||
"networkProfile": NetworkProfile.from_dict(obj["networkProfile"]) if obj.get("networkProfile") is not None else None,
|
"networkProfile": NetworkProfile.from_dict(obj["networkProfile"]) if obj.get("networkProfile") is not None else None,
|
||||||
"icmpTraceroute": Traceroute.from_dict(obj["icmpTraceroute"]) if obj.get("icmpTraceroute") is not None else None,
|
"icmpTraceroute": Traceroute.from_dict(obj["icmpTraceroute"]) if obj.get("icmpTraceroute") is not None else None,
|
||||||
|
|||||||
@ -19,6 +19,8 @@ import json
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_agent_score import EndpointProbeAgentScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_agent_score import EndpointProbeAgentScore
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_connection_score import EndpointProbeConnectionScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_connection_score import EndpointProbeConnectionScore
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_gateway_score import EndpointProbeGatewayScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_gateway_score import EndpointProbeGatewayScore
|
||||||
@ -26,6 +28,7 @@ from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_proxy_score im
|
|||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_vpn_score import EndpointProbeVpnScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_probe_vpn_score import EndpointProbeVpnScore
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_ping import NetworkPing
|
from thousandeyes_sdk.endpoint_test_results.models.network_ping import NetworkPing
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_topology_type import NetworkTopologyType
|
from thousandeyes_sdk.endpoint_test_results.models.network_topology_type import NetworkTopologyType
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails
|
from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.tcp_connect import TcpConnect
|
from thousandeyes_sdk.endpoint_test_results.models.tcp_connect import TcpConnect
|
||||||
@ -53,7 +56,10 @@ class LocalNetworkTopologyResultBase(BaseModel):
|
|||||||
proxy_score: Optional[EndpointProbeProxyScore] = Field(default=None, alias="proxyScore")
|
proxy_score: Optional[EndpointProbeProxyScore] = Field(default=None, alias="proxyScore")
|
||||||
connection_score: Optional[EndpointProbeConnectionScore] = Field(default=None, alias="connectionScore")
|
connection_score: Optional[EndpointProbeConnectionScore] = Field(default=None, alias="connectionScore")
|
||||||
agent_score: Optional[EndpointProbeAgentScore] = Field(default=None, alias="agentScore")
|
agent_score: Optional[EndpointProbeAgentScore] = Field(default=None, alias="agentScore")
|
||||||
__properties: ClassVar[List[str]] = ["agentId", "date", "networkTopologyId", "roundId", "target", "targetPort", "type", "icmpPing", "isIcmpBlocked", "tcpConnect", "systemMetrics", "systemMetricDetails", "vpnScore", "gatewayScore", "proxyScore", "connectionScore", "agentScore"]
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
|
__properties: ClassVar[List[str]] = ["agentId", "date", "networkTopologyId", "roundId", "target", "targetPort", "type", "icmpPing", "isIcmpBlocked", "tcpConnect", "systemMetrics", "systemMetricDetails", "vpnScore", "gatewayScore", "proxyScore", "connectionScore", "agentScore", "batteryMetrics", "cellularProfile", "platform"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -136,6 +142,12 @@ class LocalNetworkTopologyResultBase(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of agent_score
|
# override the default output from pydantic by calling `to_dict()` of agent_score
|
||||||
if self.agent_score:
|
if self.agent_score:
|
||||||
_dict['agentScore'] = self.agent_score.to_dict()
|
_dict['agentScore'] = self.agent_score.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
return _dict
|
return _dict
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -164,7 +176,10 @@ class LocalNetworkTopologyResultBase(BaseModel):
|
|||||||
"gatewayScore": EndpointProbeGatewayScore.from_dict(obj["gatewayScore"]) if obj.get("gatewayScore") is not None else None,
|
"gatewayScore": EndpointProbeGatewayScore.from_dict(obj["gatewayScore"]) if obj.get("gatewayScore") is not None else None,
|
||||||
"proxyScore": EndpointProbeProxyScore.from_dict(obj["proxyScore"]) if obj.get("proxyScore") is not None else None,
|
"proxyScore": EndpointProbeProxyScore.from_dict(obj["proxyScore"]) if obj.get("proxyScore") is not None else None,
|
||||||
"connectionScore": EndpointProbeConnectionScore.from_dict(obj["connectionScore"]) if obj.get("connectionScore") is not None else None,
|
"connectionScore": EndpointProbeConnectionScore.from_dict(obj["connectionScore"]) if obj.get("connectionScore") is not None else None,
|
||||||
"agentScore": EndpointProbeAgentScore.from_dict(obj["agentScore"]) if obj.get("agentScore") is not None else None
|
"agentScore": EndpointProbeAgentScore.from_dict(obj["agentScore"]) if obj.get("agentScore") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform")
|
||||||
})
|
})
|
||||||
return _obj
|
return _obj
|
||||||
|
|
||||||
|
|||||||
@ -18,11 +18,14 @@ import json
|
|||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex
|
from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_ping_data_point_score import EndpointPingDataPointScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_ping_data_point_score import EndpointPingDataPointScore
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_zta_metrics import EndpointZtaMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_zta_metrics import EndpointZtaMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse
|
from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse
|
||||||
@ -46,6 +49,9 @@ class NetworkDynamicEndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
avg_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Average RTT for packets sent to destination.", alias="avgLatency")
|
avg_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Average RTT for packets sent to destination.", alias="avgLatency")
|
||||||
error_details: Optional[StrictStr] = Field(default=None, description="Error details, if an error was encountered.", alias="errorDetails")
|
error_details: Optional[StrictStr] = Field(default=None, description="Error details, if an error was encountered.", alias="errorDetails")
|
||||||
jitter: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Standard deviation of latency.")
|
jitter: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Standard deviation of latency.")
|
||||||
@ -60,7 +66,7 @@ class NetworkDynamicEndpointTestResult(BaseModel):
|
|||||||
tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode")
|
tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode")
|
||||||
udp_probe_mode: Optional[UdpProbeModeResponse] = Field(default=None, alias="udpProbeMode")
|
udp_probe_mode: Optional[UdpProbeModeResponse] = Field(default=None, alias="udpProbeMode")
|
||||||
webex: Optional[DynamicEndpointTestWebex] = None
|
webex: Optional[DynamicEndpointTestWebex] = None
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "avgLatency", "errorDetails", "jitter", "score", "ztaMetrics", "isIcmpBlocked", "loss", "maxLatency", "minLatency", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"]
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform", "avgLatency", "errorDetails", "jitter", "score", "ztaMetrics", "isIcmpBlocked", "loss", "maxLatency", "minLatency", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -139,6 +145,12 @@ class NetworkDynamicEndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of score
|
# override the default output from pydantic by calling `to_dict()` of score
|
||||||
if self.score:
|
if self.score:
|
||||||
_dict['score'] = self.score.to_dict()
|
_dict['score'] = self.score.to_dict()
|
||||||
@ -174,6 +186,9 @@ class NetworkDynamicEndpointTestResult(BaseModel):
|
|||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"avgLatency": obj.get("avgLatency"),
|
"avgLatency": obj.get("avgLatency"),
|
||||||
"errorDetails": obj.get("errorDetails"),
|
"errorDetails": obj.get("errorDetails"),
|
||||||
"jitter": obj.get("jitter"),
|
"jitter": obj.get("jitter"),
|
||||||
|
|||||||
@ -18,9 +18,12 @@ import json
|
|||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_ping_data_point_score import EndpointPingDataPointScore
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_ping_data_point_score import EndpointPingDataPointScore
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_zta_metrics import EndpointZtaMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_zta_metrics import EndpointZtaMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
||||||
@ -42,6 +45,9 @@ class NetworkEndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
avg_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Average RTT for packets sent to destination.", alias="avgLatency")
|
avg_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Average RTT for packets sent to destination.", alias="avgLatency")
|
||||||
error_details: Optional[StrictStr] = Field(default=None, description="Error details, if an error was encountered.", alias="errorDetails")
|
error_details: Optional[StrictStr] = Field(default=None, description="Error details, if an error was encountered.", alias="errorDetails")
|
||||||
jitter: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Standard deviation of latency.")
|
jitter: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Standard deviation of latency.")
|
||||||
@ -51,7 +57,7 @@ class NetworkEndpointTestResult(BaseModel):
|
|||||||
loss: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Percentage of packets not reaching destination.")
|
loss: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Percentage of packets not reaching destination.")
|
||||||
max_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Maximum RTT for packets sent to destination.", alias="maxLatency")
|
max_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Maximum RTT for packets sent to destination.", alias="maxLatency")
|
||||||
min_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Minimum RTT for packets sent to destination.", alias="minLatency")
|
min_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Minimum RTT for packets sent to destination.", alias="minLatency")
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "avgLatency", "errorDetails", "jitter", "score", "ztaMetrics", "isIcmpBlocked", "loss", "maxLatency", "minLatency"]
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform", "avgLatency", "errorDetails", "jitter", "score", "ztaMetrics", "isIcmpBlocked", "loss", "maxLatency", "minLatency"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -130,6 +136,12 @@ class NetworkEndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of score
|
# override the default output from pydantic by calling `to_dict()` of score
|
||||||
if self.score:
|
if self.score:
|
||||||
_dict['score'] = self.score.to_dict()
|
_dict['score'] = self.score.to_dict()
|
||||||
@ -162,6 +174,9 @@ class NetworkEndpointTestResult(BaseModel):
|
|||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"avgLatency": obj.get("avgLatency"),
|
"avgLatency": obj.get("avgLatency"),
|
||||||
"errorDetails": obj.get("errorDetails"),
|
"errorDetails": obj.get("errorDetails"),
|
||||||
"jitter": obj.get("jitter"),
|
"jitter": obj.get("jitter"),
|
||||||
|
|||||||
@ -19,7 +19,10 @@ import json
|
|||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
||||||
@ -41,11 +44,14 @@ class PathVisBaseEndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
||||||
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
||||||
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
||||||
source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix")
|
source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix")
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix"]
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform", "asnDetails", "server", "sourceIp", "sourcePrefix"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -116,6 +122,12 @@ class PathVisBaseEndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of asn_details
|
# override the default output from pydantic by calling `to_dict()` of asn_details
|
||||||
if self.asn_details:
|
if self.asn_details:
|
||||||
_dict['asnDetails'] = self.asn_details.to_dict()
|
_dict['asnDetails'] = self.asn_details.to_dict()
|
||||||
@ -141,6 +153,9 @@ class PathVisBaseEndpointTestResult(BaseModel):
|
|||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
||||||
"server": obj.get("server"),
|
"server": obj.get("server"),
|
||||||
"sourceIp": obj.get("sourceIp"),
|
"sourceIp": obj.get("sourceIp"),
|
||||||
|
|||||||
@ -19,10 +19,13 @@ import json
|
|||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex
|
from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse
|
from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse
|
||||||
@ -46,6 +49,9 @@ class PathVisDetailDynamicEndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
||||||
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
||||||
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
||||||
@ -57,7 +63,7 @@ class PathVisDetailDynamicEndpointTestResult(BaseModel):
|
|||||||
tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode")
|
tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode")
|
||||||
udp_probe_mode: Optional[UdpProbeModeResponse] = Field(default=None, alias="udpProbeMode")
|
udp_probe_mode: Optional[UdpProbeModeResponse] = Field(default=None, alias="udpProbeMode")
|
||||||
webex: Optional[DynamicEndpointTestWebex] = None
|
webex: Optional[DynamicEndpointTestWebex] = None
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "pathTraces", "vpnPathTraces", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"]
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform", "asnDetails", "server", "sourceIp", "sourcePrefix", "pathTraces", "vpnPathTraces", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -128,6 +134,12 @@ class PathVisDetailDynamicEndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of asn_details
|
# override the default output from pydantic by calling `to_dict()` of asn_details
|
||||||
if self.asn_details:
|
if self.asn_details:
|
||||||
_dict['asnDetails'] = self.asn_details.to_dict()
|
_dict['asnDetails'] = self.asn_details.to_dict()
|
||||||
@ -170,6 +182,9 @@ class PathVisDetailDynamicEndpointTestResult(BaseModel):
|
|||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
||||||
"server": obj.get("server"),
|
"server": obj.get("server"),
|
||||||
"sourceIp": obj.get("sourceIp"),
|
"sourceIp": obj.get("sourceIp"),
|
||||||
|
|||||||
@ -19,8 +19,11 @@ import json
|
|||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
||||||
@ -42,13 +45,16 @@ class PathVisDetailEndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
||||||
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
||||||
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
||||||
source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix")
|
source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix")
|
||||||
path_traces: Optional[List[EndpointPathVisRoute]] = Field(default=None, description="Shows iterations of path trace, with each iteration specified by a pathId.", alias="pathTraces")
|
path_traces: Optional[List[EndpointPathVisRoute]] = Field(default=None, description="Shows iterations of path trace, with each iteration specified by a pathId.", alias="pathTraces")
|
||||||
vpn_path_traces: Optional[List[EndpointPathVisRoute]] = Field(default=None, description="Shows iterations of the VPN path trace, with each iteration specified by a pathId.", alias="vpnPathTraces")
|
vpn_path_traces: Optional[List[EndpointPathVisRoute]] = Field(default=None, description="Shows iterations of the VPN path trace, with each iteration specified by a pathId.", alias="vpnPathTraces")
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "pathTraces", "vpnPathTraces"]
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform", "asnDetails", "server", "sourceIp", "sourcePrefix", "pathTraces", "vpnPathTraces"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -119,6 +125,12 @@ class PathVisDetailEndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of asn_details
|
# override the default output from pydantic by calling `to_dict()` of asn_details
|
||||||
if self.asn_details:
|
if self.asn_details:
|
||||||
_dict['asnDetails'] = self.asn_details.to_dict()
|
_dict['asnDetails'] = self.asn_details.to_dict()
|
||||||
@ -158,6 +170,9 @@ class PathVisDetailEndpointTestResult(BaseModel):
|
|||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
||||||
"server": obj.get("server"),
|
"server": obj.get("server"),
|
||||||
"sourceIp": obj.get("sourceIp"),
|
"sourceIp": obj.get("sourceIp"),
|
||||||
|
|||||||
@ -19,10 +19,13 @@ import json
|
|||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex
|
from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse
|
from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse
|
||||||
@ -46,6 +49,9 @@ class PathVisDynamicEndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
||||||
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
||||||
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
||||||
@ -57,7 +63,7 @@ class PathVisDynamicEndpointTestResult(BaseModel):
|
|||||||
webex: Optional[DynamicEndpointTestWebex] = None
|
webex: Optional[DynamicEndpointTestWebex] = None
|
||||||
location: Optional[StrictStr] = Field(default=None, description="Geographic location of the path visualization.")
|
location: Optional[StrictStr] = Field(default=None, description="Geographic location of the path visualization.")
|
||||||
path_traces: Optional[List[EndpointPathTrace]] = Field(default=None, description="Shows an iteration of path trace, with each iteration specified by a pathId.", alias="pathTraces")
|
path_traces: Optional[List[EndpointPathTrace]] = Field(default=None, description="Shows an iteration of path trace, with each iteration specified by a pathId.", alias="pathTraces")
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex", "location", "pathTraces"]
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform", "asnDetails", "server", "sourceIp", "sourcePrefix", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex", "location", "pathTraces"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -130,6 +136,12 @@ class PathVisDynamicEndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of asn_details
|
# override the default output from pydantic by calling `to_dict()` of asn_details
|
||||||
if self.asn_details:
|
if self.asn_details:
|
||||||
_dict['asnDetails'] = self.asn_details.to_dict()
|
_dict['asnDetails'] = self.asn_details.to_dict()
|
||||||
@ -165,6 +177,9 @@ class PathVisDynamicEndpointTestResult(BaseModel):
|
|||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
||||||
"server": obj.get("server"),
|
"server": obj.get("server"),
|
||||||
"sourceIp": obj.get("sourceIp"),
|
"sourceIp": obj.get("sourceIp"),
|
||||||
|
|||||||
@ -19,8 +19,11 @@ import json
|
|||||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||||
from typing import Any, ClassVar, Dict, List, Optional
|
from typing import Any, ClassVar, Dict, List, Optional
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.battery_metrics import BatteryMetrics
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.cellular_profile import CellularProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace
|
from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile
|
||||||
|
from thousandeyes_sdk.endpoint_test_results.models.platform import Platform
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile
|
||||||
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
from thousandeyes_sdk.endpoint_test_results.models.user_profile import UserProfile
|
||||||
@ -42,13 +45,16 @@ class PathVisEndpointTestResult(BaseModel):
|
|||||||
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile")
|
||||||
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
user_profile: Optional[UserProfile] = Field(default=None, alias="userProfile")
|
||||||
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile")
|
||||||
|
battery_metrics: Optional[BatteryMetrics] = Field(default=None, alias="batteryMetrics")
|
||||||
|
cellular_profile: Optional[CellularProfile] = Field(default=None, alias="cellularProfile")
|
||||||
|
platform: Optional[Platform] = None
|
||||||
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
asn_details: Optional[AsnDetails] = Field(default=None, alias="asnDetails")
|
||||||
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
server: Optional[StrictStr] = Field(default=None, description="Target server, including port.")
|
||||||
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp")
|
||||||
source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix")
|
source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix")
|
||||||
location: Optional[StrictStr] = Field(default=None, description="Geographic location of the path visualization.")
|
location: Optional[StrictStr] = Field(default=None, description="Geographic location of the path visualization.")
|
||||||
path_traces: Optional[List[EndpointPathTrace]] = Field(default=None, description="Shows an iteration of path trace, with each iteration specified by a pathId.", alias="pathTraces")
|
path_traces: Optional[List[EndpointPathTrace]] = Field(default=None, description="Shows an iteration of path trace, with each iteration specified by a pathId.", alias="pathTraces")
|
||||||
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "location", "pathTraces"]
|
__properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "userProfile", "vpnProfile", "batteryMetrics", "cellularProfile", "platform", "asnDetails", "server", "sourceIp", "sourcePrefix", "location", "pathTraces"]
|
||||||
|
|
||||||
model_config = ConfigDict(
|
model_config = ConfigDict(
|
||||||
populate_by_name=True,
|
populate_by_name=True,
|
||||||
@ -121,6 +127,12 @@ class PathVisEndpointTestResult(BaseModel):
|
|||||||
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
# override the default output from pydantic by calling `to_dict()` of vpn_profile
|
||||||
if self.vpn_profile:
|
if self.vpn_profile:
|
||||||
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
_dict['vpnProfile'] = self.vpn_profile.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of battery_metrics
|
||||||
|
if self.battery_metrics:
|
||||||
|
_dict['batteryMetrics'] = self.battery_metrics.to_dict()
|
||||||
|
# override the default output from pydantic by calling `to_dict()` of cellular_profile
|
||||||
|
if self.cellular_profile:
|
||||||
|
_dict['cellularProfile'] = self.cellular_profile.to_dict()
|
||||||
# override the default output from pydantic by calling `to_dict()` of asn_details
|
# override the default output from pydantic by calling `to_dict()` of asn_details
|
||||||
if self.asn_details:
|
if self.asn_details:
|
||||||
_dict['asnDetails'] = self.asn_details.to_dict()
|
_dict['asnDetails'] = self.asn_details.to_dict()
|
||||||
@ -153,6 +165,9 @@ class PathVisEndpointTestResult(BaseModel):
|
|||||||
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
"originalTargetProfile": TargetProfile.from_dict(obj["originalTargetProfile"]) if obj.get("originalTargetProfile") is not None else None,
|
||||||
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
"userProfile": UserProfile.from_dict(obj["userProfile"]) if obj.get("userProfile") is not None else None,
|
||||||
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
"vpnProfile": VpnProfile.from_dict(obj["vpnProfile"]) if obj.get("vpnProfile") is not None else None,
|
||||||
|
"batteryMetrics": BatteryMetrics.from_dict(obj["batteryMetrics"]) if obj.get("batteryMetrics") is not None else None,
|
||||||
|
"cellularProfile": CellularProfile.from_dict(obj["cellularProfile"]) if obj.get("cellularProfile") is not None else None,
|
||||||
|
"platform": obj.get("platform"),
|
||||||
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
"asnDetails": AsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
|
||||||
"server": obj.get("server"),
|
"server": obj.get("server"),
|
||||||
"sourceIp": obj.get("sourceIp"),
|
"sourceIp": obj.get("sourceIp"),
|
||||||
|
|||||||
@ -131,11 +131,28 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"errorType" : "connect",
|
"errorType" : "connect",
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"responseCode" : 200,
|
"responseCode" : 200,
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -241,11 +258,28 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"errorType" : "connect",
|
"errorType" : "connect",
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"responseCode" : 200,
|
"responseCode" : 200,
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -419,11 +453,28 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"errorType" : "connect",
|
"errorType" : "connect",
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"responseCode" : 200,
|
"responseCode" : 200,
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -529,11 +580,28 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"errorType" : "connect",
|
"errorType" : "connect",
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"responseCode" : 200,
|
"responseCode" : 200,
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -707,11 +775,28 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"errorType" : "connect",
|
"errorType" : "connect",
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"responseCode" : 200,
|
"responseCode" : 200,
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -817,11 +902,28 @@ class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"errorType" : "connect",
|
"errorType" : "connect",
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"responseCode" : 200,
|
"responseCode" : 200,
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
|
|||||||
@ -100,9 +100,26 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"score" : 100.0,
|
"score" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"type" : "vpn",
|
"type" : "vpn",
|
||||||
"targetPort" : 80,
|
"targetPort" : 80,
|
||||||
|
"platform" : "mac",
|
||||||
"target" : "10.0.2.2",
|
"target" : "10.0.2.2",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
"min" : 0.22,
|
"min" : 0.22,
|
||||||
@ -243,9 +260,26 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"score" : 100.0,
|
"score" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"type" : "vpn",
|
"type" : "vpn",
|
||||||
"targetPort" : 80,
|
"targetPort" : 80,
|
||||||
|
"platform" : "mac",
|
||||||
"target" : "10.0.2.2",
|
"target" : "10.0.2.2",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
"min" : 0.22,
|
"min" : 0.22,
|
||||||
@ -450,6 +484,10 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"location" : "Slovenia",
|
"location" : "Slovenia",
|
||||||
"longitude" : 14.5144444
|
"longitude" : 14.5144444
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"icmpTraceroutes" : [ {
|
"icmpTraceroutes" : [ {
|
||||||
"destination" : "13.32.22.232",
|
"destination" : "13.32.22.232",
|
||||||
"hops" : [ {
|
"hops" : [ {
|
||||||
@ -497,7 +535,20 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase):
|
|||||||
} ],
|
} ],
|
||||||
"type" : "vpn",
|
"type" : "vpn",
|
||||||
"targetPort" : 80,
|
"targetPort" : 80,
|
||||||
|
"platform" : "mac",
|
||||||
"target" : "10.0.2.2",
|
"target" : "10.0.2.2",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
"min" : 0.22,
|
"min" : 0.22,
|
||||||
@ -712,6 +763,10 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"location" : "Slovenia",
|
"location" : "Slovenia",
|
||||||
"longitude" : 14.5144444
|
"longitude" : 14.5144444
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"icmpTraceroutes" : [ {
|
"icmpTraceroutes" : [ {
|
||||||
"destination" : "13.32.22.232",
|
"destination" : "13.32.22.232",
|
||||||
"hops" : [ {
|
"hops" : [ {
|
||||||
@ -759,7 +814,20 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase):
|
|||||||
} ],
|
} ],
|
||||||
"type" : "vpn",
|
"type" : "vpn",
|
||||||
"targetPort" : 80,
|
"targetPort" : 80,
|
||||||
|
"platform" : "mac",
|
||||||
"target" : "10.0.2.2",
|
"target" : "10.0.2.2",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
"min" : 0.22,
|
"min" : 0.22,
|
||||||
|
|||||||
@ -132,10 +132,7 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"remotePort" : 80,
|
"remotePort" : 80,
|
||||||
"remoteIpAddress" : "120.98.134.7"
|
"remoteIpAddress" : "120.98.134.7"
|
||||||
},
|
},
|
||||||
"udpProbeMode" : "unknown",
|
|
||||||
"agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49",
|
"agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49",
|
||||||
"isIcmpBlocked" : true,
|
|
||||||
"avgLatency" : 167.04,
|
|
||||||
"minLatency" : 167.0,
|
"minLatency" : 167.0,
|
||||||
"vpnProfile" : {
|
"vpnProfile" : {
|
||||||
"vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ],
|
"vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ],
|
||||||
@ -144,41 +141,33 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"maxLatency" : 168.0,
|
"maxLatency" : 168.0,
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
"tcpProbeMode" : "auto",
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
},
|
},
|
||||||
"loss" : 0.0,
|
"loss" : 0.0,
|
||||||
"protocol" : "tcp",
|
"protocol" : "tcp",
|
||||||
"systemMetrics" : {
|
|
||||||
"cpuUtilization" : {
|
|
||||||
"min" : 0.22,
|
|
||||||
"median" : 0.61,
|
|
||||||
"max" : 0.75,
|
|
||||||
"mean" : 0.55,
|
|
||||||
"count" : 150,
|
|
||||||
"stdDev" : 0.01
|
|
||||||
},
|
|
||||||
"physicalMemoryTotalBytes" : 1024,
|
|
||||||
"startTimeMs" : 1581508857327,
|
|
||||||
"physicalMemoryUsedBytes" : {
|
|
||||||
"min" : 1.2,
|
|
||||||
"median" : 1.85,
|
|
||||||
"max" : 2.5,
|
|
||||||
"mean" : 1.77,
|
|
||||||
"count" : 155,
|
|
||||||
"stdDev" : 0.25
|
|
||||||
},
|
|
||||||
"endTimeMs" : 1581508867333
|
|
||||||
},
|
|
||||||
"jitter" : 0.076808,
|
|
||||||
"application" : "webex",
|
|
||||||
"serverIp" : "185.199.108.153",
|
|
||||||
"networkProfile" : {
|
"networkProfile" : {
|
||||||
"previousInterface" : {
|
"previousInterface" : {
|
||||||
"publicIpAddress" : "84.255.241.1",
|
"publicIpAddress" : "84.255.241.1",
|
||||||
@ -238,6 +227,35 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"errorMessage" : "ERR_NAME_NOT_RESOLVED",
|
"errorMessage" : "ERR_NAME_NOT_RESOLVED",
|
||||||
"type" : "zta_service"
|
"type" : "zta_service"
|
||||||
} ],
|
} ],
|
||||||
|
"roundId" : 1384309800,
|
||||||
|
"udpProbeMode" : "unknown",
|
||||||
|
"isIcmpBlocked" : true,
|
||||||
|
"avgLatency" : 167.04,
|
||||||
|
"tcpProbeMode" : "auto",
|
||||||
|
"systemMetrics" : {
|
||||||
|
"cpuUtilization" : {
|
||||||
|
"min" : 0.22,
|
||||||
|
"median" : 0.61,
|
||||||
|
"max" : 0.75,
|
||||||
|
"mean" : 0.55,
|
||||||
|
"count" : 150,
|
||||||
|
"stdDev" : 0.01
|
||||||
|
},
|
||||||
|
"physicalMemoryTotalBytes" : 1024,
|
||||||
|
"startTimeMs" : 1581508857327,
|
||||||
|
"physicalMemoryUsedBytes" : {
|
||||||
|
"min" : 1.2,
|
||||||
|
"median" : 1.85,
|
||||||
|
"max" : 2.5,
|
||||||
|
"mean" : 1.77,
|
||||||
|
"count" : 155,
|
||||||
|
"stdDev" : 0.25
|
||||||
|
},
|
||||||
|
"endTimeMs" : 1581508867333
|
||||||
|
},
|
||||||
|
"jitter" : 0.076808,
|
||||||
|
"application" : "webex",
|
||||||
|
"serverIp" : "185.199.108.153",
|
||||||
"testId" : "584739201",
|
"testId" : "584739201",
|
||||||
"webex" : {
|
"webex" : {
|
||||||
"remoteSipSessionId" : "22581707460321454",
|
"remoteSipSessionId" : "22581707460321454",
|
||||||
@ -246,7 +264,6 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"correlationId" : "22581707460321454"
|
"correlationId" : "22581707460321454"
|
||||||
},
|
},
|
||||||
"aid" : "1234",
|
"aid" : "1234",
|
||||||
"roundId" : 1384309800,
|
|
||||||
"errorDetails" : "Error"
|
"errorDetails" : "Error"
|
||||||
}, {
|
}, {
|
||||||
"originalTargetProfile" : {
|
"originalTargetProfile" : {
|
||||||
@ -254,10 +271,7 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"remotePort" : 80,
|
"remotePort" : 80,
|
||||||
"remoteIpAddress" : "120.98.134.7"
|
"remoteIpAddress" : "120.98.134.7"
|
||||||
},
|
},
|
||||||
"udpProbeMode" : "unknown",
|
|
||||||
"agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49",
|
"agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49",
|
||||||
"isIcmpBlocked" : true,
|
|
||||||
"avgLatency" : 167.04,
|
|
||||||
"minLatency" : 167.0,
|
"minLatency" : 167.0,
|
||||||
"vpnProfile" : {
|
"vpnProfile" : {
|
||||||
"vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ],
|
"vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ],
|
||||||
@ -266,41 +280,33 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"maxLatency" : 168.0,
|
"maxLatency" : 168.0,
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
"tcpProbeMode" : "auto",
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
},
|
},
|
||||||
"loss" : 0.0,
|
"loss" : 0.0,
|
||||||
"protocol" : "tcp",
|
"protocol" : "tcp",
|
||||||
"systemMetrics" : {
|
|
||||||
"cpuUtilization" : {
|
|
||||||
"min" : 0.22,
|
|
||||||
"median" : 0.61,
|
|
||||||
"max" : 0.75,
|
|
||||||
"mean" : 0.55,
|
|
||||||
"count" : 150,
|
|
||||||
"stdDev" : 0.01
|
|
||||||
},
|
|
||||||
"physicalMemoryTotalBytes" : 1024,
|
|
||||||
"startTimeMs" : 1581508857327,
|
|
||||||
"physicalMemoryUsedBytes" : {
|
|
||||||
"min" : 1.2,
|
|
||||||
"median" : 1.85,
|
|
||||||
"max" : 2.5,
|
|
||||||
"mean" : 1.77,
|
|
||||||
"count" : 155,
|
|
||||||
"stdDev" : 0.25
|
|
||||||
},
|
|
||||||
"endTimeMs" : 1581508867333
|
|
||||||
},
|
|
||||||
"jitter" : 0.076808,
|
|
||||||
"application" : "webex",
|
|
||||||
"serverIp" : "185.199.108.153",
|
|
||||||
"networkProfile" : {
|
"networkProfile" : {
|
||||||
"previousInterface" : {
|
"previousInterface" : {
|
||||||
"publicIpAddress" : "84.255.241.1",
|
"publicIpAddress" : "84.255.241.1",
|
||||||
@ -360,6 +366,35 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"errorMessage" : "ERR_NAME_NOT_RESOLVED",
|
"errorMessage" : "ERR_NAME_NOT_RESOLVED",
|
||||||
"type" : "zta_service"
|
"type" : "zta_service"
|
||||||
} ],
|
} ],
|
||||||
|
"roundId" : 1384309800,
|
||||||
|
"udpProbeMode" : "unknown",
|
||||||
|
"isIcmpBlocked" : true,
|
||||||
|
"avgLatency" : 167.04,
|
||||||
|
"tcpProbeMode" : "auto",
|
||||||
|
"systemMetrics" : {
|
||||||
|
"cpuUtilization" : {
|
||||||
|
"min" : 0.22,
|
||||||
|
"median" : 0.61,
|
||||||
|
"max" : 0.75,
|
||||||
|
"mean" : 0.55,
|
||||||
|
"count" : 150,
|
||||||
|
"stdDev" : 0.01
|
||||||
|
},
|
||||||
|
"physicalMemoryTotalBytes" : 1024,
|
||||||
|
"startTimeMs" : 1581508857327,
|
||||||
|
"physicalMemoryUsedBytes" : {
|
||||||
|
"min" : 1.2,
|
||||||
|
"median" : 1.85,
|
||||||
|
"max" : 2.5,
|
||||||
|
"mean" : 1.77,
|
||||||
|
"count" : 155,
|
||||||
|
"stdDev" : 0.25
|
||||||
|
},
|
||||||
|
"endTimeMs" : 1581508867333
|
||||||
|
},
|
||||||
|
"jitter" : 0.076808,
|
||||||
|
"application" : "webex",
|
||||||
|
"serverIp" : "185.199.108.153",
|
||||||
"testId" : "584739201",
|
"testId" : "584739201",
|
||||||
"webex" : {
|
"webex" : {
|
||||||
"remoteSipSessionId" : "22581707460321454",
|
"remoteSipSessionId" : "22581707460321454",
|
||||||
@ -368,7 +403,6 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"correlationId" : "22581707460321454"
|
"correlationId" : "22581707460321454"
|
||||||
},
|
},
|
||||||
"aid" : "1234",
|
"aid" : "1234",
|
||||||
"roundId" : 1384309800,
|
|
||||||
"errorDetails" : "Error"
|
"errorDetails" : "Error"
|
||||||
} ],
|
} ],
|
||||||
"startDate" : "2022-07-17T22:00:54Z"
|
"startDate" : "2022-07-17T22:00:54Z"
|
||||||
@ -462,12 +496,29 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"vpnType" : "cisco-anyconnect",
|
"vpnType" : "cisco-anyconnect",
|
||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"sourcePrefix" : "196.40.96.0/20",
|
"sourcePrefix" : "196.40.96.0/20",
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"tcpProbeMode" : "auto",
|
"tcpProbeMode" : "auto",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"protocol" : "tcp",
|
"protocol" : "tcp",
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
@ -657,12 +708,29 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"vpnType" : "cisco-anyconnect",
|
"vpnType" : "cisco-anyconnect",
|
||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"sourcePrefix" : "196.40.96.0/20",
|
"sourcePrefix" : "196.40.96.0/20",
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"tcpProbeMode" : "auto",
|
"tcpProbeMode" : "auto",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"protocol" : "tcp",
|
"protocol" : "tcp",
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
@ -936,12 +1004,29 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"vpnType" : "cisco-anyconnect",
|
"vpnType" : "cisco-anyconnect",
|
||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"sourcePrefix" : "196.40.96.0/20",
|
"sourcePrefix" : "196.40.96.0/20",
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"tcpProbeMode" : "auto",
|
"tcpProbeMode" : "auto",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"protocol" : "tcp",
|
"protocol" : "tcp",
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
@ -1059,12 +1144,29 @@ class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase):
|
|||||||
"vpnType" : "cisco-anyconnect",
|
"vpnType" : "cisco-anyconnect",
|
||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"sourcePrefix" : "196.40.96.0/20",
|
"sourcePrefix" : "196.40.96.0/20",
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
"tcpProbeMode" : "auto",
|
"tcpProbeMode" : "auto",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"protocol" : "tcp",
|
"protocol" : "tcp",
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
|
|||||||
@ -143,10 +143,27 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"maxLatency" : 168.0,
|
"maxLatency" : 168.0,
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -255,10 +272,27 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"maxLatency" : 168.0,
|
"maxLatency" : 168.0,
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -424,10 +458,27 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"maxLatency" : 168.0,
|
"maxLatency" : 168.0,
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -536,10 +587,27 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
"maxLatency" : 168.0,
|
"maxLatency" : 168.0,
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"score" : {
|
"score" : {
|
||||||
"applicationScore" : 100.0,
|
"applicationScore" : 100.0,
|
||||||
"quality" : "great"
|
"quality" : "great"
|
||||||
@ -723,11 +791,28 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnType" : "cisco-anyconnect",
|
"vpnType" : "cisco-anyconnect",
|
||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"sourcePrefix" : "196.40.96.0/20",
|
"sourcePrefix" : "196.40.96.0/20",
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
"min" : 0.22,
|
"min" : 0.22,
|
||||||
@ -908,11 +993,28 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnType" : "cisco-anyconnect",
|
"vpnType" : "cisco-anyconnect",
|
||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"sourcePrefix" : "196.40.96.0/20",
|
"sourcePrefix" : "196.40.96.0/20",
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
"min" : 0.22,
|
"min" : 0.22,
|
||||||
@ -1177,11 +1279,28 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnType" : "cisco-anyconnect",
|
"vpnType" : "cisco-anyconnect",
|
||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"sourcePrefix" : "196.40.96.0/20",
|
"sourcePrefix" : "196.40.96.0/20",
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
"min" : 0.22,
|
"min" : 0.22,
|
||||||
@ -1290,11 +1409,28 @@ class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase):
|
|||||||
"vpnType" : "cisco-anyconnect",
|
"vpnType" : "cisco-anyconnect",
|
||||||
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
"vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ]
|
||||||
},
|
},
|
||||||
|
"batteryMetrics" : {
|
||||||
|
"batteryLevel" : "medium",
|
||||||
|
"batteryLevelNormalizedPercent" : 0.3
|
||||||
|
},
|
||||||
"sourcePrefix" : "196.40.96.0/20",
|
"sourcePrefix" : "196.40.96.0/20",
|
||||||
"userProfile" : {
|
"userProfile" : {
|
||||||
"userName" : "joeblogs32",
|
"userName" : "joeblogs32",
|
||||||
"userPrincipalName" : "joeblogs32@c.com"
|
"userPrincipalName" : "joeblogs32@c.com"
|
||||||
},
|
},
|
||||||
|
"platform" : "mac",
|
||||||
|
"cellularProfile" : {
|
||||||
|
"rssi" : -10,
|
||||||
|
"advertisedNetworkSubtype" : "LTE/HSPA",
|
||||||
|
"carrierName" : "T-Mobile",
|
||||||
|
"rsrq" : -30,
|
||||||
|
"rsrp" : -30,
|
||||||
|
"advertisedNetworkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"rscp" : -30,
|
||||||
|
"networkGen" : "2g, 3g, 4g, 5g",
|
||||||
|
"networkSubtype" : "LTE/HSPA",
|
||||||
|
"sinr" : 20
|
||||||
|
},
|
||||||
"systemMetrics" : {
|
"systemMetrics" : {
|
||||||
"cpuUtilization" : {
|
"cpuUtilization" : {
|
||||||
"min" : 0.22,
|
"min" : 0.22,
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ With the Events API, you can perform the following tasks on the ThousandEyes pla
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ The response does not include the immediate test results. Use the Test Results e
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ For more information about Internet Insights, see the [Internet Insights](https:
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Creates a new test snapshot in ThousandEyes.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ For more information about ThousandEyes for OpenTelemetry, see the [product docu
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ Things to note with the ThousandEyes Tags API:
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Get test result metrics for Network and Application Synthetics tests.
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ This API allows you to list, create, edit, and delete Network and Application Sy
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Refer to the Usage API operations for detailed usage instructions and optional p
|
|||||||
|
|
||||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||||
|
|
||||||
- API version: 7.0.75
|
- API version: 7.0.76
|
||||||
- Generator version: 7.6.0
|
- Generator version: 7.6.0
|
||||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user