Compare commits

...

2 Commits

Author SHA1 Message Date
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
34 changed files with 198 additions and 51 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.71
- 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.71
- 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.71
- 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

@ -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.71
- 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 @@ 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.71
- 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.71
- 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

@ -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.71
- 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.71
- 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.71
- 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.71
- 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.71
- 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.71
- 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.71
- 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

@ -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.71
- 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.71
- 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.71
- 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.71
- 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.71
- 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.71
- 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.71
- 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

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