Compare commits

...

4 Commits
2.22.0 ... main

Author SHA1 Message Date
Miguel Pragosa
06c43bb06e
[GitHub Bot] Generated python SDK (#126)
Some checks failed
Python CI / build (push) Has been cancelled
Co-authored-by: API Team <api-team@thousandeyes.com>
2026-01-27 11:54:56 +00:00
Rodrigo Rodrigues
85758d8414
feat: Add pagination iterable helper (#125)
Some checks are pending
Python CI / build (push) Waiting to run
2026-01-26 17:18:17 +00:00
Miguel Pragosa
c5916a3b66
[GitHub Bot] Generated python SDK (#122)
Some checks failed
Python CI / build (push) Has been cancelled
Co-authored-by: API Team <api-team@thousandeyes.com>
2025-12-19 14:03:25 +00:00
Miguel Pragosa
51d4e438f0
Fix release workflow checkout action configuration (#123) 2025-12-19 13:56:18 +00:00
77 changed files with 528 additions and 123 deletions

View File

@ -35,8 +35,6 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
ref: main ref: main
python-version: '3.11'
token: ${{ secrets.CHECKOUT_PAT }}
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:

View File

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

View File

@ -5,7 +5,7 @@ Manage Cloud and Enterprise Agents available to your account in ThousandEyes.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.70 - API version: 7.0.73
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

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

View File

@ -16,7 +16,7 @@ Method | HTTP request | Description
Create alert rule Create alert rule
Creates a new alert rule in your account, using the provided POST data. The `Edit alert rules` permission is required to create an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission. Creates a new alert rule in your account, using the provided POST data. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. The `Edit alert rules` permission is required to create an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission.
### Example ### Example
@ -103,7 +103,7 @@ Name | Type | Description | Notes
Delete alert rule Delete alert rule
Deletes an alert rule from your account. Users must have both `Edit alert rules` and `Edit tests` permissions, especially if the rule is linked to any tests. Without these permissions, an error occurs. Deletes an alert rule from your account. Users must have both `Edit alert rules` and `Edit tests` permissions, especially if the rule is linked to any tests. Without these permissions, an error occurs. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests.
### Example ### Example
@ -186,7 +186,7 @@ void (empty response body)
Retrieve alert rule Retrieve alert rule
Returns detailed information about an alert rule using the `ruleId`. If the `ruleId` doesnt exist or is inaccessible by your account, an empty response is returned. Returns detailed information about an alert rule using the `ruleId`. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. If the `ruleId` doesnt exist or is inaccessible by your account, an empty response is returned.
### Example ### Example
@ -271,7 +271,7 @@ Name | Type | Description | Notes
List alert rules List alert rules
Returns a list of alert rules. Default rules for each test type are indicated with a boolean response (true or false); these default alert rules automatically apply to their respective test types. Returns a list of alert rules. Default rules for each test type are indicated with a boolean response (true or false); these default alert rules automatically apply to their respective test types. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests.
### Example ### Example
@ -354,7 +354,7 @@ Name | Type | Description | Notes
Update alert rule Update alert rule
Modifies an existing alert rule in your account, using the provided POST data. The `Edit alert rules` permission is required to modify an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission. Modifies an existing alert rule in your account, using the provided POST data. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. The `Edit alert rules` permission is required to modify an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission.
### Example ### Example

View File

@ -65,7 +65,7 @@ class AlertRulesApi:
) -> Rule: ) -> Rule:
"""Create alert rule """Create alert rule
Creates a new alert rule in your account, using the provided POST data. The `Edit alert rules` permission is required to create an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission. Creates a new alert rule in your account, using the provided POST data. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. The `Edit alert rules` permission is required to create an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission.
:param rule_detail_update: (required) :param rule_detail_update: (required)
:type rule_detail_update: RuleDetailUpdate :type rule_detail_update: RuleDetailUpdate
@ -143,7 +143,7 @@ class AlertRulesApi:
) -> ApiResponse[Rule]: ) -> ApiResponse[Rule]:
"""Create alert rule """Create alert rule
Creates a new alert rule in your account, using the provided POST data. The `Edit alert rules` permission is required to create an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission. Creates a new alert rule in your account, using the provided POST data. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. The `Edit alert rules` permission is required to create an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission.
:param rule_detail_update: (required) :param rule_detail_update: (required)
:type rule_detail_update: RuleDetailUpdate :type rule_detail_update: RuleDetailUpdate
@ -221,7 +221,7 @@ class AlertRulesApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Create alert rule """Create alert rule
Creates a new alert rule in your account, using the provided POST data. The `Edit alert rules` permission is required to create an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission. Creates a new alert rule in your account, using the provided POST data. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. The `Edit alert rules` permission is required to create an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission.
:param rule_detail_update: (required) :param rule_detail_update: (required)
:type rule_detail_update: RuleDetailUpdate :type rule_detail_update: RuleDetailUpdate
@ -375,7 +375,7 @@ class AlertRulesApi:
) -> None: ) -> None:
"""Delete alert rule """Delete alert rule
Deletes an alert rule from your account. Users must have both `Edit alert rules` and `Edit tests` permissions, especially if the rule is linked to any tests. Without these permissions, an error occurs. Deletes an alert rule from your account. Users must have both `Edit alert rules` and `Edit tests` permissions, especially if the rule is linked to any tests. Without these permissions, an error occurs. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str
@ -453,7 +453,7 @@ class AlertRulesApi:
) -> ApiResponse[None]: ) -> ApiResponse[None]:
"""Delete alert rule """Delete alert rule
Deletes an alert rule from your account. Users must have both `Edit alert rules` and `Edit tests` permissions, especially if the rule is linked to any tests. Without these permissions, an error occurs. Deletes an alert rule from your account. Users must have both `Edit alert rules` and `Edit tests` permissions, especially if the rule is linked to any tests. Without these permissions, an error occurs. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str
@ -531,7 +531,7 @@ class AlertRulesApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Delete alert rule """Delete alert rule
Deletes an alert rule from your account. Users must have both `Edit alert rules` and `Edit tests` permissions, especially if the rule is linked to any tests. Without these permissions, an error occurs. Deletes an alert rule from your account. Users must have both `Edit alert rules` and `Edit tests` permissions, especially if the rule is linked to any tests. Without these permissions, an error occurs. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str
@ -671,7 +671,7 @@ class AlertRulesApi:
) -> RuleDetail: ) -> RuleDetail:
"""Retrieve alert rule """Retrieve alert rule
Returns detailed information about an alert rule using the `ruleId`. If the `ruleId` doesnt exist or is inaccessible by your account, an empty response is returned. Returns detailed information about an alert rule using the `ruleId`. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. If the `ruleId` doesnt exist or is inaccessible by your account, an empty response is returned.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str
@ -748,7 +748,7 @@ class AlertRulesApi:
) -> ApiResponse[RuleDetail]: ) -> ApiResponse[RuleDetail]:
"""Retrieve alert rule """Retrieve alert rule
Returns detailed information about an alert rule using the `ruleId`. If the `ruleId` doesnt exist or is inaccessible by your account, an empty response is returned. Returns detailed information about an alert rule using the `ruleId`. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. If the `ruleId` doesnt exist or is inaccessible by your account, an empty response is returned.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str
@ -825,7 +825,7 @@ class AlertRulesApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Retrieve alert rule """Retrieve alert rule
Returns detailed information about an alert rule using the `ruleId`. If the `ruleId` doesnt exist or is inaccessible by your account, an empty response is returned. Returns detailed information about an alert rule using the `ruleId`. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. If the `ruleId` doesnt exist or is inaccessible by your account, an empty response is returned.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str
@ -964,7 +964,7 @@ class AlertRulesApi:
) -> Rules: ) -> Rules:
"""List alert rules """List alert rules
Returns a list of alert rules. Default rules for each test type are indicated with a boolean response (true or false); these default alert rules automatically apply to their respective test types. Returns a list of alert rules. Default rules for each test type are indicated with a boolean response (true or false); these default alert rules automatically apply to their respective test types. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests.
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
@ -1037,7 +1037,7 @@ class AlertRulesApi:
) -> ApiResponse[Rules]: ) -> ApiResponse[Rules]:
"""List alert rules """List alert rules
Returns a list of alert rules. Default rules for each test type are indicated with a boolean response (true or false); these default alert rules automatically apply to their respective test types. Returns a list of alert rules. Default rules for each test type are indicated with a boolean response (true or false); these default alert rules automatically apply to their respective test types. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests.
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
@ -1110,7 +1110,7 @@ class AlertRulesApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""List alert rules """List alert rules
Returns a list of alert rules. Default rules for each test type are indicated with a boolean response (true or false); these default alert rules automatically apply to their respective test types. Returns a list of alert rules. Default rules for each test type are indicated with a boolean response (true or false); these default alert rules automatically apply to their respective test types. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests.
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
@ -1245,7 +1245,7 @@ class AlertRulesApi:
) -> Rule: ) -> Rule:
"""Update alert rule """Update alert rule
Modifies an existing alert rule in your account, using the provided POST data. The `Edit alert rules` permission is required to modify an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission. Modifies an existing alert rule in your account, using the provided POST data. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. The `Edit alert rules` permission is required to modify an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str
@ -1327,7 +1327,7 @@ class AlertRulesApi:
) -> ApiResponse[Rule]: ) -> ApiResponse[Rule]:
"""Update alert rule """Update alert rule
Modifies an existing alert rule in your account, using the provided POST data. The `Edit alert rules` permission is required to modify an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission. Modifies an existing alert rule in your account, using the provided POST data. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. The `Edit alert rules` permission is required to modify an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str
@ -1409,7 +1409,7 @@ class AlertRulesApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update alert rule """Update alert rule
Modifies an existing alert rule in your account, using the provided POST data. The `Edit alert rules` permission is required to modify an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission. Modifies an existing alert rule in your account, using the provided POST data. This endpoint is limited to alert rules for Network & App Synthetics tests and Routing tests. The `Edit alert rules` permission is required to modify an alert rule. Note: Assigning an alert rule to a test during creation requires the `Edit tests` permission.
:param rule_id: Unique alert rule ID. (required) :param rule_id: Unique alert rule ID. (required)
:type rule_id: str :type rule_id: str

View File

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

View File

@ -1,3 +1,29 @@
# thousandeyes-sdk-core # thousandeyes-sdk-core
This package provides core functionality for interacting with the ThousandEyes API and should be installed before using any of the published SDKs. This package provides core functionality for interacting with the ThousandEyes API and should be installed before using any of the published SDKs.
`PaginationIterable` is unbounded, so wrap it with `itertools.islice` to cap the number of items and avoid making unintended, potentially expensive API calls.
Pick a slice size that matches your UI or batch size so you only fetch what you plan to process:
```python
from thousandeyes_sdk.core import Configuration, ApiClient, PaginationIterable
from thousandeyes_sdk.dashboards import DashboardsApi
from itertools import islice
configuration = Configuration(
host = "https://api.thousandeyes.com/v7",
access_token = "an_access_token",
)
def get_dashboard_widget_data():
with ApiClient(configuration) as client:
dashboards_api = DashboardsApi(client)
for item in list(islice(PaginationIterable(
dashboards_api.get_dashboard_widget_data,
lambda response: response.data.tests,
dashboard_id="a_dashboard_id",
widget_id="a_widget_id",
), 20)):
print(item.test_id)
```

View File

@ -18,5 +18,6 @@ from . import exceptions
from .api_client import ApiClient from .api_client import ApiClient
from .api_response import ApiResponse from .api_response import ApiResponse
from .configuration import Configuration from .configuration import Configuration
from .pagination_iterable import PaginationIterable
import os.path import os.path

View File

@ -0,0 +1,106 @@
# Copyright 2024 Cisco Systems, Inc. and its affiliates
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
from __future__ import annotations
from collections.abc import Callable, Iterable, Iterator
from typing import Any, Mapping, Optional, TypeVar, Generic
from urllib.parse import parse_qs, urlparse
from typing_extensions import ParamSpec
P = ParamSpec("P")
R = TypeVar("R")
I = TypeVar("I")
class PaginationIterable(Generic[P, R, I]):
"""Iterate over cursor-paginated responses.
Calls ``method`` repeatedly, passing a cursor parameter between calls,
and yields items obtained from ``items_getter``.
The next cursor is derived from ``response.data.links`` or ``response.data._links``
(or mapping equivalents), supporting these link formats:
- a direct ``href`` string
- a mapping with a ``href`` key
- an object with a ``href`` attribute
Iteration stops when no next cursor is found or the cursor repeats.
"""
def __init__(
self,
method: Callable[P, R],
items_getter: Callable[[R], Iterable[I]],
*,
cursor_param: str = "cursor",
**params: P.kwargs,
) -> None:
self._method = method
self._items_getter = items_getter
self._cursor_param = cursor_param
self._params: dict[str, Any] = dict(params)
def __iter__(self) -> Iterator[I]:
params = dict(self._params)
last_cursor = params.get(self._cursor_param)
while True:
response = self._method(**params)
items = self._items_getter(response)
for item in items if items else []:
yield item
next_cursor = self._next_cursor_from_response(response)
if not next_cursor or next_cursor == last_cursor:
break
params[self._cursor_param] = next_cursor
last_cursor = next_cursor
def _next_cursor_from_response(self, response: Any) -> Optional[str]:
links = getattr(response, "links", None)
if links is None:
links = getattr(response, "_links", None)
if links is None:
return None
next_link = getattr(links, "next", None)
if next_link is None and isinstance(links, Mapping):
next_link = links.get("next")
if next_link is None:
return None
if isinstance(next_link, str):
href = next_link
elif isinstance(next_link, Mapping):
href = next_link.get("href")
else:
href = getattr(next_link, "href", None)
if not href:
return None
parsed = urlparse(href)
query_params = parse_qs(parsed.query)
cursor_values = query_params.get(self._cursor_param)
if cursor_values:
return cursor_values[0]
return None

View File

@ -0,0 +1,74 @@
from types import SimpleNamespace
from thousandeyes_sdk.core.pagination_iterable import PaginationIterable
def test_iterable_uses_cursor_from_next_href():
calls = []
def method(**params):
calls.append(params.copy())
if params.get("cursor") is None:
links = SimpleNamespace(next="https://example.com/items?cursor=abc")
items = ["first", "second"]
else:
links = SimpleNamespace(next=None)
items = ["third"]
return SimpleNamespace(links=links, items=items)
responses = list(PaginationIterable(method, lambda response: response.items))
assert responses == ["first", "second", "third"]
assert calls == [{}, {"cursor": "abc"}]
def test_iterable_reads_cursor_from_links_mapping():
calls = []
def method(**params):
calls.append(params.copy())
if params.get("pageCursor") is None:
links = {"next": {"href": "https://example.com?foo=1&pageCursor=xyz"}}
items = ["alpha"]
else:
links = {"next": None}
items = ["beta"]
return SimpleNamespace(links=links, items=items)
responses = list(PaginationIterable(method, lambda response: response.items, cursor_param="pageCursor"))
assert responses == ["alpha", "beta"]
assert calls == [{}, {"pageCursor": "xyz"}]
def test_iterable_stops_when_no_cursor_param_present():
calls = []
def method(**params):
calls.append(params.copy())
if params.get("cursor") is None:
links = {"next": "/next/page"}
items = ["one"]
else:
links = {"next": None}
items = ["two"]
return SimpleNamespace(links=links, items=items)
responses = list(PaginationIterable(method, lambda response: response.items))
assert responses == ["one"]
assert calls == [{}]
def test_iterable_stops_on_repeated_cursor():
calls = []
def method(**params):
calls.append(params.copy())
links = {"next": "https://example.com?cursor=same"}
return SimpleNamespace(links=links, items=["only"])
responses = list(PaginationIterable(method, lambda response: response.items, cursor="same"))
assert responses == ["only"]
assert calls == [{"cursor": "same"}]

View File

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

View File

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

View File

@ -60,6 +60,9 @@ class ApiAggregateProperty(str, Enum):
EYEBROW_AGENT_TYPE = 'EYEBROW_AGENT_TYPE' EYEBROW_AGENT_TYPE = 'EYEBROW_AGENT_TYPE'
EYEBROW_TARGET_IP = 'EYEBROW_TARGET_IP' EYEBROW_TARGET_IP = 'EYEBROW_TARGET_IP'
EYEBROW_NET_TARGET_IP = 'EYEBROW_NET_TARGET_IP' EYEBROW_NET_TARGET_IP = 'EYEBROW_NET_TARGET_IP'
ENDPOINT_CELLULAR_CARRIER_NAME = 'ENDPOINT_CELLULAR_CARRIER_NAME'
ENDPOINT_CELLULAR_NETWORK_GEN = 'ENDPOINT_CELLULAR_NETWORK_GEN'
ENDPOINT_CELLULAR_NETWORK_SUBTYPE = 'ENDPOINT_CELLULAR_NETWORK_SUBTYPE'
EYEBROW_GATEWAY = 'EYEBROW_GATEWAY' EYEBROW_GATEWAY = 'EYEBROW_GATEWAY'
EYEBROW_SSID = 'EYEBROW_SSID' EYEBROW_SSID = 'EYEBROW_SSID'
SSID = 'SSID' SSID = 'SSID'

View File

@ -198,6 +198,10 @@ class DashboardMetric(str, Enum):
EYEBROW_GATEWAY_WIRELESS_ROAMING_EVENTS = 'EYEBROW_GATEWAY_WIRELESS_ROAMING_EVENTS' EYEBROW_GATEWAY_WIRELESS_ROAMING_EVENTS = 'EYEBROW_GATEWAY_WIRELESS_ROAMING_EVENTS'
EYEBROW_GATEWAY_WIRELESS_SIGNAL_QUALITY = 'EYEBROW_GATEWAY_WIRELESS_SIGNAL_QUALITY' EYEBROW_GATEWAY_WIRELESS_SIGNAL_QUALITY = 'EYEBROW_GATEWAY_WIRELESS_SIGNAL_QUALITY'
EYEBROW_GATEWAY_WIRELESS_THROUGHPUT = 'EYEBROW_GATEWAY_WIRELESS_THROUGHPUT' EYEBROW_GATEWAY_WIRELESS_THROUGHPUT = 'EYEBROW_GATEWAY_WIRELESS_THROUGHPUT'
ENDPOINT_CELLULAR_RSSI = 'ENDPOINT_CELLULAR_RSSI'
ENDPOINT_CELLULAR_RSRP = 'ENDPOINT_CELLULAR_RSRP'
ENDPOINT_CELLULAR_RSRQ = 'ENDPOINT_CELLULAR_RSRQ'
ENDPOINT_CELLULAR_SINR = 'ENDPOINT_CELLULAR_SINR'
ENDPOINT_AST_TEST_NET_LOSS = 'ENDPOINT_AST_TEST_NET_LOSS' ENDPOINT_AST_TEST_NET_LOSS = 'ENDPOINT_AST_TEST_NET_LOSS'
ENDPOINT_AST_TEST_NET_JITTER = 'ENDPOINT_AST_TEST_NET_JITTER' ENDPOINT_AST_TEST_NET_JITTER = 'ENDPOINT_AST_TEST_NET_JITTER'
ENDPOINT_AST_TEST_NET_LATENCY = 'ENDPOINT_AST_TEST_NET_LATENCY' ENDPOINT_AST_TEST_NET_LATENCY = 'ENDPOINT_AST_TEST_NET_LATENCY'

View File

@ -49,6 +49,7 @@ class MetricGroup(str, Enum):
ENDPOINT_LOCAL_NETWORK_SYSTEM = 'ENDPOINT_LOCAL_NETWORK_SYSTEM' ENDPOINT_LOCAL_NETWORK_SYSTEM = 'ENDPOINT_LOCAL_NETWORK_SYSTEM'
ENDPOINT_LOCAL_NETWORK_VPN = 'ENDPOINT_LOCAL_NETWORK_VPN' ENDPOINT_LOCAL_NETWORK_VPN = 'ENDPOINT_LOCAL_NETWORK_VPN'
ENDPOINT_LOCAL_NETWORK_WIRELESS = 'ENDPOINT_LOCAL_NETWORK_WIRELESS' ENDPOINT_LOCAL_NETWORK_WIRELESS = 'ENDPOINT_LOCAL_NETWORK_WIRELESS'
ENDPOINT_LOCAL_NETWORK_CELLULAR = 'ENDPOINT_LOCAL_NETWORK_CELLULAR'
BGP = 'BGP' BGP = 'BGP'
DEVICE = 'DEVICE' DEVICE = 'DEVICE'
VOIP = 'VOIP' VOIP = 'VOIP'

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -123,6 +123,11 @@ class AgentLocalEventDetail(BaseModel):
# override the default output from pydantic by calling `to_dict()` of grouping # override the default output from pydantic by calling `to_dict()` of grouping
if self.grouping: if self.grouping:
_dict['grouping'] = self.grouping.to_dict() _dict['grouping'] = self.grouping.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -123,6 +123,11 @@ class DnsEventDetail(BaseModel):
# override the default output from pydantic by calling `to_dict()` of grouping # override the default output from pydantic by calling `to_dict()` of grouping
if self.grouping: if self.grouping:
_dict['grouping'] = self.grouping.to_dict() _dict['grouping'] = self.grouping.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -107,6 +107,11 @@ class Event(BaseModel):
# override the default output from pydantic by calling `to_dict()` of links # override the default output from pydantic by calling `to_dict()` of links
if self.links: if self.links:
_dict['_links'] = self.links.to_dict() _dict['_links'] = self.links.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -109,6 +109,11 @@ class EventDetailBase(BaseModel):
# override the default output from pydantic by calling `to_dict()` of links # override the default output from pydantic by calling `to_dict()` of links
if self.links: if self.links:
_dict['_links'] = self.links.to_dict() _dict['_links'] = self.links.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -123,6 +123,11 @@ class NetworkEventDetail(BaseModel):
# override the default output from pydantic by calling `to_dict()` of grouping # override the default output from pydantic by calling `to_dict()` of grouping
if self.grouping: if self.grouping:
_dict['grouping'] = self.grouping.to_dict() _dict['grouping'] = self.grouping.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -123,6 +123,11 @@ class NetworkPopEventDetail(BaseModel):
# override the default output from pydantic by calling `to_dict()` of grouping # override the default output from pydantic by calling `to_dict()` of grouping
if self.grouping: if self.grouping:
_dict['grouping'] = self.grouping.to_dict() _dict['grouping'] = self.grouping.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -123,6 +123,11 @@ class ProxyEventDetail(BaseModel):
# override the default output from pydantic by calling `to_dict()` of grouping # override the default output from pydantic by calling `to_dict()` of grouping
if self.grouping: if self.grouping:
_dict['grouping'] = self.grouping.to_dict() _dict['grouping'] = self.grouping.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -84,6 +84,11 @@ class SimpleEventDetail(BaseModel):
exclude=excluded_fields, exclude=excluded_fields,
exclude_none=True, exclude_none=True,
) )
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -123,6 +123,11 @@ class TargetEventDetail(BaseModel):
# override the default output from pydantic by calling `to_dict()` of grouping # override the default output from pydantic by calling `to_dict()` of grouping
if self.grouping: if self.grouping:
_dict['grouping'] = self.grouping.to_dict() _dict['grouping'] = self.grouping.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -123,6 +123,11 @@ class TargetNetworkEventDetail(BaseModel):
# override the default output from pydantic by calling `to_dict()` of grouping # override the default output from pydantic by calling `to_dict()` of grouping
if self.grouping: if self.grouping:
_dict['grouping'] = self.grouping.to_dict() _dict['grouping'] = self.grouping.to_dict()
# set to None if end_date (nullable) is None
# and model_fields_set contains the field
if self.end_date is None and "end_date" in self.model_fields_set:
_dict['endDate'] = None
return _dict return _dict
@classmethod @classmethod

View File

@ -6,7 +6,7 @@ The response does not include the immediate test results. Use the Test Results e
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.70 - API version: 7.0.73
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

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

View File

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

View File

@ -15,7 +15,7 @@ For more information about ThousandEyes for OpenTelemetry, see the [product docu
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.70 - API version: 7.0.73
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -20,6 +20,7 @@ docs/TagBulkCreateError.md
docs/TagInfo.md docs/TagInfo.md
docs/Tags.md docs/Tags.md
docs/TagsApi.md docs/TagsApi.md
docs/Type.md
docs/UnauthorizedError.md docs/UnauthorizedError.md
docs/ValidationError.md docs/ValidationError.md
docs/ValidationErrorItem.md docs/ValidationErrorItem.md
@ -47,6 +48,7 @@ src/thousandeyes_sdk/tags/models/tag_assignment.py
src/thousandeyes_sdk/tags/models/tag_bulk_create_error.py src/thousandeyes_sdk/tags/models/tag_bulk_create_error.py
src/thousandeyes_sdk/tags/models/tag_info.py src/thousandeyes_sdk/tags/models/tag_info.py
src/thousandeyes_sdk/tags/models/tags.py src/thousandeyes_sdk/tags/models/tags.py
src/thousandeyes_sdk/tags/models/type.py
src/thousandeyes_sdk/tags/models/unauthorized_error.py src/thousandeyes_sdk/tags/models/unauthorized_error.py
src/thousandeyes_sdk/tags/models/validation_error.py src/thousandeyes_sdk/tags/models/validation_error.py
src/thousandeyes_sdk/tags/models/validation_error_item.py src/thousandeyes_sdk/tags/models/validation_error_item.py

View File

@ -16,7 +16,7 @@ Things to note with the ThousandEyes Tags API:
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.70 - API version: 7.0.73
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -140,6 +140,7 @@ Class | Method | HTTP request | Description
- [TagBulkCreateError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagBulkCreateError.md) - [TagBulkCreateError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagBulkCreateError.md)
- [TagInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagInfo.md) - [TagInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagInfo.md)
- [Tags](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/Tags.md) - [Tags](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/Tags.md)
- [Type](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/Type.md)
- [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/UnauthorizedError.md) - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/UnauthorizedError.md)
- [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/ValidationError.md) - [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/ValidationError.md)
- [ValidationErrorItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/ValidationErrorItem.md) - [ValidationErrorItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/ValidationErrorItem.md)

View File

@ -8,6 +8,7 @@ Name | Type | Description | Notes
**assignments** | [**List[Assignment]**](Assignment.md) | | [optional] [readonly] **assignments** | [**List[Assignment]**](Assignment.md) | | [optional] [readonly]
**access_type** | [**AccessType**](AccessType.md) | | [optional] **access_type** | [**AccessType**](AccessType.md) | | [optional]
**aid** | **int** | The account group ID | [optional] [readonly] **aid** | **int** | The account group ID | [optional] [readonly]
**built_in** | **bool** | Indicates whether it is a built-in tag or a user-created (custom) tag. | [optional] [readonly]
**color** | **str** | Tag color | [optional] **color** | **str** | Tag color | [optional]
**create_date** | **str** | Tag creation date | [optional] [readonly] **create_date** | **str** | Tag creation date | [optional] [readonly]
**icon** | **str** | | [optional] **icon** | **str** | | [optional]
@ -15,7 +16,9 @@ Name | Type | Description | Notes
**id** | **str** | The tag ID | [optional] [readonly] **id** | **str** | The tag ID | [optional] [readonly]
**key** | **str** | The tags&#39;s key | [optional] **key** | **str** | The tags&#39;s key | [optional]
**legacy_id** | **float** | | [optional] [readonly] **legacy_id** | **float** | | [optional] [readonly]
**modified_date** | **datetime** | The date and time the tag was last modified. | [optional] [readonly]
**object_type** | [**ObjectType**](ObjectType.md) | | [optional] **object_type** | [**ObjectType**](ObjectType.md) | | [optional]
**type** | [**Type**](Type.md) | | [optional]
**value** | **str** | The tag&#39;s value | [optional] **value** | **str** | The tag&#39;s value | [optional]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional]

View File

@ -8,6 +8,7 @@ Name | Type | Description | Notes
**assignments** | [**List[Assignment]**](Assignment.md) | | [optional] [readonly] **assignments** | [**List[Assignment]**](Assignment.md) | | [optional] [readonly]
**access_type** | [**AccessType**](AccessType.md) | | [optional] **access_type** | [**AccessType**](AccessType.md) | | [optional]
**aid** | **int** | The account group ID | [optional] [readonly] **aid** | **int** | The account group ID | [optional] [readonly]
**built_in** | **bool** | Indicates whether it is a built-in tag or a user-created (custom) tag. | [optional] [readonly]
**color** | **str** | Tag color | [optional] **color** | **str** | Tag color | [optional]
**create_date** | **str** | Tag creation date | [optional] [readonly] **create_date** | **str** | Tag creation date | [optional] [readonly]
**icon** | **str** | | [optional] **icon** | **str** | | [optional]
@ -15,7 +16,9 @@ Name | Type | Description | Notes
**id** | **str** | The tag ID | [optional] [readonly] **id** | **str** | The tag ID | [optional] [readonly]
**key** | **str** | The tags&#39;s key | [optional] **key** | **str** | The tags&#39;s key | [optional]
**legacy_id** | **float** | | [optional] [readonly] **legacy_id** | **float** | | [optional] [readonly]
**modified_date** | **datetime** | The date and time the tag was last modified. | [optional] [readonly]
**object_type** | [**ObjectType**](ObjectType.md) | | [optional] **object_type** | [**ObjectType**](ObjectType.md) | | [optional]
**type** | [**Type**](Type.md) | | [optional]
**value** | **str** | The tag&#39;s value | [optional] **value** | **str** | The tag&#39;s value | [optional]
## Example ## Example

View File

@ -0,0 +1,12 @@
# Type
The nature of the tag - whether the tag is dynamically assigned to products based on a filter rule or statically assigned to specified products.
## 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

@ -36,6 +36,7 @@ from thousandeyes_sdk.tags.models.tag_assignment import TagAssignment
from thousandeyes_sdk.tags.models.tag_bulk_create_error import TagBulkCreateError from thousandeyes_sdk.tags.models.tag_bulk_create_error import TagBulkCreateError
from thousandeyes_sdk.tags.models.tag_info import TagInfo from thousandeyes_sdk.tags.models.tag_info import TagInfo
from thousandeyes_sdk.tags.models.tags import Tags from thousandeyes_sdk.tags.models.tags import Tags
from thousandeyes_sdk.tags.models.type import Type
from thousandeyes_sdk.tags.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.tags.models.unauthorized_error import UnauthorizedError
from thousandeyes_sdk.tags.models.validation_error import ValidationError from thousandeyes_sdk.tags.models.validation_error import ValidationError
from thousandeyes_sdk.tags.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.tags.models.validation_error_item import ValidationErrorItem

View File

@ -30,6 +30,7 @@ from thousandeyes_sdk.tags.models.tag_assignment import TagAssignment
from thousandeyes_sdk.tags.models.tag_bulk_create_error import TagBulkCreateError from thousandeyes_sdk.tags.models.tag_bulk_create_error import TagBulkCreateError
from thousandeyes_sdk.tags.models.tag_info import TagInfo from thousandeyes_sdk.tags.models.tag_info import TagInfo
from thousandeyes_sdk.tags.models.tags import Tags from thousandeyes_sdk.tags.models.tags import Tags
from thousandeyes_sdk.tags.models.type import Type
from thousandeyes_sdk.tags.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.tags.models.unauthorized_error import UnauthorizedError
from thousandeyes_sdk.tags.models.validation_error import ValidationError from thousandeyes_sdk.tags.models.validation_error import ValidationError
from thousandeyes_sdk.tags.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.tags.models.validation_error_item import ValidationErrorItem

View File

@ -16,12 +16,14 @@ import pprint
import re # noqa: F401 import re # noqa: F401
import json import json
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Any, ClassVar, Dict, List, Optional, Union
from thousandeyes_sdk.tags.models.access_type import AccessType from thousandeyes_sdk.tags.models.access_type import AccessType
from thousandeyes_sdk.tags.models.assignment import Assignment from thousandeyes_sdk.tags.models.assignment import Assignment
from thousandeyes_sdk.tags.models.object_type import ObjectType from thousandeyes_sdk.tags.models.object_type import ObjectType
from thousandeyes_sdk.tags.models.self_links import SelfLinks from thousandeyes_sdk.tags.models.self_links import SelfLinks
from thousandeyes_sdk.tags.models.type import Type
from typing import Optional, Set from typing import Optional, Set
from typing_extensions import Self from typing_extensions import Self
@ -32,6 +34,7 @@ class Tag(BaseModel):
assignments: Optional[List[Assignment]] = None assignments: Optional[List[Assignment]] = None
access_type: Optional[AccessType] = Field(default=None, alias="accessType") access_type: Optional[AccessType] = Field(default=None, alias="accessType")
aid: Optional[StrictInt] = Field(default=None, description="The account group ID") aid: Optional[StrictInt] = Field(default=None, description="The account group ID")
built_in: Optional[StrictBool] = Field(default=None, description="Indicates whether it is a built-in tag or a user-created (custom) tag.", alias="builtIn")
color: Optional[StrictStr] = Field(default=None, description="Tag color") color: Optional[StrictStr] = Field(default=None, description="Tag color")
create_date: Optional[StrictStr] = Field(default=None, description="Tag creation date", alias="createDate") create_date: Optional[StrictStr] = Field(default=None, description="Tag creation date", alias="createDate")
icon: Optional[StrictStr] = None icon: Optional[StrictStr] = None
@ -39,10 +42,12 @@ class Tag(BaseModel):
id: Optional[StrictStr] = Field(default=None, description="The tag ID") id: Optional[StrictStr] = Field(default=None, description="The tag ID")
key: Optional[StrictStr] = Field(default=None, description="The tags's key") key: Optional[StrictStr] = Field(default=None, description="The tags's key")
legacy_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="legacyId") legacy_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="legacyId")
modified_date: Optional[datetime] = Field(default=None, description="The date and time the tag was last modified.", alias="modifiedDate")
object_type: Optional[ObjectType] = Field(default=None, alias="objectType") object_type: Optional[ObjectType] = Field(default=None, alias="objectType")
type: Optional[Type] = None
value: Optional[StrictStr] = Field(default=None, description="The tag's value") value: Optional[StrictStr] = Field(default=None, description="The tag's value")
links: Optional[SelfLinks] = Field(default=None, alias="_links") links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["assignments", "accessType", "aid", "color", "createDate", "icon", "description", "id", "key", "legacyId", "objectType", "value", "_links"] __properties: ClassVar[List[str]] = ["assignments", "accessType", "aid", "builtIn", "color", "createDate", "icon", "description", "id", "key", "legacyId", "modifiedDate", "objectType", "type", "value", "_links"]
model_config = ConfigDict( model_config = ConfigDict(
populate_by_name=True, populate_by_name=True,
@ -80,13 +85,17 @@ class Tag(BaseModel):
* OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
""" """
excluded_fields: Set[str] = set([ excluded_fields: Set[str] = set([
"assignments", "assignments",
"aid", "aid",
"built_in",
"create_date", "create_date",
"id", "id",
"legacy_id", "legacy_id",
"modified_date",
]) ])
_dict = self.model_dump( _dict = self.model_dump(
@ -119,6 +128,11 @@ class Tag(BaseModel):
if self.legacy_id is None and "legacy_id" in self.model_fields_set: if self.legacy_id is None and "legacy_id" in self.model_fields_set:
_dict['legacyId'] = None _dict['legacyId'] = None
# set to None if modified_date (nullable) is None
# and model_fields_set contains the field
if self.modified_date is None and "modified_date" in self.model_fields_set:
_dict['modifiedDate'] = None
return _dict return _dict
@classmethod @classmethod
@ -134,6 +148,7 @@ class Tag(BaseModel):
"assignments": [Assignment.from_dict(_item) for _item in obj["assignments"]] if obj.get("assignments") is not None else None, "assignments": [Assignment.from_dict(_item) for _item in obj["assignments"]] if obj.get("assignments") is not None else None,
"accessType": obj.get("accessType"), "accessType": obj.get("accessType"),
"aid": obj.get("aid"), "aid": obj.get("aid"),
"builtIn": obj.get("builtIn"),
"color": obj.get("color"), "color": obj.get("color"),
"createDate": obj.get("createDate"), "createDate": obj.get("createDate"),
"icon": obj.get("icon"), "icon": obj.get("icon"),
@ -141,7 +156,9 @@ class Tag(BaseModel):
"id": obj.get("id"), "id": obj.get("id"),
"key": obj.get("key"), "key": obj.get("key"),
"legacyId": obj.get("legacyId"), "legacyId": obj.get("legacyId"),
"modifiedDate": obj.get("modifiedDate"),
"objectType": obj.get("objectType"), "objectType": obj.get("objectType"),
"type": obj.get("type"),
"value": obj.get("value"), "value": obj.get("value"),
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
}) })

View File

@ -16,11 +16,13 @@ import pprint
import re # noqa: F401 import re # noqa: F401
import json import json
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Any, ClassVar, Dict, List, Optional, Union
from thousandeyes_sdk.tags.models.access_type import AccessType from thousandeyes_sdk.tags.models.access_type import AccessType
from thousandeyes_sdk.tags.models.assignment import Assignment from thousandeyes_sdk.tags.models.assignment import Assignment
from thousandeyes_sdk.tags.models.object_type import ObjectType from thousandeyes_sdk.tags.models.object_type import ObjectType
from thousandeyes_sdk.tags.models.type import Type
from typing import Optional, Set from typing import Optional, Set
from typing_extensions import Self from typing_extensions import Self
@ -31,6 +33,7 @@ class TagInfo(BaseModel):
assignments: Optional[List[Assignment]] = None assignments: Optional[List[Assignment]] = None
access_type: Optional[AccessType] = Field(default=None, alias="accessType") access_type: Optional[AccessType] = Field(default=None, alias="accessType")
aid: Optional[StrictInt] = Field(default=None, description="The account group ID") aid: Optional[StrictInt] = Field(default=None, description="The account group ID")
built_in: Optional[StrictBool] = Field(default=None, description="Indicates whether it is a built-in tag or a user-created (custom) tag.", alias="builtIn")
color: Optional[StrictStr] = Field(default=None, description="Tag color") color: Optional[StrictStr] = Field(default=None, description="Tag color")
create_date: Optional[StrictStr] = Field(default=None, description="Tag creation date", alias="createDate") create_date: Optional[StrictStr] = Field(default=None, description="Tag creation date", alias="createDate")
icon: Optional[StrictStr] = None icon: Optional[StrictStr] = None
@ -38,9 +41,11 @@ class TagInfo(BaseModel):
id: Optional[StrictStr] = Field(default=None, description="The tag ID") id: Optional[StrictStr] = Field(default=None, description="The tag ID")
key: Optional[StrictStr] = Field(default=None, description="The tags's key") key: Optional[StrictStr] = Field(default=None, description="The tags's key")
legacy_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="legacyId") legacy_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="legacyId")
modified_date: Optional[datetime] = Field(default=None, description="The date and time the tag was last modified.", alias="modifiedDate")
object_type: Optional[ObjectType] = Field(default=None, alias="objectType") object_type: Optional[ObjectType] = Field(default=None, alias="objectType")
type: Optional[Type] = None
value: Optional[StrictStr] = Field(default=None, description="The tag's value") value: Optional[StrictStr] = Field(default=None, description="The tag's value")
__properties: ClassVar[List[str]] = ["assignments", "accessType", "aid", "color", "createDate", "icon", "description", "id", "key", "legacyId", "objectType", "value"] __properties: ClassVar[List[str]] = ["assignments", "accessType", "aid", "builtIn", "color", "createDate", "icon", "description", "id", "key", "legacyId", "modifiedDate", "objectType", "type", "value"]
model_config = ConfigDict( model_config = ConfigDict(
populate_by_name=True, populate_by_name=True,
@ -78,13 +83,17 @@ class TagInfo(BaseModel):
* OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
""" """
excluded_fields: Set[str] = set([ excluded_fields: Set[str] = set([
"assignments", "assignments",
"aid", "aid",
"built_in",
"create_date", "create_date",
"id", "id",
"legacy_id", "legacy_id",
"modified_date",
]) ])
_dict = self.model_dump( _dict = self.model_dump(
@ -114,6 +123,11 @@ class TagInfo(BaseModel):
if self.legacy_id is None and "legacy_id" in self.model_fields_set: if self.legacy_id is None and "legacy_id" in self.model_fields_set:
_dict['legacyId'] = None _dict['legacyId'] = None
# set to None if modified_date (nullable) is None
# and model_fields_set contains the field
if self.modified_date is None and "modified_date" in self.model_fields_set:
_dict['modifiedDate'] = None
return _dict return _dict
@classmethod @classmethod
@ -129,6 +143,7 @@ class TagInfo(BaseModel):
"assignments": [Assignment.from_dict(_item) for _item in obj["assignments"]] if obj.get("assignments") is not None else None, "assignments": [Assignment.from_dict(_item) for _item in obj["assignments"]] if obj.get("assignments") is not None else None,
"accessType": obj.get("accessType"), "accessType": obj.get("accessType"),
"aid": obj.get("aid"), "aid": obj.get("aid"),
"builtIn": obj.get("builtIn"),
"color": obj.get("color"), "color": obj.get("color"),
"createDate": obj.get("createDate"), "createDate": obj.get("createDate"),
"icon": obj.get("icon"), "icon": obj.get("icon"),
@ -136,7 +151,9 @@ class TagInfo(BaseModel):
"id": obj.get("id"), "id": obj.get("id"),
"key": obj.get("key"), "key": obj.get("key"),
"legacyId": obj.get("legacyId"), "legacyId": obj.get("legacyId"),
"modifiedDate": obj.get("modifiedDate"),
"objectType": obj.get("objectType"), "objectType": obj.get("objectType"),
"type": obj.get("type"),
"value": obj.get("value") "value": obj.get("value")
}) })
return _obj return _obj

View File

@ -0,0 +1,40 @@
# coding: utf-8
"""
Tags API
The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or dashboards) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`.
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 Type(str, Enum):
"""
The nature of the tag - whether the tag is dynamically assigned to products based on a filter rule or statically assigned to specified products.
"""
"""
allowed enum values
"""
STATIC = 'static'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of Type from a JSON string"""
return cls(json.loads(json_str))
@classmethod
def _missing_(cls, value):
"""Handle unknown values"""
return cls.UNKNOWN

View File

@ -32,7 +32,6 @@ class TestTagsApi(unittest.TestCase):
"""Test case for create_tag request and response models""" """Test case for create_tag request and response models"""
request_body_json = """ request_body_json = """
{ {
"accessType" : "all",
"assignments" : [ { "assignments" : [ {
"id" : "123", "id" : "123",
"type" : "test" "type" : "test"
@ -41,15 +40,19 @@ class TestTagsApi(unittest.TestCase):
"type" : "test" "type" : "test"
} ], } ],
"color" : "#FF0000", "color" : "#FF0000",
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test",
"accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
"value" : "sfo", "value" : "sfo",
"key" : "branch", "key" : "branch",
"createDate" : "2022-03-01T23:31:11Z", "createDate" : "2022-03-01T23:31:11Z"
"objectType" : "test"
}""" }"""
request_loaded_json = json.loads(request_body_json) request_loaded_json = json.loads(request_body_json)
@ -58,7 +61,6 @@ class TestTagsApi(unittest.TestCase):
response_body_json = """ response_body_json = """
{ {
"accessType" : "all",
"assignments" : [ { "assignments" : [ {
"id" : "123", "id" : "123",
"type" : "test" "type" : "test"
@ -67,15 +69,19 @@ class TestTagsApi(unittest.TestCase):
"type" : "test" "type" : "test"
} ], } ],
"color" : "#FF0000", "color" : "#FF0000",
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test",
"accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
"value" : "sfo", "value" : "sfo",
"key" : "branch", "key" : "branch",
"createDate" : "2022-03-01T23:31:11Z", "createDate" : "2022-03-01T23:31:11Z"
"objectType" : "test"
}""" }"""
response_loaded_json = json.loads(response_body_json) response_loaded_json = json.loads(response_body_json)
@ -89,7 +95,6 @@ class TestTagsApi(unittest.TestCase):
"errors" : [ { "errors" : [ {
"tag" : { "tag" : {
"key" : { "key" : {
"accessType" : "all",
"assignments" : [ { "assignments" : [ {
"id" : "123", "id" : "123",
"type" : "test" "type" : "test"
@ -98,15 +103,19 @@ class TestTagsApi(unittest.TestCase):
"type" : "test" "type" : "test"
} ], } ],
"color" : "#FF0000", "color" : "#FF0000",
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test",
"accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
"value" : "sfo", "value" : "sfo",
"key" : "branch", "key" : "branch",
"createDate" : "2022-03-01T23:31:11Z", "createDate" : "2022-03-01T23:31:11Z"
"objectType" : "test"
} }
}, },
"message" : "Object successfully created", "message" : "Object successfully created",
@ -114,7 +123,6 @@ class TestTagsApi(unittest.TestCase):
}, { }, {
"tag" : { "tag" : {
"key" : { "key" : {
"accessType" : "all",
"assignments" : [ { "assignments" : [ {
"id" : "123", "id" : "123",
"type" : "test" "type" : "test"
@ -123,15 +131,19 @@ class TestTagsApi(unittest.TestCase):
"type" : "test" "type" : "test"
} ], } ],
"color" : "#FF0000", "color" : "#FF0000",
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test",
"accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
"value" : "sfo", "value" : "sfo",
"key" : "branch", "key" : "branch",
"createDate" : "2022-03-01T23:31:11Z", "createDate" : "2022-03-01T23:31:11Z"
"objectType" : "test"
} }
}, },
"message" : "Object successfully created", "message" : "Object successfully created",
@ -158,10 +170,13 @@ class TestTagsApi(unittest.TestCase):
"title" : "title" "title" : "title"
} }
}, },
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test", "objectType" : "test",
"accessType" : "all", "accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
@ -189,10 +204,13 @@ class TestTagsApi(unittest.TestCase):
"title" : "title" "title" : "title"
} }
}, },
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test", "objectType" : "test",
"accessType" : "all", "accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
@ -211,7 +229,6 @@ class TestTagsApi(unittest.TestCase):
"errors" : [ { "errors" : [ {
"tag" : { "tag" : {
"key" : { "key" : {
"accessType" : "all",
"assignments" : [ { "assignments" : [ {
"id" : "123", "id" : "123",
"type" : "test" "type" : "test"
@ -220,15 +237,19 @@ class TestTagsApi(unittest.TestCase):
"type" : "test" "type" : "test"
} ], } ],
"color" : "#FF0000", "color" : "#FF0000",
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test",
"accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
"value" : "sfo", "value" : "sfo",
"key" : "branch", "key" : "branch",
"createDate" : "2022-03-01T23:31:11Z", "createDate" : "2022-03-01T23:31:11Z"
"objectType" : "test"
} }
}, },
"message" : "Object successfully created", "message" : "Object successfully created",
@ -236,7 +257,6 @@ class TestTagsApi(unittest.TestCase):
}, { }, {
"tag" : { "tag" : {
"key" : { "key" : {
"accessType" : "all",
"assignments" : [ { "assignments" : [ {
"id" : "123", "id" : "123",
"type" : "test" "type" : "test"
@ -245,15 +265,19 @@ class TestTagsApi(unittest.TestCase):
"type" : "test" "type" : "test"
} ], } ],
"color" : "#FF0000", "color" : "#FF0000",
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test",
"accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
"value" : "sfo", "value" : "sfo",
"key" : "branch", "key" : "branch",
"createDate" : "2022-03-01T23:31:11Z", "createDate" : "2022-03-01T23:31:11Z"
"objectType" : "test"
} }
}, },
"message" : "Object successfully created", "message" : "Object successfully created",
@ -280,10 +304,13 @@ class TestTagsApi(unittest.TestCase):
"title" : "title" "title" : "title"
} }
}, },
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test", "objectType" : "test",
"accessType" : "all", "accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
@ -311,10 +338,13 @@ class TestTagsApi(unittest.TestCase):
"title" : "title" "title" : "title"
} }
}, },
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test", "objectType" : "test",
"accessType" : "all", "accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
@ -357,10 +387,13 @@ class TestTagsApi(unittest.TestCase):
"title" : "title" "title" : "title"
} }
}, },
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test", "objectType" : "test",
"accessType" : "all", "accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
@ -411,10 +444,13 @@ class TestTagsApi(unittest.TestCase):
"title" : "title" "title" : "title"
} }
}, },
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test", "objectType" : "test",
"accessType" : "all", "accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
@ -442,10 +478,13 @@ class TestTagsApi(unittest.TestCase):
"title" : "title" "title" : "title"
} }
}, },
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test", "objectType" : "test",
"accessType" : "all", "accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
@ -463,7 +502,6 @@ class TestTagsApi(unittest.TestCase):
"""Test case for update_tag request and response models""" """Test case for update_tag request and response models"""
request_body_json = """ request_body_json = """
{ {
"accessType" : "all",
"assignments" : [ { "assignments" : [ {
"id" : "123", "id" : "123",
"type" : "test" "type" : "test"
@ -472,15 +510,19 @@ class TestTagsApi(unittest.TestCase):
"type" : "test" "type" : "test"
} ], } ],
"color" : "#FF0000", "color" : "#FF0000",
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test",
"accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
"value" : "sfo", "value" : "sfo",
"key" : "branch", "key" : "branch",
"createDate" : "2022-03-01T23:31:11Z", "createDate" : "2022-03-01T23:31:11Z"
"objectType" : "test"
}""" }"""
request_loaded_json = json.loads(request_body_json) request_loaded_json = json.loads(request_body_json)
@ -489,7 +531,6 @@ class TestTagsApi(unittest.TestCase):
response_body_json = """ response_body_json = """
{ {
"accessType" : "all",
"assignments" : [ { "assignments" : [ {
"id" : "123", "id" : "123",
"type" : "test" "type" : "test"
@ -498,15 +539,19 @@ class TestTagsApi(unittest.TestCase):
"type" : "test" "type" : "test"
} ], } ],
"color" : "#FF0000", "color" : "#FF0000",
"builtIn" : true,
"icon" : "icon", "icon" : "icon",
"description" : "To tag assets in San Francisco", "description" : "To tag assets in San Francisco",
"type" : "static",
"objectType" : "test",
"accessType" : "all",
"modifiedDate" : "2022-03-01T23:31:11Z",
"legacyId" : 0.8008281904610115, "legacyId" : 0.8008281904610115,
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"aid" : 1234, "aid" : 1234,
"value" : "sfo", "value" : "sfo",
"key" : "branch", "key" : "branch",
"createDate" : "2022-03-01T23:31:11Z", "createDate" : "2022-03-01T23:31:11Z"
"objectType" : "test"
}""" }"""
response_loaded_json = json.loads(response_body_json) response_loaded_json = json.loads(response_body_json)

View File

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

View File

@ -4,7 +4,7 @@ This API allows you to list, create, edit, and delete Network and Application Sy
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.70 - API version: 7.0.73
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update API test Update API test
Updates an API test. The target test cannot be a live share or saved event. This method requires write permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates an API test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires write permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update Agent to Agent test Update Agent to Agent test
Updates a Agent to Agent test. This method requires Account Admin permissions. Updates a Agent to Agent test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update Agent to Server test Update Agent to Server test
Updates an Agent to Server test. This method requires Account Admin permissions. Updates an Agent to Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions.
### Example ### Example

View File

@ -367,7 +367,7 @@ Name | Type | Description | Notes
Update BGP test Update BGP test
Updates a BGP test. This method requires Account Admin permissions. The target test cannot be a live share or saved event. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a BGP test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: alert rules, alert suppression windows, labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update DNSSEC test Update DNSSEC test
Updates a DNSSEC test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNSSEC test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update DNS Server test Update DNS Server test
Updates a DNS Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNS Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update DNS Trace test Update DNS Trace test
Updates a DNS Trace test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNS Trace test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -367,7 +367,7 @@ Name | Type | Description | Notes
Update FTP Server test Update FTP Server test
Updates a FTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a FTP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update HTTP Server test Update HTTP Server test
Updates a HTTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a HTTP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update Page Load test Update Page Load test
Updates a Page Load test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Page Load test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -367,7 +367,7 @@ Name | Type | Description | Notes
Update SIP Server test Update SIP Server test
Updates a SIP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a SIP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update Voice test Update Voice test
Updates a Voice test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Voice test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -369,7 +369,7 @@ Name | Type | Description | Notes
Update Web Transactions test Update Web Transactions test
Updates a Web Transactions test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Web Transactions test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
### Example ### Example

View File

@ -1308,7 +1308,7 @@ class AgentToAgentTestsApi:
) -> AgentToAgentTestResponse: ) -> AgentToAgentTestResponse:
"""Update Agent to Agent test """Update Agent to Agent test
Updates a Agent to Agent test. This method requires Account Admin permissions. Updates a Agent to Agent test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class AgentToAgentTestsApi:
) -> ApiResponse[AgentToAgentTestResponse]: ) -> ApiResponse[AgentToAgentTestResponse]:
"""Update Agent to Agent test """Update Agent to Agent test
Updates a Agent to Agent test. This method requires Account Admin permissions. Updates a Agent to Agent test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class AgentToAgentTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update Agent to Agent test """Update Agent to Agent test
Updates a Agent to Agent test. This method requires Account Admin permissions. Updates a Agent to Agent test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class AgentToServerTestsApi:
) -> AgentToServerTestResponse: ) -> AgentToServerTestResponse:
"""Update Agent to Server test """Update Agent to Server test
Updates an Agent to Server test. This method requires Account Admin permissions. Updates an Agent to Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class AgentToServerTestsApi:
) -> ApiResponse[AgentToServerTestResponse]: ) -> ApiResponse[AgentToServerTestResponse]:
"""Update Agent to Server test """Update Agent to Server test
Updates an Agent to Server test. This method requires Account Admin permissions. Updates an Agent to Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class AgentToServerTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update Agent to Server test """Update Agent to Server test
Updates an Agent to Server test. This method requires Account Admin permissions. Updates an Agent to Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class APITestsApi:
) -> ApiTestResponse: ) -> ApiTestResponse:
"""Update API test """Update API test
Updates an API test. The target test cannot be a live share or saved event. This method requires write permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates an API test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires write permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class APITestsApi:
) -> ApiResponse[ApiTestResponse]: ) -> ApiResponse[ApiTestResponse]:
"""Update API test """Update API test
Updates an API test. The target test cannot be a live share or saved event. This method requires write permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates an API test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires write permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class APITestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update API test """Update API test
Updates an API test. The target test cannot be a live share or saved event. This method requires write permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates an API test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires write permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1292,7 +1292,7 @@ class BGPTestsApi:
) -> BgpTestResponse: ) -> BgpTestResponse:
"""Update BGP test """Update BGP test
Updates a BGP test. This method requires Account Admin permissions. The target test cannot be a live share or saved event. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a BGP test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: alert rules, alert suppression windows, labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1379,7 +1379,7 @@ class BGPTestsApi:
) -> ApiResponse[BgpTestResponse]: ) -> ApiResponse[BgpTestResponse]:
"""Update BGP test """Update BGP test
Updates a BGP test. This method requires Account Admin permissions. The target test cannot be a live share or saved event. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a BGP test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: alert rules, alert suppression windows, labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1466,7 +1466,7 @@ class BGPTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update BGP test """Update BGP test
Updates a BGP test. This method requires Account Admin permissions. The target test cannot be a live share or saved event. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a BGP test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: alert rules, alert suppression windows, labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class DNSServerTestsApi:
) -> DnsServerTestResponse: ) -> DnsServerTestResponse:
"""Update DNS Server test """Update DNS Server test
Updates a DNS Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNS Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class DNSServerTestsApi:
) -> ApiResponse[DnsServerTestResponse]: ) -> ApiResponse[DnsServerTestResponse]:
"""Update DNS Server test """Update DNS Server test
Updates a DNS Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNS Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class DNSServerTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update DNS Server test """Update DNS Server test
Updates a DNS Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNS Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class DNSTraceTestsApi:
) -> DnsTraceTestResponse: ) -> DnsTraceTestResponse:
"""Update DNS Trace test """Update DNS Trace test
Updates a DNS Trace test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNS Trace test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class DNSTraceTestsApi:
) -> ApiResponse[DnsTraceTestResponse]: ) -> ApiResponse[DnsTraceTestResponse]:
"""Update DNS Trace test """Update DNS Trace test
Updates a DNS Trace test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNS Trace test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class DNSTraceTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update DNS Trace test """Update DNS Trace test
Updates a DNS Trace test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNS Trace test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class DNSSECTestsApi:
) -> DnsSecTestResponse: ) -> DnsSecTestResponse:
"""Update DNSSEC test """Update DNSSEC test
Updates a DNSSEC test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNSSEC test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class DNSSECTestsApi:
) -> ApiResponse[DnsSecTestResponse]: ) -> ApiResponse[DnsSecTestResponse]:
"""Update DNSSEC test """Update DNSSEC test
Updates a DNSSEC test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNSSEC test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class DNSSECTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update DNSSEC test """Update DNSSEC test
Updates a DNSSEC test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a DNSSEC test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1305,7 +1305,7 @@ class FTPServerTestsApi:
) -> FtpServerTestResponse: ) -> FtpServerTestResponse:
"""Update FTP Server test """Update FTP Server test
Updates a FTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a FTP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1392,7 +1392,7 @@ class FTPServerTestsApi:
) -> ApiResponse[FtpServerTestResponse]: ) -> ApiResponse[FtpServerTestResponse]:
"""Update FTP Server test """Update FTP Server test
Updates a FTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a FTP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1479,7 +1479,7 @@ class FTPServerTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update FTP Server test """Update FTP Server test
Updates a FTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a FTP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class HTTPServerTestsApi:
) -> HttpServerTestResponse: ) -> HttpServerTestResponse:
"""Update HTTP Server test """Update HTTP Server test
Updates a HTTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a HTTP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class HTTPServerTestsApi:
) -> ApiResponse[HttpServerTestResponse]: ) -> ApiResponse[HttpServerTestResponse]:
"""Update HTTP Server test """Update HTTP Server test
Updates a HTTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a HTTP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class HTTPServerTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update HTTP Server test """Update HTTP Server test
Updates a HTTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a HTTP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class PageLoadTestsApi:
) -> PageLoadTestResponse: ) -> PageLoadTestResponse:
"""Update Page Load test """Update Page Load test
Updates a Page Load test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Page Load test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class PageLoadTestsApi:
) -> ApiResponse[PageLoadTestResponse]: ) -> ApiResponse[PageLoadTestResponse]:
"""Update Page Load test """Update Page Load test
Updates a Page Load test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Page Load test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class PageLoadTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update Page Load test """Update Page Load test
Updates a Page Load test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Page Load test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1305,7 +1305,7 @@ class SIPServerTestsApi:
) -> SipServerTestResponse: ) -> SipServerTestResponse:
"""Update SIP Server test """Update SIP Server test
Updates a SIP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a SIP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1392,7 +1392,7 @@ class SIPServerTestsApi:
) -> ApiResponse[SipServerTestResponse]: ) -> ApiResponse[SipServerTestResponse]:
"""Update SIP Server test """Update SIP Server test
Updates a SIP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a SIP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1479,7 +1479,7 @@ class SIPServerTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update SIP Server test """Update SIP Server test
Updates a SIP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a SIP Server test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class VoiceTestsApi:
) -> VoiceTestResponse: ) -> VoiceTestResponse:
"""Update Voice test """Update Voice test
Updates a Voice test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Voice test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class VoiceTestsApi:
) -> ApiResponse[VoiceTestResponse]: ) -> ApiResponse[VoiceTestResponse]:
"""Update Voice test """Update Voice test
Updates a Voice test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Voice test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class VoiceTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update Voice test """Update Voice test
Updates a Voice test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Voice test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

@ -1308,7 +1308,7 @@ class WebTransactionTestsApi:
) -> WebTransactionTestResponse: ) -> WebTransactionTestResponse:
"""Update Web Transactions test """Update Web Transactions test
Updates a Web Transactions test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Web Transactions test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1395,7 +1395,7 @@ class WebTransactionTestsApi:
) -> ApiResponse[WebTransactionTestResponse]: ) -> ApiResponse[WebTransactionTestResponse]:
"""Update Web Transactions test """Update Web Transactions test
Updates a Web Transactions test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Web Transactions test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str
@ -1482,7 +1482,7 @@ class WebTransactionTestsApi:
) -> RESTResponseType: ) -> RESTResponseType:
"""Update Web Transactions test """Update Web Transactions test
Updates a Web Transactions test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API. Updates a Web Transactions test. Shared tests have limited updating capabilities. Only account-specific configurations may be updated, namely: Alert rules, Alert suppression windows, Labels. This method requires Account Admin permissions. **Note**: **Saved Events** are now called **Private Snapshots** in the user interface. This change does not affect API.
:param test_id: Test ID (required) :param test_id: Test ID (required)
:type test_id: str :type test_id: str

View File

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