[GitHub Bot] Generated python SDK

This commit is contained in:
API Team 2024-09-26 14:50:00 +00:00
parent e76d1fb0d4
commit 521d64650f
42 changed files with 459 additions and 82 deletions

View File

@ -12,7 +12,7 @@ This API provides the following operations to manage your organization:
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -5,7 +5,7 @@ Manage all agents available to your account in ThousandEyes, including both Clou
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -12,7 +12,7 @@ For more information about the alerts, see [Alerts](https://docs.thousandeyes.co
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -9,7 +9,7 @@ For more information about monitors, see [Inside-Out BGP Visibility](https://doc
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -13,7 +13,7 @@ For more information about credentials, see [Working With Secure Credentials](ht
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -3,7 +3,7 @@ Manage ThousandEyes Dashboards.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -9,7 +9,7 @@ To access Emulation API operations, the following permissions are required:
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -5,7 +5,7 @@ For more information about Endpoint Agents, see [Endpoint Agents](https://docs.t
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -13,7 +13,7 @@ The URLs for these API test data endpoints are provided within the test definiti
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -4,7 +4,7 @@ Manage labels applied to endpoint agents using this API.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -3,7 +3,7 @@ Retrieve results for scheduled and dynamic tests on endpoint agents.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -380,11 +380,11 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase):
"log" : {
"browser" : {
"name" : "Google Chrome",
"version" : "7.0.20.98"
"version" : "7.0.21.98"
},
"creator" : {
"name" : "ThousandEyes Endpoint Agent",
"version" : "7.0.20"
"version" : "7.0.21"
},
"entries" : [ {
"pageref" : "page_1",

View File

@ -5,7 +5,7 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -12,7 +12,7 @@ With the Events API, you can perform the following tasks on the ThousandEyes pla
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

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

View File

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

View File

@ -3,7 +3,7 @@ Creates a new test snapshot in ThousandEyes.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -11,6 +11,8 @@ docs/DataModelVersion.md
docs/EndpointType.md
docs/ExporterConfig.md
docs/ExporterConfigSplunkHec.md
docs/Filters.md
docs/FiltersTestTypes.md
docs/GetStreamResponse.md
docs/PutStream.md
docs/Stream.md
@ -23,6 +25,7 @@ docs/TagMatch.md
docs/TagMatchObjectType.md
docs/TestMatch.md
docs/TestMatchDomain.md
docs/TestType.md
docs/UnauthorizedError.md
pyproject.toml
setup.cfg
@ -40,6 +43,8 @@ src/thousandeyes_sdk/streaming/models/data_model_version.py
src/thousandeyes_sdk/streaming/models/endpoint_type.py
src/thousandeyes_sdk/streaming/models/exporter_config.py
src/thousandeyes_sdk/streaming/models/exporter_config_splunk_hec.py
src/thousandeyes_sdk/streaming/models/filters.py
src/thousandeyes_sdk/streaming/models/filters_test_types.py
src/thousandeyes_sdk/streaming/models/get_stream_response.py
src/thousandeyes_sdk/streaming/models/put_stream.py
src/thousandeyes_sdk/streaming/models/stream.py
@ -51,6 +56,7 @@ src/thousandeyes_sdk/streaming/models/tag_match.py
src/thousandeyes_sdk/streaming/models/tag_match_object_type.py
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/py.typed
test/__init__.py

View File

@ -15,7 +15,7 @@ For more information about ThousandEyes for OpenTelemetry, see the [documentatio
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -126,6 +126,8 @@ Class | Method | HTTP request | Description
- [EndpointType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/EndpointType.md)
- [ExporterConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ExporterConfig.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)
- [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)
- [PutStream](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/PutStream.md)
- [Stream](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/Stream.md)
@ -137,6 +139,7 @@ Class | Method | HTTP request | Description
- [TagMatchObjectType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TagMatchObjectType.md)
- [TestMatch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TestMatch.md)
- [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)

View File

@ -15,6 +15,7 @@ Name | Type | Description | Notes
**custom_headers** | **Dict[str, str]** | Custom headers. **Note**: When using the `splunk-hec` `type`, the `customHeaders` must contain just one element with the key `token` and the value of the *Splunk HEC Token*. | [optional]
**tag_match** | [**List[TagMatch]**](TagMatch.md) | A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics. | [optional]
**test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional]
**filters** | [**Filters**](Filters.md) | | [optional]
**exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional]
**audit_operation** | [**AuditOperation**](AuditOperation.md) | | [optional]

View File

@ -0,0 +1,30 @@
# Filters
Provides the ability to filter data points based on the specified test types.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**test_types** | [**FiltersTestTypes**](FiltersTestTypes.md) | | [optional]
## Example
```python
from thousandeyes_sdk.streaming.models.filters import Filters
# TODO update the JSON string below
json = "{}"
# create an instance of Filters from a JSON string
filters_instance = Filters.from_json(json)
# print the JSON string representation of the object
print(Filters.to_json())
# convert the object into a dict
filters_dict = filters_instance.to_dict()
# create an instance of Filters from a dict
filters_from_dict = Filters.from_dict(filters_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,30 @@
# FiltersTestTypes
Test types that can be used for filtering data points.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**values** | [**List[TestType]**](TestType.md) | A list of test types to filter data points. | [optional]
## Example
```python
from thousandeyes_sdk.streaming.models.filters_test_types import FiltersTestTypes
# TODO update the JSON string below
json = "{}"
# create an instance of FiltersTestTypes from a JSON string
filters_test_types_instance = FiltersTestTypes.from_json(json)
# print the JSON string representation of the object
print(FiltersTestTypes.to_json())
# convert the object into a dict
filters_test_types_dict = filters_test_types_instance.to_dict()
# create an instance of FiltersTestTypes from a dict
filters_test_types_from_dict = FiltersTestTypes.from_dict(filters_test_types_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -15,6 +15,7 @@ Name | Type | Description | Notes
**custom_headers** | **Dict[str, str]** | Custom headers. **Note**: When using the `splunk-hec` `type`, the `customHeaders` must contain just one element with the key `token` and the value of the *Splunk HEC Token*. | [optional]
**tag_match** | [**List[TagMatch]**](TagMatch.md) | A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics. | [optional]
**test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional]
**filters** | [**Filters**](Filters.md) | | [optional]
**exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional]
**audit_operation** | [**AuditOperationWithUpdate**](AuditOperationWithUpdate.md) | | [optional]

View File

@ -9,6 +9,7 @@ Name | Type | Description | Notes
**tag_match** | [**List[TagMatch]**](TagMatch.md) | A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics. | [optional]
**test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional]
**enabled** | **bool** | Flag to enable or disable the stream integration. | [optional]
**filters** | [**Filters**](Filters.md) | | [optional]
**exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional]
## Example

View File

@ -9,6 +9,7 @@ Name | Type | Description | Notes
**tag_match** | [**List[TagMatch]**](TagMatch.md) | A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics. | [optional]
**test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional]
**enabled** | **bool** | Flag to enable or disable the stream integration. | [optional]
**filters** | [**Filters**](Filters.md) | | [optional]
**exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional]
**type** | [**StreamType**](StreamType.md) | | [optional]
**endpoint_type** | [**EndpointType**](EndpointType.md) | | [optional]

View File

@ -5,7 +5,6 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**object_type** | [**TagMatchObjectType**](TagMatchObjectType.md) | | [optional]
**key** | **str** | The name of the tag key to match | [optional]
**value** | **str** | The value of the tag to match | [optional]

View File

@ -0,0 +1,12 @@
# TestType
This is a read only value, as test type is implicit in the test creation url.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -28,6 +28,8 @@ from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersio
from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType
from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig
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_test_types import FiltersTestTypes
from thousandeyes_sdk.streaming.models.get_stream_response import GetStreamResponse
from thousandeyes_sdk.streaming.models.put_stream import PutStream
from thousandeyes_sdk.streaming.models.stream import Stream
@ -39,4 +41,5 @@ from thousandeyes_sdk.streaming.models.tag_match import TagMatch
from thousandeyes_sdk.streaming.models.tag_match_object_type import TagMatchObjectType
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

View File

@ -23,6 +23,8 @@ from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersio
from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType
from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig
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_test_types import FiltersTestTypes
from thousandeyes_sdk.streaming.models.get_stream_response import GetStreamResponse
from thousandeyes_sdk.streaming.models.put_stream import PutStream
from thousandeyes_sdk.streaming.models.stream import Stream
@ -34,4 +36,5 @@ from thousandeyes_sdk.streaming.models.tag_match import TagMatch
from thousandeyes_sdk.streaming.models.tag_match_object_type import TagMatchObjectType
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

View File

@ -22,6 +22,7 @@ from thousandeyes_sdk.streaming.models.audit_operation import AuditOperation
from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion
from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType
from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig
from thousandeyes_sdk.streaming.models.filters import Filters
from thousandeyes_sdk.streaming.models.stream_links import StreamLinks
from thousandeyes_sdk.streaming.models.stream_type import StreamType
from thousandeyes_sdk.streaming.models.tag_match import TagMatch
@ -43,9 +44,10 @@ class CreateStreamResponse(BaseModel):
custom_headers: Optional[Dict[str, StrictStr]] = Field(default=None, description="Custom headers. **Note**: When using the `splunk-hec` `type`, the `customHeaders` must contain just one element with the key `token` and the value of the *Splunk HEC Token*.", alias="customHeaders")
tag_match: Optional[List[TagMatch]] = Field(default=None, description="A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics.", alias="tagMatch")
test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch")
filters: Optional[Filters] = None
exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig")
audit_operation: Optional[AuditOperation] = Field(default=None, alias="auditOperation")
__properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "exporterConfig", "auditOperation"]
__properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "filters", "exporterConfig", "auditOperation"]
model_config = ConfigDict(
populate_by_name=True,
@ -106,6 +108,9 @@ class CreateStreamResponse(BaseModel):
if _item:
_items.append(_item.to_dict())
_dict['testMatch'] = _items
# override the default output from pydantic by calling `to_dict()` of filters
if self.filters:
_dict['filters'] = self.filters.to_dict()
# override the default output from pydantic by calling `to_dict()` of exporter_config
if self.exporter_config:
_dict['exporterConfig'] = self.exporter_config.to_dict()
@ -134,6 +139,7 @@ class CreateStreamResponse(BaseModel):
"customHeaders": obj.get("customHeaders"),
"tagMatch": [TagMatch.from_dict(_item) for _item in obj["tagMatch"]] if obj.get("tagMatch") is not None else None,
"testMatch": [TestMatch.from_dict(_item) for _item in obj["testMatch"]] if obj.get("testMatch") is not None else None,
"filters": Filters.from_dict(obj["filters"]) if obj.get("filters") is not None else None,
"exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None,
"auditOperation": AuditOperation.from_dict(obj["auditOperation"]) if obj.get("auditOperation") is not None else None
})

View File

@ -0,0 +1,91 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
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 [documentation](https://docs.thousandeyes.com/product-documentation/api/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, Optional
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.
""" # noqa: E501
test_types: Optional[FiltersTestTypes] = Field(default=None, alias="testTypes")
__properties: ClassVar[List[str]] = ["testTypes"]
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 Filters 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 test_types
if self.test_types:
_dict['testTypes'] = self.test_types.to_dict()
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of Filters from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"testTypes": FiltersTestTypes.from_dict(obj["testTypes"]) if obj.get("testTypes") is not None else None
})
return _obj

View File

@ -0,0 +1,88 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
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 [documentation](https://docs.thousandeyes.com/product-documentation/api/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, Optional
from thousandeyes_sdk.streaming.models.test_type import TestType
from typing import Optional, Set
from typing_extensions import Self
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.")
__properties: ClassVar[List[str]] = ["values"]
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 FiltersTestTypes 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 FiltersTestTypes from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"values": obj.get("values")
})
return _obj

View File

@ -22,6 +22,7 @@ from thousandeyes_sdk.streaming.models.audit_operation_with_update import AuditO
from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion
from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType
from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig
from thousandeyes_sdk.streaming.models.filters import Filters
from thousandeyes_sdk.streaming.models.stream_links import StreamLinks
from thousandeyes_sdk.streaming.models.stream_type import StreamType
from thousandeyes_sdk.streaming.models.tag_match import TagMatch
@ -43,9 +44,10 @@ class GetStreamResponse(BaseModel):
custom_headers: Optional[Dict[str, StrictStr]] = Field(default=None, description="Custom headers. **Note**: When using the `splunk-hec` `type`, the `customHeaders` must contain just one element with the key `token` and the value of the *Splunk HEC Token*.", alias="customHeaders")
tag_match: Optional[List[TagMatch]] = Field(default=None, description="A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics.", alias="tagMatch")
test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch")
filters: Optional[Filters] = None
exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig")
audit_operation: Optional[AuditOperationWithUpdate] = Field(default=None, alias="auditOperation")
__properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "exporterConfig", "auditOperation"]
__properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "filters", "exporterConfig", "auditOperation"]
model_config = ConfigDict(
populate_by_name=True,
@ -106,6 +108,9 @@ class GetStreamResponse(BaseModel):
if _item:
_items.append(_item.to_dict())
_dict['testMatch'] = _items
# override the default output from pydantic by calling `to_dict()` of filters
if self.filters:
_dict['filters'] = self.filters.to_dict()
# override the default output from pydantic by calling `to_dict()` of exporter_config
if self.exporter_config:
_dict['exporterConfig'] = self.exporter_config.to_dict()
@ -134,6 +139,7 @@ class GetStreamResponse(BaseModel):
"customHeaders": obj.get("customHeaders"),
"tagMatch": [TagMatch.from_dict(_item) for _item in obj["tagMatch"]] if obj.get("tagMatch") is not None else None,
"testMatch": [TestMatch.from_dict(_item) for _item in obj["testMatch"]] if obj.get("testMatch") is not None else None,
"filters": Filters.from_dict(obj["filters"]) if obj.get("filters") is not None else None,
"exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None,
"auditOperation": AuditOperationWithUpdate.from_dict(obj["auditOperation"]) if obj.get("auditOperation") is not None else None
})

View File

@ -19,6 +19,7 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig
from thousandeyes_sdk.streaming.models.filters import Filters
from thousandeyes_sdk.streaming.models.tag_match import TagMatch
from thousandeyes_sdk.streaming.models.test_match import TestMatch
from typing import Optional, Set
@ -32,8 +33,9 @@ class PutStream(BaseModel):
tag_match: Optional[List[TagMatch]] = Field(default=None, description="A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics.", alias="tagMatch")
test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch")
enabled: Optional[StrictBool] = Field(default=None, description="Flag to enable or disable the stream integration.")
filters: Optional[Filters] = None
exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig")
__properties: ClassVar[List[str]] = ["customHeaders", "tagMatch", "testMatch", "enabled", "exporterConfig"]
__properties: ClassVar[List[str]] = ["customHeaders", "tagMatch", "testMatch", "enabled", "filters", "exporterConfig"]
model_config = ConfigDict(
populate_by_name=True,
@ -89,6 +91,9 @@ class PutStream(BaseModel):
if _item:
_items.append(_item.to_dict())
_dict['testMatch'] = _items
# override the default output from pydantic by calling `to_dict()` of filters
if self.filters:
_dict['filters'] = self.filters.to_dict()
# override the default output from pydantic by calling `to_dict()` of exporter_config
if self.exporter_config:
_dict['exporterConfig'] = self.exporter_config.to_dict()
@ -108,6 +113,7 @@ class PutStream(BaseModel):
"tagMatch": [TagMatch.from_dict(_item) for _item in obj["tagMatch"]] if obj.get("tagMatch") is not None else None,
"testMatch": [TestMatch.from_dict(_item) for _item in obj["testMatch"]] if obj.get("testMatch") is not None else None,
"enabled": obj.get("enabled"),
"filters": Filters.from_dict(obj["filters"]) if obj.get("filters") is not None else None,
"exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None
})
return _obj

View File

@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion
from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType
from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig
from thousandeyes_sdk.streaming.models.filters import Filters
from thousandeyes_sdk.streaming.models.stream_type import StreamType
from thousandeyes_sdk.streaming.models.tag_match import TagMatch
from thousandeyes_sdk.streaming.models.test_match import TestMatch
@ -35,12 +36,13 @@ class Stream(BaseModel):
tag_match: Optional[List[TagMatch]] = Field(default=None, description="A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics.", alias="tagMatch")
test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch")
enabled: Optional[StrictBool] = Field(default=None, description="Flag to enable or disable the stream integration.")
filters: Optional[Filters] = None
exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig")
type: Optional[StreamType] = None
endpoint_type: Optional[EndpointType] = Field(default=None, alias="endpointType")
stream_endpoint_url: Optional[StrictStr] = Field(default=None, description="The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the operation must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl")
data_model_version: Optional[DataModelVersion] = Field(default=None, alias="dataModelVersion")
__properties: ClassVar[List[str]] = ["customHeaders", "tagMatch", "testMatch", "enabled", "exporterConfig", "type", "endpointType", "streamEndpointUrl", "dataModelVersion"]
__properties: ClassVar[List[str]] = ["customHeaders", "tagMatch", "testMatch", "enabled", "filters", "exporterConfig", "type", "endpointType", "streamEndpointUrl", "dataModelVersion"]
model_config = ConfigDict(
populate_by_name=True,
@ -96,6 +98,9 @@ class Stream(BaseModel):
if _item:
_items.append(_item.to_dict())
_dict['testMatch'] = _items
# override the default output from pydantic by calling `to_dict()` of filters
if self.filters:
_dict['filters'] = self.filters.to_dict()
# override the default output from pydantic by calling `to_dict()` of exporter_config
if self.exporter_config:
_dict['exporterConfig'] = self.exporter_config.to_dict()
@ -115,6 +120,7 @@ class Stream(BaseModel):
"tagMatch": [TagMatch.from_dict(_item) for _item in obj["tagMatch"]] if obj.get("tagMatch") is not None else None,
"testMatch": [TestMatch.from_dict(_item) for _item in obj["testMatch"]] if obj.get("testMatch") is not None else None,
"enabled": obj.get("enabled"),
"filters": Filters.from_dict(obj["filters"]) if obj.get("filters") is not None else None,
"exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None,
"type": obj.get("type"),
"endpointType": obj.get("endpointType"),

View File

@ -18,7 +18,6 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.streaming.models.tag_match_object_type import TagMatchObjectType
from typing import Optional, Set
from typing_extensions import Self
@ -26,10 +25,9 @@ class TagMatch(BaseModel):
"""
TagMatch
""" # noqa: E501
object_type: Optional[TagMatchObjectType] = Field(default=None, alias="objectType")
key: Optional[StrictStr] = Field(default=None, description="The name of the tag key to match")
value: Optional[StrictStr] = Field(default=None, description="The value of the tag to match")
__properties: ClassVar[List[str]] = ["objectType", "key", "value"]
__properties: ClassVar[List[str]] = ["key", "value"]
model_config = ConfigDict(
populate_by_name=True,
@ -83,7 +81,6 @@ class TagMatch(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"objectType": obj.get("objectType"),
"key": obj.get("key"),
"value": obj.get("value")
})

View File

@ -0,0 +1,52 @@
# coding: utf-8
"""
ThousandEyes for OpenTelemetry API
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 [documentation](https://docs.thousandeyes.com/product-documentation/api/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 TestType(str, Enum):
"""
This is a read only value, as test type is implicit in the test creation url.
"""
"""
allowed enum values
"""
API = 'api'
AGENT_MINUS_TO_MINUS_AGENT = 'agent-to-agent'
AGENT_MINUS_TO_MINUS_SERVER = 'agent-to-server'
BGP = 'bgp'
HTTP_MINUS_SERVER = 'http-server'
PAGE_MINUS_LOAD = 'page-load'
WEB_MINUS_TRANSACTIONS = 'web-transactions'
FTP_MINUS_SERVER = 'ftp-server'
DNS_MINUS_TRACE = 'dns-trace'
DNS_MINUS_SERVER = 'dns-server'
DNSSEC = 'dnssec'
SIP_MINUS_SERVER = 'sip-server'
VOICE = 'voice'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of TestType from a JSON string"""
return cls(json.loads(json_str))
@classmethod
def _missing_(cls, value):
"""Handle unknown values"""
return cls.UNKNOWN

View File

@ -56,6 +56,11 @@ class TestStreamingApi(unittest.TestCase):
"key" : "keyB",
"value" : "valueB"
} ],
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
}
},
"type" : "opentelemetry",
"dataModelVersion" : "v2",
"customHeaders" : {
@ -71,13 +76,6 @@ class TestStreamingApi(unittest.TestCase):
response_body_json = """
{
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"endpointType" : "grpc",
"_links" : {
"self" : {
@ -93,6 +91,21 @@ class TestStreamingApi(unittest.TestCase):
"token" : "d0a91307-be2f-4218-a9f8-71c02d98846b"
}
},
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
}
},
"type" : "opentelemetry",
"enabled" : true,
"dataModelVersion" : "v2",
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"tagMatch" : [ {
"key" : "keyA",
"value" : "valueA"
@ -101,13 +114,10 @@ class TestStreamingApi(unittest.TestCase):
"value" : "valueB"
} ],
"id" : "342ieu09",
"type" : "opentelemetry",
"auditOperation" : {
"createdDate" : 1679677853573,
"createdBy" : 3962
},
"enabled" : true,
"dataModelVersion" : "v2",
"customHeaders" : {
"Authorization" : "*****",
"Content-Type" : "*****"
@ -127,13 +137,6 @@ class TestStreamingApi(unittest.TestCase):
response_body_json = """
{
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"endpointType" : "grpc",
"_links" : {
"self" : {
@ -149,6 +152,21 @@ class TestStreamingApi(unittest.TestCase):
"token" : "d0a91307-be2f-4218-a9f8-71c02d98846b"
}
},
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
}
},
"type" : "opentelemetry",
"enabled" : true,
"dataModelVersion" : "v2",
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"tagMatch" : [ {
"key" : "keyA",
"value" : "valueA"
@ -157,15 +175,12 @@ class TestStreamingApi(unittest.TestCase):
"value" : "valueB"
} ],
"id" : "342ieu09",
"type" : "opentelemetry",
"auditOperation" : {
"createdDate" : 1679677853573,
"updatedBy" : 3962,
"createdBy" : 3962,
"updatedDate" : 1679677853573
},
"enabled" : true,
"dataModelVersion" : "v2",
"customHeaders" : {
"Authorization" : "*****",
"Content-Type" : "*****"
@ -181,13 +196,6 @@ class TestStreamingApi(unittest.TestCase):
response_body_json = """
[ {
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"endpointType" : "grpc",
"_links" : {
"self" : {
@ -203,6 +211,21 @@ class TestStreamingApi(unittest.TestCase):
"token" : "d0a91307-be2f-4218-a9f8-71c02d98846b"
}
},
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
}
},
"type" : "opentelemetry",
"enabled" : true,
"dataModelVersion" : "v2",
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"tagMatch" : [ {
"key" : "keyA",
"value" : "valueA"
@ -211,27 +234,17 @@ class TestStreamingApi(unittest.TestCase):
"value" : "valueB"
} ],
"id" : "342ieu09",
"type" : "opentelemetry",
"auditOperation" : {
"createdDate" : 1679677853573,
"updatedBy" : 3962,
"createdBy" : 3962,
"updatedDate" : 1679677853573
},
"enabled" : true,
"dataModelVersion" : "v2",
"customHeaders" : {
"Authorization" : "*****",
"Content-Type" : "*****"
}
}, {
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"endpointType" : "grpc",
"_links" : {
"self" : {
@ -247,6 +260,21 @@ class TestStreamingApi(unittest.TestCase):
"token" : "d0a91307-be2f-4218-a9f8-71c02d98846b"
}
},
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
}
},
"type" : "opentelemetry",
"enabled" : true,
"dataModelVersion" : "v2",
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"tagMatch" : [ {
"key" : "keyA",
"value" : "valueA"
@ -255,15 +283,12 @@ class TestStreamingApi(unittest.TestCase):
"value" : "valueB"
} ],
"id" : "342ieu09",
"type" : "opentelemetry",
"auditOperation" : {
"createdDate" : 1679677853573,
"updatedBy" : 3962,
"createdBy" : 3962,
"updatedDate" : 1679677853573
},
"enabled" : true,
"dataModelVersion" : "v2",
"customHeaders" : {
"Authorization" : "*****",
"Content-Type" : "*****"
@ -303,6 +328,11 @@ class TestStreamingApi(unittest.TestCase):
"key" : "keyB",
"value" : "valueB"
} ],
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
}
},
"customHeaders" : {
"Authorization" : "*****",
"Content-Type" : "*****"
@ -316,13 +346,6 @@ class TestStreamingApi(unittest.TestCase):
response_body_json = """
{
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"endpointType" : "grpc",
"_links" : {
"self" : {
@ -338,6 +361,21 @@ class TestStreamingApi(unittest.TestCase):
"token" : "d0a91307-be2f-4218-a9f8-71c02d98846b"
}
},
"filters" : {
"testTypes" : {
"values" : [ "agent-to-server", "bgp", "http-server" ]
}
},
"type" : "opentelemetry",
"enabled" : true,
"dataModelVersion" : "v2",
"testMatch" : [ {
"id" : "1234",
"domain" : "cea"
}, {
"id" : "5678",
"domain" : "endpoint"
} ],
"tagMatch" : [ {
"key" : "keyA",
"value" : "valueA"
@ -346,15 +384,12 @@ class TestStreamingApi(unittest.TestCase):
"value" : "valueB"
} ],
"id" : "342ieu09",
"type" : "opentelemetry",
"auditOperation" : {
"createdDate" : 1679677853573,
"updatedBy" : 3962,
"createdBy" : 3962,
"updatedDate" : 1679677853573
},
"enabled" : true,
"dataModelVersion" : "v2",
"customHeaders" : {
"Authorization" : "*****",
"Content-Type" : "*****"

View File

@ -16,7 +16,7 @@ Things to note with the ThousandEyes Tags API:
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -3,7 +3,7 @@ Get test result metrics for Cloud and Enterprise Agent tests.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -4,7 +4,7 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -17,7 +17,7 @@ Refer to the Usage API operations for detailed usage instructions and optional p
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.20
- API version: 7.0.21
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator