mirror of
https://github.com/thousandeyes/thousandeyes-sdk-python.git
synced 2025-12-06 07:55:31 +00:00
Compare commits
No commits in common. "main" and "2.16.0" have entirely different histories.
@ -14,7 +14,6 @@ docs/AuditUserEvents.md
|
||||
docs/BaseRole.md
|
||||
docs/CloudEnterpriseAgentType.md
|
||||
docs/ClusterMember.md
|
||||
docs/Coordinates.md
|
||||
docs/CreatedAccountGroup.md
|
||||
docs/CreatedUser.md
|
||||
docs/EnterpriseAgent.md
|
||||
@ -79,7 +78,6 @@ src/thousandeyes_sdk/administrative/models/audit_user_events.py
|
||||
src/thousandeyes_sdk/administrative/models/base_role.py
|
||||
src/thousandeyes_sdk/administrative/models/cloud_enterprise_agent_type.py
|
||||
src/thousandeyes_sdk/administrative/models/cluster_member.py
|
||||
src/thousandeyes_sdk/administrative/models/coordinates.py
|
||||
src/thousandeyes_sdk/administrative/models/created_account_group.py
|
||||
src/thousandeyes_sdk/administrative/models/created_user.py
|
||||
src/thousandeyes_sdk/administrative/models/enterprise_agent.py
|
||||
|
||||
@ -12,7 +12,7 @@ This API provides the following operations to manage your organization:
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
@ -138,7 +138,6 @@ Class | Method | HTTP request | Description
|
||||
- [BaseRole](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/BaseRole.md)
|
||||
- [CloudEnterpriseAgentType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/CloudEnterpriseAgentType.md)
|
||||
- [ClusterMember](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ClusterMember.md)
|
||||
- [Coordinates](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Coordinates.md)
|
||||
- [CreatedAccountGroup](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/CreatedAccountGroup.md)
|
||||
- [CreatedUser](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/CreatedUser.md)
|
||||
- [EnterpriseAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/EnterpriseAgent.md)
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
# Coordinates
|
||||
|
||||
Geographic coordinates for agent location.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**latitude** | **float** | The latitude of the agent location in decimal degrees | [optional] [readonly]
|
||||
**longitude** | **float** | The longitude of the agent location in decimal degrees | [optional] [readonly]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from thousandeyes_sdk.administrative.models.coordinates import Coordinates
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of Coordinates from a JSON string
|
||||
coordinates_instance = Coordinates.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(Coordinates.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
coordinates_dict = coordinates_instance.to_dict()
|
||||
# create an instance of Coordinates from a dict
|
||||
coordinates_from_dict = Coordinates.from_dict(coordinates_dict)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -13,7 +13,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -34,7 +34,6 @@ from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEv
|
||||
from thousandeyes_sdk.administrative.models.base_role import BaseRole
|
||||
from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
|
||||
from thousandeyes_sdk.administrative.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.administrative.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.administrative.models.created_account_group import CreatedAccountGroup
|
||||
from thousandeyes_sdk.administrative.models.created_user import CreatedUser
|
||||
from thousandeyes_sdk.administrative.models.enterprise_agent import EnterpriseAgent
|
||||
|
||||
@ -25,7 +25,6 @@ from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEv
|
||||
from thousandeyes_sdk.administrative.models.base_role import BaseRole
|
||||
from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
|
||||
from thousandeyes_sdk.administrative.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.administrative.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.administrative.models.created_account_group import CreatedAccountGroup
|
||||
from thousandeyes_sdk.administrative.models.created_user import CreatedUser
|
||||
from thousandeyes_sdk.administrative.models.enterprise_agent import EnterpriseAgent
|
||||
|
||||
@ -19,7 +19,6 @@ import json
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
|
||||
from thousandeyes_sdk.administrative.models.coordinates import Coordinates
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@ -34,12 +33,11 @@ class AgentResponse(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
agent_type: CloudEnterpriseAgentType = Field(alias="agentType")
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "agentType"]
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "agentType"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -97,9 +95,6 @@ class AgentResponse(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -119,7 +114,6 @@ class AgentResponse(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates"),
|
||||
|
||||
@ -1,93 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Administrative API
|
||||
|
||||
Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management).
|
||||
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
|
||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class Coordinates(BaseModel):
|
||||
"""
|
||||
Geographic coordinates for agent location.
|
||||
""" # noqa: E501
|
||||
latitude: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The latitude of the agent location in decimal degrees")
|
||||
longitude: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The longitude of the agent location in decimal degrees")
|
||||
__properties: ClassVar[List[str]] = ["latitude", "longitude"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
extra="allow",
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of Coordinates from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
* OpenAPI `readOnly` fields are excluded.
|
||||
* OpenAPI `readOnly` fields are excluded.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
"latitude",
|
||||
"longitude",
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of Coordinates from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"latitude": obj.get("latitude"),
|
||||
"longitude": obj.get("longitude")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -22,7 +22,6 @@ from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.administrative.models.account_group import AccountGroup
|
||||
from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
|
||||
from thousandeyes_sdk.administrative.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.administrative.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.administrative.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy
|
||||
from thousandeyes_sdk.administrative.models.enterprise_agent_state import EnterpriseAgentState
|
||||
from thousandeyes_sdk.administrative.models.error_detail import ErrorDetail
|
||||
@ -43,7 +42,6 @@ class EnterpriseAgent(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
@ -62,7 +60,7 @@ class EnterpriseAgent(BaseModel):
|
||||
target_for_tests: Optional[StrictStr] = Field(default=None, description="Test target IP address.", alias="targetForTests")
|
||||
local_resolution_prefixes: Optional[List[StrictStr]] = Field(default=None, description="To perform rDNS lookups for public IP ranges, this field represents the public IP ranges. The range must be in CIDR notation; for example, 10.1.1.0/24. Maximum of 5 prefixes allowed (Enterprise Agents and Enterprise Agent clusters only).", alias="localResolutionPrefixes")
|
||||
interface_ip_mapping: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMapping")
|
||||
__properties: ClassVar[List[str]] = ["agentType", "ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
|
||||
__properties: ClassVar[List[str]] = ["agentType", "ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -136,9 +134,6 @@ class EnterpriseAgent(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
|
||||
_items = []
|
||||
if self.tests:
|
||||
@ -194,7 +189,6 @@ class EnterpriseAgent(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates"),
|
||||
|
||||
@ -18,7 +18,6 @@ import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.administrative.models.coordinates import Coordinates
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@ -33,11 +32,10 @@ class SimpleAgent(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates"]
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -95,9 +93,6 @@ class SimpleAgent(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -117,7 +112,6 @@ class SimpleAgent(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates")
|
||||
|
||||
@ -176,10 +176,6 @@ class TestAccountGroupsApi(unittest.TestCase):
|
||||
"keepBrowserCache" : true,
|
||||
"agentState" : "online",
|
||||
"localResolutionPrefixes" : [ "10.2.3.3/24", "10.2.3.3/24" ],
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"utilization" : 25,
|
||||
"testIds" : [ 281474976710706 ],
|
||||
@ -321,10 +317,6 @@ class TestAccountGroupsApi(unittest.TestCase):
|
||||
"keepBrowserCache" : true,
|
||||
"agentState" : "online",
|
||||
"localResolutionPrefixes" : [ "10.2.3.3/24", "10.2.3.3/24" ],
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"utilization" : 25,
|
||||
"testIds" : [ 281474976710706 ],
|
||||
@ -579,10 +571,6 @@ class TestAccountGroupsApi(unittest.TestCase):
|
||||
"keepBrowserCache" : true,
|
||||
"agentState" : "online",
|
||||
"localResolutionPrefixes" : [ "10.2.3.3/24", "10.2.3.3/24" ],
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"utilization" : 25,
|
||||
"testIds" : [ 281474976710706 ],
|
||||
@ -724,10 +712,6 @@ class TestAccountGroupsApi(unittest.TestCase):
|
||||
"keepBrowserCache" : true,
|
||||
"agentState" : "online",
|
||||
"localResolutionPrefixes" : [ "10.2.3.3/24", "10.2.3.3/24" ],
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"utilization" : 25,
|
||||
"testIds" : [ 281474976710706 ],
|
||||
|
||||
@ -27,7 +27,6 @@ docs/CloudEnterpriseAgent.md
|
||||
docs/CloudEnterpriseAgentType.md
|
||||
docs/CloudEnterpriseAgents.md
|
||||
docs/ClusterMember.md
|
||||
docs/Coordinates.md
|
||||
docs/EnterpriseAgent.md
|
||||
docs/EnterpriseAgentClusterApi.md
|
||||
docs/EnterpriseAgentClusterDetail.md
|
||||
@ -92,7 +91,6 @@ src/thousandeyes_sdk/agents/models/cloud_enterprise_agent.py
|
||||
src/thousandeyes_sdk/agents/models/cloud_enterprise_agent_type.py
|
||||
src/thousandeyes_sdk/agents/models/cloud_enterprise_agents.py
|
||||
src/thousandeyes_sdk/agents/models/cluster_member.py
|
||||
src/thousandeyes_sdk/agents/models/coordinates.py
|
||||
src/thousandeyes_sdk/agents/models/enterprise_agent.py
|
||||
src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py
|
||||
src/thousandeyes_sdk/agents/models/enterprise_agent_data.py
|
||||
|
||||
@ -5,7 +5,7 @@ Manage Cloud and Enterprise Agents available to your account in ThousandEyes.
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
@ -135,7 +135,6 @@ Class | Method | HTTP request | Description
|
||||
- [CloudEnterpriseAgentType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudEnterpriseAgentType.md)
|
||||
- [CloudEnterpriseAgents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudEnterpriseAgents.md)
|
||||
- [ClusterMember](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ClusterMember.md)
|
||||
- [Coordinates](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/Coordinates.md)
|
||||
- [EnterpriseAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/EnterpriseAgent.md)
|
||||
- [EnterpriseAgentClusterDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md)
|
||||
- [EnterpriseAgentData](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/EnterpriseAgentData.md)
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -13,7 +13,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
# Coordinates
|
||||
|
||||
Geographic coordinates for agent location.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**latitude** | **float** | The latitude of the agent location in decimal degrees | [optional] [readonly]
|
||||
**longitude** | **float** | The longitude of the agent location in decimal degrees | [optional] [readonly]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of Coordinates from a JSON string
|
||||
coordinates_instance = Coordinates.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(Coordinates.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
coordinates_dict = coordinates_instance.to_dict()
|
||||
# create an instance of Coordinates from a dict
|
||||
coordinates_from_dict = Coordinates.from_dict(coordinates_dict)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -13,7 +13,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -12,7 +12,6 @@ Name | Type | Description | Notes
|
||||
**agent_name** | **str** | Name of the agent. | [optional]
|
||||
**location** | **str** | Location of the agent. | [optional] [readonly]
|
||||
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
|
||||
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
|
||||
**enabled** | **bool** | Flag indicating if the agent is enabled. | [optional]
|
||||
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
|
||||
**verify_ssl_certificates** | **bool** | Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests. | [optional] [readonly]
|
||||
|
||||
@ -45,7 +45,6 @@ from thousandeyes_sdk.agents.models.cloud_enterprise_agent import CloudEnterpris
|
||||
from thousandeyes_sdk.agents.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
|
||||
from thousandeyes_sdk.agents.models.cloud_enterprise_agents import CloudEnterpriseAgents
|
||||
from thousandeyes_sdk.agents.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent import EnterpriseAgent
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_cluster_detail import EnterpriseAgentClusterDetail
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_data import EnterpriseAgentData
|
||||
|
||||
@ -36,7 +36,6 @@ from thousandeyes_sdk.agents.models.cloud_enterprise_agent import CloudEnterpris
|
||||
from thousandeyes_sdk.agents.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
|
||||
from thousandeyes_sdk.agents.models.cloud_enterprise_agents import CloudEnterpriseAgents
|
||||
from thousandeyes_sdk.agents.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent import EnterpriseAgent
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_cluster_detail import EnterpriseAgentClusterDetail
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_data import EnterpriseAgentData
|
||||
|
||||
@ -19,7 +19,6 @@ import json
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.agents.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@ -34,12 +33,11 @@ class AgentResponse(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
agent_type: CloudEnterpriseAgentType = Field(alias="agentType")
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "agentType"]
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "agentType"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -97,9 +95,6 @@ class AgentResponse(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -119,7 +114,6 @@ class AgentResponse(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates"),
|
||||
|
||||
@ -20,7 +20,6 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from thousandeyes_sdk.agents.models.agent_label import AgentLabel
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.agents.models.self_links import SelfLinks
|
||||
from thousandeyes_sdk.agents.models.simple_test import SimpleTest
|
||||
from typing import Optional, Set
|
||||
@ -37,7 +36,6 @@ class CloudAgentDetail(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
@ -45,7 +43,7 @@ class CloudAgentDetail(BaseModel):
|
||||
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
|
||||
labels: Optional[List[AgentLabel]] = Field(default=None, description="List of labels - see `/labels` for more information.")
|
||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "agentType", "tests", "labels", "_links"]
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "agentType", "tests", "labels", "_links"]
|
||||
|
||||
@field_validator('agent_type')
|
||||
def agent_type_validate_regular_expression(cls, value):
|
||||
@ -112,9 +110,6 @@ class CloudAgentDetail(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
|
||||
_items = []
|
||||
if self.tests:
|
||||
@ -151,7 +146,6 @@ class CloudAgentDetail(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates"),
|
||||
|
||||
@ -1,93 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Agents API
|
||||
|
||||
## Overview Manage Cloud and Enterprise Agents available to your account in ThousandEyes.
|
||||
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
|
||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class Coordinates(BaseModel):
|
||||
"""
|
||||
Geographic coordinates for agent location.
|
||||
""" # noqa: E501
|
||||
latitude: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The latitude of the agent location in decimal degrees")
|
||||
longitude: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The longitude of the agent location in decimal degrees")
|
||||
__properties: ClassVar[List[str]] = ["latitude", "longitude"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
extra="allow",
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of Coordinates from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
* OpenAPI `readOnly` fields are excluded.
|
||||
* OpenAPI `readOnly` fields are excluded.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
"latitude",
|
||||
"longitude",
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of Coordinates from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"latitude": obj.get("latitude"),
|
||||
"longitude": obj.get("longitude")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -22,7 +22,6 @@ from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.agents.models.account_group import AccountGroup
|
||||
from thousandeyes_sdk.agents.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
|
||||
from thousandeyes_sdk.agents.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState
|
||||
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
|
||||
@ -43,7 +42,6 @@ class EnterpriseAgent(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
@ -62,7 +60,7 @@ class EnterpriseAgent(BaseModel):
|
||||
target_for_tests: Optional[StrictStr] = Field(default=None, description="Test target IP address.", alias="targetForTests")
|
||||
local_resolution_prefixes: Optional[List[StrictStr]] = Field(default=None, description="To perform rDNS lookups for public IP ranges, this field represents the public IP ranges. The range must be in CIDR notation; for example, 10.1.1.0/24. Maximum of 5 prefixes allowed (Enterprise Agents and Enterprise Agent clusters only).", alias="localResolutionPrefixes")
|
||||
interface_ip_mapping: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMapping")
|
||||
__properties: ClassVar[List[str]] = ["agentType", "ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
|
||||
__properties: ClassVar[List[str]] = ["agentType", "ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -136,9 +134,6 @@ class EnterpriseAgent(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
|
||||
_items = []
|
||||
if self.tests:
|
||||
@ -194,7 +189,6 @@ class EnterpriseAgent(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates"),
|
||||
|
||||
@ -23,7 +23,6 @@ from typing_extensions import Annotated
|
||||
from thousandeyes_sdk.agents.models.account_group import AccountGroup
|
||||
from thousandeyes_sdk.agents.models.agent_label import AgentLabel
|
||||
from thousandeyes_sdk.agents.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState
|
||||
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
|
||||
@ -45,7 +44,6 @@ class EnterpriseAgentClusterDetail(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
@ -68,7 +66,7 @@ class EnterpriseAgentClusterDetail(BaseModel):
|
||||
labels: Optional[List[AgentLabel]] = Field(default=None, description="List of labels. See `/labels` for more information.")
|
||||
agent_type: Annotated[str, Field(strict=True)] = Field(description="Enterprise Cluster agent type.", alias="agentType")
|
||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "agentType", "_links"]
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "agentType", "_links"]
|
||||
|
||||
@field_validator('agent_type')
|
||||
def agent_type_validate_regular_expression(cls, value):
|
||||
@ -151,9 +149,6 @@ class EnterpriseAgentClusterDetail(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
|
||||
_items = []
|
||||
if self.tests:
|
||||
@ -225,7 +220,6 @@ class EnterpriseAgentClusterDetail(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates"),
|
||||
|
||||
@ -23,7 +23,6 @@ from typing_extensions import Annotated
|
||||
from thousandeyes_sdk.agents.models.account_group import AccountGroup
|
||||
from thousandeyes_sdk.agents.models.agent_label import AgentLabel
|
||||
from thousandeyes_sdk.agents.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState
|
||||
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
|
||||
@ -45,7 +44,6 @@ class EnterpriseAgentDetail(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
@ -68,7 +66,7 @@ class EnterpriseAgentDetail(BaseModel):
|
||||
labels: Optional[List[AgentLabel]] = Field(default=None, description="List of labels. See `/labels` for more information.")
|
||||
agent_type: Annotated[str, Field(strict=True)] = Field(description="Enterprise agent type.", alias="agentType")
|
||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "agentType", "_links"]
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "agentType", "_links"]
|
||||
|
||||
@field_validator('agent_type')
|
||||
def agent_type_validate_regular_expression(cls, value):
|
||||
@ -151,9 +149,6 @@ class EnterpriseAgentDetail(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
|
||||
_items = []
|
||||
if self.tests:
|
||||
@ -225,7 +220,6 @@ class EnterpriseAgentDetail(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates"),
|
||||
|
||||
@ -18,7 +18,6 @@ import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@ -33,11 +32,10 @@ class SimpleAgent(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates"]
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -95,9 +93,6 @@ class SimpleAgent(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -117,7 +112,6 @@ class SimpleAgent(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates")
|
||||
|
||||
@ -21,7 +21,6 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, Strict
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.agents.models.account_group import AccountGroup
|
||||
from thousandeyes_sdk.agents.models.cluster_member import ClusterMember
|
||||
from thousandeyes_sdk.agents.models.coordinates import Coordinates
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy
|
||||
from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState
|
||||
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
|
||||
@ -41,7 +40,6 @@ class SimpleEnterpriseAgent(BaseModel):
|
||||
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
|
||||
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
|
||||
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
|
||||
coordinates: Optional[Coordinates] = None
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
|
||||
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
|
||||
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
|
||||
@ -60,7 +58,7 @@ class SimpleEnterpriseAgent(BaseModel):
|
||||
target_for_tests: Optional[StrictStr] = Field(default=None, description="Test target IP address.", alias="targetForTests")
|
||||
local_resolution_prefixes: Optional[List[StrictStr]] = Field(default=None, description="To perform rDNS lookups for public IP ranges, this field represents the public IP ranges. The range must be in CIDR notation; for example, 10.1.1.0/24. Maximum of 5 prefixes allowed (Enterprise Agents and Enterprise Agent clusters only).", alias="localResolutionPrefixes")
|
||||
interface_ip_mapping: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMapping")
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
|
||||
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -134,9 +132,6 @@ class SimpleEnterpriseAgent(BaseModel):
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of coordinates
|
||||
if self.coordinates:
|
||||
_dict['coordinates'] = self.coordinates.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
|
||||
_items = []
|
||||
if self.tests:
|
||||
@ -191,7 +186,6 @@ class SimpleEnterpriseAgent(BaseModel):
|
||||
"agentName": obj.get("agentName"),
|
||||
"location": obj.get("location"),
|
||||
"countryId": obj.get("countryId"),
|
||||
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
|
||||
"enabled": obj.get("enabled"),
|
||||
"prefix": obj.get("prefix"),
|
||||
"verifySslCertificates": obj.get("verifySslCertificates"),
|
||||
|
||||
@ -99,10 +99,6 @@ class TestCloudAndEnterpriseAgentNotificationRulesApi(unittest.TestCase):
|
||||
"agentType" : "enterprise-cluster",
|
||||
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
|
||||
"location" : "San Francisco Bay Area",
|
||||
@ -115,10 +111,6 @@ class TestCloudAndEnterpriseAgentNotificationRulesApi(unittest.TestCase):
|
||||
"agentType" : "enterprise-cluster",
|
||||
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
|
||||
"location" : "San Francisco Bay Area",
|
||||
|
||||
@ -52,10 +52,6 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
|
||||
}
|
||||
},
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"countryId" : "US",
|
||||
"enabled" : true,
|
||||
@ -162,10 +158,6 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
|
||||
"agentType" : "enterprise-cluster",
|
||||
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
|
||||
"location" : "San Francisco Bay Area",
|
||||
@ -178,10 +170,6 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
|
||||
"agentType" : "enterprise-cluster",
|
||||
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
|
||||
"location" : "San Francisco Bay Area",
|
||||
@ -231,10 +219,6 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
|
||||
}
|
||||
},
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"countryId" : "US",
|
||||
"enabled" : true,
|
||||
|
||||
@ -56,10 +56,6 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase):
|
||||
}
|
||||
},
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"countryId" : "US",
|
||||
"enabled" : true,
|
||||
@ -174,10 +170,6 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase):
|
||||
"agentType" : "enterprise-cluster",
|
||||
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
|
||||
"location" : "San Francisco Bay Area",
|
||||
@ -190,10 +182,6 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase):
|
||||
"agentType" : "enterprise-cluster",
|
||||
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
|
||||
"location" : "San Francisco Bay Area",
|
||||
|
||||
@ -56,10 +56,6 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase):
|
||||
}
|
||||
},
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"countryId" : "US",
|
||||
"enabled" : true,
|
||||
@ -172,10 +168,6 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase):
|
||||
}
|
||||
},
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"countryId" : "US",
|
||||
"enabled" : true,
|
||||
@ -288,10 +280,6 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase):
|
||||
}
|
||||
},
|
||||
"prefix" : "99.128.0.0/11",
|
||||
"coordinates" : {
|
||||
"latitude" : 37.77493,
|
||||
"longitude" : -122.41942
|
||||
},
|
||||
"agentName" : "thousandeyes-stg-va-254",
|
||||
"countryId" : "US",
|
||||
"enabled" : true,
|
||||
|
||||
@ -4,7 +4,6 @@ README.md
|
||||
docs/Alert.md
|
||||
docs/AlertDetail.md
|
||||
docs/AlertDirection.md
|
||||
docs/AlertEmbedded.md
|
||||
docs/AlertGroupType.md
|
||||
docs/AlertLinks.md
|
||||
docs/AlertMeta.md
|
||||
@ -23,7 +22,6 @@ docs/AlertTestType.md
|
||||
docs/AlertType.md
|
||||
docs/Alerts.md
|
||||
docs/AlertsApi.md
|
||||
docs/Asn.md
|
||||
docs/BaseAlert.md
|
||||
docs/BaseAlertSuppressionWindow.md
|
||||
docs/BaseRule.md
|
||||
@ -75,7 +73,6 @@ src/thousandeyes_sdk/alerts/models/__init__.py
|
||||
src/thousandeyes_sdk/alerts/models/alert.py
|
||||
src/thousandeyes_sdk/alerts/models/alert_detail.py
|
||||
src/thousandeyes_sdk/alerts/models/alert_direction.py
|
||||
src/thousandeyes_sdk/alerts/models/alert_embedded.py
|
||||
src/thousandeyes_sdk/alerts/models/alert_group_type.py
|
||||
src/thousandeyes_sdk/alerts/models/alert_links.py
|
||||
src/thousandeyes_sdk/alerts/models/alert_meta.py
|
||||
@ -91,7 +88,6 @@ src/thousandeyes_sdk/alerts/models/alert_suppression_windows.py
|
||||
src/thousandeyes_sdk/alerts/models/alert_test_type.py
|
||||
src/thousandeyes_sdk/alerts/models/alert_type.py
|
||||
src/thousandeyes_sdk/alerts/models/alerts.py
|
||||
src/thousandeyes_sdk/alerts/models/asn.py
|
||||
src/thousandeyes_sdk/alerts/models/base_alert.py
|
||||
src/thousandeyes_sdk/alerts/models/base_alert_suppression_window.py
|
||||
src/thousandeyes_sdk/alerts/models/base_rule.py
|
||||
|
||||
@ -12,7 +12,7 @@ For more information about the alerts, see [Alerts](https://docs.thousandeyes.co
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
@ -123,7 +123,6 @@ Class | Method | HTTP request | Description
|
||||
- [Alert](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Alert.md)
|
||||
- [AlertDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertDetail.md)
|
||||
- [AlertDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertDirection.md)
|
||||
- [AlertEmbedded](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertEmbedded.md)
|
||||
- [AlertGroupType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertGroupType.md)
|
||||
- [AlertLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertLinks.md)
|
||||
- [AlertMeta](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertMeta.md)
|
||||
@ -139,7 +138,6 @@ Class | Method | HTTP request | Description
|
||||
- [AlertTestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertTestType.md)
|
||||
- [AlertType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertType.md)
|
||||
- [Alerts](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Alerts.md)
|
||||
- [Asn](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Asn.md)
|
||||
- [BaseAlert](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/BaseAlert.md)
|
||||
- [BaseAlertSuppressionWindow](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/BaseAlertSuppressionWindow.md)
|
||||
- [BaseRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/BaseRule.md)
|
||||
|
||||
@ -19,7 +19,6 @@ Name | Type | Description | Notes
|
||||
**alert_state** | [**State**](State.md) | | [optional]
|
||||
**alert_severity** | [**Severity**](Severity.md) | | [optional]
|
||||
**details** | [**List[AlertMetricDetail]**](AlertMetricDetail.md) | | [optional]
|
||||
**embedded** | [**AlertEmbedded**](AlertEmbedded.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
@ -1,30 +0,0 @@
|
||||
# AlertEmbedded
|
||||
|
||||
Container for embedded resources in alert responses (HATEOAS).
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**asn** | [**Asn**](Asn.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from thousandeyes_sdk.alerts.models.alert_embedded import AlertEmbedded
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of AlertEmbedded from a JSON string
|
||||
alert_embedded_instance = AlertEmbedded.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(AlertEmbedded.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
alert_embedded_dict = alert_embedded_instance.to_dict()
|
||||
# create an instance of AlertEmbedded from a dict
|
||||
alert_embedded_from_dict = AlertEmbedded.from_dict(alert_embedded_dict)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -1,32 +0,0 @@
|
||||
# Asn
|
||||
|
||||
Autonomous System Number (ASN) information for network outage alerts.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**id** | **str** | ASN identifier. | [optional]
|
||||
**name** | **str** | Autonomous system name. | [optional]
|
||||
**type** | **str** | Resource type. | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from thousandeyes_sdk.alerts.models.asn import Asn
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of Asn from a JSON string
|
||||
asn_instance = Asn.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(Asn.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
asn_dict = asn_instance.to_dict()
|
||||
# create an instance of Asn from a dict
|
||||
asn_from_dict = Asn.from_dict(asn_dict)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ Name | Type | Description | Notes
|
||||
**minimum_sources_pct** | **int** | The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert. | [optional]
|
||||
**rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional]
|
||||
**rounds_violating_out_of** | **int** | Specifies the divisor (y value) in the “X of Y times” condition. |
|
||||
**rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. | [optional]
|
||||
**rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. |
|
||||
**include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional]
|
||||
**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional]
|
||||
**severity** | [**Severity**](Severity.md) | | [optional]
|
||||
|
||||
@ -18,7 +18,7 @@ Name | Type | Description | Notes
|
||||
**minimum_sources_pct** | **int** | The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert. | [optional]
|
||||
**rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional]
|
||||
**rounds_violating_out_of** | **int** | Specifies the divisor (y value) in the “X of Y times” condition. |
|
||||
**rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. | [optional]
|
||||
**rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. |
|
||||
**include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional]
|
||||
**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional]
|
||||
**severity** | [**Severity**](Severity.md) | | [optional]
|
||||
|
||||
@ -18,7 +18,7 @@ Name | Type | Description | Notes
|
||||
**minimum_sources_pct** | **int** | The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert. | [optional]
|
||||
**rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional]
|
||||
**rounds_violating_out_of** | **int** | Specifies the divisor (y value) in the “X of Y times” condition. |
|
||||
**rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. | [optional]
|
||||
**rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. |
|
||||
**include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional]
|
||||
**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional]
|
||||
**severity** | [**Severity**](Severity.md) | | [optional]
|
||||
|
||||
@ -18,7 +18,7 @@ Name | Type | Description | Notes
|
||||
**minimum_sources_pct** | **int** | The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert. | [optional]
|
||||
**rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional]
|
||||
**rounds_violating_out_of** | **int** | Specifies the divisor (y value) in the “X of Y times” condition. |
|
||||
**rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. | [optional]
|
||||
**rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. |
|
||||
**include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional]
|
||||
**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional]
|
||||
**severity** | [**Severity**](Severity.md) | | [optional]
|
||||
|
||||
@ -23,7 +23,6 @@ from thousandeyes_sdk.alerts.api.alerts_api import AlertsApi
|
||||
from thousandeyes_sdk.alerts.models.alert import Alert
|
||||
from thousandeyes_sdk.alerts.models.alert_detail import AlertDetail
|
||||
from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection
|
||||
from thousandeyes_sdk.alerts.models.alert_embedded import AlertEmbedded
|
||||
from thousandeyes_sdk.alerts.models.alert_group_type import AlertGroupType
|
||||
from thousandeyes_sdk.alerts.models.alert_links import AlertLinks
|
||||
from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta
|
||||
@ -39,7 +38,6 @@ from thousandeyes_sdk.alerts.models.alert_suppression_windows import AlertSuppre
|
||||
from thousandeyes_sdk.alerts.models.alert_test_type import AlertTestType
|
||||
from thousandeyes_sdk.alerts.models.alert_type import AlertType
|
||||
from thousandeyes_sdk.alerts.models.alerts import Alerts
|
||||
from thousandeyes_sdk.alerts.models.asn import Asn
|
||||
from thousandeyes_sdk.alerts.models.base_alert import BaseAlert
|
||||
from thousandeyes_sdk.alerts.models.base_alert_suppression_window import BaseAlertSuppressionWindow
|
||||
from thousandeyes_sdk.alerts.models.base_rule import BaseRule
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
from thousandeyes_sdk.alerts.models.alert import Alert
|
||||
from thousandeyes_sdk.alerts.models.alert_detail import AlertDetail
|
||||
from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection
|
||||
from thousandeyes_sdk.alerts.models.alert_embedded import AlertEmbedded
|
||||
from thousandeyes_sdk.alerts.models.alert_group_type import AlertGroupType
|
||||
from thousandeyes_sdk.alerts.models.alert_links import AlertLinks
|
||||
from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta
|
||||
@ -32,7 +31,6 @@ from thousandeyes_sdk.alerts.models.alert_suppression_windows import AlertSuppre
|
||||
from thousandeyes_sdk.alerts.models.alert_test_type import AlertTestType
|
||||
from thousandeyes_sdk.alerts.models.alert_type import AlertType
|
||||
from thousandeyes_sdk.alerts.models.alerts import Alerts
|
||||
from thousandeyes_sdk.alerts.models.asn import Asn
|
||||
from thousandeyes_sdk.alerts.models.base_alert import BaseAlert
|
||||
from thousandeyes_sdk.alerts.models.base_alert_suppression_window import BaseAlertSuppressionWindow
|
||||
from thousandeyes_sdk.alerts.models.base_rule import BaseRule
|
||||
|
||||
@ -19,7 +19,6 @@ import json
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.alerts.models.alert_embedded import AlertEmbedded
|
||||
from thousandeyes_sdk.alerts.models.alert_links import AlertLinks
|
||||
from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta
|
||||
from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail
|
||||
@ -47,8 +46,7 @@ class AlertDetail(BaseModel):
|
||||
alert_state: Optional[State] = Field(default=None, alias="alertState")
|
||||
alert_severity: Optional[Severity] = Field(default=None, alias="alertSeverity")
|
||||
details: Optional[List[AlertMetricDetail]] = None
|
||||
embedded: Optional[AlertEmbedded] = Field(default=None, alias="_embedded")
|
||||
__properties: ClassVar[List[str]] = ["id", "alertType", "startDate", "endDate", "violationCount", "duration", "suppressed", "meta", "_links", "state", "severity", "alertState", "alertSeverity", "details", "_embedded"]
|
||||
__properties: ClassVar[List[str]] = ["id", "alertType", "startDate", "endDate", "violationCount", "duration", "suppressed", "meta", "_links", "state", "severity", "alertState", "alertSeverity", "details"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -109,9 +107,6 @@ class AlertDetail(BaseModel):
|
||||
if _item:
|
||||
_items.append(_item.to_dict())
|
||||
_dict['details'] = _items
|
||||
# override the default output from pydantic by calling `to_dict()` of embedded
|
||||
if self.embedded:
|
||||
_dict['_embedded'] = self.embedded.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -137,8 +132,7 @@ class AlertDetail(BaseModel):
|
||||
"severity": obj.get("severity"),
|
||||
"alertState": obj.get("alertState"),
|
||||
"alertSeverity": obj.get("alertSeverity"),
|
||||
"details": [AlertMetricDetail.from_dict(_item) for _item in obj["details"]] if obj.get("details") is not None else None,
|
||||
"_embedded": AlertEmbedded.from_dict(obj["_embedded"]) if obj.get("_embedded") is not None else None
|
||||
"details": [AlertMetricDetail.from_dict(_item) for _item in obj["details"]] if obj.get("details") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -1,91 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Alerts API
|
||||
|
||||
You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts).
|
||||
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.alerts.models.asn import Asn
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class AlertEmbedded(BaseModel):
|
||||
"""
|
||||
Container for embedded resources in alert responses (HATEOAS).
|
||||
""" # noqa: E501
|
||||
asn: Optional[Asn] = None
|
||||
__properties: ClassVar[List[str]] = ["asn"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
extra="allow",
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of AlertEmbedded from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of asn
|
||||
if self.asn:
|
||||
_dict['asn'] = self.asn.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of AlertEmbedded from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"asn": Asn.from_dict(obj["asn"]) if obj.get("asn") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -1,91 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Alerts API
|
||||
|
||||
You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts).
|
||||
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class Asn(BaseModel):
|
||||
"""
|
||||
Autonomous System Number (ASN) information for network outage alerts.
|
||||
""" # noqa: E501
|
||||
id: Optional[StrictStr] = Field(default=None, description="ASN identifier.")
|
||||
name: Optional[StrictStr] = Field(default=None, description="Autonomous system name.")
|
||||
type: Optional[StrictStr] = Field(default=None, description="Resource type.")
|
||||
__properties: ClassVar[List[str]] = ["id", "name", "type"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
extra="allow",
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of Asn from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of Asn from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"id": obj.get("id"),
|
||||
"name": obj.get("name"),
|
||||
"type": obj.get("type")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ class BaseRule(BaseModel):
|
||||
minimum_sources_pct: Optional[StrictInt] = Field(default=None, description="The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert.", alias="minimumSourcesPct")
|
||||
rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode")
|
||||
rounds_violating_out_of: StrictInt = Field(description="Specifies the divisor (y value) in the “X of Y times” condition.", alias="roundsViolatingOutOf")
|
||||
rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired")
|
||||
rounds_violating_required: StrictInt = Field(description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired")
|
||||
include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes")
|
||||
sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel")
|
||||
severity: Optional[Severity] = None
|
||||
|
||||
@ -46,7 +46,7 @@ class Rule(BaseModel):
|
||||
minimum_sources_pct: Optional[StrictInt] = Field(default=None, description="The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert.", alias="minimumSourcesPct")
|
||||
rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode")
|
||||
rounds_violating_out_of: StrictInt = Field(description="Specifies the divisor (y value) in the “X of Y times” condition.", alias="roundsViolatingOutOf")
|
||||
rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired")
|
||||
rounds_violating_required: StrictInt = Field(description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired")
|
||||
include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes")
|
||||
sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel")
|
||||
severity: Optional[Severity] = None
|
||||
|
||||
@ -47,7 +47,7 @@ class RuleDetail(BaseModel):
|
||||
minimum_sources_pct: Optional[StrictInt] = Field(default=None, description="The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert.", alias="minimumSourcesPct")
|
||||
rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode")
|
||||
rounds_violating_out_of: StrictInt = Field(description="Specifies the divisor (y value) in the “X of Y times” condition.", alias="roundsViolatingOutOf")
|
||||
rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired")
|
||||
rounds_violating_required: StrictInt = Field(description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired")
|
||||
include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes")
|
||||
sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel")
|
||||
severity: Optional[Severity] = None
|
||||
|
||||
@ -45,7 +45,7 @@ class RuleDetailUpdate(BaseModel):
|
||||
minimum_sources_pct: Optional[StrictInt] = Field(default=None, description="The minimum percentage of all assigned agents or monitors that must meet the specified criteria to trigger the alert.", alias="minimumSourcesPct")
|
||||
rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode")
|
||||
rounds_violating_out_of: StrictInt = Field(description="Specifies the divisor (y value) in the “X of Y times” condition.", alias="roundsViolatingOutOf")
|
||||
rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired")
|
||||
rounds_violating_required: StrictInt = Field(description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired")
|
||||
include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes")
|
||||
sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel")
|
||||
severity: Optional[Severity] = None
|
||||
|
||||
@ -81,13 +81,6 @@ class TestAlertsApi(unittest.TestCase):
|
||||
"alertSeverity" : "major",
|
||||
"duration" : 60,
|
||||
"violationCount" : 2,
|
||||
"_embedded" : {
|
||||
"asn" : {
|
||||
"name" : "Cisco Webex LLC",
|
||||
"id" : "13445",
|
||||
"type" : "asn"
|
||||
}
|
||||
},
|
||||
"meta" : {
|
||||
"version" : 1
|
||||
},
|
||||
|
||||
@ -9,7 +9,7 @@ For more information about monitors, see [Inside-Out BGP Visibility](https://doc
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ For more information about credentials, see [Working With Secure Credentials](ht
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
|
||||
@ -32,7 +32,6 @@ docs/ApiDuration.md
|
||||
docs/ApiGeoMapWidget.md
|
||||
docs/ApiGraphletPoint.md
|
||||
docs/ApiGroupedBarchartWidget.md
|
||||
docs/ApiListWidget.md
|
||||
docs/ApiMultiMetricColumn.md
|
||||
docs/ApiMultiMetricColumnData.md
|
||||
docs/ApiMultiMetricTableWidget.md
|
||||
@ -94,7 +93,6 @@ docs/LegacyDurationUnit.md
|
||||
docs/LegacyWidgetSortDirection.md
|
||||
docs/LegacyWidgetSortProperty.md
|
||||
docs/Link.md
|
||||
docs/ListDatasource.md
|
||||
docs/MetricGroup.md
|
||||
docs/MultiMetricsTableDatasource.md
|
||||
docs/NumbersCardDatasource.md
|
||||
@ -156,7 +154,6 @@ src/thousandeyes_sdk/dashboards/models/api_duration.py
|
||||
src/thousandeyes_sdk/dashboards/models/api_geo_map_widget.py
|
||||
src/thousandeyes_sdk/dashboards/models/api_graphlet_point.py
|
||||
src/thousandeyes_sdk/dashboards/models/api_grouped_barchart_widget.py
|
||||
src/thousandeyes_sdk/dashboards/models/api_list_widget.py
|
||||
src/thousandeyes_sdk/dashboards/models/api_multi_metric_column.py
|
||||
src/thousandeyes_sdk/dashboards/models/api_multi_metric_column_data.py
|
||||
src/thousandeyes_sdk/dashboards/models/api_multi_metric_table_widget.py
|
||||
@ -215,7 +212,6 @@ src/thousandeyes_sdk/dashboards/models/legacy_duration_unit.py
|
||||
src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_direction.py
|
||||
src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_property.py
|
||||
src/thousandeyes_sdk/dashboards/models/link.py
|
||||
src/thousandeyes_sdk/dashboards/models/list_datasource.py
|
||||
src/thousandeyes_sdk/dashboards/models/metric_group.py
|
||||
src/thousandeyes_sdk/dashboards/models/multi_metrics_table_datasource.py
|
||||
src/thousandeyes_sdk/dashboards/models/numbers_card_datasource.py
|
||||
|
||||
@ -3,7 +3,7 @@ Manage ThousandEyes Dashboards.
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
@ -106,8 +106,6 @@ Class | Method | HTTP request | Description
|
||||
*DashboardsApi* | [**get_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboard) | **GET** /dashboards/{dashboardId} | Retrieve dashboard
|
||||
*DashboardsApi* | [**get_dashboard_widget_data**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboard_widget_data) | **GET** /dashboards/{dashboardId}/widgets/{widgetId} | Retrieve dashboard widget data
|
||||
*DashboardsApi* | [**get_dashboards**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboards) | **GET** /dashboards | List dashboards
|
||||
*DashboardsApi* | [**get_individual_card_data**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_individual_card_data) | **GET** /dashboards/{dashboardId}/widgets/{widgetId}/cards/{cardId} | Retrieve individual card data from numbers widget
|
||||
*DashboardsApi* | [**get_individual_column_data**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_individual_column_data) | **GET** /dashboards/{dashboardId}/widgets/{widgetId}/columns/{columnId} | Retrieve individual column data from multi-metric table widget
|
||||
*DashboardsApi* | [**update_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#update_dashboard) | **PUT** /dashboards/{dashboardId} | Update dashboard
|
||||
*DashboardsFiltersApi* | [**create_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#create_dashboard_filter) | **POST** /dashboards/filters | Create dashboard filter
|
||||
*DashboardsFiltersApi* | [**delete_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#delete_dashboard_filter) | **DELETE** /dashboards/filters/{id} | Delete dashboard filter
|
||||
@ -149,7 +147,6 @@ Class | Method | HTTP request | Description
|
||||
- [ApiGeoMapWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGeoMapWidget.md)
|
||||
- [ApiGraphletPoint](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGraphletPoint.md)
|
||||
- [ApiGroupedBarchartWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGroupedBarchartWidget.md)
|
||||
- [ApiListWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiListWidget.md)
|
||||
- [ApiMultiMetricColumn](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiMultiMetricColumn.md)
|
||||
- [ApiMultiMetricColumnData](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiMultiMetricColumnData.md)
|
||||
- [ApiMultiMetricTableWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiMultiMetricTableWidget.md)
|
||||
@ -208,7 +205,6 @@ Class | Method | HTTP request | Description
|
||||
- [LegacyWidgetSortDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/LegacyWidgetSortDirection.md)
|
||||
- [LegacyWidgetSortProperty](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/LegacyWidgetSortProperty.md)
|
||||
- [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/Link.md)
|
||||
- [ListDatasource](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ListDatasource.md)
|
||||
- [MetricGroup](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/MetricGroup.md)
|
||||
- [MultiMetricsTableDatasource](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/MultiMetricsTableDatasource.md)
|
||||
- [NumbersCardDatasource](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/NumbersCardDatasource.md)
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
# ApiAlertListWidget
|
||||
|
||||
A widget that displays a list of alerts based on specified criteria, such as alert type and time frame.
|
||||
|
||||
## Properties
|
||||
|
||||
|
||||
@ -30,8 +30,6 @@ Name | Type | Description | Notes
|
||||
**limit** | **int** | Limit configured in the widget. | [optional]
|
||||
**sort_by** | [**LegacyWidgetSortProperty**](LegacyWidgetSortProperty.md) | | [optional]
|
||||
**sort_direction** | [**LegacyWidgetSortDirection**](LegacyWidgetSortDirection.md) | | [optional]
|
||||
**sort_group_by** | [**LegacyWidgetSortProperty**](LegacyWidgetSortProperty.md) | | [optional]
|
||||
**sort_group_direction** | [**LegacyWidgetSortDirection**](LegacyWidgetSortDirection.md) | | [optional]
|
||||
**data_source** | [**ColorGridDatasource**](ColorGridDatasource.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
@ -1,47 +0,0 @@
|
||||
# ApiListWidget
|
||||
|
||||
A widget that displays a list of items, such as events. It can use a time range to limit the items shown.
|
||||
|
||||
## Properties
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**id** | **str** | Identifier of the widget. | [optional] [readonly]
|
||||
**title** | **str** | Title of the widget | [optional]
|
||||
**visual_mode** | [**VisualMode**](VisualMode.md) | | [optional]
|
||||
**embed_url** | **str** | When `isEmbedded` is set to `true`, an `embedUrl` is provided. | [optional] [readonly]
|
||||
**is_embedded** | **bool** | Set to `true` if widget is marked as embedded; otherwise, set to `false`. | [optional]
|
||||
**metric_group** | [**MetricGroup**](MetricGroup.md) | | [optional]
|
||||
**direction** | [**DashboardMetricDirection**](DashboardMetricDirection.md) | | [optional]
|
||||
**metric** | [**DashboardMetric**](DashboardMetric.md) | | [optional]
|
||||
**filters** | **Dict[str, List[object]]** | (Optional) Specifies the filters applied to the widget. When present, the `filters` property displays. Each filter object has two properties: `filterProperty` and `filterValue`. The `filterProperty` can be values like `AGENT`, `ENDPOINT_MACHINE_ID`, `TEST`, `MONITOR`, etc. The `filterValue` represents an identifier array of the selected property. | [optional]
|
||||
**measure** | [**ApiWidgetMeasure**](ApiWidgetMeasure.md) | | [optional]
|
||||
**fixed_timespan** | [**ApiDuration**](ApiDuration.md) | | [optional]
|
||||
**api_link** | **str** | | [optional] [readonly]
|
||||
**should_exclude_alert_suppression_windows** | **bool** | Excludes alert suppression window data if set to `true`. | [optional]
|
||||
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
|
||||
**type** | **str** | List widget type. Currently supports only `List`. |
|
||||
**sort_direction** | [**LegacyWidgetSortDirection**](LegacyWidgetSortDirection.md) | | [optional]
|
||||
**active_within** | [**ActiveWithin**](ActiveWithin.md) | | [optional]
|
||||
**data_source** | [**ListDatasource**](ListDatasource.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
```python
|
||||
from thousandeyes_sdk.dashboards.models.api_list_widget import ApiListWidget
|
||||
|
||||
# TODO update the JSON string below
|
||||
json = "{}"
|
||||
# create an instance of ApiListWidget from a JSON string
|
||||
api_list_widget_instance = ApiListWidget.from_json(json)
|
||||
# print the JSON string representation of the object
|
||||
print(ApiListWidget.to_json())
|
||||
|
||||
# convert the object into a dict
|
||||
api_list_widget_dict = api_list_widget_instance.to_dict()
|
||||
# create an instance of ApiListWidget from a dict
|
||||
api_list_widget_from_dict = ApiListWidget.from_dict(api_list_widget_dict)
|
||||
```
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
@ -13,7 +13,6 @@ Name | Type | Description | Notes
|
||||
**metric** | [**DashboardMetric**](DashboardMetric.md) | | [optional]
|
||||
**filters** | **Dict[str, List[object]]** | (Optional) Specifies the filters applied to the widget. When present, the `filters` property displays. Each filter object has two properties: `filterProperty` and `filterValue`. The `filterProperty` can be values like `AGENT`, `ENDPOINT_MACHINE_ID`, `TEST`, `MONITOR`, etc. The `filterValue` represents an identifier array of the selected property. | [optional]
|
||||
**measure** | [**ApiWidgetMeasure**](ApiWidgetMeasure.md) | | [optional]
|
||||
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
@ -11,7 +11,6 @@ Name | Type | Description | Notes
|
||||
**points** | [**List[ApiWidgetDataPoint]**](ApiWidgetDataPoint.md) | | [optional]
|
||||
**status** | **str** | Message for not fully configured card or no data. | [optional]
|
||||
**alert_suppression_windows** | [**List[ApiDashboardAsw]**](ApiDashboardAsw.md) | | [optional]
|
||||
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
@ -20,7 +20,6 @@ Name | Type | Description | Notes
|
||||
**direction** | [**DashboardMetricDirection**](DashboardMetricDirection.md) | | [optional]
|
||||
**metric** | [**DashboardMetric**](DashboardMetric.md) | | [optional]
|
||||
**filters** | **Dict[str, List[object]]** | (Optional) Specifies the filters applied to the widget. When present, the `filters` property displays. Each filter object has two properties: `filterProperty` and `filterValue`. The `filterProperty` can be values like `AGENT`, `ENDPOINT_MACHINE_ID`, `TEST`, `MONITOR`, etc. The `filterValue` represents an identifier array of the selected property. | [optional]
|
||||
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@ Name | Type | Description | Notes
|
||||
**value** | **float** | Aggregated value. | [optional]
|
||||
**status** | **str** | Message for not fully configured card or no data. | [optional]
|
||||
**alert_suppression_windows** | [**List[ApiDashboardAsw]**](ApiDashboardAsw.md) | | [optional]
|
||||
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
@ -36,8 +36,6 @@ Name | Type | Description | Notes
|
||||
**limit** | **int** | Limit configured in the widget. | [optional]
|
||||
**sort_by** | [**LegacyWidgetSortProperty**](LegacyWidgetSortProperty.md) | | [optional]
|
||||
**sort_direction** | [**LegacyWidgetSortDirection**](LegacyWidgetSortDirection.md) | | [optional]
|
||||
**sort_group_by** | [**LegacyWidgetSortProperty**](LegacyWidgetSortProperty.md) | | [optional]
|
||||
**sort_group_direction** | [**LegacyWidgetSortDirection**](LegacyWidgetSortDirection.md) | | [optional]
|
||||
**is_geo_map_per_test** | **bool** | Indicates whether a separate map is displayed for each test within the widget. When set to true, individual maps are generated. | [optional]
|
||||
**axis_group_by** | [**ApiAggregateProperty**](ApiAggregateProperty.md) | | [optional]
|
||||
**show_labels** | **bool** | | [optional]
|
||||
|
||||
@ -9,8 +9,6 @@ Method | HTTP request | Description
|
||||
[**get_dashboard**](DashboardsApi.md#get_dashboard) | **GET** /dashboards/{dashboardId} | Retrieve dashboard
|
||||
[**get_dashboard_widget_data**](DashboardsApi.md#get_dashboard_widget_data) | **GET** /dashboards/{dashboardId}/widgets/{widgetId} | Retrieve dashboard widget data
|
||||
[**get_dashboards**](DashboardsApi.md#get_dashboards) | **GET** /dashboards | List dashboards
|
||||
[**get_individual_card_data**](DashboardsApi.md#get_individual_card_data) | **GET** /dashboards/{dashboardId}/widgets/{widgetId}/cards/{cardId} | Retrieve individual card data from numbers widget
|
||||
[**get_individual_column_data**](DashboardsApi.md#get_individual_column_data) | **GET** /dashboards/{dashboardId}/widgets/{widgetId}/columns/{columnId} | Retrieve individual column data from multi-metric table widget
|
||||
[**update_dashboard**](DashboardsApi.md#update_dashboard) | **PUT** /dashboards/{dashboardId} | Update dashboard
|
||||
|
||||
|
||||
@ -456,198 +454,6 @@ Name | Type | Description | Notes
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_individual_card_data**
|
||||
> ApiNumbersCardData get_individual_card_data(dashboard_id, widget_id, card_id, aid=aid, window=window, start_date=start_date, end_date=end_date)
|
||||
|
||||
Retrieve individual card data from numbers widget
|
||||
|
||||
Returns the raw data for an individual card within a numbers widget in the dashboard.
|
||||
|
||||
### Example
|
||||
|
||||
* Bearer Authentication (BearerAuth):
|
||||
|
||||
```python
|
||||
import thousandeyes_sdk.dashboards
|
||||
from thousandeyes_sdk.dashboards.models.api_numbers_card_data import ApiNumbersCardData
|
||||
from thousandeyes_sdk.dashboards.rest import ApiException
|
||||
from pprint import pprint
|
||||
|
||||
# Defining the host is optional and defaults to https://api.thousandeyes.com/v7
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = thousandeyes_sdk.core.Configuration(
|
||||
host = "https://api.thousandeyes.com/v7"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure Bearer authorization: BearerAuth
|
||||
configuration = thousandeyes_sdk.core.Configuration(
|
||||
access_token = os.environ["BEARER_TOKEN"]
|
||||
)
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = thousandeyes_sdk.dashboards.DashboardsApi(api_client)
|
||||
dashboard_id = '646f4d2ce3c99b0536c3821e' # str | A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint.
|
||||
widget_id = 'unpmg' # str | A Identifier for a widget.
|
||||
card_id = 'rvwgs' # str | An identifier for a card within the numbers widget.
|
||||
aid = '1234' # str | 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. (optional)
|
||||
window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional)
|
||||
start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional)
|
||||
end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional)
|
||||
|
||||
try:
|
||||
# Retrieve individual card data from numbers widget
|
||||
api_response = api_instance.get_individual_card_data(dashboard_id, widget_id, card_id, aid=aid, window=window, start_date=start_date, end_date=end_date)
|
||||
print("The response of DashboardsApi->get_individual_card_data:\n")
|
||||
pprint(api_response)
|
||||
except Exception as e:
|
||||
print("Exception when calling DashboardsApi->get_individual_card_data: %s\n" % e)
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Parameters
|
||||
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**dashboard_id** | **str**| A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint. |
|
||||
**widget_id** | **str**| A Identifier for a widget. |
|
||||
**card_id** | **str**| An identifier for a card within the numbers widget. |
|
||||
**aid** | **str**| 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. | [optional]
|
||||
**window** | **str**| A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. | [optional]
|
||||
**start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional]
|
||||
**end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiNumbersCardData**](ApiNumbersCardData.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[BearerAuth](../README.md#BearerAuth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/hal+json, application/json, application/problem+json
|
||||
|
||||
### HTTP response details
|
||||
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | OK | - |
|
||||
**400** | Bad Request | - |
|
||||
**401** | Unauthorized | - |
|
||||
**403** | Insufficient permissions to query endpoint | - |
|
||||
**404** | Not found | - |
|
||||
**429** | Exhausted rate limit for the organization | - |
|
||||
**500** | Internal server error | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_individual_column_data**
|
||||
> ApiMultiMetricColumnData get_individual_column_data(dashboard_id, widget_id, column_id, aid=aid, window=window, start_date=start_date, end_date=end_date)
|
||||
|
||||
Retrieve individual column data from multi-metric table widget
|
||||
|
||||
Returns the raw data for an individual column within a multi-metric table widget in the dashboard.
|
||||
|
||||
### Example
|
||||
|
||||
* Bearer Authentication (BearerAuth):
|
||||
|
||||
```python
|
||||
import thousandeyes_sdk.dashboards
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_column_data import ApiMultiMetricColumnData
|
||||
from thousandeyes_sdk.dashboards.rest import ApiException
|
||||
from pprint import pprint
|
||||
|
||||
# Defining the host is optional and defaults to https://api.thousandeyes.com/v7
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = thousandeyes_sdk.core.Configuration(
|
||||
host = "https://api.thousandeyes.com/v7"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure Bearer authorization: BearerAuth
|
||||
configuration = thousandeyes_sdk.core.Configuration(
|
||||
access_token = os.environ["BEARER_TOKEN"]
|
||||
)
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = thousandeyes_sdk.dashboards.DashboardsApi(api_client)
|
||||
dashboard_id = '646f4d2ce3c99b0536c3821e' # str | A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint.
|
||||
widget_id = 'unpmg' # str | A Identifier for a widget.
|
||||
column_id = 'col123' # str | An identifier for a column within the multi-metric table widget.
|
||||
aid = '1234' # str | 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. (optional)
|
||||
window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional)
|
||||
start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional)
|
||||
end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional)
|
||||
|
||||
try:
|
||||
# Retrieve individual column data from multi-metric table widget
|
||||
api_response = api_instance.get_individual_column_data(dashboard_id, widget_id, column_id, aid=aid, window=window, start_date=start_date, end_date=end_date)
|
||||
print("The response of DashboardsApi->get_individual_column_data:\n")
|
||||
pprint(api_response)
|
||||
except Exception as e:
|
||||
print("Exception when calling DashboardsApi->get_individual_column_data: %s\n" % e)
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Parameters
|
||||
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**dashboard_id** | **str**| A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint. |
|
||||
**widget_id** | **str**| A Identifier for a widget. |
|
||||
**column_id** | **str**| An identifier for a column within the multi-metric table widget. |
|
||||
**aid** | **str**| 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. | [optional]
|
||||
**window** | **str**| A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. | [optional]
|
||||
**start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional]
|
||||
**end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiMultiMetricColumnData**](ApiMultiMetricColumnData.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[BearerAuth](../README.md#BearerAuth)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/hal+json, application/json, application/problem+json
|
||||
|
||||
### HTTP response details
|
||||
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | OK | - |
|
||||
**400** | Bad Request | - |
|
||||
**401** | Unauthorized | - |
|
||||
**403** | Insufficient permissions to query endpoint | - |
|
||||
**404** | Not found | - |
|
||||
**429** | Exhausted rate limit for the organization | - |
|
||||
**500** | Internal server error | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **update_dashboard**
|
||||
> Dashboard update_dashboard(dashboard_id, dashboard, aid=aid)
|
||||
|
||||
|
||||
@ -51,7 +51,6 @@ from thousandeyes_sdk.dashboards.models.api_duration import ApiDuration
|
||||
from thousandeyes_sdk.dashboards.models.api_geo_map_widget import ApiGeoMapWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_graphlet_point import ApiGraphletPoint
|
||||
from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_list_widget import ApiListWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_column import ApiMultiMetricColumn
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_column_data import ApiMultiMetricColumnData
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_table_widget import ApiMultiMetricTableWidget
|
||||
@ -110,7 +109,6 @@ from thousandeyes_sdk.dashboards.models.legacy_duration_unit import LegacyDurati
|
||||
from thousandeyes_sdk.dashboards.models.legacy_widget_sort_direction import LegacyWidgetSortDirection
|
||||
from thousandeyes_sdk.dashboards.models.legacy_widget_sort_property import LegacyWidgetSortProperty
|
||||
from thousandeyes_sdk.dashboards.models.link import Link
|
||||
from thousandeyes_sdk.dashboards.models.list_datasource import ListDatasource
|
||||
from thousandeyes_sdk.dashboards.models.metric_group import MetricGroup
|
||||
from thousandeyes_sdk.dashboards.models.multi_metrics_table_datasource import MultiMetricsTableDatasource
|
||||
from thousandeyes_sdk.dashboards.models.numbers_card_datasource import NumbersCardDatasource
|
||||
|
||||
@ -23,8 +23,6 @@ from pydantic import Field, StrictFloat, StrictInt, StrictStr, field_validator
|
||||
from typing import List, Optional, Union
|
||||
from typing_extensions import Annotated
|
||||
from thousandeyes_sdk.dashboards.models.api_dashboard import ApiDashboard
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_column_data import ApiMultiMetricColumnData
|
||||
from thousandeyes_sdk.dashboards.models.api_numbers_card_data import ApiNumbersCardData
|
||||
from thousandeyes_sdk.dashboards.models.api_widget_data_response import ApiWidgetDataResponse
|
||||
from thousandeyes_sdk.dashboards.models.dashboard import Dashboard
|
||||
from thousandeyes_sdk.dashboards.models.dashboard_order import DashboardOrder
|
||||
@ -1682,798 +1680,6 @@ class DashboardsApi:
|
||||
|
||||
|
||||
|
||||
@validate_call
|
||||
def get_individual_card_data(
|
||||
self,
|
||||
dashboard_id: Annotated[StrictStr, Field(description="A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint.")],
|
||||
widget_id: Annotated[StrictStr, Field(description="A Identifier for a widget.")],
|
||||
card_id: Annotated[StrictStr, Field(description="An identifier for a card within the numbers widget.")],
|
||||
aid: Annotated[Optional[StrictStr], Field(description="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.")] = None,
|
||||
window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None,
|
||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Tuple[
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Annotated[StrictFloat, Field(gt=0)]
|
||||
]
|
||||
] = None,
|
||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
||||
_content_type: Optional[StrictStr] = None,
|
||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
||||
) -> ApiNumbersCardData:
|
||||
"""Retrieve individual card data from numbers widget
|
||||
|
||||
Returns the raw data for an individual card within a numbers widget in the dashboard.
|
||||
|
||||
:param dashboard_id: A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint. (required)
|
||||
:type dashboard_id: str
|
||||
:param widget_id: A Identifier for a widget. (required)
|
||||
:type widget_id: str
|
||||
:param card_id: An identifier for a card within the numbers widget. (required)
|
||||
:type card_id: str
|
||||
: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
|
||||
:param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.
|
||||
:type window: str
|
||||
:param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type start_date: datetime
|
||||
:param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type end_date: datetime
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:type _request_timeout: int, tuple(int, int), optional
|
||||
:param _request_auth: set to override the auth_settings for an a single
|
||||
request; this effectively ignores the
|
||||
authentication in the spec for a single request.
|
||||
:type _request_auth: dict, optional
|
||||
:param _content_type: force content-type for the request.
|
||||
:type _content_type: str, Optional
|
||||
:param _headers: set to override the headers for a single
|
||||
request; this effectively ignores the headers
|
||||
in the spec for a single request.
|
||||
:type _headers: dict, optional
|
||||
:param _host_index: set to override the host_index for a single
|
||||
request; this effectively ignores the host_index
|
||||
in the spec for a single request.
|
||||
:type _host_index: int, optional
|
||||
:return: Returns the result object.
|
||||
""" # noqa: E501
|
||||
|
||||
_param = self._get_individual_card_data_serialize(
|
||||
dashboard_id=dashboard_id,
|
||||
widget_id=widget_id,
|
||||
card_id=card_id,
|
||||
aid=aid,
|
||||
window=window,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
_request_auth=_request_auth,
|
||||
_content_type=_content_type,
|
||||
_headers=_headers,
|
||||
_host_index=_host_index
|
||||
)
|
||||
|
||||
_response_types_map: Dict[str, Optional[str]] = {
|
||||
'200': "ApiNumbersCardData",
|
||||
'400': "ValidationError",
|
||||
'401': "UnauthorizedError",
|
||||
'403': "Error",
|
||||
'404': "Error",
|
||||
'429': "Error",
|
||||
'500': "Error",
|
||||
}
|
||||
response_data = self.api_client.call_api(
|
||||
*_param,
|
||||
_request_timeout=_request_timeout
|
||||
)
|
||||
response_data.read()
|
||||
return self.api_client.response_deserialize(
|
||||
response_data=response_data,
|
||||
response_types_map=_response_types_map,
|
||||
models=thousandeyes_sdk.dashboards.models,
|
||||
).data
|
||||
|
||||
|
||||
@validate_call
|
||||
def get_individual_card_data_with_http_info(
|
||||
self,
|
||||
dashboard_id: Annotated[StrictStr, Field(description="A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint.")],
|
||||
widget_id: Annotated[StrictStr, Field(description="A Identifier for a widget.")],
|
||||
card_id: Annotated[StrictStr, Field(description="An identifier for a card within the numbers widget.")],
|
||||
aid: Annotated[Optional[StrictStr], Field(description="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.")] = None,
|
||||
window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None,
|
||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Tuple[
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Annotated[StrictFloat, Field(gt=0)]
|
||||
]
|
||||
] = None,
|
||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
||||
_content_type: Optional[StrictStr] = None,
|
||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
||||
) -> ApiResponse[ApiNumbersCardData]:
|
||||
"""Retrieve individual card data from numbers widget
|
||||
|
||||
Returns the raw data for an individual card within a numbers widget in the dashboard.
|
||||
|
||||
:param dashboard_id: A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint. (required)
|
||||
:type dashboard_id: str
|
||||
:param widget_id: A Identifier for a widget. (required)
|
||||
:type widget_id: str
|
||||
:param card_id: An identifier for a card within the numbers widget. (required)
|
||||
:type card_id: str
|
||||
: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
|
||||
:param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.
|
||||
:type window: str
|
||||
:param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type start_date: datetime
|
||||
:param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type end_date: datetime
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:type _request_timeout: int, tuple(int, int), optional
|
||||
:param _request_auth: set to override the auth_settings for an a single
|
||||
request; this effectively ignores the
|
||||
authentication in the spec for a single request.
|
||||
:type _request_auth: dict, optional
|
||||
:param _content_type: force content-type for the request.
|
||||
:type _content_type: str, Optional
|
||||
:param _headers: set to override the headers for a single
|
||||
request; this effectively ignores the headers
|
||||
in the spec for a single request.
|
||||
:type _headers: dict, optional
|
||||
:param _host_index: set to override the host_index for a single
|
||||
request; this effectively ignores the host_index
|
||||
in the spec for a single request.
|
||||
:type _host_index: int, optional
|
||||
:return: Returns the result object.
|
||||
""" # noqa: E501
|
||||
|
||||
_param = self._get_individual_card_data_serialize(
|
||||
dashboard_id=dashboard_id,
|
||||
widget_id=widget_id,
|
||||
card_id=card_id,
|
||||
aid=aid,
|
||||
window=window,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
_request_auth=_request_auth,
|
||||
_content_type=_content_type,
|
||||
_headers=_headers,
|
||||
_host_index=_host_index
|
||||
)
|
||||
|
||||
_response_types_map: Dict[str, Optional[str]] = {
|
||||
'200': "ApiNumbersCardData",
|
||||
'400': "ValidationError",
|
||||
'401': "UnauthorizedError",
|
||||
'403': "Error",
|
||||
'404': "Error",
|
||||
'429': "Error",
|
||||
'500': "Error",
|
||||
}
|
||||
response_data = self.api_client.call_api(
|
||||
*_param,
|
||||
_request_timeout=_request_timeout
|
||||
)
|
||||
response_data.read()
|
||||
return self.api_client.response_deserialize(
|
||||
response_data=response_data,
|
||||
response_types_map=_response_types_map,
|
||||
models=thousandeyes_sdk.dashboards.models,
|
||||
)
|
||||
|
||||
|
||||
@validate_call
|
||||
def get_individual_card_data_without_preload_content(
|
||||
self,
|
||||
dashboard_id: Annotated[StrictStr, Field(description="A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint.")],
|
||||
widget_id: Annotated[StrictStr, Field(description="A Identifier for a widget.")],
|
||||
card_id: Annotated[StrictStr, Field(description="An identifier for a card within the numbers widget.")],
|
||||
aid: Annotated[Optional[StrictStr], Field(description="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.")] = None,
|
||||
window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None,
|
||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Tuple[
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Annotated[StrictFloat, Field(gt=0)]
|
||||
]
|
||||
] = None,
|
||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
||||
_content_type: Optional[StrictStr] = None,
|
||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
||||
) -> RESTResponseType:
|
||||
"""Retrieve individual card data from numbers widget
|
||||
|
||||
Returns the raw data for an individual card within a numbers widget in the dashboard.
|
||||
|
||||
:param dashboard_id: A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint. (required)
|
||||
:type dashboard_id: str
|
||||
:param widget_id: A Identifier for a widget. (required)
|
||||
:type widget_id: str
|
||||
:param card_id: An identifier for a card within the numbers widget. (required)
|
||||
:type card_id: str
|
||||
: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
|
||||
:param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.
|
||||
:type window: str
|
||||
:param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type start_date: datetime
|
||||
:param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type end_date: datetime
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:type _request_timeout: int, tuple(int, int), optional
|
||||
:param _request_auth: set to override the auth_settings for an a single
|
||||
request; this effectively ignores the
|
||||
authentication in the spec for a single request.
|
||||
:type _request_auth: dict, optional
|
||||
:param _content_type: force content-type for the request.
|
||||
:type _content_type: str, Optional
|
||||
:param _headers: set to override the headers for a single
|
||||
request; this effectively ignores the headers
|
||||
in the spec for a single request.
|
||||
:type _headers: dict, optional
|
||||
:param _host_index: set to override the host_index for a single
|
||||
request; this effectively ignores the host_index
|
||||
in the spec for a single request.
|
||||
:type _host_index: int, optional
|
||||
:return: Returns the result object.
|
||||
""" # noqa: E501
|
||||
|
||||
_param = self._get_individual_card_data_serialize(
|
||||
dashboard_id=dashboard_id,
|
||||
widget_id=widget_id,
|
||||
card_id=card_id,
|
||||
aid=aid,
|
||||
window=window,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
_request_auth=_request_auth,
|
||||
_content_type=_content_type,
|
||||
_headers=_headers,
|
||||
_host_index=_host_index
|
||||
)
|
||||
|
||||
_response_types_map: Dict[str, Optional[str]] = {
|
||||
'200': "ApiNumbersCardData",
|
||||
'400': "ValidationError",
|
||||
'401': "UnauthorizedError",
|
||||
'403': "Error",
|
||||
'404': "Error",
|
||||
'429': "Error",
|
||||
'500': "Error",
|
||||
}
|
||||
response_data = self.api_client.call_api(
|
||||
*_param,
|
||||
_request_timeout=_request_timeout
|
||||
)
|
||||
return response_data.response
|
||||
|
||||
|
||||
def _get_individual_card_data_serialize(
|
||||
self,
|
||||
dashboard_id,
|
||||
widget_id,
|
||||
card_id,
|
||||
aid,
|
||||
window,
|
||||
start_date,
|
||||
end_date,
|
||||
_request_auth,
|
||||
_content_type,
|
||||
_headers,
|
||||
_host_index,
|
||||
) -> RequestSerialized:
|
||||
|
||||
_host = None
|
||||
|
||||
_collection_formats: Dict[str, str] = {
|
||||
}
|
||||
|
||||
_path_params: Dict[str, str] = {}
|
||||
_query_params: List[Tuple[str, str]] = []
|
||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
||||
_form_params: List[Tuple[str, str]] = []
|
||||
_files: Dict[str, Union[str, bytes]] = {}
|
||||
_body_params: Optional[bytes] = None
|
||||
|
||||
# process the path parameters
|
||||
if dashboard_id is not None:
|
||||
_path_params['dashboardId'] = dashboard_id
|
||||
if widget_id is not None:
|
||||
_path_params['widgetId'] = widget_id
|
||||
if card_id is not None:
|
||||
_path_params['cardId'] = card_id
|
||||
# process the query parameters
|
||||
if aid is not None:
|
||||
|
||||
_query_params.append(('aid', aid))
|
||||
|
||||
if window is not None:
|
||||
|
||||
_query_params.append(('window', window))
|
||||
|
||||
if start_date is not None:
|
||||
if isinstance(start_date, datetime):
|
||||
_query_params.append(
|
||||
(
|
||||
'startDate',
|
||||
start_date.strftime(
|
||||
self.api_client.configuration.datetime_format
|
||||
)
|
||||
)
|
||||
)
|
||||
else:
|
||||
_query_params.append(('startDate', start_date))
|
||||
|
||||
if end_date is not None:
|
||||
if isinstance(end_date, datetime):
|
||||
_query_params.append(
|
||||
(
|
||||
'endDate',
|
||||
end_date.strftime(
|
||||
self.api_client.configuration.datetime_format
|
||||
)
|
||||
)
|
||||
)
|
||||
else:
|
||||
_query_params.append(('endDate', end_date))
|
||||
|
||||
# process the header parameters
|
||||
# process the form parameters
|
||||
# process the body parameter
|
||||
|
||||
|
||||
# set the HTTP header `Accept`
|
||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
||||
[
|
||||
'application/hal+json',
|
||||
'application/json',
|
||||
'application/problem+json'
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
# authentication setting
|
||||
_auth_settings: List[str] = [
|
||||
'BearerAuth'
|
||||
]
|
||||
|
||||
return self.api_client.param_serialize(
|
||||
method='GET',
|
||||
resource_path='/dashboards/{dashboardId}/widgets/{widgetId}/cards/{cardId}',
|
||||
path_params=_path_params,
|
||||
query_params=_query_params,
|
||||
header_params=_header_params,
|
||||
body=_body_params,
|
||||
post_params=_form_params,
|
||||
files=_files,
|
||||
auth_settings=_auth_settings,
|
||||
collection_formats=_collection_formats,
|
||||
_host=_host,
|
||||
_request_auth=_request_auth
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
@validate_call
|
||||
def get_individual_column_data(
|
||||
self,
|
||||
dashboard_id: Annotated[StrictStr, Field(description="A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint.")],
|
||||
widget_id: Annotated[StrictStr, Field(description="A Identifier for a widget.")],
|
||||
column_id: Annotated[StrictStr, Field(description="An identifier for a column within the multi-metric table widget.")],
|
||||
aid: Annotated[Optional[StrictStr], Field(description="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.")] = None,
|
||||
window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None,
|
||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Tuple[
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Annotated[StrictFloat, Field(gt=0)]
|
||||
]
|
||||
] = None,
|
||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
||||
_content_type: Optional[StrictStr] = None,
|
||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
||||
) -> ApiMultiMetricColumnData:
|
||||
"""Retrieve individual column data from multi-metric table widget
|
||||
|
||||
Returns the raw data for an individual column within a multi-metric table widget in the dashboard.
|
||||
|
||||
:param dashboard_id: A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint. (required)
|
||||
:type dashboard_id: str
|
||||
:param widget_id: A Identifier for a widget. (required)
|
||||
:type widget_id: str
|
||||
:param column_id: An identifier for a column within the multi-metric table widget. (required)
|
||||
:type column_id: str
|
||||
: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
|
||||
:param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.
|
||||
:type window: str
|
||||
:param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type start_date: datetime
|
||||
:param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type end_date: datetime
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:type _request_timeout: int, tuple(int, int), optional
|
||||
:param _request_auth: set to override the auth_settings for an a single
|
||||
request; this effectively ignores the
|
||||
authentication in the spec for a single request.
|
||||
:type _request_auth: dict, optional
|
||||
:param _content_type: force content-type for the request.
|
||||
:type _content_type: str, Optional
|
||||
:param _headers: set to override the headers for a single
|
||||
request; this effectively ignores the headers
|
||||
in the spec for a single request.
|
||||
:type _headers: dict, optional
|
||||
:param _host_index: set to override the host_index for a single
|
||||
request; this effectively ignores the host_index
|
||||
in the spec for a single request.
|
||||
:type _host_index: int, optional
|
||||
:return: Returns the result object.
|
||||
""" # noqa: E501
|
||||
|
||||
_param = self._get_individual_column_data_serialize(
|
||||
dashboard_id=dashboard_id,
|
||||
widget_id=widget_id,
|
||||
column_id=column_id,
|
||||
aid=aid,
|
||||
window=window,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
_request_auth=_request_auth,
|
||||
_content_type=_content_type,
|
||||
_headers=_headers,
|
||||
_host_index=_host_index
|
||||
)
|
||||
|
||||
_response_types_map: Dict[str, Optional[str]] = {
|
||||
'200': "ApiMultiMetricColumnData",
|
||||
'400': "ValidationError",
|
||||
'401': "UnauthorizedError",
|
||||
'403': "Error",
|
||||
'404': "Error",
|
||||
'429': "Error",
|
||||
'500': "Error",
|
||||
}
|
||||
response_data = self.api_client.call_api(
|
||||
*_param,
|
||||
_request_timeout=_request_timeout
|
||||
)
|
||||
response_data.read()
|
||||
return self.api_client.response_deserialize(
|
||||
response_data=response_data,
|
||||
response_types_map=_response_types_map,
|
||||
models=thousandeyes_sdk.dashboards.models,
|
||||
).data
|
||||
|
||||
|
||||
@validate_call
|
||||
def get_individual_column_data_with_http_info(
|
||||
self,
|
||||
dashboard_id: Annotated[StrictStr, Field(description="A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint.")],
|
||||
widget_id: Annotated[StrictStr, Field(description="A Identifier for a widget.")],
|
||||
column_id: Annotated[StrictStr, Field(description="An identifier for a column within the multi-metric table widget.")],
|
||||
aid: Annotated[Optional[StrictStr], Field(description="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.")] = None,
|
||||
window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None,
|
||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Tuple[
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Annotated[StrictFloat, Field(gt=0)]
|
||||
]
|
||||
] = None,
|
||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
||||
_content_type: Optional[StrictStr] = None,
|
||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
||||
) -> ApiResponse[ApiMultiMetricColumnData]:
|
||||
"""Retrieve individual column data from multi-metric table widget
|
||||
|
||||
Returns the raw data for an individual column within a multi-metric table widget in the dashboard.
|
||||
|
||||
:param dashboard_id: A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint. (required)
|
||||
:type dashboard_id: str
|
||||
:param widget_id: A Identifier for a widget. (required)
|
||||
:type widget_id: str
|
||||
:param column_id: An identifier for a column within the multi-metric table widget. (required)
|
||||
:type column_id: str
|
||||
: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
|
||||
:param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.
|
||||
:type window: str
|
||||
:param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type start_date: datetime
|
||||
:param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type end_date: datetime
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:type _request_timeout: int, tuple(int, int), optional
|
||||
:param _request_auth: set to override the auth_settings for an a single
|
||||
request; this effectively ignores the
|
||||
authentication in the spec for a single request.
|
||||
:type _request_auth: dict, optional
|
||||
:param _content_type: force content-type for the request.
|
||||
:type _content_type: str, Optional
|
||||
:param _headers: set to override the headers for a single
|
||||
request; this effectively ignores the headers
|
||||
in the spec for a single request.
|
||||
:type _headers: dict, optional
|
||||
:param _host_index: set to override the host_index for a single
|
||||
request; this effectively ignores the host_index
|
||||
in the spec for a single request.
|
||||
:type _host_index: int, optional
|
||||
:return: Returns the result object.
|
||||
""" # noqa: E501
|
||||
|
||||
_param = self._get_individual_column_data_serialize(
|
||||
dashboard_id=dashboard_id,
|
||||
widget_id=widget_id,
|
||||
column_id=column_id,
|
||||
aid=aid,
|
||||
window=window,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
_request_auth=_request_auth,
|
||||
_content_type=_content_type,
|
||||
_headers=_headers,
|
||||
_host_index=_host_index
|
||||
)
|
||||
|
||||
_response_types_map: Dict[str, Optional[str]] = {
|
||||
'200': "ApiMultiMetricColumnData",
|
||||
'400': "ValidationError",
|
||||
'401': "UnauthorizedError",
|
||||
'403': "Error",
|
||||
'404': "Error",
|
||||
'429': "Error",
|
||||
'500': "Error",
|
||||
}
|
||||
response_data = self.api_client.call_api(
|
||||
*_param,
|
||||
_request_timeout=_request_timeout
|
||||
)
|
||||
response_data.read()
|
||||
return self.api_client.response_deserialize(
|
||||
response_data=response_data,
|
||||
response_types_map=_response_types_map,
|
||||
models=thousandeyes_sdk.dashboards.models,
|
||||
)
|
||||
|
||||
|
||||
@validate_call
|
||||
def get_individual_column_data_without_preload_content(
|
||||
self,
|
||||
dashboard_id: Annotated[StrictStr, Field(description="A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint.")],
|
||||
widget_id: Annotated[StrictStr, Field(description="A Identifier for a widget.")],
|
||||
column_id: Annotated[StrictStr, Field(description="An identifier for a column within the multi-metric table widget.")],
|
||||
aid: Annotated[Optional[StrictStr], Field(description="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.")] = None,
|
||||
window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None,
|
||||
start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None,
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Tuple[
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
Annotated[StrictFloat, Field(gt=0)]
|
||||
]
|
||||
] = None,
|
||||
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
||||
_content_type: Optional[StrictStr] = None,
|
||||
_headers: Optional[Dict[StrictStr, Any]] = None,
|
||||
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
||||
) -> RESTResponseType:
|
||||
"""Retrieve individual column data from multi-metric table widget
|
||||
|
||||
Returns the raw data for an individual column within a multi-metric table widget in the dashboard.
|
||||
|
||||
:param dashboard_id: A Identifier for a dashboard which can be obtained from the `/dashboards` endpoint. (required)
|
||||
:type dashboard_id: str
|
||||
:param widget_id: A Identifier for a widget. (required)
|
||||
:type widget_id: str
|
||||
:param column_id: An identifier for a column within the multi-metric table widget. (required)
|
||||
:type column_id: str
|
||||
: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
|
||||
:param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.
|
||||
:type window: str
|
||||
:param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type start_date: datetime
|
||||
:param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.
|
||||
:type end_date: datetime
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:type _request_timeout: int, tuple(int, int), optional
|
||||
:param _request_auth: set to override the auth_settings for an a single
|
||||
request; this effectively ignores the
|
||||
authentication in the spec for a single request.
|
||||
:type _request_auth: dict, optional
|
||||
:param _content_type: force content-type for the request.
|
||||
:type _content_type: str, Optional
|
||||
:param _headers: set to override the headers for a single
|
||||
request; this effectively ignores the headers
|
||||
in the spec for a single request.
|
||||
:type _headers: dict, optional
|
||||
:param _host_index: set to override the host_index for a single
|
||||
request; this effectively ignores the host_index
|
||||
in the spec for a single request.
|
||||
:type _host_index: int, optional
|
||||
:return: Returns the result object.
|
||||
""" # noqa: E501
|
||||
|
||||
_param = self._get_individual_column_data_serialize(
|
||||
dashboard_id=dashboard_id,
|
||||
widget_id=widget_id,
|
||||
column_id=column_id,
|
||||
aid=aid,
|
||||
window=window,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
_request_auth=_request_auth,
|
||||
_content_type=_content_type,
|
||||
_headers=_headers,
|
||||
_host_index=_host_index
|
||||
)
|
||||
|
||||
_response_types_map: Dict[str, Optional[str]] = {
|
||||
'200': "ApiMultiMetricColumnData",
|
||||
'400': "ValidationError",
|
||||
'401': "UnauthorizedError",
|
||||
'403': "Error",
|
||||
'404': "Error",
|
||||
'429': "Error",
|
||||
'500': "Error",
|
||||
}
|
||||
response_data = self.api_client.call_api(
|
||||
*_param,
|
||||
_request_timeout=_request_timeout
|
||||
)
|
||||
return response_data.response
|
||||
|
||||
|
||||
def _get_individual_column_data_serialize(
|
||||
self,
|
||||
dashboard_id,
|
||||
widget_id,
|
||||
column_id,
|
||||
aid,
|
||||
window,
|
||||
start_date,
|
||||
end_date,
|
||||
_request_auth,
|
||||
_content_type,
|
||||
_headers,
|
||||
_host_index,
|
||||
) -> RequestSerialized:
|
||||
|
||||
_host = None
|
||||
|
||||
_collection_formats: Dict[str, str] = {
|
||||
}
|
||||
|
||||
_path_params: Dict[str, str] = {}
|
||||
_query_params: List[Tuple[str, str]] = []
|
||||
_header_params: Dict[str, Optional[str]] = _headers or {}
|
||||
_form_params: List[Tuple[str, str]] = []
|
||||
_files: Dict[str, Union[str, bytes]] = {}
|
||||
_body_params: Optional[bytes] = None
|
||||
|
||||
# process the path parameters
|
||||
if dashboard_id is not None:
|
||||
_path_params['dashboardId'] = dashboard_id
|
||||
if widget_id is not None:
|
||||
_path_params['widgetId'] = widget_id
|
||||
if column_id is not None:
|
||||
_path_params['columnId'] = column_id
|
||||
# process the query parameters
|
||||
if aid is not None:
|
||||
|
||||
_query_params.append(('aid', aid))
|
||||
|
||||
if window is not None:
|
||||
|
||||
_query_params.append(('window', window))
|
||||
|
||||
if start_date is not None:
|
||||
if isinstance(start_date, datetime):
|
||||
_query_params.append(
|
||||
(
|
||||
'startDate',
|
||||
start_date.strftime(
|
||||
self.api_client.configuration.datetime_format
|
||||
)
|
||||
)
|
||||
)
|
||||
else:
|
||||
_query_params.append(('startDate', start_date))
|
||||
|
||||
if end_date is not None:
|
||||
if isinstance(end_date, datetime):
|
||||
_query_params.append(
|
||||
(
|
||||
'endDate',
|
||||
end_date.strftime(
|
||||
self.api_client.configuration.datetime_format
|
||||
)
|
||||
)
|
||||
)
|
||||
else:
|
||||
_query_params.append(('endDate', end_date))
|
||||
|
||||
# process the header parameters
|
||||
# process the form parameters
|
||||
# process the body parameter
|
||||
|
||||
|
||||
# set the HTTP header `Accept`
|
||||
_header_params['Accept'] = self.api_client.select_header_accept(
|
||||
[
|
||||
'application/hal+json',
|
||||
'application/json',
|
||||
'application/problem+json'
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
# authentication setting
|
||||
_auth_settings: List[str] = [
|
||||
'BearerAuth'
|
||||
]
|
||||
|
||||
return self.api_client.param_serialize(
|
||||
method='GET',
|
||||
resource_path='/dashboards/{dashboardId}/widgets/{widgetId}/columns/{columnId}',
|
||||
path_params=_path_params,
|
||||
query_params=_query_params,
|
||||
header_params=_header_params,
|
||||
body=_body_params,
|
||||
post_params=_form_params,
|
||||
files=_files,
|
||||
auth_settings=_auth_settings,
|
||||
collection_formats=_collection_formats,
|
||||
_host=_host,
|
||||
_request_auth=_request_auth
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
@validate_call
|
||||
def update_dashboard(
|
||||
self,
|
||||
|
||||
@ -44,7 +44,6 @@ from thousandeyes_sdk.dashboards.models.api_duration import ApiDuration
|
||||
from thousandeyes_sdk.dashboards.models.api_geo_map_widget import ApiGeoMapWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_graphlet_point import ApiGraphletPoint
|
||||
from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_list_widget import ApiListWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_column import ApiMultiMetricColumn
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_column_data import ApiMultiMetricColumnData
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_table_widget import ApiMultiMetricTableWidget
|
||||
@ -103,7 +102,6 @@ from thousandeyes_sdk.dashboards.models.legacy_duration_unit import LegacyDurati
|
||||
from thousandeyes_sdk.dashboards.models.legacy_widget_sort_direction import LegacyWidgetSortDirection
|
||||
from thousandeyes_sdk.dashboards.models.legacy_widget_sort_property import LegacyWidgetSortProperty
|
||||
from thousandeyes_sdk.dashboards.models.link import Link
|
||||
from thousandeyes_sdk.dashboards.models.list_datasource import ListDatasource
|
||||
from thousandeyes_sdk.dashboards.models.metric_group import MetricGroup
|
||||
from thousandeyes_sdk.dashboards.models.multi_metrics_table_datasource import MultiMetricsTableDatasource
|
||||
from thousandeyes_sdk.dashboards.models.numbers_card_datasource import NumbersCardDatasource
|
||||
|
||||
@ -37,7 +37,6 @@ class AlertListAlertType(str, Enum):
|
||||
WEB_MINUS_PAGE_MINUS_LOAD = 'web-page-load'
|
||||
WEB_MINUS_TRANSACTION_MINUS_CLASSIC = 'web-transaction-classic'
|
||||
WEB_MINUS_TRANSACTION = 'web-transaction'
|
||||
API = 'api'
|
||||
WEB_MINUS_FTP_MINUS_SERVER = 'web-ftp-server'
|
||||
VOICE_MINUS_SIP_MINUS_SERVER = 'voice-sip-server'
|
||||
VOICE_MINUS_RTP_MINUS_STREAM = 'voice-rtp-stream'
|
||||
|
||||
@ -34,7 +34,7 @@ from typing_extensions import Self
|
||||
|
||||
class ApiAlertListWidget(BaseModel):
|
||||
"""
|
||||
A widget that displays a list of alerts based on specified criteria, such as alert type and time frame.
|
||||
ApiAlertListWidget
|
||||
""" # noqa: E501
|
||||
id: Optional[StrictStr] = Field(default=None, description="Identifier of the widget.")
|
||||
title: Optional[StrictStr] = Field(default=None, description="Title of the widget")
|
||||
|
||||
@ -62,10 +62,8 @@ class ApiColorGridWidget(BaseModel):
|
||||
limit: Optional[StrictInt] = Field(default=None, description="Limit configured in the widget.")
|
||||
sort_by: Optional[LegacyWidgetSortProperty] = Field(default=None, alias="sortBy")
|
||||
sort_direction: Optional[LegacyWidgetSortDirection] = Field(default=None, alias="sortDirection")
|
||||
sort_group_by: Optional[LegacyWidgetSortProperty] = Field(default=None, alias="sortGroupBy")
|
||||
sort_group_direction: Optional[LegacyWidgetSortDirection] = Field(default=None, alias="sortGroupDirection")
|
||||
data_source: Optional[ColorGridDatasource] = Field(default=None, alias="dataSource")
|
||||
__properties: ClassVar[List[str]] = ["id", "title", "visualMode", "embedUrl", "isEmbedded", "metricGroup", "direction", "metric", "filters", "measure", "fixedTimespan", "apiLink", "shouldExcludeAlertSuppressionWindows", "_links", "minScale", "maxScale", "unit", "type", "cards", "groupCardsBy", "columns", "limit", "sortBy", "sortDirection", "sortGroupBy", "sortGroupDirection", "dataSource"]
|
||||
__properties: ClassVar[List[str]] = ["id", "title", "visualMode", "embedUrl", "isEmbedded", "metricGroup", "direction", "metric", "filters", "measure", "fixedTimespan", "apiLink", "shouldExcludeAlertSuppressionWindows", "_links", "minScale", "maxScale", "unit", "type", "cards", "groupCardsBy", "columns", "limit", "sortBy", "sortDirection", "dataSource"]
|
||||
|
||||
@field_validator('type')
|
||||
def type_validate_regular_expression(cls, value):
|
||||
@ -165,8 +163,6 @@ class ApiColorGridWidget(BaseModel):
|
||||
"limit": obj.get("limit"),
|
||||
"sortBy": obj.get("sortBy"),
|
||||
"sortDirection": obj.get("sortDirection"),
|
||||
"sortGroupBy": obj.get("sortGroupBy"),
|
||||
"sortGroupDirection": obj.get("sortGroupDirection"),
|
||||
"dataSource": obj.get("dataSource")
|
||||
})
|
||||
return _obj
|
||||
|
||||
@ -1,157 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Dashboards API
|
||||
|
||||
Manage ThousandEyes Dashboards.
|
||||
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from thousandeyes_sdk.dashboards.models.active_within import ActiveWithin
|
||||
from thousandeyes_sdk.dashboards.models.api_duration import ApiDuration
|
||||
from thousandeyes_sdk.dashboards.models.api_widget_measure import ApiWidgetMeasure
|
||||
from thousandeyes_sdk.dashboards.models.dashboard_metric import DashboardMetric
|
||||
from thousandeyes_sdk.dashboards.models.dashboard_metric_direction import DashboardMetricDirection
|
||||
from thousandeyes_sdk.dashboards.models.legacy_widget_sort_direction import LegacyWidgetSortDirection
|
||||
from thousandeyes_sdk.dashboards.models.list_datasource import ListDatasource
|
||||
from thousandeyes_sdk.dashboards.models.metric_group import MetricGroup
|
||||
from thousandeyes_sdk.dashboards.models.self_links import SelfLinks
|
||||
from thousandeyes_sdk.dashboards.models.visual_mode import VisualMode
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class ApiListWidget(BaseModel):
|
||||
"""
|
||||
A widget that displays a list of items, such as events. It can use a time range to limit the items shown.
|
||||
""" # noqa: E501
|
||||
id: Optional[StrictStr] = Field(default=None, description="Identifier of the widget.")
|
||||
title: Optional[StrictStr] = Field(default=None, description="Title of the widget")
|
||||
visual_mode: Optional[VisualMode] = Field(default=None, alias="visualMode")
|
||||
embed_url: Optional[StrictStr] = Field(default=None, description="When `isEmbedded` is set to `true`, an `embedUrl` is provided.", alias="embedUrl")
|
||||
is_embedded: Optional[StrictBool] = Field(default=None, description="Set to `true` if widget is marked as embedded; otherwise, set to `false`.", alias="isEmbedded")
|
||||
metric_group: Optional[MetricGroup] = Field(default=None, alias="metricGroup")
|
||||
direction: Optional[DashboardMetricDirection] = None
|
||||
metric: Optional[DashboardMetric] = None
|
||||
filters: Optional[Dict[str, List[Any]]] = Field(default=None, description="(Optional) Specifies the filters applied to the widget. When present, the `filters` property displays. Each filter object has two properties: `filterProperty` and `filterValue`. The `filterProperty` can be values like `AGENT`, `ENDPOINT_MACHINE_ID`, `TEST`, `MONITOR`, etc. The `filterValue` represents an identifier array of the selected property.")
|
||||
measure: Optional[ApiWidgetMeasure] = None
|
||||
fixed_timespan: Optional[ApiDuration] = Field(default=None, alias="fixedTimespan")
|
||||
api_link: Optional[StrictStr] = Field(default=None, alias="apiLink")
|
||||
should_exclude_alert_suppression_windows: Optional[StrictBool] = Field(default=None, description="Excludes alert suppression window data if set to `true`.", alias="shouldExcludeAlertSuppressionWindows")
|
||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||
type: Annotated[str, Field(strict=True)] = Field(description="List widget type. Currently supports only `List`.")
|
||||
sort_direction: Optional[LegacyWidgetSortDirection] = Field(default=None, alias="sortDirection")
|
||||
active_within: Optional[ActiveWithin] = Field(default=None, alias="activeWithin")
|
||||
data_source: Optional[ListDatasource] = Field(default=None, alias="dataSource")
|
||||
__properties: ClassVar[List[str]] = ["id", "title", "visualMode", "embedUrl", "isEmbedded", "metricGroup", "direction", "metric", "filters", "measure", "fixedTimespan", "apiLink", "shouldExcludeAlertSuppressionWindows", "_links", "type", "sortDirection", "activeWithin", "dataSource"]
|
||||
|
||||
@field_validator('type')
|
||||
def type_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^List$", value):
|
||||
raise ValueError(r"must validate the regular expression /^List$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
extra="allow",
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of ApiListWidget from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
* OpenAPI `readOnly` fields are excluded.
|
||||
* OpenAPI `readOnly` fields are excluded.
|
||||
* OpenAPI `readOnly` fields are excluded.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
"id",
|
||||
"embed_url",
|
||||
"api_link",
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of measure
|
||||
if self.measure:
|
||||
_dict['measure'] = self.measure.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of fixed_timespan
|
||||
if self.fixed_timespan:
|
||||
_dict['fixedTimespan'] = self.fixed_timespan.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of links
|
||||
if self.links:
|
||||
_dict['_links'] = self.links.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of active_within
|
||||
if self.active_within:
|
||||
_dict['activeWithin'] = self.active_within.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of ApiListWidget from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"id": obj.get("id"),
|
||||
"title": obj.get("title"),
|
||||
"visualMode": obj.get("visualMode"),
|
||||
"embedUrl": obj.get("embedUrl"),
|
||||
"isEmbedded": obj.get("isEmbedded"),
|
||||
"metricGroup": obj.get("metricGroup"),
|
||||
"direction": obj.get("direction"),
|
||||
"metric": obj.get("metric"),
|
||||
"filters": obj.get("filters"),
|
||||
"measure": ApiWidgetMeasure.from_dict(obj["measure"]) if obj.get("measure") is not None else None,
|
||||
"fixedTimespan": ApiDuration.from_dict(obj["fixedTimespan"]) if obj.get("fixedTimespan") is not None else None,
|
||||
"apiLink": obj.get("apiLink"),
|
||||
"shouldExcludeAlertSuppressionWindows": obj.get("shouldExcludeAlertSuppressionWindows"),
|
||||
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None,
|
||||
"type": obj.get("type"),
|
||||
"sortDirection": obj.get("sortDirection"),
|
||||
"activeWithin": ActiveWithin.from_dict(obj["activeWithin"]) if obj.get("activeWithin") is not None else None,
|
||||
"dataSource": obj.get("dataSource")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -23,7 +23,6 @@ from thousandeyes_sdk.dashboards.models.dashboard_metric import DashboardMetric
|
||||
from thousandeyes_sdk.dashboards.models.dashboard_metric_direction import DashboardMetricDirection
|
||||
from thousandeyes_sdk.dashboards.models.metric_group import MetricGroup
|
||||
from thousandeyes_sdk.dashboards.models.multi_metrics_table_datasource import MultiMetricsTableDatasource
|
||||
from thousandeyes_sdk.dashboards.models.self_links import SelfLinks
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@ -38,8 +37,7 @@ class ApiMultiMetricColumn(BaseModel):
|
||||
metric: Optional[DashboardMetric] = None
|
||||
filters: Optional[Dict[str, List[Any]]] = Field(default=None, description="(Optional) Specifies the filters applied to the widget. When present, the `filters` property displays. Each filter object has two properties: `filterProperty` and `filterValue`. The `filterProperty` can be values like `AGENT`, `ENDPOINT_MACHINE_ID`, `TEST`, `MONITOR`, etc. The `filterValue` represents an identifier array of the selected property.")
|
||||
measure: Optional[ApiWidgetMeasure] = None
|
||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||
__properties: ClassVar[List[str]] = ["id", "dataSource", "metricGroup", "direction", "metric", "filters", "measure", "_links"]
|
||||
__properties: ClassVar[List[str]] = ["id", "dataSource", "metricGroup", "direction", "metric", "filters", "measure"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -84,9 +82,6 @@ class ApiMultiMetricColumn(BaseModel):
|
||||
# override the default output from pydantic by calling `to_dict()` of measure
|
||||
if self.measure:
|
||||
_dict['measure'] = self.measure.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of links
|
||||
if self.links:
|
||||
_dict['_links'] = self.links.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -105,8 +100,7 @@ class ApiMultiMetricColumn(BaseModel):
|
||||
"direction": obj.get("direction"),
|
||||
"metric": obj.get("metric"),
|
||||
"filters": obj.get("filters"),
|
||||
"measure": ApiWidgetMeasure.from_dict(obj["measure"]) if obj.get("measure") is not None else None,
|
||||
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
|
||||
"measure": ApiWidgetMeasure.from_dict(obj["measure"]) if obj.get("measure") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -20,7 +20,6 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from thousandeyes_sdk.dashboards.models.api_dashboard_asw import ApiDashboardAsw
|
||||
from thousandeyes_sdk.dashboards.models.api_widget_data_point import ApiWidgetDataPoint
|
||||
from thousandeyes_sdk.dashboards.models.self_links import SelfLinks
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@ -33,8 +32,7 @@ class ApiMultiMetricColumnData(BaseModel):
|
||||
points: Optional[List[ApiWidgetDataPoint]] = None
|
||||
status: Optional[StrictStr] = Field(default=None, description="Message for not fully configured card or no data.")
|
||||
alert_suppression_windows: Optional[List[ApiDashboardAsw]] = Field(default=None, alias="alertSuppressionWindows")
|
||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||
__properties: ClassVar[List[str]] = ["columnId", "binSize", "points", "status", "alertSuppressionWindows", "_links"]
|
||||
__properties: ClassVar[List[str]] = ["columnId", "binSize", "points", "status", "alertSuppressionWindows"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -90,9 +88,6 @@ class ApiMultiMetricColumnData(BaseModel):
|
||||
if _item:
|
||||
_items.append(_item.to_dict())
|
||||
_dict['alertSuppressionWindows'] = _items
|
||||
# override the default output from pydantic by calling `to_dict()` of links
|
||||
if self.links:
|
||||
_dict['_links'] = self.links.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -109,8 +104,7 @@ class ApiMultiMetricColumnData(BaseModel):
|
||||
"binSize": obj.get("binSize"),
|
||||
"points": [ApiWidgetDataPoint.from_dict(_item) for _item in obj["points"]] if obj.get("points") is not None else None,
|
||||
"status": obj.get("status"),
|
||||
"alertSuppressionWindows": [ApiDashboardAsw.from_dict(_item) for _item in obj["alertSuppressionWindows"]] if obj.get("alertSuppressionWindows") is not None else None,
|
||||
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
|
||||
"alertSuppressionWindows": [ApiDashboardAsw.from_dict(_item) for _item in obj["alertSuppressionWindows"]] if obj.get("alertSuppressionWindows") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -25,7 +25,6 @@ from thousandeyes_sdk.dashboards.models.dashboard_metric import DashboardMetric
|
||||
from thousandeyes_sdk.dashboards.models.dashboard_metric_direction import DashboardMetricDirection
|
||||
from thousandeyes_sdk.dashboards.models.metric_group import MetricGroup
|
||||
from thousandeyes_sdk.dashboards.models.numbers_card_datasource import NumbersCardDatasource
|
||||
from thousandeyes_sdk.dashboards.models.self_links import SelfLinks
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@ -47,8 +46,7 @@ class ApiNumbersCard(BaseModel):
|
||||
direction: Optional[DashboardMetricDirection] = None
|
||||
metric: Optional[DashboardMetric] = None
|
||||
filters: Optional[Dict[str, List[Any]]] = Field(default=None, description="(Optional) Specifies the filters applied to the widget. When present, the `filters` property displays. Each filter object has two properties: `filterProperty` and `filterValue`. The `filterProperty` can be values like `AGENT`, `ENDPOINT_MACHINE_ID`, `TEST`, `MONITOR`, etc. The `filterValue` represents an identifier array of the selected property.")
|
||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||
__properties: ClassVar[List[str]] = ["minScale", "maxScale", "unit", "id", "description", "measure", "compareToPreviousValue", "fixedTimespan", "shouldExcludeAlertSuppressionWindows", "dataSource", "metricGroup", "direction", "metric", "filters", "_links"]
|
||||
__properties: ClassVar[List[str]] = ["minScale", "maxScale", "unit", "id", "description", "measure", "compareToPreviousValue", "fixedTimespan", "shouldExcludeAlertSuppressionWindows", "dataSource", "metricGroup", "direction", "metric", "filters"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -96,9 +94,6 @@ class ApiNumbersCard(BaseModel):
|
||||
# override the default output from pydantic by calling `to_dict()` of fixed_timespan
|
||||
if self.fixed_timespan:
|
||||
_dict['fixedTimespan'] = self.fixed_timespan.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of links
|
||||
if self.links:
|
||||
_dict['_links'] = self.links.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -124,8 +119,7 @@ class ApiNumbersCard(BaseModel):
|
||||
"metricGroup": obj.get("metricGroup"),
|
||||
"direction": obj.get("direction"),
|
||||
"metric": obj.get("metric"),
|
||||
"filters": obj.get("filters"),
|
||||
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
|
||||
"filters": obj.get("filters")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -20,7 +20,6 @@ from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||
from thousandeyes_sdk.dashboards.models.api_dashboard_asw import ApiDashboardAsw
|
||||
from thousandeyes_sdk.dashboards.models.self_links import SelfLinks
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@ -38,8 +37,7 @@ class ApiNumbersCardData(BaseModel):
|
||||
value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Aggregated value.")
|
||||
status: Optional[StrictStr] = Field(default=None, description="Message for not fully configured card or no data.")
|
||||
alert_suppression_windows: Optional[List[ApiDashboardAsw]] = Field(default=None, alias="alertSuppressionWindows")
|
||||
links: Optional[SelfLinks] = Field(default=None, alias="_links")
|
||||
__properties: ClassVar[List[str]] = ["cardId", "startDate", "endDate", "previousValue", "binSize", "timestamp", "numberOfDataPoints", "value", "status", "alertSuppressionWindows", "_links"]
|
||||
__properties: ClassVar[List[str]] = ["cardId", "startDate", "endDate", "previousValue", "binSize", "timestamp", "numberOfDataPoints", "value", "status", "alertSuppressionWindows"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -88,9 +86,6 @@ class ApiNumbersCardData(BaseModel):
|
||||
if _item:
|
||||
_items.append(_item.to_dict())
|
||||
_dict['alertSuppressionWindows'] = _items
|
||||
# override the default output from pydantic by calling `to_dict()` of links
|
||||
if self.links:
|
||||
_dict['_links'] = self.links.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@ -112,8 +107,7 @@ class ApiNumbersCardData(BaseModel):
|
||||
"numberOfDataPoints": obj.get("numberOfDataPoints"),
|
||||
"value": obj.get("value"),
|
||||
"status": obj.get("status"),
|
||||
"alertSuppressionWindows": [ApiDashboardAsw.from_dict(_item) for _item in obj["alertSuppressionWindows"]] if obj.get("alertSuppressionWindows") is not None else None,
|
||||
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
|
||||
"alertSuppressionWindows": [ApiDashboardAsw.from_dict(_item) for _item in obj["alertSuppressionWindows"]] if obj.get("alertSuppressionWindows") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -22,7 +22,6 @@ from thousandeyes_sdk.dashboards.models.api_box_and_whiskers_widget import ApiBo
|
||||
from thousandeyes_sdk.dashboards.models.api_color_grid_widget import ApiColorGridWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_geo_map_widget import ApiGeoMapWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_list_widget import ApiListWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_multi_metric_table_widget import ApiMultiMetricTableWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_numbers_card_widget import ApiNumbersCardWidget
|
||||
from thousandeyes_sdk.dashboards.models.api_pie_chart_widget import ApiPieChartWidget
|
||||
@ -35,7 +34,7 @@ from pydantic import StrictStr, Field, model_serializer
|
||||
from typing import Union, List, Set, Optional, Dict
|
||||
from typing_extensions import Literal, Self
|
||||
|
||||
APIWIDGET_ONE_OF_SCHEMAS = ["ApiAgentStatusWidget", "ApiAlertListWidget", "ApiBoxAndWhiskersWidget", "ApiColorGridWidget", "ApiGeoMapWidget", "ApiGroupedBarchartWidget", "ApiListWidget", "ApiMultiMetricTableWidget", "ApiNumbersCardWidget", "ApiPieChartWidget", "ApiStackedAreaChartWidget", "ApiStackedBarchartWidget", "ApiTableWidget", "ApiTestTableWidget", "ApiTimeseriesWidget"]
|
||||
APIWIDGET_ONE_OF_SCHEMAS = ["ApiAgentStatusWidget", "ApiAlertListWidget", "ApiBoxAndWhiskersWidget", "ApiColorGridWidget", "ApiGeoMapWidget", "ApiGroupedBarchartWidget", "ApiMultiMetricTableWidget", "ApiNumbersCardWidget", "ApiPieChartWidget", "ApiStackedAreaChartWidget", "ApiStackedBarchartWidget", "ApiTableWidget", "ApiTestTableWidget", "ApiTimeseriesWidget"]
|
||||
|
||||
class ApiWidget(BaseModel):
|
||||
"""
|
||||
@ -53,26 +52,24 @@ class ApiWidget(BaseModel):
|
||||
oneof_schema_5_validator: Optional[ApiGeoMapWidget] = None
|
||||
# data type: ApiGroupedBarchartWidget
|
||||
oneof_schema_6_validator: Optional[ApiGroupedBarchartWidget] = None
|
||||
# data type: ApiListWidget
|
||||
oneof_schema_7_validator: Optional[ApiListWidget] = None
|
||||
# data type: ApiMultiMetricTableWidget
|
||||
oneof_schema_8_validator: Optional[ApiMultiMetricTableWidget] = None
|
||||
oneof_schema_7_validator: Optional[ApiMultiMetricTableWidget] = None
|
||||
# data type: ApiNumbersCardWidget
|
||||
oneof_schema_9_validator: Optional[ApiNumbersCardWidget] = None
|
||||
oneof_schema_8_validator: Optional[ApiNumbersCardWidget] = None
|
||||
# data type: ApiPieChartWidget
|
||||
oneof_schema_10_validator: Optional[ApiPieChartWidget] = None
|
||||
oneof_schema_9_validator: Optional[ApiPieChartWidget] = None
|
||||
# data type: ApiStackedAreaChartWidget
|
||||
oneof_schema_11_validator: Optional[ApiStackedAreaChartWidget] = None
|
||||
oneof_schema_10_validator: Optional[ApiStackedAreaChartWidget] = None
|
||||
# data type: ApiStackedBarchartWidget
|
||||
oneof_schema_12_validator: Optional[ApiStackedBarchartWidget] = None
|
||||
oneof_schema_11_validator: Optional[ApiStackedBarchartWidget] = None
|
||||
# data type: ApiTableWidget
|
||||
oneof_schema_13_validator: Optional[ApiTableWidget] = None
|
||||
oneof_schema_12_validator: Optional[ApiTableWidget] = None
|
||||
# data type: ApiTestTableWidget
|
||||
oneof_schema_14_validator: Optional[ApiTestTableWidget] = None
|
||||
oneof_schema_13_validator: Optional[ApiTestTableWidget] = None
|
||||
# data type: ApiTimeseriesWidget
|
||||
oneof_schema_15_validator: Optional[ApiTimeseriesWidget] = None
|
||||
actual_instance: Optional[Union[ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiListWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget]] = None
|
||||
one_of_schemas: Set[str] = { "ApiAgentStatusWidget", "ApiAlertListWidget", "ApiBoxAndWhiskersWidget", "ApiColorGridWidget", "ApiGeoMapWidget", "ApiGroupedBarchartWidget", "ApiListWidget", "ApiMultiMetricTableWidget", "ApiNumbersCardWidget", "ApiPieChartWidget", "ApiStackedAreaChartWidget", "ApiStackedBarchartWidget", "ApiTableWidget", "ApiTestTableWidget", "ApiTimeseriesWidget" }
|
||||
oneof_schema_14_validator: Optional[ApiTimeseriesWidget] = None
|
||||
actual_instance: Optional[Union[ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget]] = None
|
||||
one_of_schemas: Set[str] = { "ApiAgentStatusWidget", "ApiAlertListWidget", "ApiBoxAndWhiskersWidget", "ApiColorGridWidget", "ApiGeoMapWidget", "ApiGroupedBarchartWidget", "ApiMultiMetricTableWidget", "ApiNumbersCardWidget", "ApiPieChartWidget", "ApiStackedAreaChartWidget", "ApiStackedBarchartWidget", "ApiTableWidget", "ApiTestTableWidget", "ApiTimeseriesWidget" }
|
||||
|
||||
model_config = ConfigDict(
|
||||
validate_assignment=True,
|
||||
@ -128,11 +125,6 @@ class ApiWidget(BaseModel):
|
||||
error_messages.append(f"Error! Input type `{type(v)}` is not `ApiGroupedBarchartWidget`")
|
||||
else:
|
||||
match += 1
|
||||
# validate data type: ApiListWidget
|
||||
if not isinstance(v, ApiListWidget):
|
||||
error_messages.append(f"Error! Input type `{type(v)}` is not `ApiListWidget`")
|
||||
else:
|
||||
match += 1
|
||||
# validate data type: ApiMultiMetricTableWidget
|
||||
if not isinstance(v, ApiMultiMetricTableWidget):
|
||||
error_messages.append(f"Error! Input type `{type(v)}` is not `ApiMultiMetricTableWidget`")
|
||||
@ -175,10 +167,10 @@ class ApiWidget(BaseModel):
|
||||
match += 1
|
||||
if match > 1:
|
||||
# more than 1 match
|
||||
raise ValueError("Multiple matches found when setting `actual_instance` in ApiWidget with oneOf schemas: ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiListWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget. Details: " + ", ".join(error_messages))
|
||||
raise ValueError("Multiple matches found when setting `actual_instance` in ApiWidget with oneOf schemas: ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget. Details: " + ", ".join(error_messages))
|
||||
elif match == 0:
|
||||
# no match
|
||||
raise ValueError("No match found when setting `actual_instance` in ApiWidget with oneOf schemas: ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiListWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget. Details: " + ", ".join(error_messages))
|
||||
raise ValueError("No match found when setting `actual_instance` in ApiWidget with oneOf schemas: ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget. Details: " + ", ".join(error_messages))
|
||||
else:
|
||||
return v
|
||||
|
||||
@ -229,12 +221,6 @@ class ApiWidget(BaseModel):
|
||||
match += 1
|
||||
except (ValidationError, ValueError) as e:
|
||||
error_messages.append(str(e))
|
||||
# deserialize data into ApiListWidget
|
||||
try:
|
||||
instance.actual_instance = ApiListWidget.from_json(json_str)
|
||||
match += 1
|
||||
except (ValidationError, ValueError) as e:
|
||||
error_messages.append(str(e))
|
||||
# deserialize data into ApiMultiMetricTableWidget
|
||||
try:
|
||||
instance.actual_instance = ApiMultiMetricTableWidget.from_json(json_str)
|
||||
@ -286,10 +272,10 @@ class ApiWidget(BaseModel):
|
||||
|
||||
if match > 1:
|
||||
# more than 1 match
|
||||
raise ValueError("Multiple matches found when deserializing the JSON string into ApiWidget with oneOf schemas: ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiListWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget. Details: " + ", ".join(error_messages))
|
||||
raise ValueError("Multiple matches found when deserializing the JSON string into ApiWidget with oneOf schemas: ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget. Details: " + ", ".join(error_messages))
|
||||
elif match == 0:
|
||||
# no match
|
||||
raise ValueError("No match found when deserializing the JSON string into ApiWidget with oneOf schemas: ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiListWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget. Details: " + ", ".join(error_messages))
|
||||
raise ValueError("No match found when deserializing the JSON string into ApiWidget with oneOf schemas: ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget. Details: " + ", ".join(error_messages))
|
||||
else:
|
||||
return instance
|
||||
|
||||
@ -307,7 +293,7 @@ class ApiWidget(BaseModel):
|
||||
else:
|
||||
return json.dumps(self.actual_instance)
|
||||
|
||||
def to_dict(self) -> Optional[Union[Dict[str, Any], ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiListWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget]]:
|
||||
def to_dict(self) -> Optional[Union[Dict[str, Any], ApiAgentStatusWidget, ApiAlertListWidget, ApiBoxAndWhiskersWidget, ApiColorGridWidget, ApiGeoMapWidget, ApiGroupedBarchartWidget, ApiMultiMetricTableWidget, ApiNumbersCardWidget, ApiPieChartWidget, ApiStackedAreaChartWidget, ApiStackedBarchartWidget, ApiTableWidget, ApiTestTableWidget, ApiTimeseriesWidget]]:
|
||||
"""Returns the dict representation of the actual instance"""
|
||||
if self.actual_instance is None:
|
||||
return None
|
||||
|
||||
@ -37,7 +37,6 @@ class LegacyAlertListAlertType(str, Enum):
|
||||
WEB_MINUS__PAGE_LOAD = 'Web - Page Load'
|
||||
WEB_MINUS__TRANSACTION_LEFT_PARENTHESIS_CLASSIC_RIGHT_PARENTHESIS = 'Web - Transaction (Classic)'
|
||||
WEB_MINUS__TRANSACTION = 'Web - Transaction'
|
||||
API = 'API'
|
||||
WEB_MINUS__FTP_SERVER = 'Web - FTP Server'
|
||||
VOICE_MINUS__SIP_SERVER = 'Voice - SIP Server'
|
||||
VOICE_MINUS__RTP_STREAM = 'Voice - RTP Stream'
|
||||
|
||||
@ -36,7 +36,6 @@ class WidgetType(str, Enum):
|
||||
AGENT_STATUS = 'Agent Status'
|
||||
COLOR_GRID = 'Color Grid'
|
||||
ALERT_LIST = 'Alert List'
|
||||
LIST = 'List'
|
||||
TEST_TABLE = 'Test Table'
|
||||
MAP = 'Map'
|
||||
BOX_AND_WHISKERS = 'Box and Whiskers'
|
||||
|
||||
@ -386,18 +386,6 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
|
||||
"cards" : [ {
|
||||
"numberOfDataPoints" : 24192,
|
||||
"endDate" : "2023-05-16T10:14:28Z",
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"cardId" : "lrxxr",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
@ -427,18 +415,6 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
|
||||
}, {
|
||||
"numberOfDataPoints" : 24192,
|
||||
"endDate" : "2023-05-16T10:14:28Z",
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"cardId" : "lrxxr",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
@ -524,18 +500,6 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
|
||||
"target" : "www.google.com"
|
||||
} ],
|
||||
"columns" : [ {
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"columnId" : "938to",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
@ -582,18 +546,6 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
|
||||
} ],
|
||||
"status" : "No data"
|
||||
}, {
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"columnId" : "938to",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
|
||||
@ -484,18 +484,6 @@ class TestDashboardsApi(unittest.TestCase):
|
||||
"cards" : [ {
|
||||
"numberOfDataPoints" : 24192,
|
||||
"endDate" : "2023-05-16T10:14:28Z",
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"cardId" : "lrxxr",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
@ -525,18 +513,6 @@ class TestDashboardsApi(unittest.TestCase):
|
||||
}, {
|
||||
"numberOfDataPoints" : 24192,
|
||||
"endDate" : "2023-05-16T10:14:28Z",
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"cardId" : "lrxxr",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
@ -622,18 +598,6 @@ class TestDashboardsApi(unittest.TestCase):
|
||||
"target" : "www.google.com"
|
||||
} ],
|
||||
"columns" : [ {
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"columnId" : "938to",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
@ -680,18 +644,6 @@ class TestDashboardsApi(unittest.TestCase):
|
||||
} ],
|
||||
"status" : "No data"
|
||||
}, {
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"columnId" : "938to",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
@ -1131,125 +1083,6 @@ class TestDashboardsApi(unittest.TestCase):
|
||||
self.assertIsNotNone(element)
|
||||
assert_constructed_model_matches_example_json(element, response_loaded_json[index])
|
||||
|
||||
def test_get_individual_card_data_models_validation(self) -> None:
|
||||
"""Test case for get_individual_card_data request and response models"""
|
||||
|
||||
response_body_json = """
|
||||
{
|
||||
"numberOfDataPoints" : 24192,
|
||||
"endDate" : "2023-05-16T10:14:28Z",
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"cardId" : "lrxxr",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
"repeatUnit" : "week",
|
||||
"durationInSeconds" : 7200,
|
||||
"repeat" : "custom",
|
||||
"name" : "Test dashboards",
|
||||
"repeatEvery" : 5,
|
||||
"id" : "281474976710662",
|
||||
"startTimes" : [ "2023-05-16T10:14:28Z" ]
|
||||
}, {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
"repeatUnit" : "week",
|
||||
"durationInSeconds" : 7200,
|
||||
"repeat" : "custom",
|
||||
"name" : "Test dashboards",
|
||||
"repeatEvery" : 5,
|
||||
"id" : "281474976710662",
|
||||
"startTimes" : [ "2023-05-16T10:14:28Z" ]
|
||||
} ],
|
||||
"binSize" : 3600,
|
||||
"previousValue" : 500.0,
|
||||
"value" : 100.0,
|
||||
"startDate" : "2023-05-16T10:14:28Z",
|
||||
"timestamp" : 1567620000,
|
||||
"status" : "No data"
|
||||
}"""
|
||||
|
||||
response_loaded_json = json.loads(response_body_json)
|
||||
response_from_json = thousandeyes_sdk.dashboards.models.ApiNumbersCardData.from_json(response_body_json)
|
||||
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
|
||||
|
||||
def test_get_individual_column_data_models_validation(self) -> None:
|
||||
"""Test case for get_individual_column_data request and response models"""
|
||||
|
||||
response_body_json = """
|
||||
{
|
||||
"_links" : {
|
||||
"self" : {
|
||||
"hreflang" : "hreflang",
|
||||
"templated" : true,
|
||||
"profile" : "profile",
|
||||
"name" : "name",
|
||||
"href" : "https://api.thousandeyes.com/v7/link/to/resource/id",
|
||||
"type" : "type",
|
||||
"deprecation" : "deprecation",
|
||||
"title" : "title"
|
||||
}
|
||||
},
|
||||
"columnId" : "938to",
|
||||
"alertSuppressionWindows" : [ {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
"repeatUnit" : "week",
|
||||
"durationInSeconds" : 7200,
|
||||
"repeat" : "custom",
|
||||
"name" : "Test dashboards",
|
||||
"repeatEvery" : 5,
|
||||
"id" : "281474976710662",
|
||||
"startTimes" : [ "2023-05-16T10:14:28Z" ]
|
||||
}, {
|
||||
"testIds" : [ "281474976710661" ],
|
||||
"repeatUnit" : "week",
|
||||
"durationInSeconds" : 7200,
|
||||
"repeat" : "custom",
|
||||
"name" : "Test dashboards",
|
||||
"repeatEvery" : 5,
|
||||
"id" : "281474976710662",
|
||||
"startTimes" : [ "2023-05-16T10:14:28Z" ]
|
||||
} ],
|
||||
"binSize" : 3600,
|
||||
"points" : [ {
|
||||
"numberOfDataPoints" : 23304,
|
||||
"groups" : [ {
|
||||
"groupProperty" : "COUNTRY",
|
||||
"groupValue" : "US"
|
||||
}, {
|
||||
"groupProperty" : "COUNTRY",
|
||||
"groupValue" : "US"
|
||||
} ],
|
||||
"value" : 100.0,
|
||||
"timestamp" : 1567620000
|
||||
}, {
|
||||
"numberOfDataPoints" : 23304,
|
||||
"groups" : [ {
|
||||
"groupProperty" : "COUNTRY",
|
||||
"groupValue" : "US"
|
||||
}, {
|
||||
"groupProperty" : "COUNTRY",
|
||||
"groupValue" : "US"
|
||||
} ],
|
||||
"value" : 100.0,
|
||||
"timestamp" : 1567620000
|
||||
} ],
|
||||
"status" : "No data"
|
||||
}"""
|
||||
|
||||
response_loaded_json = json.loads(response_body_json)
|
||||
response_from_json = thousandeyes_sdk.dashboards.models.ApiMultiMetricColumnData.from_json(response_body_json)
|
||||
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
|
||||
|
||||
def test_update_dashboard_models_validation(self) -> None:
|
||||
"""Test case for update_dashboard request and response models"""
|
||||
request_body_json = """
|
||||
|
||||
@ -9,7 +9,7 @@ To access Emulation API operations, the following permissions are required:
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ For more information about Endpoint Agents, see [Endpoint Agents](https://docs.t
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@ Name | Type | Description | Notes
|
||||
**location_subdivision1_code** | **List[str]** | Filter using the code for the first level administrative division within the country. In US/Canada this is the State, in UK it's the country e.g. `ENG` | [optional]
|
||||
**location_city** | **List[str]** | This is a prefix match on the city name field. The endpoint expects this to contain the name of the city in English. e.g. 'Paris' or '' | [optional]
|
||||
**license_type** | [**List[AgentLicenseType]**](AgentLicenseType.md) | Filter on the agent's license type | [optional]
|
||||
**any_connect_device_id** | **List[str]** | IDs of devices that has the Cisco Secure Client deployed with the Internet Security module. Returns only agents that have at least one matching `anyConnectDeviceId`. | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**key** | **str** | ID of the device that has the Cisco Secure Client deployed with the Internet Security module. | [optional]
|
||||
**key** | **str** | Name or identifier of the external metadata property. | [optional]
|
||||
**value** | **str** | Value of the external metadata property. | [optional]
|
||||
|
||||
## Example
|
||||
|
||||
@ -38,8 +38,7 @@ class AgentSearchFilters(BaseModel):
|
||||
location_subdivision1_code: Optional[List[StrictStr]] = Field(default=None, description="Filter using the code for the first level administrative division within the country. In US/Canada this is the State, in UK it's the country e.g. `ENG` ", alias="locationSubdivision1Code")
|
||||
location_city: Optional[List[StrictStr]] = Field(default=None, description="This is a prefix match on the city name field. The endpoint expects this to contain the name of the city in English. e.g. 'Paris' or '' ", alias="locationCity")
|
||||
license_type: Optional[List[AgentLicenseType]] = Field(default=None, description="Filter on the agent's license type ", alias="licenseType")
|
||||
any_connect_device_id: Optional[List[StrictStr]] = Field(default=None, description="IDs of devices that has the Cisco Secure Client deployed with the Internet Security module. Returns only agents that have at least one matching `anyConnectDeviceId`. ", alias="anyConnectDeviceId")
|
||||
__properties: ClassVar[List[str]] = ["id", "agentName", "computerName", "username", "userPrincipalName", "platform", "osVersion", "locationCountryISO", "locationSubdivision1Code", "locationCity", "licenseType", "anyConnectDeviceId"]
|
||||
__properties: ClassVar[List[str]] = ["id", "agentName", "computerName", "username", "userPrincipalName", "platform", "osVersion", "locationCountryISO", "locationSubdivision1Code", "locationCity", "licenseType"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@ -103,8 +102,7 @@ class AgentSearchFilters(BaseModel):
|
||||
"locationCountryISO": obj.get("locationCountryISO"),
|
||||
"locationSubdivision1Code": obj.get("locationSubdivision1Code"),
|
||||
"locationCity": obj.get("locationCity"),
|
||||
"licenseType": obj.get("licenseType"),
|
||||
"anyConnectDeviceId": obj.get("anyConnectDeviceId")
|
||||
"licenseType": obj.get("licenseType")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ class ExternalMetadataItem(BaseModel):
|
||||
"""
|
||||
ExternalMetadataItem
|
||||
""" # noqa: E501
|
||||
key: Optional[StrictStr] = Field(default=None, description="ID of the device that has the Cisco Secure Client deployed with the Internet Security module.")
|
||||
key: Optional[StrictStr] = Field(default=None, description="Name or identifier of the external metadata property.")
|
||||
value: Optional[StrictStr] = Field(default=None, description="Value of the external metadata property.")
|
||||
__properties: ClassVar[List[str]] = ["key", "value"]
|
||||
|
||||
|
||||
@ -383,7 +383,6 @@ class TestEndpointAgentsApi(unittest.TestCase):
|
||||
"licenseType" : [ "essentials", "essentials" ],
|
||||
"osVersion" : [ "Version 10.15.2", "Version 10.15.2" ],
|
||||
"computerName" : [ "DESKTOP-45AE8", "DESKTOP-45AE8" ],
|
||||
"anyConnectDeviceId" : [ "JDLKSLFEIJER004334F" ],
|
||||
"locationCountryISO" : [ "FR", "FR" ],
|
||||
"agentName" : [ "myagent-1234", "myagent-1234" ],
|
||||
"locationSubdivision1Code" : [ "ENG", "ENG" ],
|
||||
|
||||
@ -11,7 +11,7 @@ docs/EndpointHttpServerBaseTest.md
|
||||
docs/EndpointHttpServerInstantTest.md
|
||||
docs/EndpointHttpServerTest.md
|
||||
docs/EndpointInstantTest.md
|
||||
docs/EndpointIpVersionIn.md
|
||||
docs/EndpointIpVersionTemplate.md
|
||||
docs/EndpointRunScheduledInstantTestResult.md
|
||||
docs/EndpointScheduledTestType.md
|
||||
docs/EndpointSpecificAgentsSelectorConfig.md
|
||||
@ -49,7 +49,7 @@ src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_tes
|
||||
src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py
|
||||
src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py
|
||||
src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py
|
||||
src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_ip_version_in.py
|
||||
src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_ip_version_template.py
|
||||
src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py
|
||||
src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py
|
||||
src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py
|
||||
|
||||
@ -13,7 +13,7 @@ The URLs for these API test data endpoints are provided within the test definiti
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 7.0.68
|
||||
- API version: 7.0.58
|
||||
- Generator version: 7.6.0
|
||||
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
||||
|
||||
@ -121,7 +121,7 @@ Class | Method | HTTP request | Description
|
||||
- [EndpointHttpServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerInstantTest.md)
|
||||
- [EndpointHttpServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerTest.md)
|
||||
- [EndpointInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointInstantTest.md)
|
||||
- [EndpointIpVersionIn](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointIpVersionIn.md)
|
||||
- [EndpointIpVersionTemplate](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointIpVersionTemplate.md)
|
||||
- [EndpointRunScheduledInstantTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointRunScheduledInstantTestResult.md)
|
||||
- [EndpointScheduledTestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointScheduledTestType.md)
|
||||
- [EndpointSpecificAgentsSelectorConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointSpecificAgentsSelectorConfig.md)
|
||||
|
||||
@ -10,7 +10,6 @@ Name | Type | Description | Notes
|
||||
**endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional]
|
||||
**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25]
|
||||
**test_name** | **str** | Name of the test. |
|
||||
**ip_version** | [**EndpointIpVersionIn**](EndpointIpVersionIn.md) | | [optional]
|
||||
**server_name** | **str** | A server address without a protocol or IP address. **Deprecated, use `server` instead**. | [optional]
|
||||
**server** | **str** | Target domain name or IP address. |
|
||||
**port** | **int** | Port number. | [optional] [default to 443]
|
||||
|
||||
@ -18,7 +18,7 @@ Name | Type | Description | Notes
|
||||
**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly]
|
||||
**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True]
|
||||
**protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional]
|
||||
**ip_version** | **str** | For reading current network test configurations, the IP version of the test. Values include V4_ONLY, V6_ONLY, V6_PREFER, and OS_DEFAULT. | [optional]
|
||||
**ip_version** | [**EndpointIpVersionTemplate**](EndpointIpVersionTemplate.md) | | [optional]
|
||||
**server** | **str** | Target domain name or IP address. | [optional]
|
||||
**test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly]
|
||||
**test_name** | **str** | Name of the test. | [optional]
|
||||
|
||||
@ -10,7 +10,6 @@ Name | Type | Description | Notes
|
||||
**endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional]
|
||||
**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25]
|
||||
**test_name** | **str** | Name of the test. |
|
||||
**ip_version** | [**EndpointIpVersionIn**](EndpointIpVersionIn.md) | | [optional]
|
||||
**auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional]
|
||||
**has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional]
|
||||
**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000]
|
||||
|
||||
@ -18,7 +18,7 @@ Name | Type | Description | Notes
|
||||
**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly]
|
||||
**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True]
|
||||
**protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional]
|
||||
**ip_version** | **str** | For reading current network test configurations, the IP version of the test. Values include V4_ONLY, V6_ONLY, V6_PREFER, and OS_DEFAULT. | [optional]
|
||||
**ip_version** | [**EndpointIpVersionTemplate**](EndpointIpVersionTemplate.md) | | [optional]
|
||||
**server** | **str** | Target domain name or IP address. | [optional]
|
||||
**test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly]
|
||||
**test_name** | **str** | Name of the test. | [optional]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user