mirror of
https://github.com/thousandeyes/thousandeyes-sdk-python.git
synced 2026-09-19 08:03:56 +00:00
[GitHub Bot] Generated python SDK
This commit is contained in:
parent
9fa78bf5ac
commit
315b06191a
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
31
thousandeyes-sdk-endpoint-agents/docs/DeploymentInfoItem.md
Normal file
31
thousandeyes-sdk-endpoint-agents/docs/DeploymentInfoItem.md
Normal 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)
|
||||
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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"),
|
||||
|
||||
@ -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" : [ {
|
||||
|
||||
@ -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" : [ {
|
||||
|
||||
@ -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" : [ {
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
30
thousandeyes-sdk-streaming/docs/FiltersAttributes.md
Normal file
30
thousandeyes-sdk-streaming/docs/FiltersAttributes.md
Normal 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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
30
thousandeyes-sdk-streaming/docs/FiltersMetrics.md
Normal file
30
thousandeyes-sdk-streaming/docs/FiltersMetrics.md
Normal 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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
11
thousandeyes-sdk-streaming/docs/V1MetricFilterName.md
Normal file
11
thousandeyes-sdk-streaming/docs/V1MetricFilterName.md
Normal 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)
|
||||
|
||||
|
||||
11
thousandeyes-sdk-streaming/docs/V2LogAttributeFilterName.md
Normal file
11
thousandeyes-sdk-streaming/docs/V2LogAttributeFilterName.md
Normal 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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
11
thousandeyes-sdk-streaming/docs/V2MetricFilterName.md
Normal file
11
thousandeyes-sdk-streaming/docs/V2MetricFilterName.md
Normal 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)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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())
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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())
|
||||
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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" : {
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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" : {
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user