[GitHub Bot] Generated python SDK

This commit is contained in:
API Team 2026-09-10 16:54:07 +00:00
parent 9fa78bf5ac
commit 315b06191a
65 changed files with 2151 additions and 30 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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- 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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -14,7 +14,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -10,7 +10,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -3,7 +3,7 @@ Retrieve BGP updates observed by BGP monitors tracking prefixes in your Thousand
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -73,7 +73,7 @@ For more information about Cloud Insights, see [Cloud Insights](https://docs.tho
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -6,7 +6,7 @@ Manage connectors and operations.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- 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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- 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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -11,7 +11,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -3,6 +3,7 @@ MANIFEST.in
README.md
docs/AddressProfile.md
docs/AddressType.md
docs/AgentExplainabilityFailure.md
docs/AgentLicenseType.md
docs/AgentSearchFilters.md
docs/AgentSearchRequest.md
@ -21,6 +22,7 @@ docs/BulkAgentTransferResponse.md
docs/CellularProfile.md
docs/ConditionalOperator.md
docs/ConnectionString.md
docs/DeploymentInfoItem.md
docs/EndpointAgent.md
docs/EndpointAgentEthernetProfile.md
docs/EndpointAgentLocation.md
@ -84,6 +86,7 @@ src/thousandeyes_sdk/endpoint_agents/api/endpoint_proxies_api.py
src/thousandeyes_sdk/endpoint_agents/models/__init__.py
src/thousandeyes_sdk/endpoint_agents/models/address_profile.py
src/thousandeyes_sdk/endpoint_agents/models/address_type.py
src/thousandeyes_sdk/endpoint_agents/models/agent_explainability_failure.py
src/thousandeyes_sdk/endpoint_agents/models/agent_license_type.py
src/thousandeyes_sdk/endpoint_agents/models/agent_search_filters.py
src/thousandeyes_sdk/endpoint_agents/models/agent_search_request.py
@ -102,6 +105,7 @@ 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/connection_string.py
src/thousandeyes_sdk/endpoint_agents/models/deployment_info_item.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_ethernet_profile.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_location.py

View File

@ -7,7 +7,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -122,6 +122,7 @@ Class | Method | HTTP request | Description
- [AddressProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AddressProfile.md)
- [AddressType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AddressType.md)
- [AgentExplainabilityFailure](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentExplainabilityFailure.md)
- [AgentLicenseType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentLicenseType.md)
- [AgentSearchFilters](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentSearchFilters.md)
- [AgentSearchRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AgentSearchRequest.md)
@ -140,6 +141,7 @@ Class | Method | HTTP request | Description
- [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)
- [ConnectionString](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConnectionString.md)
- [DeploymentInfoItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/DeploymentInfoItem.md)
- [EndpointAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md)
- [EndpointAgentEthernetProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentEthernetProfile.md)
- [EndpointAgentLocation](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentLocation.md)

View File

@ -0,0 +1,30 @@
# AgentExplainabilityFailure
A machine-readable explanation for an endpoint agent collection failure.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**reason_code** | **str** | Failure reason reported by the agent. New reason codes may be introduced over time. |
## Example
```python
from thousandeyes_sdk.endpoint_agents.models.agent_explainability_failure import AgentExplainabilityFailure
# TODO update the JSON string below
json = "{}"
# create an instance of AgentExplainabilityFailure from a JSON string
agent_explainability_failure_instance = AgentExplainabilityFailure.from_json(json)
# print the JSON string representation of the object
print(AgentExplainabilityFailure.to_json())
# convert the object into a dict
agent_explainability_failure_dict = agent_explainability_failure_instance.to_dict()
# create an instance of AgentExplainabilityFailure from a dict
agent_explainability_failure_from_dict = AgentExplainabilityFailure.from_dict(agent_explainability_failure_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,31 @@
# DeploymentInfoItem
A key-value entry containing deployment metadata reported by the endpoint agent.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**key** | **str** | Name of the deployment metadata item. |
**value** | **str** | Agent-reported value associated with `key`. |
## Example
```python
from thousandeyes_sdk.endpoint_agents.models.deployment_info_item import DeploymentInfoItem
# TODO update the JSON string below
json = "{}"
# create an instance of DeploymentInfoItem from a JSON string
deployment_info_item_instance = DeploymentInfoItem.from_json(json)
# print the JSON string representation of the object
print(DeploymentInfoItem.to_json())
# convert the object into a dict
deployment_info_item_dict = deployment_info_item_instance.to_dict()
# create an instance of DeploymentInfoItem from a dict
deployment_info_item_from_dict = DeploymentInfoItem.from_dict(deployment_info_item_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

@ -33,6 +33,8 @@ Name | Type | Description | Notes
**agent_type** | **str** | | [optional] [readonly]
**vpn_profiles** | [**List[EndpointVpnProfile]**](EndpointVpnProfile.md) | List of VPN connections on the agent. Not populated by default. | [optional] [readonly]
**external_metadata** | [**List[ExternalMetadataItem]**](ExternalMetadataItem.md) | List of external metadata assigned to the endpoint agent. Visible only if the `expandAgent=externalMetadata` query parameter is included. | [optional]
**agent_explainability_failures** | [**List[AgentExplainabilityFailure]**](AgentExplainabilityFailure.md) | Current failures reported by the agent. An empty list means no current failures. | [optional] [readonly]
**deployment_info** | [**List[DeploymentInfoItem]**](DeploymentInfoItem.md) | Included when the agent has reported deployment metadata. | [optional] [readonly]
**network_interface_profiles** | [**List[InterfaceProfile]**](InterfaceProfile.md) | List of network interfaces on the agent. Not populated by default. | [optional] [readonly]
**asn_details** | [**EndpointAsnDetails**](EndpointAsnDetails.md) | | [optional]
**license_type** | [**AgentLicenseType**](AgentLicenseType.md) | | [optional]

View File

@ -23,6 +23,7 @@ from thousandeyes_sdk.endpoint_agents.api.endpoint_proxies_api import EndpointPr
# import models into sdk package
from thousandeyes_sdk.endpoint_agents.models.address_profile import AddressProfile
from thousandeyes_sdk.endpoint_agents.models.address_type import AddressType
from thousandeyes_sdk.endpoint_agents.models.agent_explainability_failure import AgentExplainabilityFailure
from thousandeyes_sdk.endpoint_agents.models.agent_license_type import AgentLicenseType
from thousandeyes_sdk.endpoint_agents.models.agent_search_filters import AgentSearchFilters
from thousandeyes_sdk.endpoint_agents.models.agent_search_request import AgentSearchRequest
@ -41,6 +42,7 @@ from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import
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.connection_string import ConnectionString
from thousandeyes_sdk.endpoint_agents.models.deployment_info_item import DeploymentInfoItem
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_ethernet_profile import EndpointAgentEthernetProfile
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_location import EndpointAgentLocation

View File

@ -15,6 +15,7 @@
# import models into model package
from thousandeyes_sdk.endpoint_agents.models.address_profile import AddressProfile
from thousandeyes_sdk.endpoint_agents.models.address_type import AddressType
from thousandeyes_sdk.endpoint_agents.models.agent_explainability_failure import AgentExplainabilityFailure
from thousandeyes_sdk.endpoint_agents.models.agent_license_type import AgentLicenseType
from thousandeyes_sdk.endpoint_agents.models.agent_search_filters import AgentSearchFilters
from thousandeyes_sdk.endpoint_agents.models.agent_search_request import AgentSearchRequest
@ -33,6 +34,7 @@ from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import
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.connection_string import ConnectionString
from thousandeyes_sdk.endpoint_agents.models.deployment_info_item import DeploymentInfoItem
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_ethernet_profile import EndpointAgentEthernetProfile
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_location import EndpointAgentLocation

View File

@ -0,0 +1,87 @@
# coding: utf-8
"""
Endpoint Agents API
**Note:** The Endpoint Agents Transfer APIs are not available for ThousandEyes for Government instance. 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, StrictStr
from typing import Any, ClassVar, Dict, List
from typing import Optional, Set
from typing_extensions import Self
class AgentExplainabilityFailure(BaseModel):
"""
A machine-readable explanation for an endpoint agent collection failure.
""" # noqa: E501
reason_code: StrictStr = Field(description="Failure reason reported by the agent. New reason codes may be introduced over time.", alias="reasonCode")
__properties: ClassVar[List[str]] = ["reasonCode"]
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 AgentExplainabilityFailure 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 AgentExplainabilityFailure from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"reasonCode": obj.get("reasonCode")
})
return _obj

View File

@ -0,0 +1,89 @@
# coding: utf-8
"""
Endpoint Agents API
**Note:** The Endpoint Agents Transfer APIs are not available for ThousandEyes for Government instance. 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, StrictStr
from typing import Any, ClassVar, Dict, List
from typing import Optional, Set
from typing_extensions import Self
class DeploymentInfoItem(BaseModel):
"""
A key-value entry containing deployment metadata reported by the endpoint agent.
""" # noqa: E501
key: StrictStr = Field(description="Name of the deployment metadata item.")
value: StrictStr = Field(description="Agent-reported value associated with `key`.")
__properties: ClassVar[List[str]] = ["key", "value"]
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 DeploymentInfoItem 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 DeploymentInfoItem from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"key": obj.get("key"),
"value": obj.get("value")
})
return _obj

View File

@ -20,9 +20,11 @@ from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing_extensions import Annotated
from thousandeyes_sdk.endpoint_agents.models.agent_explainability_failure import AgentExplainabilityFailure
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.deployment_info_item import DeploymentInfoItem
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_client import EndpointClient
@ -66,6 +68,8 @@ class EndpointAgent(BaseModel):
agent_type: Optional[StrictStr] = Field(default=None, alias="agentType")
vpn_profiles: Optional[List[EndpointVpnProfile]] = Field(default=None, description="List of VPN connections on the agent. Not populated by default. ", alias="vpnProfiles")
external_metadata: Optional[List[ExternalMetadataItem]] = Field(default=None, description="List of external metadata assigned to the endpoint agent. Visible only if the `expandAgent=externalMetadata` query parameter is included. ", alias="externalMetadata")
agent_explainability_failures: Optional[List[AgentExplainabilityFailure]] = Field(default=None, description="Current failures reported by the agent. An empty list means no current failures.", alias="agentExplainabilityFailures")
deployment_info: Optional[List[DeploymentInfoItem]] = Field(default=None, description="Included when the agent has reported deployment metadata.", alias="deploymentInfo")
network_interface_profiles: Optional[List[InterfaceProfile]] = Field(default=None, description="List of network interfaces on the agent. Not populated by default. ", alias="networkInterfaceProfiles")
asn_details: Optional[EndpointAsnDetails] = Field(default=None, alias="asnDetails")
license_type: Optional[AgentLicenseType] = Field(default=None, alias="licenseType")
@ -74,7 +78,7 @@ class EndpointAgent(BaseModel):
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")
__properties: ClassVar[List[str]] = ["id", "aid", "name", "computerName", "freeDiskSpaceNormalized", "osVersion", "platform", "kernelVersion", "manufacturer", "model", "nicDriverVersion", "nicModel", "serialNumber", "lastSeen", "status", "deleted", "version", "targetVersion", "createdAt", "numberOfClients", "publicIP", "location", "clients", "totalMemory", "agentType", "vpnProfiles", "externalMetadata", "networkInterfaceProfiles", "asnDetails", "licenseType", "tcpDriverAvailable", "npcapVersion", "batteryMetrics", "cellularProfile", "_links"]
__properties: ClassVar[List[str]] = ["id", "aid", "name", "computerName", "freeDiskSpaceNormalized", "osVersion", "platform", "kernelVersion", "manufacturer", "model", "nicDriverVersion", "nicModel", "serialNumber", "lastSeen", "status", "deleted", "version", "targetVersion", "createdAt", "numberOfClients", "publicIP", "location", "clients", "totalMemory", "agentType", "vpnProfiles", "externalMetadata", "agentExplainabilityFailures", "deploymentInfo", "networkInterfaceProfiles", "asnDetails", "licenseType", "tcpDriverAvailable", "npcapVersion", "batteryMetrics", "cellularProfile", "_links"]
model_config = ConfigDict(
populate_by_name=True,
@ -131,6 +135,8 @@ class EndpointAgent(BaseModel):
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
"""
excluded_fields: Set[str] = set([
"id",
@ -154,6 +160,8 @@ class EndpointAgent(BaseModel):
"total_memory",
"agent_type",
"vpn_profiles",
"agent_explainability_failures",
"deployment_info",
"network_interface_profiles",
"tcp_driver_available",
"npcap_version",
@ -188,6 +196,20 @@ class EndpointAgent(BaseModel):
if _item:
_items.append(_item.to_dict())
_dict['externalMetadata'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in agent_explainability_failures (list)
_items = []
if self.agent_explainability_failures:
for _item in self.agent_explainability_failures:
if _item:
_items.append(_item.to_dict())
_dict['agentExplainabilityFailures'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in deployment_info (list)
_items = []
if self.deployment_info:
for _item in self.deployment_info:
if _item:
_items.append(_item.to_dict())
_dict['deploymentInfo'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in network_interface_profiles (list)
_items = []
if self.network_interface_profiles:
@ -261,6 +283,8 @@ class EndpointAgent(BaseModel):
"agentType": obj.get("agentType"),
"vpnProfiles": [EndpointVpnProfile.from_dict(_item) for _item in obj["vpnProfiles"]] if obj.get("vpnProfiles") is not None else None,
"externalMetadata": [ExternalMetadataItem.from_dict(_item) for _item in obj["externalMetadata"]] if obj.get("externalMetadata") is not None else None,
"agentExplainabilityFailures": [AgentExplainabilityFailure.from_dict(_item) for _item in obj["agentExplainabilityFailures"]] if obj.get("agentExplainabilityFailures") is not None else None,
"deploymentInfo": [DeploymentInfoItem.from_dict(_item) for _item in obj["deploymentInfo"]] if obj.get("deploymentInfo") is not None else None,
"networkInterfaceProfiles": [InterfaceProfile.from_dict(_item) for _item in obj["networkInterfaceProfiles"]] if obj.get("networkInterfaceProfiles") is not None else None,
"asnDetails": EndpointAsnDetails.from_dict(obj["asnDetails"]) if obj.get("asnDetails") is not None else None,
"licenseType": obj.get("licenseType"),

View File

@ -398,6 +398,11 @@ OPERATION_MANIFEST = {
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -408,6 +413,19 @@ OPERATION_MANIFEST = {
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -648,6 +666,11 @@ OPERATION_MANIFEST = {
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -658,6 +681,19 @@ OPERATION_MANIFEST = {
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -911,6 +947,11 @@ OPERATION_MANIFEST = {
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -921,6 +962,19 @@ OPERATION_MANIFEST = {
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1090,6 +1144,11 @@ OPERATION_MANIFEST = {
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1100,6 +1159,19 @@ OPERATION_MANIFEST = {
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1391,6 +1463,11 @@ OPERATION_MANIFEST = {
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1401,6 +1478,19 @@ OPERATION_MANIFEST = {
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1664,6 +1754,11 @@ OPERATION_MANIFEST = {
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1674,6 +1769,19 @@ OPERATION_MANIFEST = {
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1843,6 +1951,11 @@ OPERATION_MANIFEST = {
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1853,6 +1966,19 @@ OPERATION_MANIFEST = {
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -2152,6 +2278,11 @@ OPERATION_MANIFEST = {
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -2162,6 +2293,19 @@ OPERATION_MANIFEST = {
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {

View File

@ -152,6 +152,11 @@ class TestEndpointAgentsApi(unittest.TestCase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -162,6 +167,19 @@ class TestEndpointAgentsApi(unittest.TestCase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -343,6 +361,11 @@ class TestEndpointAgentsApi(unittest.TestCase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -353,6 +376,19 @@ class TestEndpointAgentsApi(unittest.TestCase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -592,6 +628,11 @@ class TestEndpointAgentsApi(unittest.TestCase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -602,6 +643,19 @@ class TestEndpointAgentsApi(unittest.TestCase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -771,6 +825,11 @@ class TestEndpointAgentsApi(unittest.TestCase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -781,6 +840,19 @@ class TestEndpointAgentsApi(unittest.TestCase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -963,6 +1035,11 @@ class TestEndpointAgentsApi(unittest.TestCase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -973,6 +1050,19 @@ class TestEndpointAgentsApi(unittest.TestCase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1178,6 +1268,11 @@ class TestEndpointAgentsApi(unittest.TestCase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1188,6 +1283,19 @@ class TestEndpointAgentsApi(unittest.TestCase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1357,6 +1465,11 @@ class TestEndpointAgentsApi(unittest.TestCase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1367,6 +1480,19 @@ class TestEndpointAgentsApi(unittest.TestCase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1585,6 +1711,11 @@ class TestEndpointAgentsApi(unittest.TestCase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1595,6 +1726,19 @@ class TestEndpointAgentsApi(unittest.TestCase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {

View File

@ -300,6 +300,11 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -310,6 +315,19 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -609,6 +627,11 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -619,6 +642,19 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -980,6 +1016,11 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -990,6 +1031,19 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1159,6 +1213,11 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1169,6 +1228,19 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -1714,6 +1786,11 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -1724,6 +1801,19 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -2091,6 +2181,11 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -2101,6 +2196,19 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -2270,6 +2378,11 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -2280,6 +2393,19 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {
@ -2740,6 +2866,11 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"interfaceName" : "interfaceName",
"vpnClientAddresses" : [ "10.100.0.10" ]
} ],
"agentExplainabilityFailures" : [ {
"reasonCode" : "dns_failure"
}, {
"reasonCode" : "dns_failure"
} ],
"lastSeen" : "2022-05-26T23:37:16Z",
"deleted" : true,
"totalMemory" : "16384 MB",
@ -2750,6 +2881,19 @@ class TestEndpointAgentsApiIntegration(IntegrationTestBase):
"latitude" : 51.51279,
"longitude" : -0.09184
},
"deploymentInfo" : [ {
"key" : "enrollmentType",
"value" : "device_owner"
}, {
"key" : "installMethod",
"value" : "mdm"
}, {
"key" : "mdmVendor",
"value" : "meraki"
}, {
"key" : "oemConfigStatus",
"value" : "applied"
} ],
"aid" : "",
"status" : "enabled",
"networkInterfaceProfiles" : [ {

View File

@ -12,7 +12,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- 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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -4,7 +4,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -11,7 +11,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- 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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -16,7 +16,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- 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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -17,6 +17,10 @@ docs/ExporterConfigAuthorization.md
docs/ExporterConfigOAuth2.md
docs/ExporterConfigSplunkHec.md
docs/Filters.md
docs/FiltersAttributes.md
docs/FiltersAttributesExcludedAttributes.md
docs/FiltersMetrics.md
docs/FiltersMetricsExcludedMetrics.md
docs/FiltersTestTypes.md
docs/GetStreamResponse.md
docs/InputConfig.md
@ -36,6 +40,12 @@ docs/TestMatch.md
docs/TestMatchDomain.md
docs/TestType.md
docs/UnauthorizedError.md
docs/V1MetricAttributeFilterName.md
docs/V1MetricFilterName.md
docs/V2LogAttributeFilterName.md
docs/V2MetricAttributeFilterName.md
docs/V2MetricFilterName.md
docs/V2TraceAttributeFilterName.md
pyproject.toml
setup.cfg
src/thousandeyes_sdk/streaming/__init__.py
@ -58,6 +68,10 @@ src/thousandeyes_sdk/streaming/models/exporter_config_authorization.py
src/thousandeyes_sdk/streaming/models/exporter_config_o_auth2.py
src/thousandeyes_sdk/streaming/models/exporter_config_splunk_hec.py
src/thousandeyes_sdk/streaming/models/filters.py
src/thousandeyes_sdk/streaming/models/filters_attributes.py
src/thousandeyes_sdk/streaming/models/filters_attributes_excluded_attributes.py
src/thousandeyes_sdk/streaming/models/filters_metrics.py
src/thousandeyes_sdk/streaming/models/filters_metrics_excluded_metrics.py
src/thousandeyes_sdk/streaming/models/filters_test_types.py
src/thousandeyes_sdk/streaming/models/get_stream_response.py
src/thousandeyes_sdk/streaming/models/input_config.py
@ -76,6 +90,12 @@ src/thousandeyes_sdk/streaming/models/test_match.py
src/thousandeyes_sdk/streaming/models/test_match_domain.py
src/thousandeyes_sdk/streaming/models/test_type.py
src/thousandeyes_sdk/streaming/models/unauthorized_error.py
src/thousandeyes_sdk/streaming/models/v1_metric_attribute_filter_name.py
src/thousandeyes_sdk/streaming/models/v1_metric_filter_name.py
src/thousandeyes_sdk/streaming/models/v2_log_attribute_filter_name.py
src/thousandeyes_sdk/streaming/models/v2_metric_attribute_filter_name.py
src/thousandeyes_sdk/streaming/models/v2_metric_filter_name.py
src/thousandeyes_sdk/streaming/models/v2_trace_attribute_filter_name.py
src/thousandeyes_sdk/streaming/py.typed
test/__init__.py
test/conftest.py

View File

@ -25,7 +25,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -142,6 +142,10 @@ Class | Method | HTTP request | Description
- [ExporterConfigOAuth2](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ExporterConfigOAuth2.md)
- [ExporterConfigSplunkHec](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ExporterConfigSplunkHec.md)
- [Filters](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/Filters.md)
- [FiltersAttributes](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/FiltersAttributes.md)
- [FiltersAttributesExcludedAttributes](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/FiltersAttributesExcludedAttributes.md)
- [FiltersMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/FiltersMetrics.md)
- [FiltersMetricsExcludedMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/FiltersMetricsExcludedMetrics.md)
- [FiltersTestTypes](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/FiltersTestTypes.md)
- [GetStreamResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/GetStreamResponse.md)
- [InputConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/InputConfig.md)
@ -160,6 +164,12 @@ Class | Method | HTTP request | Description
- [TestMatchDomain](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TestMatchDomain.md)
- [TestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TestType.md)
- [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/UnauthorizedError.md)
- [V1MetricAttributeFilterName](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/V1MetricAttributeFilterName.md)
- [V1MetricFilterName](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/V1MetricFilterName.md)
- [V2LogAttributeFilterName](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/V2LogAttributeFilterName.md)
- [V2MetricAttributeFilterName](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/V2MetricAttributeFilterName.md)
- [V2MetricFilterName](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/V2MetricFilterName.md)
- [V2TraceAttributeFilterName](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/V2TraceAttributeFilterName.md)
<a id="documentation-for-authorization"></a>

View File

@ -1,12 +1,14 @@
# Filters
Provides the ability to filter data points based on the specified test types.
Controls which test data the integration exports. `testTypes` is an inclusion filter: when specified, only data from the selected test types is included. `metricsFilter` and `attributesFilter` exclude metrics or attributes from the included data. Filter support depends on the stream's signal and data model version: - For `metric` streams using data model `v1` or `v2`, both `metricsFilter` and `attributesFilter` are supported. - For `log` and `trace` streams using data model `v2`, only `attributesFilter` is supported. `metricsFilter` is not supported. On create, an omitted `testTypes` filter includes all test types, while omitted exclusion filters exclude nothing. On update, each omitted filter remains unchanged. Empty exclusion lists clear existing exclusions; `testTypes.values` must not be empty.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**test_types** | [**FiltersTestTypes**](FiltersTestTypes.md) | | [optional]
**metrics_filter** | [**FiltersMetrics**](FiltersMetrics.md) | | [optional]
**attributes_filter** | [**FiltersAttributes**](FiltersAttributes.md) | | [optional]
## Example

View File

@ -0,0 +1,30 @@
# FiltersAttributes
Excludes case-sensitive attribute names for the stream's signal and data model version. An empty list clears existing attribute exclusions. Reserved attributes are always emitted and cannot be excluded: - `v1`: `account.id`, `thousandeyes.data.version`, and `thousandeyes.stream.id` - `v2`: `thousandeyes.account.id`, `thousandeyes.data.version`, and `thousandeyes.stream.id`
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**excluded_attributes** | [**FiltersAttributesExcludedAttributes**](FiltersAttributesExcludedAttributes.md) | |
## Example
```python
from thousandeyes_sdk.streaming.models.filters_attributes import FiltersAttributes
# TODO update the JSON string below
json = "{}"
# create an instance of FiltersAttributes from a JSON string
filters_attributes_instance = FiltersAttributes.from_json(json)
# print the JSON string representation of the object
print(FiltersAttributes.to_json())
# convert the object into a dict
filters_attributes_dict = filters_attributes_instance.to_dict()
# create an instance of FiltersAttributes from a dict
filters_attributes_from_dict = FiltersAttributes.from_dict(filters_attributes_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,29 @@
# FiltersAttributesExcludedAttributes
Attribute names to exclude. Values must match the stream's `signal` and `dataModelVersion`.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
## Example
```python
from thousandeyes_sdk.streaming.models.filters_attributes_excluded_attributes import FiltersAttributesExcludedAttributes
# TODO update the JSON string below
json = "{}"
# create an instance of FiltersAttributesExcludedAttributes from a JSON string
filters_attributes_excluded_attributes_instance = FiltersAttributesExcludedAttributes.from_json(json)
# print the JSON string representation of the object
print(FiltersAttributesExcludedAttributes.to_json())
# convert the object into a dict
filters_attributes_excluded_attributes_dict = filters_attributes_excluded_attributes_instance.to_dict()
# create an instance of FiltersAttributesExcludedAttributes from a dict
filters_attributes_excluded_attributes_from_dict = FiltersAttributesExcludedAttributes.from_dict(filters_attributes_excluded_attributes_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,30 @@
# FiltersMetrics
Excludes case-sensitive metric names for the stream's data model version. An empty list clears existing metric exclusions.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**excluded_metrics** | [**FiltersMetricsExcludedMetrics**](FiltersMetricsExcludedMetrics.md) | |
## Example
```python
from thousandeyes_sdk.streaming.models.filters_metrics import FiltersMetrics
# TODO update the JSON string below
json = "{}"
# create an instance of FiltersMetrics from a JSON string
filters_metrics_instance = FiltersMetrics.from_json(json)
# print the JSON string representation of the object
print(FiltersMetrics.to_json())
# convert the object into a dict
filters_metrics_dict = filters_metrics_instance.to_dict()
# create an instance of FiltersMetrics from a dict
filters_metrics_from_dict = FiltersMetrics.from_dict(filters_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,29 @@
# FiltersMetricsExcludedMetrics
Metric names to exclude. Values must match the stream's `dataModelVersion`.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
## Example
```python
from thousandeyes_sdk.streaming.models.filters_metrics_excluded_metrics import FiltersMetricsExcludedMetrics
# TODO update the JSON string below
json = "{}"
# create an instance of FiltersMetricsExcludedMetrics from a JSON string
filters_metrics_excluded_metrics_instance = FiltersMetricsExcludedMetrics.from_json(json)
# print the JSON string representation of the object
print(FiltersMetricsExcludedMetrics.to_json())
# convert the object into a dict
filters_metrics_excluded_metrics_dict = filters_metrics_excluded_metrics_instance.to_dict()
# create an instance of FiltersMetricsExcludedMetrics from a dict
filters_metrics_excluded_metrics_from_dict = FiltersMetricsExcludedMetrics.from_dict(filters_metrics_excluded_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,11 @@
# V1MetricAttributeFilterName
## 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,11 @@
# V1MetricFilterName
## 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,11 @@
# V2LogAttributeFilterName
## 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,11 @@
# V2MetricAttributeFilterName
## 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,11 @@
# V2MetricFilterName
## 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,11 @@
# V2TraceAttributeFilterName
## 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

@ -34,6 +34,10 @@ from thousandeyes_sdk.streaming.models.exporter_config_authorization import Expo
from thousandeyes_sdk.streaming.models.exporter_config_o_auth2 import ExporterConfigOAuth2
from thousandeyes_sdk.streaming.models.exporter_config_splunk_hec import ExporterConfigSplunkHec
from thousandeyes_sdk.streaming.models.filters import Filters
from thousandeyes_sdk.streaming.models.filters_attributes import FiltersAttributes
from thousandeyes_sdk.streaming.models.filters_attributes_excluded_attributes import FiltersAttributesExcludedAttributes
from thousandeyes_sdk.streaming.models.filters_metrics import FiltersMetrics
from thousandeyes_sdk.streaming.models.filters_metrics_excluded_metrics import FiltersMetricsExcludedMetrics
from thousandeyes_sdk.streaming.models.filters_test_types import FiltersTestTypes
from thousandeyes_sdk.streaming.models.get_stream_response import GetStreamResponse
from thousandeyes_sdk.streaming.models.input_config import InputConfig
@ -52,3 +56,9 @@ from thousandeyes_sdk.streaming.models.test_match import TestMatch
from thousandeyes_sdk.streaming.models.test_match_domain import TestMatchDomain
from thousandeyes_sdk.streaming.models.test_type import TestType
from thousandeyes_sdk.streaming.models.unauthorized_error import UnauthorizedError
from thousandeyes_sdk.streaming.models.v1_metric_attribute_filter_name import V1MetricAttributeFilterName
from thousandeyes_sdk.streaming.models.v1_metric_filter_name import V1MetricFilterName
from thousandeyes_sdk.streaming.models.v2_log_attribute_filter_name import V2LogAttributeFilterName
from thousandeyes_sdk.streaming.models.v2_metric_attribute_filter_name import V2MetricAttributeFilterName
from thousandeyes_sdk.streaming.models.v2_metric_filter_name import V2MetricFilterName
from thousandeyes_sdk.streaming.models.v2_trace_attribute_filter_name import V2TraceAttributeFilterName

View File

@ -29,6 +29,10 @@ from thousandeyes_sdk.streaming.models.exporter_config_authorization import Expo
from thousandeyes_sdk.streaming.models.exporter_config_o_auth2 import ExporterConfigOAuth2
from thousandeyes_sdk.streaming.models.exporter_config_splunk_hec import ExporterConfigSplunkHec
from thousandeyes_sdk.streaming.models.filters import Filters
from thousandeyes_sdk.streaming.models.filters_attributes import FiltersAttributes
from thousandeyes_sdk.streaming.models.filters_attributes_excluded_attributes import FiltersAttributesExcludedAttributes
from thousandeyes_sdk.streaming.models.filters_metrics import FiltersMetrics
from thousandeyes_sdk.streaming.models.filters_metrics_excluded_metrics import FiltersMetricsExcludedMetrics
from thousandeyes_sdk.streaming.models.filters_test_types import FiltersTestTypes
from thousandeyes_sdk.streaming.models.get_stream_response import GetStreamResponse
from thousandeyes_sdk.streaming.models.input_config import InputConfig
@ -47,3 +51,9 @@ from thousandeyes_sdk.streaming.models.test_match import TestMatch
from thousandeyes_sdk.streaming.models.test_match_domain import TestMatchDomain
from thousandeyes_sdk.streaming.models.test_type import TestType
from thousandeyes_sdk.streaming.models.unauthorized_error import UnauthorizedError
from thousandeyes_sdk.streaming.models.v1_metric_attribute_filter_name import V1MetricAttributeFilterName
from thousandeyes_sdk.streaming.models.v1_metric_filter_name import V1MetricFilterName
from thousandeyes_sdk.streaming.models.v2_log_attribute_filter_name import V2LogAttributeFilterName
from thousandeyes_sdk.streaming.models.v2_metric_attribute_filter_name import V2MetricAttributeFilterName
from thousandeyes_sdk.streaming.models.v2_metric_filter_name import V2MetricFilterName
from thousandeyes_sdk.streaming.models.v2_trace_attribute_filter_name import V2TraceAttributeFilterName

View File

@ -18,16 +18,20 @@ import json
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.streaming.models.filters_attributes import FiltersAttributes
from thousandeyes_sdk.streaming.models.filters_metrics import FiltersMetrics
from thousandeyes_sdk.streaming.models.filters_test_types import FiltersTestTypes
from typing import Optional, Set
from typing_extensions import Self
class Filters(BaseModel):
"""
Provides the ability to filter data points based on the specified test types.
Controls which test data the integration exports. `testTypes` is an inclusion filter: when specified, only data from the selected test types is included. `metricsFilter` and `attributesFilter` exclude metrics or attributes from the included data. Filter support depends on the stream's signal and data model version: - For `metric` streams using data model `v1` or `v2`, both `metricsFilter` and `attributesFilter` are supported. - For `log` and `trace` streams using data model `v2`, only `attributesFilter` is supported. `metricsFilter` is not supported. On create, an omitted `testTypes` filter includes all test types, while omitted exclusion filters exclude nothing. On update, each omitted filter remains unchanged. Empty exclusion lists clear existing exclusions; `testTypes.values` must not be empty.
""" # noqa: E501
test_types: Optional[FiltersTestTypes] = Field(default=None, alias="testTypes")
__properties: ClassVar[List[str]] = ["testTypes"]
metrics_filter: Optional[FiltersMetrics] = Field(default=None, alias="metricsFilter")
attributes_filter: Optional[FiltersAttributes] = Field(default=None, alias="attributesFilter")
__properties: ClassVar[List[str]] = ["testTypes", "metricsFilter", "attributesFilter"]
model_config = ConfigDict(
populate_by_name=True,
@ -72,6 +76,12 @@ class Filters(BaseModel):
# override the default output from pydantic by calling `to_dict()` of test_types
if self.test_types:
_dict['testTypes'] = self.test_types.to_dict()
# override the default output from pydantic by calling `to_dict()` of metrics_filter
if self.metrics_filter:
_dict['metricsFilter'] = self.metrics_filter.to_dict()
# override the default output from pydantic by calling `to_dict()` of attributes_filter
if self.attributes_filter:
_dict['attributesFilter'] = self.attributes_filter.to_dict()
return _dict
@classmethod
@ -84,7 +94,9 @@ class Filters(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"testTypes": FiltersTestTypes.from_dict(obj["testTypes"]) if obj.get("testTypes") is not None else None
"testTypes": FiltersTestTypes.from_dict(obj["testTypes"]) if obj.get("testTypes") is not None else None,
"metricsFilter": FiltersMetrics.from_dict(obj["metricsFilter"]) if obj.get("metricsFilter") is not None else None,
"attributesFilter": FiltersAttributes.from_dict(obj["attributesFilter"]) if obj.get("attributesFilter") is not None else None
})
return _obj

View File

@ -0,0 +1,91 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
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
from thousandeyes_sdk.streaming.models.filters_attributes_excluded_attributes import FiltersAttributesExcludedAttributes
from typing import Optional, Set
from typing_extensions import Self
class FiltersAttributes(BaseModel):
"""
Excludes case-sensitive attribute names for the stream's signal and data model version. An empty list clears existing attribute exclusions. Reserved attributes are always emitted and cannot be excluded: - `v1`: `account.id`, `thousandeyes.data.version`, and `thousandeyes.stream.id` - `v2`: `thousandeyes.account.id`, `thousandeyes.data.version`, and `thousandeyes.stream.id`
""" # noqa: E501
excluded_attributes: FiltersAttributesExcludedAttributes = Field(alias="excludedAttributes")
__properties: ClassVar[List[str]] = ["excludedAttributes"]
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 FiltersAttributes 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,
)
# override the default output from pydantic by calling `to_dict()` of excluded_attributes
if self.excluded_attributes:
_dict['excludedAttributes'] = self.excluded_attributes.to_dict()
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of FiltersAttributes from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"excludedAttributes": FiltersAttributesExcludedAttributes.from_dict(obj["excludedAttributes"]) if obj.get("excludedAttributes") is not None else None
})
return _obj

View File

@ -0,0 +1,179 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
from inspect import getfullargspec
import json
import pprint
import re # noqa: F401
from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
from typing import List, Optional
from thousandeyes_sdk.streaming.models.v1_metric_attribute_filter_name import V1MetricAttributeFilterName
from thousandeyes_sdk.streaming.models.v2_log_attribute_filter_name import V2LogAttributeFilterName
from thousandeyes_sdk.streaming.models.v2_metric_attribute_filter_name import V2MetricAttributeFilterName
from thousandeyes_sdk.streaming.models.v2_trace_attribute_filter_name import V2TraceAttributeFilterName
from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal, Self
from pydantic import Field, model_serializer
FILTERSATTRIBUTESEXCLUDEDATTRIBUTES_ANY_OF_SCHEMAS = ["List[V1MetricAttributeFilterName]", "List[V2LogAttributeFilterName]", "List[V2MetricAttributeFilterName]", "List[V2TraceAttributeFilterName]"]
class FiltersAttributesExcludedAttributes(BaseModel):
"""
Attribute names to exclude. Values must match the stream's `signal` and `dataModelVersion`.
"""
# data type: List[V1MetricAttributeFilterName]
anyof_schema_1_validator: Optional[List[V1MetricAttributeFilterName]] = Field(default=None, description="Attributes to be excluded when `signal` is `metric` and `dataModelVersion` is `v1`.")
# data type: List[V2MetricAttributeFilterName]
anyof_schema_2_validator: Optional[List[V2MetricAttributeFilterName]] = Field(default=None, description="Attributes to be excluded when `signal` is `metric` and `dataModelVersion` is `v2`.")
# data type: List[V2LogAttributeFilterName]
anyof_schema_3_validator: Optional[List[V2LogAttributeFilterName]] = Field(default=None, description="Attributes to be excluded when `signal` is `log` and `dataModelVersion` is `v2`.")
# data type: List[V2TraceAttributeFilterName]
anyof_schema_4_validator: Optional[List[V2TraceAttributeFilterName]] = Field(default=None, description="Attributes to be excluded when `signal` is `trace` and `dataModelVersion` is `v2`.")
if TYPE_CHECKING:
actual_instance: Optional[Union[List[V1MetricAttributeFilterName], List[V2LogAttributeFilterName], List[V2MetricAttributeFilterName], List[V2TraceAttributeFilterName]]] = None
else:
actual_instance: Any = None
any_of_schemas: Set[str] = { "List[V1MetricAttributeFilterName]", "List[V2LogAttributeFilterName]", "List[V2MetricAttributeFilterName]", "List[V2TraceAttributeFilterName]" }
model_config = {
"validate_assignment": True,
"protected_namespaces": (),
}
def __init__(self, *args, **kwargs) -> None:
if args:
if len(args) > 1:
raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
if kwargs:
raise ValueError("If a position argument is used, keyword arguments cannot be used.")
super().__init__(actual_instance=args[0])
else:
super().__init__(**kwargs)
@field_validator('actual_instance')
def actual_instance_must_validate_anyof(cls, v):
instance = FiltersAttributesExcludedAttributes.model_construct()
error_messages = []
# validate data type: List[V1MetricAttributeFilterName]
try:
instance.anyof_schema_1_validator = v
return v
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
# validate data type: List[V2MetricAttributeFilterName]
try:
instance.anyof_schema_2_validator = v
return v
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
# validate data type: List[V2LogAttributeFilterName]
try:
instance.anyof_schema_3_validator = v
return v
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
# validate data type: List[V2TraceAttributeFilterName]
try:
instance.anyof_schema_4_validator = v
return v
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
if error_messages:
# no match
raise ValueError("No match found when setting the actual_instance in FiltersAttributesExcludedAttributes with anyOf schemas: List[V1MetricAttributeFilterName], List[V2LogAttributeFilterName], List[V2MetricAttributeFilterName], List[V2TraceAttributeFilterName]. Details: " + ", ".join(error_messages))
else:
return v
@classmethod
def from_dict(cls, obj: Dict[str, Any]) -> Self:
return cls.from_json(json.dumps(obj))
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Returns the object represented by the json string"""
instance = cls.model_construct()
error_messages = []
# deserialize data into List[V1MetricAttributeFilterName]
try:
# validation
instance.anyof_schema_1_validator = json.loads(json_str)
# assign value to actual_instance
instance.actual_instance = instance.anyof_schema_1_validator
return instance
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
# deserialize data into List[V2MetricAttributeFilterName]
try:
# validation
instance.anyof_schema_2_validator = json.loads(json_str)
# assign value to actual_instance
instance.actual_instance = instance.anyof_schema_2_validator
return instance
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
# deserialize data into List[V2LogAttributeFilterName]
try:
# validation
instance.anyof_schema_3_validator = json.loads(json_str)
# assign value to actual_instance
instance.actual_instance = instance.anyof_schema_3_validator
return instance
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
# deserialize data into List[V2TraceAttributeFilterName]
try:
# validation
instance.anyof_schema_4_validator = json.loads(json_str)
# assign value to actual_instance
instance.actual_instance = instance.anyof_schema_4_validator
return instance
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
if error_messages:
# no match
raise ValueError("No match found when deserializing the JSON string into FiltersAttributesExcludedAttributes with anyOf schemas: List[V1MetricAttributeFilterName], List[V2LogAttributeFilterName], List[V2MetricAttributeFilterName], List[V2TraceAttributeFilterName]. Details: " + ", ".join(error_messages))
else:
return instance
@model_serializer(when_used="json")
def serialize_model(self):
return json.loads(self.to_json())
def to_json(self) -> str:
"""Returns the JSON representation of the actual instance"""
if self.actual_instance is None:
return "null"
if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
return self.actual_instance.to_json()
else:
return json.dumps(self.actual_instance)
def to_dict(self) -> Optional[Union[Dict[str, Any], List[V1MetricAttributeFilterName], List[V2LogAttributeFilterName], List[V2MetricAttributeFilterName], List[V2TraceAttributeFilterName]]]:
"""Returns the dict representation of the actual instance"""
if self.actual_instance is None:
return None
if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
return self.actual_instance.to_dict()
else:
return self.actual_instance
def to_str(self) -> str:
"""Returns the string representation of the actual instance"""
return pprint.pformat(self.model_dump())

View File

@ -0,0 +1,91 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
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
from thousandeyes_sdk.streaming.models.filters_metrics_excluded_metrics import FiltersMetricsExcludedMetrics
from typing import Optional, Set
from typing_extensions import Self
class FiltersMetrics(BaseModel):
"""
Excludes case-sensitive metric names for the stream's data model version. An empty list clears existing metric exclusions.
""" # noqa: E501
excluded_metrics: FiltersMetricsExcludedMetrics = Field(alias="excludedMetrics")
__properties: ClassVar[List[str]] = ["excludedMetrics"]
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 FiltersMetrics 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,
)
# override the default output from pydantic by calling `to_dict()` of excluded_metrics
if self.excluded_metrics:
_dict['excludedMetrics'] = self.excluded_metrics.to_dict()
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of FiltersMetrics from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"excludedMetrics": FiltersMetricsExcludedMetrics.from_dict(obj["excludedMetrics"]) if obj.get("excludedMetrics") is not None else None
})
return _obj

View File

@ -0,0 +1,143 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
from inspect import getfullargspec
import json
import pprint
import re # noqa: F401
from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
from typing import List, Optional
from thousandeyes_sdk.streaming.models.v1_metric_filter_name import V1MetricFilterName
from thousandeyes_sdk.streaming.models.v2_metric_filter_name import V2MetricFilterName
from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal, Self
from pydantic import Field, model_serializer
FILTERSMETRICSEXCLUDEDMETRICS_ANY_OF_SCHEMAS = ["List[V1MetricFilterName]", "List[V2MetricFilterName]"]
class FiltersMetricsExcludedMetrics(BaseModel):
"""
Metric names to exclude. Values must match the stream's `dataModelVersion`.
"""
# data type: List[V1MetricFilterName]
anyof_schema_1_validator: Optional[List[V1MetricFilterName]] = Field(default=None, description="Metrics to be excluded when `signal` is `metric` and `dataModelVersion` is `v1`.")
# data type: List[V2MetricFilterName]
anyof_schema_2_validator: Optional[List[V2MetricFilterName]] = Field(default=None, description="Metrics to be excluded when `signal` is `metric` and `dataModelVersion` is `v2`.")
if TYPE_CHECKING:
actual_instance: Optional[Union[List[V1MetricFilterName], List[V2MetricFilterName]]] = None
else:
actual_instance: Any = None
any_of_schemas: Set[str] = { "List[V1MetricFilterName]", "List[V2MetricFilterName]" }
model_config = {
"validate_assignment": True,
"protected_namespaces": (),
}
def __init__(self, *args, **kwargs) -> None:
if args:
if len(args) > 1:
raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
if kwargs:
raise ValueError("If a position argument is used, keyword arguments cannot be used.")
super().__init__(actual_instance=args[0])
else:
super().__init__(**kwargs)
@field_validator('actual_instance')
def actual_instance_must_validate_anyof(cls, v):
instance = FiltersMetricsExcludedMetrics.model_construct()
error_messages = []
# validate data type: List[V1MetricFilterName]
try:
instance.anyof_schema_1_validator = v
return v
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
# validate data type: List[V2MetricFilterName]
try:
instance.anyof_schema_2_validator = v
return v
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
if error_messages:
# no match
raise ValueError("No match found when setting the actual_instance in FiltersMetricsExcludedMetrics with anyOf schemas: List[V1MetricFilterName], List[V2MetricFilterName]. Details: " + ", ".join(error_messages))
else:
return v
@classmethod
def from_dict(cls, obj: Dict[str, Any]) -> Self:
return cls.from_json(json.dumps(obj))
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Returns the object represented by the json string"""
instance = cls.model_construct()
error_messages = []
# deserialize data into List[V1MetricFilterName]
try:
# validation
instance.anyof_schema_1_validator = json.loads(json_str)
# assign value to actual_instance
instance.actual_instance = instance.anyof_schema_1_validator
return instance
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
# deserialize data into List[V2MetricFilterName]
try:
# validation
instance.anyof_schema_2_validator = json.loads(json_str)
# assign value to actual_instance
instance.actual_instance = instance.anyof_schema_2_validator
return instance
except (ValidationError, ValueError) as e:
error_messages.append(str(e))
if error_messages:
# no match
raise ValueError("No match found when deserializing the JSON string into FiltersMetricsExcludedMetrics with anyOf schemas: List[V1MetricFilterName], List[V2MetricFilterName]. Details: " + ", ".join(error_messages))
else:
return instance
@model_serializer(when_used="json")
def serialize_model(self):
return json.loads(self.to_json())
def to_json(self) -> str:
"""Returns the JSON representation of the actual instance"""
if self.actual_instance is None:
return "null"
if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
return self.actual_instance.to_json()
else:
return json.dumps(self.actual_instance)
def to_dict(self) -> Optional[Union[Dict[str, Any], List[V1MetricFilterName], List[V2MetricFilterName]]]:
"""Returns the dict representation of the actual instance"""
if self.actual_instance is None:
return None
if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
return self.actual_instance.to_dict()
else:
return self.actual_instance
def to_str(self) -> str:
"""Returns the string representation of the actual instance"""
return pprint.pformat(self.model_dump())

View File

@ -18,6 +18,7 @@ import json
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated
from thousandeyes_sdk.streaming.models.test_type import TestType
from typing import Optional, Set
from typing_extensions import Self
@ -26,7 +27,7 @@ class FiltersTestTypes(BaseModel):
"""
Test types that can be used for filtering data points.
""" # noqa: E501
values: Optional[List[TestType]] = Field(default=None, description="A list of test types to filter data points.")
values: Optional[Annotated[List[TestType], Field(min_length=1)]] = Field(default=None, description="A list of test types to filter data points.")
__properties: ClassVar[List[str]] = ["values"]
model_config = ConfigDict(

View File

@ -0,0 +1,92 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
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 V1MetricAttributeFilterName(str, Enum):
"""
V1MetricAttributeFilterName
"""
"""
allowed enum values
"""
AGENT_DOT_GEO_DOT_COUNTRY_DOT_ISO_CODE = 'agent.geo.country.iso_code'
AGENT_DOT_GEO_DOT_REGION_DOT_ISO_CODE = 'agent.geo.region.iso_code'
AGENT_DOT_GEONAME_DOT_ID = 'agent.geoname.id'
AGENT_DOT_ID = 'agent.id'
AGENT_DOT_LOCATION = 'agent.location'
AGENT_DOT_NAME = 'agent.name'
DATAPOINT_DOT_CREATED = 'datapoint.created'
DATAPOINT_DOT_ID = 'datapoint.id'
DATAPOINT_DOT_RECEIVED = 'datapoint.received'
DIRECTION = 'direction'
ERROR_DOT_DETAILS = 'error.details'
ERROR_DOT_NUM = 'error.num'
ERROR_DOT_TYPE = 'error.type'
FINALSERVER = 'finalserver'
HTTP_DOT_REQUEST_DOT_METHOD = 'http.request.method'
INTEGRATION_DOT_ID = 'integration.id'
MONITOR_DOT_ID = 'monitor.id'
MONITOR_DOT_LOCATION = 'monitor.location'
MONITOR_DOT_NAME = 'monitor.name'
NETWORK_DOT_AS_DOT_PATH = 'network.as.path'
OBJECT_DOT_NUM = 'object.num'
OBJECT_DOT_SIZE = 'object.size'
PERMALINK = 'permalink'
PREFIX = 'prefix'
QUERY_DOT_COUNT = 'query.count'
QUERY_DOT_FAILED_COUNT = 'query.failed_count'
RESPONSE_DOT_CODE = 'response.code'
RESPONSE_DOT_TIME_DOT_DOM = 'response.time.dom'
RESPONSE_DOT_TIME_DOT_FIRST = 'response.time.first'
ROUND_DOT_ID = 'round.id'
SERVER_DOT_ID = 'server.id'
SERVER_DOT_IP = 'server.ip'
SERVER_DOT_NAME = 'server.name'
SOURCE_DOT_AGENT_DOT_GEO_DOT_COUNTRY_DOT_ISO_CODE = 'source.agent.geo.country.iso_code'
SOURCE_DOT_AGENT_DOT_GEO_DOT_REGION_DOT_ISO_CODE = 'source.agent.geo.region.iso_code'
SOURCE_DOT_AGENT_DOT_GEONAME_DOT_ID = 'source.agent.geoname.id'
SOURCE_DOT_AGENT_DOT_ID = 'source.agent.id'
SOURCE_DOT_AGENT_DOT_LOCATION = 'source.agent.location'
SOURCE_DOT_AGENT_DOT_NAME = 'source.agent.name'
STEP = 'step'
TARGET_DOT_AGENT_DOT_GEO_DOT_COUNTRY_DOT_ISO_CODE = 'target.agent.geo.country.iso_code'
TARGET_DOT_AGENT_DOT_GEO_DOT_REGION_DOT_ISO_CODE = 'target.agent.geo.region.iso_code'
TARGET_DOT_AGENT_DOT_GEONAME_DOT_ID = 'target.agent.geoname.id'
TARGET_DOT_AGENT_DOT_ID = 'target.agent.id'
TARGET_DOT_AGENT_DOT_LOCATION = 'target.agent.location'
TARGET_DOT_AGENT_DOT_NAME = 'target.agent.name'
TEST_DOT_DOMAIN = 'test.domain'
TEST_DOT_ID = 'test.id'
TEST_DOT_NAME = 'test.name'
TEST_DOT_TYPE = 'test.type'
THOUSANDEYES_DOT_STREAM_DOT_NAME = 'thousandeyes.stream.name'
URL = 'url'
URL_DOT_FULL = 'url.full'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of V1MetricAttributeFilterName 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,72 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
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 V1MetricFilterName(str, Enum):
"""
V1MetricFilterName
"""
"""
allowed enum values
"""
API_DOT_METRICS_DOT_COMPLETION = 'api.metrics.completion'
API_DOT_METRICS_DOT_TIME = 'api.metrics.time'
API_DOT_STEP_DOT_METRICS_DOT_COMPLETION = 'api.step.metrics.completion'
API_DOT_STEP_DOT_METRICS_DOT_TIME = 'api.step.metrics.time'
BGP_DOT_METRICS_DOT_PATH_DOT_CHANGES = 'bgp.metrics.path.changes'
BGP_DOT_METRICS_DOT_REACHABILITY = 'bgp.metrics.reachability'
BGP_DOT_METRICS_DOT_UPDATES = 'bgp.metrics.updates'
DNSSEC_DOT_METRICS_DOT_VALIDITY = 'dnssec.metrics.validity'
DNSSERVER_DOT_METRICS_DOT_AVAILABILITY = 'dnsserver.metrics.availability'
DNSSERVER_DOT_METRICS_DOT_RESOLUTION_DOT_TIME = 'dnsserver.metrics.resolution.time'
DNSTRACE_DOT_METRICS_DOT_AVAILABILITY = 'dnstrace.metrics.availability'
DNSTRACE_DOT_METRICS_DOT_QUERY_DOT_TIME = 'dnstrace.metrics.query.time'
FTP_DOT_METRICS_DOT_AVAILABILITY = 'ftp.metrics.availability'
FTP_DOT_METRICS_DOT_RESPONSE_DOT_TIME = 'ftp.metrics.response.time'
FTP_DOT_METRICS_DOT_THROUGHPUT = 'ftp.metrics.throughput'
HTTP_DOT_METRICS_DOT_AVAILABILITY = 'http.metrics.availability'
HTTP_DOT_METRICS_DOT_RESPONSE_DOT_TIME = 'http.metrics.response.time'
HTTP_DOT_METRICS_DOT_THROUGHPUT = 'http.metrics.throughput'
NET_DOT_METRICS_DOT_JITTER = 'net.metrics.jitter'
NET_DOT_METRICS_DOT_LATENCY = 'net.metrics.latency'
NET_DOT_METRICS_DOT_LOSS = 'net.metrics.loss'
PAGELOAD_DOT_METRICS_DOT_COMPLETION = 'pageload.metrics.completion'
PAGELOAD_DOT_METRICS_DOT_TIME = 'pageload.metrics.time'
RTP_DOT_METRICS_DOT_DISCARDS = 'rtp.metrics.discards'
RTP_DOT_METRICS_DOT_LATENCY = 'rtp.metrics.latency'
RTP_DOT_METRICS_DOT_LOSS = 'rtp.metrics.loss'
RTP_DOT_METRICS_DOT_MOS = 'rtp.metrics.mos'
SIP_DOT_METRICS_DOT_AVAILABILITY = 'sip.metrics.availability'
SIP_DOT_METRICS_DOT_RESPONSE_DOT_TIME = 'sip.metrics.response.time'
SIP_DOT_METRICS_DOT_TOTAL_DOT_TIME = 'sip.metrics.total.time'
WEBTRANSACTION_DOT_METRICS_DOT_COMPLETION = 'webtransaction.metrics.completion'
WEBTRANSACTION_DOT_METRICS_DOT_ERRORS = 'webtransaction.metrics.errors'
WEBTRANSACTION_DOT_METRICS_DOT_TRANSACTION_DOT_TIME = 'webtransaction.metrics.transaction.time'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of V1MetricFilterName 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,46 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
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 V2LogAttributeFilterName(str, Enum):
"""
V2LogAttributeFilterName
"""
"""
allowed enum values
"""
THOUSANDEYES_DOT_ACCOUNT_DOT_NAME = 'thousandeyes.account.name'
THOUSANDEYES_DOT_ACTIVITYLOG_DOT_RESOURCES = 'thousandeyes.activitylog.resources'
THOUSANDEYES_DOT_STREAM_DOT_NAME = 'thousandeyes.stream.name'
THOUSANDEYES_DOT_USER_DOT_ADDRESS = 'thousandeyes.user.address'
THOUSANDEYES_DOT_USER_DOT_EMAIL = 'thousandeyes.user.email'
THOUSANDEYES_DOT_USER_DOT_ID = 'thousandeyes.user.id'
THOUSANDEYES_DOT_USER_DOT_NAME = 'thousandeyes.user.name'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of V2LogAttributeFilterName 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,109 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
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 V2MetricAttributeFilterName(str, Enum):
"""
V2MetricAttributeFilterName
"""
"""
allowed enum values
"""
CLIENT_DOT_ADDRESS = 'client.address'
DETECTION_DOT_TYPE = 'detection.type'
DNS_DOT_QUESTION_DOT_NAME = 'dns.question.name'
ERROR_DOT_TYPE = 'error.type'
FTP_DOT_REQUEST_DOT_COMMAND = 'ftp.request.command'
FTP_DOT_RESPONSE_DOT_STATUS_CODE = 'ftp.response.status_code'
HTTP_DOT_REQUEST_DOT_METHOD = 'http.request.method'
HTTP_DOT_RESPONSE_DOT_STATUS_CODE = 'http.response.status_code'
HTTP_DOT_ROUTE = 'http.route'
NETWORK_DOT_AS_DOT_PATH = 'network.as.path'
NETWORK_DOT_CARRIER_DOT_NAME = 'network.carrier.name'
NETWORK_DOT_CELLULAR_DOT_GENERATION = 'network.cellular.generation'
NETWORK_DOT_CONNECTION_DOT_SUBTYPE = 'network.connection.subtype'
NETWORK_DOT_CONNECTION_DOT_TYPE = 'network.connection.type'
NETWORK_DOT_INTERFACE_DOT_DRIVER_DOT_MODEL = 'network.interface.driver.model'
NETWORK_DOT_INTERFACE_DOT_DRIVER_DOT_VERSION = 'network.interface.driver.version'
NETWORK_DOT_INTERFACE_DOT_NAME = 'network.interface.name'
NETWORK_DOT_IO_DOT_DIRECTION = 'network.io.direction'
NETWORK_DOT_PREFIX = 'network.prefix'
NETWORK_DOT_TRANSPORT = 'network.transport'
NETWORK_DOT_WIFI_DOT_ACCESS_POINT_DOT_VENDOR = 'network.wifi.access_point.vendor'
NETWORK_DOT_WIFI_DOT_BSSID = 'network.wifi.bssid'
NETWORK_DOT_WIFI_DOT_CHANNEL = 'network.wifi.channel'
NETWORK_DOT_WIFI_DOT_PHY_MODE = 'network.wifi.phy_mode'
NETWORK_DOT_WIFI_DOT_SSID = 'network.wifi.ssid'
SERVER_DOT_ADDRESS = 'server.address'
SERVER_DOT_PORT = 'server.port'
SIP_DOT_RESPONSE_DOT_STATUS_CODE = 'sip.response.status_code'
TARGET_DOT_TYPE = 'target.type'
THOUSANDEYES_DOT_MONITOR_DOT_ID = 'thousandeyes.monitor.id'
THOUSANDEYES_DOT_MONITOR_DOT_LOCATION = 'thousandeyes.monitor.location'
THOUSANDEYES_DOT_MONITOR_DOT_NAME = 'thousandeyes.monitor.name'
THOUSANDEYES_DOT_PERMALINK = 'thousandeyes.permalink'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_CONNECTION_DOT_ISP = 'thousandeyes.source.agent.connection.isp'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_CONNECTION_DOT_PACKAGE = 'thousandeyes.source.agent.connection.package'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_CONNECTION_DOT_TYPE = 'thousandeyes.source.agent.connection.type'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_GEO_DOT_COUNTRY_DOT_ISO_CODE = 'thousandeyes.source.agent.geo.country.iso_code'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_GEO_DOT_REGION_DOT_ISO_CODE = 'thousandeyes.source.agent.geo.region.iso_code'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_GEONAME_DOT_ID = 'thousandeyes.source.agent.geoname.id'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_HW_DOT_TYPE = 'thousandeyes.source.agent.hw.type'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_ID = 'thousandeyes.source.agent.id'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_LOCAL_DOT_NETWORK_DOT_ADDRESS = 'thousandeyes.source.agent.local.network.address'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_LOCATION = 'thousandeyes.source.agent.location'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_MAC_DOT_ADDRESS = 'thousandeyes.source.agent.mac.address'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NAME = 'thousandeyes.source.agent.name'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NETWORK_DOT_ADDRESS = 'thousandeyes.source.agent.network.address'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NETWORK_DOT_ADDRESS_IPV4 = 'thousandeyes.source.agent.network.address_ipv4'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NETWORK_DOT_ADDRESS_IPV6 = 'thousandeyes.source.agent.network.address_ipv6'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NETWORK_DOT_AS_DOT_NAME = 'thousandeyes.source.agent.network.as.name'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NETWORK_DOT_AS_DOT_NUMBER = 'thousandeyes.source.agent.network.as.number'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NETWORK_DOT_ORG = 'thousandeyes.source.agent.network.org'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_OS_DOT_TYPE = 'thousandeyes.source.agent.os.type'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_SERIAL_NUMBER = 'thousandeyes.source.agent.serial_number'
THOUSANDEYES_DOT_SOURCE_DOT_UNIT_DOT_ID = 'thousandeyes.source.unit.id'
THOUSANDEYES_DOT_STREAM_DOT_NAME = 'thousandeyes.stream.name'
THOUSANDEYES_DOT_TARGET_DOT_AGENT_DOT_GEO_DOT_COUNTRY_DOT_ISO_CODE = 'thousandeyes.target.agent.geo.country.iso_code'
THOUSANDEYES_DOT_TARGET_DOT_AGENT_DOT_GEO_DOT_REGION_DOT_ISO_CODE = 'thousandeyes.target.agent.geo.region.iso_code'
THOUSANDEYES_DOT_TARGET_DOT_AGENT_DOT_GEONAME_DOT_ID = 'thousandeyes.target.agent.geoname.id'
THOUSANDEYES_DOT_TARGET_DOT_AGENT_DOT_ID = 'thousandeyes.target.agent.id'
THOUSANDEYES_DOT_TARGET_DOT_AGENT_DOT_LOCATION = 'thousandeyes.target.agent.location'
THOUSANDEYES_DOT_TARGET_DOT_AGENT_DOT_NAME = 'thousandeyes.target.agent.name'
THOUSANDEYES_DOT_TEST_DOT_DOMAIN = 'thousandeyes.test.domain'
THOUSANDEYES_DOT_TEST_DOT_ID = 'thousandeyes.test.id'
THOUSANDEYES_DOT_TEST_DOT_NAME = 'thousandeyes.test.name'
THOUSANDEYES_DOT_TEST_DOT_STEP = 'thousandeyes.test.step'
THOUSANDEYES_DOT_TEST_DOT_TYPE = 'thousandeyes.test.type'
THOUSANDEYES_DOT_TRIGGERING_DOT_AGENT_DOT_ID = 'thousandeyes.triggering.agent.id'
TRANSITION_DOT_TYPE = 'transition.type'
URL_DOT_SCHEME = 'url.scheme'
VPN_DOT_VENDOR = 'vpn.vendor'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of V2MetricAttributeFilterName 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,99 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
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 V2MetricFilterName(str, Enum):
"""
V2MetricFilterName
"""
"""
allowed enum values
"""
API_DOT_COMPLETION = 'api.completion'
API_DOT_DURATION = 'api.duration'
API_DOT_STEP_DOT_COMPLETION = 'api.step.completion'
API_DOT_STEP_DOT_DURATION = 'api.step.duration'
BGP_DOT_PATH_CHANGES_DOT_COUNT = 'bgp.path_changes.count'
BGP_DOT_REACHABILITY = 'bgp.reachability'
BGP_DOT_UPDATES_DOT_COUNT = 'bgp.updates.count'
DNS_DOT_LOOKUP_DOT_AVAILABILITY = 'dns.lookup.availability'
DNS_DOT_LOOKUP_DOT_DURATION = 'dns.lookup.duration'
DNS_DOT_LOOKUP_DOT_VALIDITY = 'dns.lookup.validity'
FTP_DOT_CLIENT_DOT_REQUEST_DOT_DURATION = 'ftp.client.request.duration'
FTP_DOT_SERVER_DOT_REQUEST_DOT_AVAILABILITY = 'ftp.server.request.availability'
FTP_DOT_SERVER_DOT_THROUGHPUT = 'ftp.server.throughput'
HTTP_DOT_CLIENT_DOT_REQUEST_DOT_DURATION = 'http.client.request.duration'
HTTP_DOT_SERVER_DOT_REQUEST_DOT_AVAILABILITY = 'http.server.request.availability'
HTTP_DOT_SERVER_DOT_REQUEST_DOT_DURATION = 'http.server.request.duration'
HTTP_DOT_SERVER_DOT_REQUEST_DOT_THROUGHPUT = 'http.server.request.throughput'
HTTP_DOT_SERVER_DOT_THROUGHPUT = 'http.server.throughput'
NETWORK_DOT_AVAILABILITY = 'network.availability'
NETWORK_DOT_CONNECTION_DOT_LINK_SPEED = 'network.connection.link_speed'
NETWORK_DOT_CONNECTION_DOT_SCORE = 'network.connection.score'
NETWORK_DOT_CONNECTION_DOT_THROUGHPUT = 'network.connection.throughput'
NETWORK_DOT_DEVICE_DOT_DISCONNECTION_DOT_DURATION = 'network.device.disconnection.duration'
NETWORK_DOT_DEVICE_DOT_DISCONNECTION_DOT_PACKETS_LOST = 'network.device.disconnection.packets_lost'
NETWORK_DOT_DEVICE_DOT_PARTIAL_DISCONNECTION_DOT_TRANSITIONS = 'network.device.partial_disconnection.transitions'
NETWORK_DOT_JITTER = 'network.jitter'
NETWORK_DOT_LATENCY = 'network.latency'
NETWORK_DOT_LOSS = 'network.loss'
NETWORK_DOT_SCORE = 'network.score'
NETWORK_DOT_SIGNAL_DOT_QUALITY = 'network.signal.quality'
NETWORK_DOT_SIGNAL_DOT_RSCP = 'network.signal.rscp'
NETWORK_DOT_SIGNAL_DOT_RSRP = 'network.signal.rsrp'
NETWORK_DOT_SIGNAL_DOT_RSRQ = 'network.signal.rsrq'
NETWORK_DOT_SIGNAL_DOT_RSSI = 'network.signal.rssi'
NETWORK_DOT_SIGNAL_DOT_SINR = 'network.signal.sinr'
NETWORK_DOT_THROUGHPUT = 'network.throughput'
NETWORK_DOT_WIFI_DOT_CHANNEL_DOT_CHANGES_DOT_COUNT = 'network.wifi.channel.changes.count'
NETWORK_DOT_WIFI_DOT_RETRANSMISSION_DOT_RATE = 'network.wifi.retransmission.rate'
NETWORK_DOT_WIFI_DOT_ROAMING_DOT_EVENTS_DOT_COUNT = 'network.wifi.roaming.events.count'
RTP_DOT_CLIENT_DOT_REQUEST_DOT_DISCARDS = 'rtp.client.request.discards'
RTP_DOT_CLIENT_DOT_REQUEST_DOT_DURATION = 'rtp.client.request.duration'
RTP_DOT_CLIENT_DOT_REQUEST_DOT_LOSS = 'rtp.client.request.loss'
RTP_DOT_CLIENT_DOT_REQUEST_DOT_MOS = 'rtp.client.request.mos'
RTP_DOT_CLIENT_DOT_REQUEST_DOT_PDV = 'rtp.client.request.pdv'
SIP_DOT_CLIENT_DOT_REQUEST_DOT_DURATION = 'sip.client.request.duration'
SIP_DOT_CLIENT_DOT_REQUEST_DOT_TOTAL_TIME = 'sip.client.request.total_time'
SIP_DOT_SERVER_DOT_REQUEST_DOT_AVAILABILITY = 'sip.server.request.availability'
SYSTEM_DOT_BATTERY_DOT_CHARGE = 'system.battery.charge'
SYSTEM_DOT_BATTERY_DOT_HEALTH = 'system.battery.health'
SYSTEM_DOT_CPU_DOT_UTILIZATION = 'system.cpu.utilization'
SYSTEM_DOT_DISK_DOT_FREE_DOT_UTILIZATION = 'system.disk.free.utilization'
SYSTEM_DOT_MEMORY_DOT_UTILIZATION = 'system.memory.utilization'
THOUSANDEYES_DOT_ENDPOINT_DOT_AGENT_DOT_SCORE = 'thousandeyes.endpoint.agent.score'
WEB_DOT_PAGE_LOAD_DOT_COMPLETION = 'web.page_load.completion'
WEB_DOT_PAGE_LOAD_DOT_DURATION = 'web.page_load.duration'
WEB_DOT_PAGE_LOAD_DOT_JITTER = 'web.page_load.jitter'
WEB_DOT_PAGE_LOAD_DOT_THROUGHPUT = 'web.page_load.throughput'
WEB_DOT_TRANSACTION_DOT_COMPLETION = 'web.transaction.completion'
WEB_DOT_TRANSACTION_DOT_DURATION = 'web.transaction.duration'
WEB_DOT_TRANSACTION_DOT_ERRORS_DOT_COUNT = 'web.transaction.errors.count'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of V2MetricFilterName 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,77 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
**Note:** The following ThousandEyes for OpenTelemetry API capabilities are not available for ThousandEyes for Government instance: * Traces * Connected Devices * OTel-based integrations that rely on connectors and operations, including: * Splunk Cloud Platform HEC * Splunk Enterprise HEC * Splunk Observability APM * Dynatrace Observability APM ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [product documentation](https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry).
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 V2TraceAttributeFilterName(str, Enum):
"""
V2TraceAttributeFilterName
"""
"""
allowed enum values
"""
CLOUD_DOT_AVAILABILITY_ZONE = 'cloud.availability_zone'
CLOUD_DOT_PLATFORM = 'cloud.platform'
CLOUD_DOT_PROVIDER = 'cloud.provider'
CLOUD_DOT_REGION = 'cloud.region'
CLOUD_DOT_SERVICE = 'cloud.service'
ERROR_DOT_TYPE = 'error.type'
GEO_DOT_GEONAME_DOT_ID = 'geo.geoname.id'
HTTP_DOT_REQUEST_DOT_METHOD = 'http.request.method'
HTTP_DOT_RESPONSE_DOT_CODE = 'http.response.code'
META_DOT_SIGNAL_TYPE = 'meta.signal_type'
NETWORK_DOT_LOCAL_DOT_ADDRESS = 'network.local.address'
NETWORK_DOT_LOCAL_DOT_HOSTNAME = 'network.local.hostname'
NETWORK_DOT_LOCAL_DOT_PREFIX = 'network.local.prefix'
NETWORK_DOT_PATH_DOT_HOP = 'network.path.hop'
NETWORK_DOT_PEER_DOT_ADDRESS = 'network.peer.address'
NETWORK_DOT_PEER_DOT_ADDRESS_PREFIX = 'network.peer.address_prefix'
NETWORK_DOT_PEER_DOT_AS_DOT_NUMBER = 'network.peer.as.number'
NETWORK_DOT_PEER_DOT_HOSTNAME = 'network.peer.hostname'
OTEL_DOT_SCOPE_DOT_NAME = 'otel.scope.name'
SERVER_DOT_ADDRESS = 'server.address'
SERVER_DOT_PORT = 'server.port'
SERVICE_DOT_NAME = 'service.name'
STEP = 'step'
THOUSANDEYES_DOT_NETWORK_DOT_PATH_DOT_HOP_DOT_RTT_MS = 'thousandeyes.network.path.hop.rtt_ms'
THOUSANDEYES_DOT_PERMALINK = 'thousandeyes.permalink'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_GEO_DOT_COUNTRY_DOT_ISO_CODE = 'thousandeyes.source.agent.geo.country.iso_code'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_GEO_DOT_REGION_DOT_ISO_CODE = 'thousandeyes.source.agent.geo.region.iso_code'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_GEONAME_DOT_ID = 'thousandeyes.source.agent.geoname.id'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_ID = 'thousandeyes.source.agent.id'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_LOCATION = 'thousandeyes.source.agent.location'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NAME = 'thousandeyes.source.agent.name'
THOUSANDEYES_DOT_SOURCE_DOT_AGENT_DOT_NETWORK_DOT_ADDRESS = 'thousandeyes.source.agent.network.address'
THOUSANDEYES_DOT_STREAM_DOT_NAME = 'thousandeyes.stream.name'
THOUSANDEYES_DOT_TEST_DOT_DOMAIN = 'thousandeyes.test.domain'
THOUSANDEYES_DOT_TEST_DOT_ID = 'thousandeyes.test.id'
THOUSANDEYES_DOT_TEST_DOT_NAME = 'thousandeyes.test.name'
THOUSANDEYES_DOT_TEST_DOT_TYPE = 'thousandeyes.test.type'
URL_DOT_FULL = 'url.full'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of V2TraceAttributeFilterName from a JSON string"""
return cls(json.loads(json_str))
@classmethod
def _missing_(cls, value):
"""Handle unknown values"""
return cls.UNKNOWN

View File

@ -65,6 +65,12 @@ OPERATION_MANIFEST = {
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -147,6 +153,12 @@ OPERATION_MANIFEST = {
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -318,6 +330,12 @@ OPERATION_MANIFEST = {
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -442,6 +460,12 @@ OPERATION_MANIFEST = {
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -523,6 +547,12 @@ OPERATION_MANIFEST = {
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -660,6 +690,12 @@ OPERATION_MANIFEST = {
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -763,6 +799,12 @@ OPERATION_MANIFEST = {
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"customHeaders" : {

View File

@ -65,6 +65,12 @@ class TestStreamingApi(unittest.TestCase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -143,6 +149,12 @@ class TestStreamingApi(unittest.TestCase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -239,6 +251,12 @@ class TestStreamingApi(unittest.TestCase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -332,6 +350,12 @@ class TestStreamingApi(unittest.TestCase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -413,6 +437,12 @@ class TestStreamingApi(unittest.TestCase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -521,6 +551,12 @@ class TestStreamingApi(unittest.TestCase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"customHeaders" : {
@ -576,6 +612,12 @@ class TestStreamingApi(unittest.TestCase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",

View File

@ -67,6 +67,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -142,6 +148,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -234,6 +246,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -330,6 +348,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -424,6 +448,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -520,6 +550,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -695,6 +731,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -857,6 +899,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -938,6 +986,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -1135,6 +1189,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"customHeaders" : {
@ -1188,6 +1248,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"type" : "opentelemetry",
@ -1303,6 +1369,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"customHeaders" : {
@ -1398,6 +1470,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"customHeaders" : {
@ -1491,6 +1569,12 @@ class TestStreamingApiIntegration(IntegrationTestBase):
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
},
"attributesFilter" : {
"excludedAttributes" : [ "agent.name" ]
},
"metricsFilter" : {
"excludedMetrics" : [ "http.metrics.availability" ]
}
},
"customHeaders" : {

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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- 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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -6,7 +6,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -17,7 +17,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:
- API version: 7.0.104
- API version: 7.0.105
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator