[GitHub Bot] Generated python SDK

This commit is contained in:
API Team 2026-02-27 10:41:18 +00:00
parent 336aa3e36a
commit 6faed7d3db
68 changed files with 1511 additions and 93 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View 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)

View 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)

View 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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View 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)

View 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_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)

View 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_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)

View File

@ -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

View File

@ -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]

View File

@ -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]

View File

@ -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

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"),

View File

@ -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,

View File

@ -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

View File

@ -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"),

View File

@ -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"),

View File

@ -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"),

View File

@ -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"),

View File

@ -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"),

View File

@ -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"),

View File

@ -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"),

View File

@ -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"

View File

@ -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,

View File

@ -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" : {

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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