From ec48ba34a7765b7c2ad7710e2ac722d1890c4df2 Mon Sep 17 00:00:00 2001 From: API Team Date: Thu, 19 Dec 2024 15:38:00 +0000 Subject: [PATCH] [GitHub Bot] Generated python SDK --- thousandeyes-sdk-administrative/README.md | 2 +- thousandeyes-sdk-agents/README.md | 2 +- .../.openapi-generator/FILES | 4 + thousandeyes-sdk-alerts/README.md | 4 +- .../docs/AlertSimpleTest.md | 43 +++++ thousandeyes-sdk-alerts/docs/AlertTestType.md | 12 ++ thousandeyes-sdk-alerts/docs/RuleDetail.md | 2 +- .../src/thousandeyes_sdk/alerts/__init__.py | 2 + .../alerts/models/__init__.py | 2 + .../alerts/models/alert_group_type.py | 1 + .../alerts/models/alert_simple_test.py | 147 ++++++++++++++++++ .../alerts/models/alert_test_type.py | 55 +++++++ .../alerts/models/rule_detail.py | 6 +- thousandeyes-sdk-bgp-monitors/README.md | 2 +- thousandeyes-sdk-credentials/README.md | 2 +- thousandeyes-sdk-dashboards/README.md | 2 +- .../dashboards/models/dashboard_metric.py | 8 + thousandeyes-sdk-emulation/README.md | 2 +- thousandeyes-sdk-endpoint-agents/README.md | 2 +- .../README.md | 2 +- thousandeyes-sdk-endpoint-labels/README.md | 2 +- .../README.md | 2 +- ...est_real_user_endpoint_test_results_api.py | 4 +- thousandeyes-sdk-endpoint-tests/README.md | 2 +- thousandeyes-sdk-event-detection/README.md | 2 +- thousandeyes-sdk-instant-tests/README.md | 2 +- thousandeyes-sdk-internet-insights/README.md | 2 +- thousandeyes-sdk-snapshots/README.md | 2 +- thousandeyes-sdk-streaming/README.md | 2 +- .../docs/CreateStreamResponse.md | 2 +- .../docs/GetStreamResponse.md | 2 +- thousandeyes-sdk-streaming/docs/PutStream.md | 1 + thousandeyes-sdk-streaming/docs/Stream.md | 2 +- .../models/create_stream_response.py | 2 +- .../streaming/models/get_stream_response.py | 2 +- .../streaming/models/put_stream.py | 4 +- .../streaming/models/stream.py | 6 +- .../test/test_streaming_api.py | 1 + thousandeyes-sdk-tags/README.md | 2 +- thousandeyes-sdk-test-results/README.md | 2 +- thousandeyes-sdk-tests/README.md | 2 +- thousandeyes-sdk-usage/README.md | 2 +- 42 files changed, 316 insertions(+), 36 deletions(-) create mode 100644 thousandeyes-sdk-alerts/docs/AlertSimpleTest.md create mode 100644 thousandeyes-sdk-alerts/docs/AlertTestType.md create mode 100644 thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_simple_test.py create mode 100644 thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_test_type.py diff --git a/thousandeyes-sdk-administrative/README.md b/thousandeyes-sdk-administrative/README.md index e6c30cf9..d6b86862 100644 --- a/thousandeyes-sdk-administrative/README.md +++ b/thousandeyes-sdk-administrative/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-agents/README.md b/thousandeyes-sdk-agents/README.md index 0173a373..0207523a 100644 --- a/thousandeyes-sdk-agents/README.md +++ b/thousandeyes-sdk-agents/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-alerts/.openapi-generator/FILES b/thousandeyes-sdk-alerts/.openapi-generator/FILES index 26b52a53..0977048a 100644 --- a/thousandeyes-sdk-alerts/.openapi-generator/FILES +++ b/thousandeyes-sdk-alerts/.openapi-generator/FILES @@ -11,12 +11,14 @@ docs/AlertMetricDetail.md docs/AlertNotification.md docs/AlertRoundsViolationMode.md docs/AlertRulesApi.md +docs/AlertSimpleTest.md docs/AlertSuppressionWindow.md docs/AlertSuppressionWindowDetail.md docs/AlertSuppressionWindowRequest.md docs/AlertSuppressionWindowState.md docs/AlertSuppressionWindows.md docs/AlertSuppressionWindowsApi.md +docs/AlertTestType.md docs/AlertType.md docs/Alerts.md docs/AlertsApi.md @@ -76,11 +78,13 @@ src/thousandeyes_sdk/alerts/models/alert_meta.py src/thousandeyes_sdk/alerts/models/alert_metric_detail.py src/thousandeyes_sdk/alerts/models/alert_notification.py src/thousandeyes_sdk/alerts/models/alert_rounds_violation_mode.py +src/thousandeyes_sdk/alerts/models/alert_simple_test.py src/thousandeyes_sdk/alerts/models/alert_suppression_window.py src/thousandeyes_sdk/alerts/models/alert_suppression_window_detail.py src/thousandeyes_sdk/alerts/models/alert_suppression_window_request.py src/thousandeyes_sdk/alerts/models/alert_suppression_window_state.py src/thousandeyes_sdk/alerts/models/alert_suppression_windows.py +src/thousandeyes_sdk/alerts/models/alert_test_type.py src/thousandeyes_sdk/alerts/models/alert_type.py src/thousandeyes_sdk/alerts/models/alerts.py src/thousandeyes_sdk/alerts/models/base_alert.py diff --git a/thousandeyes-sdk-alerts/README.md b/thousandeyes-sdk-alerts/README.md index 49d2685e..dba7cb11 100644 --- a/thousandeyes-sdk-alerts/README.md +++ b/thousandeyes-sdk-alerts/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -129,11 +129,13 @@ Class | Method | HTTP request | Description - [AlertMetricDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertMetricDetail.md) - [AlertNotification](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertNotification.md) - [AlertRoundsViolationMode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRoundsViolationMode.md) + - [AlertSimpleTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSimpleTest.md) - [AlertSuppressionWindow](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindow.md) - [AlertSuppressionWindowDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowDetail.md) - [AlertSuppressionWindowRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowRequest.md) - [AlertSuppressionWindowState](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowState.md) - [AlertSuppressionWindows](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindows.md) + - [AlertTestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertTestType.md) - [AlertType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertType.md) - [Alerts](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Alerts.md) - [BaseAlert](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/BaseAlert.md) diff --git a/thousandeyes-sdk-alerts/docs/AlertSimpleTest.md b/thousandeyes-sdk-alerts/docs/AlertSimpleTest.md new file mode 100644 index 00000000..f47c3f3b --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/AlertSimpleTest.md @@ -0,0 +1,43 @@ +# AlertSimpleTest + +Each test includes additional fields depending on its `type`. Refer `/tests/{type}` endpoint to know the set of fields returned by a given `type`. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | [optional] +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | [**AlertTestType**](AlertTestType.md) | | [optional] +**links** | [**TestLinks**](TestLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.alerts.models.alert_simple_test import AlertSimpleTest + +# TODO update the JSON string below +json = "{}" +# create an instance of AlertSimpleTest from a JSON string +alert_simple_test_instance = AlertSimpleTest.from_json(json) +# print the JSON string representation of the object +print(AlertSimpleTest.to_json()) + +# convert the object into a dict +alert_simple_test_dict = alert_simple_test_instance.to_dict() +# create an instance of AlertSimpleTest from a dict +alert_simple_test_from_dict = AlertSimpleTest.from_dict(alert_simple_test_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) + + diff --git a/thousandeyes-sdk-alerts/docs/AlertTestType.md b/thousandeyes-sdk-alerts/docs/AlertTestType.md new file mode 100644 index 00000000..15a60cdf --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/AlertTestType.md @@ -0,0 +1,12 @@ +# AlertTestType + +Valid Alert Types for which to return test links. + +## 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) + + diff --git a/thousandeyes-sdk-alerts/docs/RuleDetail.md b/thousandeyes-sdk-alerts/docs/RuleDetail.md index ec4a0eba..87efcfe4 100644 --- a/thousandeyes-sdk-alerts/docs/RuleDetail.md +++ b/thousandeyes-sdk-alerts/docs/RuleDetail.md @@ -22,7 +22,7 @@ Name | Type | Description | Notes **sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional] **notifications** | [**AlertNotification**](AlertNotification.md) | | [optional] -**tests** | [**List[SimpleTest]**](SimpleTest.md) | | [optional] [readonly] +**tests** | [**List[AlertSimpleTest]**](AlertSimpleTest.md) | | [optional] [readonly] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/__init__.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/__init__.py index 9f4eba57..c9ee594e 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/__init__.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/__init__.py @@ -29,11 +29,13 @@ from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode +from thousandeyes_sdk.alerts.models.alert_simple_test import AlertSimpleTest from thousandeyes_sdk.alerts.models.alert_suppression_window import AlertSuppressionWindow from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest from thousandeyes_sdk.alerts.models.alert_suppression_window_state import AlertSuppressionWindowState from thousandeyes_sdk.alerts.models.alert_suppression_windows import AlertSuppressionWindows +from thousandeyes_sdk.alerts.models.alert_test_type import AlertTestType from thousandeyes_sdk.alerts.models.alert_type import AlertType from thousandeyes_sdk.alerts.models.alerts import Alerts from thousandeyes_sdk.alerts.models.base_alert import BaseAlert diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/__init__.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/__init__.py index a590feac..3830b35e 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/__init__.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/__init__.py @@ -22,11 +22,13 @@ from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode +from thousandeyes_sdk.alerts.models.alert_simple_test import AlertSimpleTest from thousandeyes_sdk.alerts.models.alert_suppression_window import AlertSuppressionWindow from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest from thousandeyes_sdk.alerts.models.alert_suppression_window_state import AlertSuppressionWindowState from thousandeyes_sdk.alerts.models.alert_suppression_windows import AlertSuppressionWindows +from thousandeyes_sdk.alerts.models.alert_test_type import AlertTestType from thousandeyes_sdk.alerts.models.alert_type import AlertType from thousandeyes_sdk.alerts.models.alerts import Alerts from thousandeyes_sdk.alerts.models.base_alert import BaseAlert diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_group_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_group_type.py index 9e7de04d..504b0a99 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_group_type.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_group_type.py @@ -25,6 +25,7 @@ class AlertGroupType(str, Enum): """ allowed enum values """ + BGP = 'bgp' BROWSER_MINUS_SESSION = 'browser-session' CLOUD_MINUS_ENTERPRISE = 'cloud-enterprise' ENDPOINT = 'endpoint' diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_simple_test.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_simple_test.py new file mode 100644 index 00000000..65954a86 --- /dev/null +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_simple_test.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + Alerts API + + You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.alerts.models.alert_test_type import AlertTestType +from thousandeyes_sdk.alerts.models.test_interval import TestInterval +from thousandeyes_sdk.alerts.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class AlertSimpleTest(BaseModel): + """ + Each test includes additional fields depending on its `type`. Refer `/tests/{type}` endpoint to know the set of fields returned by a given `type`. + """ # noqa: E501 + interval: Optional[TestInterval] = None + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[AlertTestType] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links"] + + 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 AlertSimpleTest 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. + * 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AlertSimpleTest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_test_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_test_type.py new file mode 100644 index 00000000..f522724e --- /dev/null +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_test_type.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Alerts API + + You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). + + 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 AlertTestType(str, Enum): + """ + Valid Alert Types for which to return test links. + """ + + """ + 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' + ENDPOINT_MINUS_HTTP_MINUS_SERVER = 'endpoint-http-server' + ENDPOINT_MINUS_NETWORK_MINUS_SERVER = 'endpoint-network-server' + ENDPOINT_MINUS_PATH_MINUS_TRACE = 'endpoint-path-trace' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of AlertTestType from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail.py index 498a23a0..74bb8fd2 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail.py @@ -22,11 +22,11 @@ from thousandeyes_sdk.alerts.models.alert_group_type import AlertGroupType from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode +from thousandeyes_sdk.alerts.models.alert_simple_test import AlertSimpleTest from thousandeyes_sdk.alerts.models.alert_type import AlertType from thousandeyes_sdk.alerts.models.self_links import SelfLinks from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.severity import Severity -from thousandeyes_sdk.alerts.models.simple_test import SimpleTest from typing import Optional, Set from typing_extensions import Self @@ -51,7 +51,7 @@ class RuleDetail(BaseModel): sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") severity: Optional[Severity] = None notifications: Optional[AlertNotification] = None - tests: Optional[List[SimpleTest]] = None + tests: Optional[List[AlertSimpleTest]] = None links: Optional[SelfLinks] = Field(default=None, alias="_links") __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "alertGroupType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity", "notifications", "tests", "_links"] @@ -141,7 +141,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "sensitivityLevel": obj.get("sensitivityLevel"), "severity": obj.get("severity"), "notifications": AlertNotification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None, - "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, + "tests": [AlertSimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) return _obj diff --git a/thousandeyes-sdk-bgp-monitors/README.md b/thousandeyes-sdk-bgp-monitors/README.md index 0dd16719..346df412 100644 --- a/thousandeyes-sdk-bgp-monitors/README.md +++ b/thousandeyes-sdk-bgp-monitors/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-credentials/README.md b/thousandeyes-sdk-credentials/README.md index 94ab44a3..48007760 100644 --- a/thousandeyes-sdk-credentials/README.md +++ b/thousandeyes-sdk-credentials/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-dashboards/README.md b/thousandeyes-sdk-dashboards/README.md index e6c0ac33..4ae89668 100644 --- a/thousandeyes-sdk-dashboards/README.md +++ b/thousandeyes-sdk-dashboards/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric.py index 5c7bea44..6c25ce8c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric.py @@ -179,10 +179,15 @@ class DashboardMetric(str, Enum): ENDPOINT_GATEWAY_SIGNAL_QUALITY = 'ENDPOINT_GATEWAY_SIGNAL_QUALITY' ENDPOINT_GATEWAY_LOSS = 'ENDPOINT_GATEWAY_LOSS' ENDPOINT_GATEWAY_LATENCY = 'ENDPOINT_GATEWAY_LATENCY' + ENDPOINT_GATEWAY_AGENT_SCORE = 'ENDPOINT_GATEWAY_AGENT_SCORE' + ENDPOINT_GATEWAY_SCORE = 'ENDPOINT_GATEWAY_SCORE' + ENDPOINT_GATEWAY_CONNECTION_SCORE = 'ENDPOINT_GATEWAY_CONNECTION_SCORE' ENDPOINT_GATEWAY_PROXY_LOSS = 'ENDPOINT_GATEWAY_PROXY_LOSS' ENDPOINT_GATEWAY_PROXY_LATENCY = 'ENDPOINT_GATEWAY_PROXY_LATENCY' + ENDPOINT_GATEWAY_PROXY_SCORE = 'ENDPOINT_GATEWAY_PROXY_SCORE' ENDPOINT_GATEWAY_VPN_LOSS = 'ENDPOINT_GATEWAY_VPN_LOSS' ENDPOINT_GATEWAY_VPN_LATENCY = 'ENDPOINT_GATEWAY_VPN_LATENCY' + ENDPOINT_GATEWAY_VPN_SCORE = 'ENDPOINT_GATEWAY_VPN_SCORE' ENDPOINT_GATEWAY_DNS_LOSS = 'ENDPOINT_GATEWAY_DNS_LOSS' ENDPOINT_GATEWAY_DNS_LATENCY = 'ENDPOINT_GATEWAY_DNS_LATENCY' ENDPOINT_GATEWAY_DNS_TIME = 'ENDPOINT_GATEWAY_DNS_TIME' @@ -201,6 +206,7 @@ class DashboardMetric(str, Enum): ENDPOINT_AST_TEST_VPN_LOSS = 'ENDPOINT_AST_TEST_VPN_LOSS' ENDPOINT_AST_TEST_VPN_LATENCY = 'ENDPOINT_AST_TEST_VPN_LATENCY' ENDPOINT_AST_TEST_TCP_CONNECTION_ERROR_COUNT = 'ENDPOINT_AST_TEST_TCP_CONNECTION_ERROR_COUNT' + ENDPOINT_AST_TEST_APPLICATION_SCORE = 'ENDPOINT_AST_TEST_APPLICATION_SCORE' ENDPOINT_GATEWAY_WIRELESS_CHANNEL_SWAP_EVENTS = 'ENDPOINT_GATEWAY_WIRELESS_CHANNEL_SWAP_EVENTS' ENDPOINT_GATEWAY_WIRELESS_RETRANSMISSION_RATE = 'ENDPOINT_GATEWAY_WIRELESS_RETRANSMISSION_RATE' ENDPOINT_GATEWAY_WIRELESS_ROAMING_EVENTS = 'ENDPOINT_GATEWAY_WIRELESS_ROAMING_EVENTS' @@ -214,6 +220,7 @@ class DashboardMetric(str, Enum): ENDPOINT_TEST_VPN_LOSS = 'ENDPOINT_TEST_VPN_LOSS' ENDPOINT_TEST_VPN_LATENCY = 'ENDPOINT_TEST_VPN_LATENCY' ENDPOINT_TEST_TCP_CONNECTION_ERROR_COUNT = 'ENDPOINT_TEST_TCP_CONNECTION_ERROR_COUNT' + ENDPOINT_TEST_APPLICATION_SCORE = 'ENDPOINT_TEST_APPLICATION_SCORE' ENDPOINT_TEST_HTTP_AVAILABILITY = 'ENDPOINT_TEST_HTTP_AVAILABILITY' ENDPOINT_TEST_HTTP_WAIT = 'ENDPOINT_TEST_HTTP_WAIT' ENDPOINT_TEST_HTTP_SSL = 'ENDPOINT_TEST_HTTP_SSL' @@ -221,6 +228,7 @@ class DashboardMetric(str, Enum): ENDPOINT_TEST_HTTP_DNS_LOOKUP = 'ENDPOINT_TEST_HTTP_DNS_LOOKUP' ENDPOINT_TEST_HTTP_RESPONSE_TIME = 'ENDPOINT_TEST_HTTP_RESPONSE_TIME' ENDPOINT_TEST_HTTP_THROUGHPUT = 'ENDPOINT_TEST_HTTP_THROUGHPUT' + ENDPOINT_TEST_HTTP_APPLICATION_SCORE = 'ENDPOINT_TEST_HTTP_APPLICATION_SCORE' DEVICE_AVAILABILITY = 'DEVICE_AVAILABILITY' DEVICE_THROUGHPUT_INPUT = 'DEVICE_THROUGHPUT_INPUT' DEVICE_THROUGHPUT_OUTPUT = 'DEVICE_THROUGHPUT_OUTPUT' diff --git a/thousandeyes-sdk-emulation/README.md b/thousandeyes-sdk-emulation/README.md index 50673005..e34dc294 100644 --- a/thousandeyes-sdk-emulation/README.md +++ b/thousandeyes-sdk-emulation/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-agents/README.md b/thousandeyes-sdk-endpoint-agents/README.md index c3a0d6f8..1f9a9f2e 100644 --- a/thousandeyes-sdk-endpoint-agents/README.md +++ b/thousandeyes-sdk-endpoint-agents/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-instant-tests/README.md b/thousandeyes-sdk-endpoint-instant-tests/README.md index ea0739eb..6d7fb12b 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/README.md +++ b/thousandeyes-sdk-endpoint-instant-tests/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-labels/README.md b/thousandeyes-sdk-endpoint-labels/README.md index f753e3d4..586b862e 100644 --- a/thousandeyes-sdk-endpoint-labels/README.md +++ b/thousandeyes-sdk-endpoint-labels/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-test-results/README.md b/thousandeyes-sdk-endpoint-test-results/README.md index 7e28cd7b..51cf255e 100644 --- a/thousandeyes-sdk-endpoint-test-results/README.md +++ b/thousandeyes-sdk-endpoint-test-results/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py index 0f112cc1..b650cbae 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py @@ -380,11 +380,11 @@ def test_get_real_user_test_page_results_models_validation(self) -> None: "log" : { "browser" : { "name" : "Google Chrome", - "version" : "7.0.32.98" + "version" : "7.0.34.98" }, "creator" : { "name" : "ThousandEyes Endpoint Agent", - "version" : "7.0.32" + "version" : "7.0.34" }, "entries" : [ { "pageref" : "page_1", diff --git a/thousandeyes-sdk-endpoint-tests/README.md b/thousandeyes-sdk-endpoint-tests/README.md index 3b82b6c8..91a0f993 100644 --- a/thousandeyes-sdk-endpoint-tests/README.md +++ b/thousandeyes-sdk-endpoint-tests/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-event-detection/README.md b/thousandeyes-sdk-event-detection/README.md index 66983161..a6afd117 100644 --- a/thousandeyes-sdk-event-detection/README.md +++ b/thousandeyes-sdk-event-detection/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-instant-tests/README.md b/thousandeyes-sdk-instant-tests/README.md index 97ca2f2c..62263aed 100644 --- a/thousandeyes-sdk-instant-tests/README.md +++ b/thousandeyes-sdk-instant-tests/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-internet-insights/README.md b/thousandeyes-sdk-internet-insights/README.md index cf27bc12..5d3268fa 100644 --- a/thousandeyes-sdk-internet-insights/README.md +++ b/thousandeyes-sdk-internet-insights/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-snapshots/README.md b/thousandeyes-sdk-snapshots/README.md index e25df2d8..3785420c 100644 --- a/thousandeyes-sdk-snapshots/README.md +++ b/thousandeyes-sdk-snapshots/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-streaming/README.md b/thousandeyes-sdk-streaming/README.md index fd3034e0..5692bdd7 100644 --- a/thousandeyes-sdk-streaming/README.md +++ b/thousandeyes-sdk-streaming/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md b/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md index 00676696..f52fbd1f 100644 --- a/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md +++ b/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes **type** | [**StreamType**](StreamType.md) | | [optional] **signal** | [**Signal**](Signal.md) | | [optional] **endpoint_type** | [**EndpointType**](EndpointType.md) | | [optional] -**stream_endpoint_url** | **str** | 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` | [optional] +**stream_endpoint_url** | **str** | 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 data will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [optional] **data_model_version** | [**DataModelVersion**](DataModelVersion.md) | | [optional] **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] diff --git a/thousandeyes-sdk-streaming/docs/GetStreamResponse.md b/thousandeyes-sdk-streaming/docs/GetStreamResponse.md index e8429ed6..68262636 100644 --- a/thousandeyes-sdk-streaming/docs/GetStreamResponse.md +++ b/thousandeyes-sdk-streaming/docs/GetStreamResponse.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes **type** | [**StreamType**](StreamType.md) | | [optional] **signal** | [**Signal**](Signal.md) | | [optional] **endpoint_type** | [**EndpointType**](EndpointType.md) | | [optional] -**stream_endpoint_url** | **str** | 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` | [optional] +**stream_endpoint_url** | **str** | 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 data will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [optional] **data_model_version** | [**DataModelVersion**](DataModelVersion.md) | | [optional] **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] diff --git a/thousandeyes-sdk-streaming/docs/PutStream.md b/thousandeyes-sdk-streaming/docs/PutStream.md index 871eb454..75ce6c18 100644 --- a/thousandeyes-sdk-streaming/docs/PutStream.md +++ b/thousandeyes-sdk-streaming/docs/PutStream.md @@ -6,6 +6,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] +**stream_endpoint_url** | **str** | 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 data will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [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] **enabled** | **bool** | Flag to enable or disable the stream integration. | [optional] diff --git a/thousandeyes-sdk-streaming/docs/Stream.md b/thousandeyes-sdk-streaming/docs/Stream.md index 7801fed2..cb248661 100644 --- a/thousandeyes-sdk-streaming/docs/Stream.md +++ b/thousandeyes-sdk-streaming/docs/Stream.md @@ -6,6 +6,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] +**stream_endpoint_url** | **str** | 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 data will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [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] **enabled** | **bool** | Flag to enable or disable the stream integration. | [optional] @@ -14,7 +15,6 @@ Name | Type | Description | Notes **type** | [**StreamType**](StreamType.md) | | [optional] **signal** | [**Signal**](Signal.md) | | [optional] **endpoint_type** | [**EndpointType**](EndpointType.md) | | [optional] -**stream_endpoint_url** | **str** | 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` | [optional] **data_model_version** | [**DataModelVersion**](DataModelVersion.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py index d391331d..d4221a84 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py @@ -41,7 +41,7 @@ class CreateStreamResponse(BaseModel): type: Optional[StreamType] = None signal: Optional[Signal] = 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") + 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 data 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") 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") diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py index 456708fb..88b436fc 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py @@ -41,7 +41,7 @@ class GetStreamResponse(BaseModel): type: Optional[StreamType] = None signal: Optional[Signal] = 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") + 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 data 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") 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") diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py index 05caaa31..62cae436 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py @@ -30,12 +30,13 @@ class PutStream(BaseModel): PutStream """ # noqa: E501 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") + 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 data will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl") 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", "filters", "exporterConfig"] + __properties: ClassVar[List[str]] = ["customHeaders", "streamEndpointUrl", "tagMatch", "testMatch", "enabled", "filters", "exporterConfig"] model_config = ConfigDict( populate_by_name=True, @@ -110,6 +111,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "customHeaders": obj.get("customHeaders"), + "streamEndpointUrl": obj.get("streamEndpointUrl"), "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"), diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py index cfb3fc5c..ca2ff768 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py @@ -34,6 +34,7 @@ class Stream(BaseModel): Stream """ # noqa: E501 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") + 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 data will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl") 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.") @@ -42,9 +43,8 @@ class Stream(BaseModel): type: Optional[StreamType] = None signal: Optional[Signal] = 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", "filters", "exporterConfig", "type", "signal", "endpointType", "streamEndpointUrl", "dataModelVersion"] + __properties: ClassVar[List[str]] = ["customHeaders", "streamEndpointUrl", "tagMatch", "testMatch", "enabled", "filters", "exporterConfig", "type", "signal", "endpointType", "dataModelVersion"] model_config = ConfigDict( populate_by_name=True, @@ -119,6 +119,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "customHeaders": obj.get("customHeaders"), + "streamEndpointUrl": obj.get("streamEndpointUrl"), "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"), @@ -127,7 +128,6 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "type": obj.get("type"), "signal": obj.get("signal"), "endpointType": obj.get("endpointType"), - "streamEndpointUrl": obj.get("streamEndpointUrl"), "dataModelVersion": obj.get("dataModelVersion") }) return _obj diff --git a/thousandeyes-sdk-streaming/test/test_streaming_api.py b/thousandeyes-sdk-streaming/test/test_streaming_api.py index 9eed9d99..5901bd57 100644 --- a/thousandeyes-sdk-streaming/test/test_streaming_api.py +++ b/thousandeyes-sdk-streaming/test/test_streaming_api.py @@ -318,6 +318,7 @@ def test_update_stream_models_validation(self) -> None: "id" : "5678", "domain" : "endpoint" } ], + "streamEndpointUrl" : "https://api.thousandeyes.otel-collector", "exporterConfig" : { "splunkHec" : { "sourceType" : "ThousandEyesOTel", diff --git a/thousandeyes-sdk-tags/README.md b/thousandeyes-sdk-tags/README.md index 99c106d5..4e7cc4ad 100644 --- a/thousandeyes-sdk-tags/README.md +++ b/thousandeyes-sdk-tags/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-test-results/README.md b/thousandeyes-sdk-test-results/README.md index a4f7601f..61627b87 100644 --- a/thousandeyes-sdk-test-results/README.md +++ b/thousandeyes-sdk-test-results/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-tests/README.md b/thousandeyes-sdk-tests/README.md index e567b5e9..8f24eab6 100644 --- a/thousandeyes-sdk-tests/README.md +++ b/thousandeyes-sdk-tests/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-usage/README.md b/thousandeyes-sdk-usage/README.md index a8927018..d5e3827c 100644 --- a/thousandeyes-sdk-usage/README.md +++ b/thousandeyes-sdk-usage/README.md @@ -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.32 +- API version: 7.0.34 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator