This commit is contained in:
Miguel Pragosa 2026-06-04 17:26:05 +01:00 committed by GitHub
commit 4924d77f8c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
534 changed files with 11250 additions and 1801 deletions

View File

@ -28,6 +28,8 @@ docs/ExpandAccountGroupOptions.md
docs/ExtendedUser.md
docs/InterfaceIpMapping.md
docs/Link.md
docs/NetworkProviderInfo.md
docs/NetworkProviderType.md
docs/PaginationLinks.md
docs/Permission.md
docs/Permissions.md
@ -40,6 +42,7 @@ docs/Roles.md
docs/RolesApi.md
docs/SelfLinks.md
docs/SimpleAgent.md
docs/SimpleAgentAllOfNetworkProviderInfo.md
docs/SimpleTest.md
docs/TestInterval.md
docs/TestLinks.md
@ -93,6 +96,8 @@ src/thousandeyes_sdk/administrative/models/expand_account_group_options.py
src/thousandeyes_sdk/administrative/models/extended_user.py
src/thousandeyes_sdk/administrative/models/interface_ip_mapping.py
src/thousandeyes_sdk/administrative/models/link.py
src/thousandeyes_sdk/administrative/models/network_provider_info.py
src/thousandeyes_sdk/administrative/models/network_provider_type.py
src/thousandeyes_sdk/administrative/models/pagination_links.py
src/thousandeyes_sdk/administrative/models/permission.py
src/thousandeyes_sdk/administrative/models/permissions.py
@ -103,6 +108,7 @@ src/thousandeyes_sdk/administrative/models/role_request_body.py
src/thousandeyes_sdk/administrative/models/roles.py
src/thousandeyes_sdk/administrative/models/self_links.py
src/thousandeyes_sdk/administrative/models/simple_agent.py
src/thousandeyes_sdk/administrative/models/simple_agent_all_of_network_provider_info.py
src/thousandeyes_sdk/administrative/models/simple_test.py
src/thousandeyes_sdk/administrative/models/test_interval.py
src/thousandeyes_sdk/administrative/models/test_links.py

View File

@ -12,7 +12,7 @@ This API provides the following operations to manage your organization:
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.84
- API version: 7.0.90
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -152,6 +152,8 @@ Class | Method | HTTP request | Description
- [ExtendedUser](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ExtendedUser.md)
- [InterfaceIpMapping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/InterfaceIpMapping.md)
- [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Link.md)
- [NetworkProviderInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/NetworkProviderInfo.md)
- [NetworkProviderType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/NetworkProviderType.md)
- [PaginationLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/PaginationLinks.md)
- [Permission](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Permission.md)
- [Permissions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Permissions.md)
@ -162,6 +164,7 @@ Class | Method | HTTP request | Description
- [Roles](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Roles.md)
- [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/SelfLinks.md)
- [SimpleAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/SimpleAgent.md)
- [SimpleAgentAllOfNetworkProviderInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/SimpleAgentAllOfNetworkProviderInfo.md)
- [SimpleTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/SimpleTest.md)
- [TestInterval](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/TestInterval.md)
- [TestLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/TestLinks.md)

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**agent_type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | |
## Example

View File

@ -14,9 +14,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly]
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly]

View File

@ -0,0 +1,32 @@
# NetworkProviderInfo
Information about the network provider that owns the agent's public IP prefix.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**asn** | **int** | Autonomous System Number (ASN) announcing the agent's public IP prefix. | [optional] [readonly]
**name** | **str** | Name of the network provider organization. | [optional] [readonly]
**type** | [**NetworkProviderType**](NetworkProviderType.md) | | [optional]
## Example
```python
from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo
# TODO update the JSON string below
json = "{}"
# create an instance of NetworkProviderInfo from a JSON string
network_provider_info_instance = NetworkProviderInfo.from_json(json)
# print the JSON string representation of the object
print(NetworkProviderInfo.to_json())
# convert the object into a dict
network_provider_info_dict = network_provider_info_instance.to_dict()
# create an instance of NetworkProviderInfo from a dict
network_provider_info_from_dict = NetworkProviderInfo.from_dict(network_provider_info_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,6 +1,6 @@
# ApiAgentWidgetShow
# NetworkProviderType
Ownership of the agent.
Classification of the agent's network provider.
## Properties

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
## Example

View File

@ -0,0 +1,31 @@
# SimpleAgentAllOfNetworkProviderInfo
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**asn** | **int** | Autonomous System Number (ASN) announcing the agent's public IP prefix. | [optional] [readonly]
**name** | **str** | Name of the network provider organization. | [optional] [readonly]
**type** | [**NetworkProviderType**](NetworkProviderType.md) | | [optional]
## Example
```python
from thousandeyes_sdk.administrative.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
# TODO update the JSON string below
json = "{}"
# create an instance of SimpleAgentAllOfNetworkProviderInfo from a JSON string
simple_agent_all_of_network_provider_info_instance = SimpleAgentAllOfNetworkProviderInfo.from_json(json)
# print the JSON string representation of the object
print(SimpleAgentAllOfNetworkProviderInfo.to_json())
# convert the object into a dict
simple_agent_all_of_network_provider_info_dict = simple_agent_all_of_network_provider_info_instance.to_dict()
# create an instance of SimpleAgentAllOfNetworkProviderInfo from a dict
simple_agent_all_of_network_provider_info_from_dict = SimpleAgentAllOfNetworkProviderInfo.from_dict(simple_agent_all_of_network_provider_info_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -48,6 +48,8 @@ from thousandeyes_sdk.administrative.models.expand_account_group_options import
from thousandeyes_sdk.administrative.models.extended_user import ExtendedUser
from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.administrative.models.link import Link
from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo
from thousandeyes_sdk.administrative.models.network_provider_type import NetworkProviderType
from thousandeyes_sdk.administrative.models.pagination_links import PaginationLinks
from thousandeyes_sdk.administrative.models.permission import Permission
from thousandeyes_sdk.administrative.models.permissions import Permissions
@ -58,6 +60,7 @@ from thousandeyes_sdk.administrative.models.role_request_body import RoleRequest
from thousandeyes_sdk.administrative.models.roles import Roles
from thousandeyes_sdk.administrative.models.self_links import SelfLinks
from thousandeyes_sdk.administrative.models.simple_agent import SimpleAgent
from thousandeyes_sdk.administrative.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.administrative.models.simple_test import SimpleTest
from thousandeyes_sdk.administrative.models.test_interval import TestInterval
from thousandeyes_sdk.administrative.models.test_links import TestLinks

View File

@ -39,6 +39,8 @@ from thousandeyes_sdk.administrative.models.expand_account_group_options import
from thousandeyes_sdk.administrative.models.extended_user import ExtendedUser
from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.administrative.models.link import Link
from thousandeyes_sdk.administrative.models.network_provider_info import NetworkProviderInfo
from thousandeyes_sdk.administrative.models.network_provider_type import NetworkProviderType
from thousandeyes_sdk.administrative.models.pagination_links import PaginationLinks
from thousandeyes_sdk.administrative.models.permission import Permission
from thousandeyes_sdk.administrative.models.permissions import Permissions
@ -49,6 +51,7 @@ from thousandeyes_sdk.administrative.models.role_request_body import RoleRequest
from thousandeyes_sdk.administrative.models.roles import Roles
from thousandeyes_sdk.administrative.models.self_links import SelfLinks
from thousandeyes_sdk.administrative.models.simple_agent import SimpleAgent
from thousandeyes_sdk.administrative.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.administrative.models.simple_test import SimpleTest
from thousandeyes_sdk.administrative.models.test_interval import TestInterval
from thousandeyes_sdk.administrative.models.test_links import TestLinks

View File

@ -20,6 +20,7 @@ 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 thousandeyes_sdk.administrative.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from typing import Optional, Set
from typing_extensions import Self
@ -35,11 +36,12 @@ class AgentResponse(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
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", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "agentType"]
model_config = ConfigDict(
populate_by_name=True,
@ -88,8 +90,8 @@ class AgentResponse(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
])
_dict = self.model_dump(
@ -100,6 +102,9 @@ class AgentResponse(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
return _dict
@classmethod
@ -120,9 +125,10 @@ class AgentResponse(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix"),
"agentType": obj.get("agentType")
})
return _obj

View File

@ -27,6 +27,7 @@ from thousandeyes_sdk.administrative.models.enterprise_agent_ipv6_policy import
from thousandeyes_sdk.administrative.models.enterprise_agent_state import EnterpriseAgentState
from thousandeyes_sdk.administrative.models.error_detail import ErrorDetail
from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.administrative.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.administrative.models.simple_test import SimpleTest
from typing import Optional, Set
from typing_extensions import Self
@ -44,9 +45,10 @@ class EnterpriseAgent(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds")
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers")
@ -62,7 +64,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", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
model_config = ConfigDict(
populate_by_name=True,
@ -119,8 +121,8 @@ class EnterpriseAgent(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
"test_ids",
"cluster_members",
"utilization",
@ -139,6 +141,9 @@ class EnterpriseAgent(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
_items = []
if self.tests:
@ -195,9 +200,10 @@ class EnterpriseAgent(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix"),
"testIds": obj.get("testIds"),
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None,

View File

@ -0,0 +1,96 @@
# 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, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.administrative.models.network_provider_type import NetworkProviderType
from typing import Optional, Set
from typing_extensions import Self
class NetworkProviderInfo(BaseModel):
"""
Information about the network provider that owns the agent's public IP prefix.
""" # noqa: E501
asn: Optional[StrictInt] = Field(default=None, description="Autonomous System Number (ASN) announcing the agent's public IP prefix.")
name: Optional[StrictStr] = Field(default=None, description="Name of the network provider organization.")
type: Optional[NetworkProviderType] = None
__properties: ClassVar[List[str]] = ["asn", "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 NetworkProviderInfo 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([
"asn",
"name",
])
_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 NetworkProviderInfo from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"asn": obj.get("asn"),
"name": obj.get("name"),
"type": obj.get("type")
})
return _obj

View File

@ -0,0 +1,44 @@
# 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 json
from enum import Enum
from typing_extensions import Self
class NetworkProviderType(str, Enum):
"""
Classification of the agent's network provider.
"""
"""
allowed enum values
"""
UNKNOWN = 'unknown'
ISP = 'isp'
CDN = 'cdn'
STUB = 'stub'
CLOUD_MINUS_PROVIDER = 'cloud-provider'
CARRIER = 'carrier'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of NetworkProviderType from a JSON string"""
return cls(json.loads(json_str))
@classmethod
def _missing_(cls, value):
"""Handle unknown values"""
return cls.UNKNOWN

View File

@ -19,6 +19,7 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.administrative.models.coordinates import Coordinates
from thousandeyes_sdk.administrative.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from typing import Optional, Set
from typing_extensions import Self
@ -34,10 +35,11 @@ class SimpleAgent(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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"]
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix"]
model_config = ConfigDict(
populate_by_name=True,
@ -86,8 +88,8 @@ class SimpleAgent(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
])
_dict = self.model_dump(
@ -98,6 +100,9 @@ class SimpleAgent(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
return _dict
@classmethod
@ -118,9 +123,10 @@ class SimpleAgent(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates")
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix")
})
return _obj

View File

@ -0,0 +1,96 @@
# 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, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.administrative.models.network_provider_type import NetworkProviderType
from typing import Optional, Set
from typing_extensions import Self
class SimpleAgentAllOfNetworkProviderInfo(BaseModel):
"""
SimpleAgentAllOfNetworkProviderInfo
""" # noqa: E501
asn: Optional[StrictInt] = Field(default=None, description="Autonomous System Number (ASN) announcing the agent's public IP prefix.")
name: Optional[StrictStr] = Field(default=None, description="Name of the network provider organization.")
type: Optional[NetworkProviderType] = None
__properties: ClassVar[List[str]] = ["asn", "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 SimpleAgentAllOfNetworkProviderInfo 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([
"asn",
"name",
])
_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 SimpleAgentAllOfNetworkProviderInfo from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"asn": obj.get("asn"),
"name": obj.get("name"),
"type": obj.get("type")
})
return _obj

View File

@ -127,7 +127,7 @@ class TestAccountGroupsApi(unittest.TestCase):
},
"accountGroupName" : "Account A",
"isDefaultAccountGroup" : true,
"accountToken" : "6j052y4vfgyuhefghue",
"accountToken" : "accountToken",
"aid" : "1234",
"orgId" : "12345",
"users" : [ {
@ -170,6 +170,11 @@ class TestAccountGroupsApi(unittest.TestCase):
"agentType" : "enterprise-cluster",
"ipv6Policy" : "force-ipv4",
"prefix" : "99.128.0.0/11",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
@ -315,6 +320,11 @@ class TestAccountGroupsApi(unittest.TestCase):
"agentType" : "enterprise-cluster",
"ipv6Policy" : "force-ipv4",
"prefix" : "99.128.0.0/11",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
@ -531,7 +541,7 @@ class TestAccountGroupsApi(unittest.TestCase):
},
"accountGroupName" : "Account A",
"isDefaultAccountGroup" : true,
"accountToken" : "6j052y4vfgyuhefghue",
"accountToken" : "accountToken",
"aid" : "1234",
"orgId" : "12345",
"users" : [ {
@ -574,6 +584,11 @@ class TestAccountGroupsApi(unittest.TestCase):
"agentType" : "enterprise-cluster",
"ipv6Policy" : "force-ipv4",
"prefix" : "99.128.0.0/11",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
@ -719,6 +734,11 @@ class TestAccountGroupsApi(unittest.TestCase):
"agentType" : "enterprise-cluster",
"ipv6Policy" : "force-ipv4",
"prefix" : "99.128.0.0/11",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",

View File

@ -43,6 +43,8 @@ docs/ErrorDetailCode.md
docs/InterfaceIpMapping.md
docs/Link.md
docs/ListNotificationRulesResponse.md
docs/NetworkProviderInfo.md
docs/NetworkProviderType.md
docs/NotificationRule.md
docs/NotificationRuleDetail.md
docs/NotificationRules.md
@ -50,6 +52,7 @@ docs/ProxyAuthType.md
docs/ProxyType.md
docs/SelfLinks.md
docs/SimpleAgent.md
docs/SimpleAgentAllOfNetworkProviderInfo.md
docs/SimpleEnterpriseAgent.md
docs/SimpleTest.md
docs/TestInterval.md
@ -108,6 +111,8 @@ src/thousandeyes_sdk/agents/models/error_detail_code.py
src/thousandeyes_sdk/agents/models/interface_ip_mapping.py
src/thousandeyes_sdk/agents/models/link.py
src/thousandeyes_sdk/agents/models/list_notification_rules_response.py
src/thousandeyes_sdk/agents/models/network_provider_info.py
src/thousandeyes_sdk/agents/models/network_provider_type.py
src/thousandeyes_sdk/agents/models/notification_rule.py
src/thousandeyes_sdk/agents/models/notification_rule_detail.py
src/thousandeyes_sdk/agents/models/notification_rules.py
@ -115,6 +120,7 @@ src/thousandeyes_sdk/agents/models/proxy_auth_type.py
src/thousandeyes_sdk/agents/models/proxy_type.py
src/thousandeyes_sdk/agents/models/self_links.py
src/thousandeyes_sdk/agents/models/simple_agent.py
src/thousandeyes_sdk/agents/models/simple_agent_all_of_network_provider_info.py
src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py
src/thousandeyes_sdk/agents/models/simple_test.py
src/thousandeyes_sdk/agents/models/test_interval.py

View File

@ -5,7 +5,7 @@ Manage Cloud and Enterprise Agents available to your account in ThousandEyes.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.84
- API version: 7.0.90
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -150,6 +150,8 @@ Class | Method | HTTP request | Description
- [InterfaceIpMapping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/InterfaceIpMapping.md)
- [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/Link.md)
- [ListNotificationRulesResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ListNotificationRulesResponse.md)
- [NetworkProviderInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NetworkProviderInfo.md)
- [NetworkProviderType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NetworkProviderType.md)
- [NotificationRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NotificationRule.md)
- [NotificationRuleDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NotificationRuleDetail.md)
- [NotificationRules](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NotificationRules.md)
@ -157,6 +159,7 @@ Class | Method | HTTP request | Description
- [ProxyType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ProxyType.md)
- [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/SelfLinks.md)
- [SimpleAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/SimpleAgent.md)
- [SimpleAgentAllOfNetworkProviderInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/SimpleAgentAllOfNetworkProviderInfo.md)
- [SimpleEnterpriseAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/SimpleEnterpriseAgent.md)
- [SimpleTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/SimpleTest.md)
- [TestInterval](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/TestInterval.md)

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**agent_type** | **str** | Enterprise Cluster agent type. |
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels. See `/labels` for more information. | [optional] [readonly]

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**agent_type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | |
## Example

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**agent_type** | **str** | Cloud agent type. |
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels - see `/labels` for more information. | [optional] [readonly]

View File

@ -14,9 +14,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly]
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly]

View File

@ -14,9 +14,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly]
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly]

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly]
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly]

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly]
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly]

View File

@ -0,0 +1,32 @@
# NetworkProviderInfo
Information about the network provider that owns the agent's public IP prefix.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**asn** | **int** | Autonomous System Number (ASN) announcing the agent's public IP prefix. | [optional] [readonly]
**name** | **str** | Name of the network provider organization. | [optional] [readonly]
**type** | [**NetworkProviderType**](NetworkProviderType.md) | | [optional]
## Example
```python
from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo
# TODO update the JSON string below
json = "{}"
# create an instance of NetworkProviderInfo from a JSON string
network_provider_info_instance = NetworkProviderInfo.from_json(json)
# print the JSON string representation of the object
print(NetworkProviderInfo.to_json())
# convert the object into a dict
network_provider_info_dict = network_provider_info_instance.to_dict()
# create an instance of NetworkProviderInfo from a dict
network_provider_info_from_dict = NetworkProviderInfo.from_dict(network_provider_info_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -1,6 +1,6 @@
# ApiWidgetSortProperty
# NetworkProviderType
Determines the card sorting criterion.
Classification of the agent's network provider.
## Properties

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
## Example

View File

@ -0,0 +1,31 @@
# SimpleAgentAllOfNetworkProviderInfo
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**asn** | **int** | Autonomous System Number (ASN) announcing the agent's public IP prefix. | [optional] [readonly]
**name** | **str** | Name of the network provider organization. | [optional] [readonly]
**type** | [**NetworkProviderType**](NetworkProviderType.md) | | [optional]
## Example
```python
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
# TODO update the JSON string below
json = "{}"
# create an instance of SimpleAgentAllOfNetworkProviderInfo from a JSON string
simple_agent_all_of_network_provider_info_instance = SimpleAgentAllOfNetworkProviderInfo.from_json(json)
# print the JSON string representation of the object
print(SimpleAgentAllOfNetworkProviderInfo.to_json())
# convert the object into a dict
simple_agent_all_of_network_provider_info_dict = simple_agent_all_of_network_provider_info_instance.to_dict()
# create an instance of SimpleAgentAllOfNetworkProviderInfo from a dict
simple_agent_all_of_network_provider_info_from_dict = SimpleAgentAllOfNetworkProviderInfo.from_dict(simple_agent_all_of_network_provider_info_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -13,9 +13,10 @@ Name | Type | Description | Notes
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**coordinates** | [**Coordinates**](Coordinates.md) | | [optional]
**network_provider_info** | [**SimpleAgentAllOfNetworkProviderInfo**](SimpleAgentAllOfNetworkProviderInfo.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]
**prefix** | **str** | Prefix containing agents public IP address. | [optional] [readonly]
**test_ids** | **List[int]** | List of test IDs assigned to the agent. | [optional] [readonly]
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**cluster_members** | [**List[ClusterMember]**](ClusterMember.md) | If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents. | [optional] [readonly]

View File

@ -60,6 +60,8 @@ from thousandeyes_sdk.agents.models.error_detail_code import ErrorDetailCode
from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.link import Link
from thousandeyes_sdk.agents.models.list_notification_rules_response import ListNotificationRulesResponse
from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo
from thousandeyes_sdk.agents.models.network_provider_type import NetworkProviderType
from thousandeyes_sdk.agents.models.notification_rule import NotificationRule
from thousandeyes_sdk.agents.models.notification_rule_detail import NotificationRuleDetail
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules
@ -67,6 +69,7 @@ from thousandeyes_sdk.agents.models.proxy_auth_type import ProxyAuthType
from thousandeyes_sdk.agents.models.proxy_type import ProxyType
from thousandeyes_sdk.agents.models.self_links import SelfLinks
from thousandeyes_sdk.agents.models.simple_agent import SimpleAgent
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.agents.models.simple_enterprise_agent import SimpleEnterpriseAgent
from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from thousandeyes_sdk.agents.models.test_interval import TestInterval

View File

@ -51,6 +51,8 @@ from thousandeyes_sdk.agents.models.error_detail_code import ErrorDetailCode
from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.link import Link
from thousandeyes_sdk.agents.models.list_notification_rules_response import ListNotificationRulesResponse
from thousandeyes_sdk.agents.models.network_provider_info import NetworkProviderInfo
from thousandeyes_sdk.agents.models.network_provider_type import NetworkProviderType
from thousandeyes_sdk.agents.models.notification_rule import NotificationRule
from thousandeyes_sdk.agents.models.notification_rule_detail import NotificationRuleDetail
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules
@ -58,6 +60,7 @@ from thousandeyes_sdk.agents.models.proxy_auth_type import ProxyAuthType
from thousandeyes_sdk.agents.models.proxy_type import ProxyType
from thousandeyes_sdk.agents.models.self_links import SelfLinks
from thousandeyes_sdk.agents.models.simple_agent import SimpleAgent
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.agents.models.simple_enterprise_agent import SimpleEnterpriseAgent
from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from thousandeyes_sdk.agents.models.test_interval import TestInterval

View File

@ -20,6 +20,7 @@ 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 thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from typing import Optional, Set
from typing_extensions import Self
@ -35,11 +36,12 @@ class AgentResponse(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
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", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "agentType"]
model_config = ConfigDict(
populate_by_name=True,
@ -88,8 +90,8 @@ class AgentResponse(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
])
_dict = self.model_dump(
@ -100,6 +102,9 @@ class AgentResponse(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
return _dict
@classmethod
@ -120,9 +125,10 @@ class AgentResponse(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix"),
"agentType": obj.get("agentType")
})
return _obj

View File

@ -23,6 +23,7 @@ from thousandeyes_sdk.agents.models.agent_label import AgentLabel
from thousandeyes_sdk.agents.models.agent_tag import AgentTag
from thousandeyes_sdk.agents.models.coordinates import Coordinates
from thousandeyes_sdk.agents.models.self_links import SelfLinks
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from typing import Optional, Set
from typing_extensions import Self
@ -39,15 +40,16 @@ class CloudAgentDetail(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
agent_type: Annotated[str, Field(strict=True)] = Field(description="Cloud agent type.", alias="agentType")
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.")
tags: Optional[List[AgentTag]] = Field(default=None, description="List of tags. See `/tags` 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", "tags", "_links"]
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "agentType", "tests", "labels", "tags", "_links"]
@field_validator('agent_type')
def agent_type_validate_regular_expression(cls, value):
@ -105,8 +107,8 @@ class CloudAgentDetail(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
"labels",
"tags",
])
@ -119,6 +121,9 @@ class CloudAgentDetail(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
_items = []
if self.tests:
@ -163,9 +168,10 @@ class CloudAgentDetail(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix"),
"agentType": obj.get("agentType"),
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"labels": [AgentLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None,

View File

@ -27,6 +27,7 @@ from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import Enterpri
from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from typing import Optional, Set
from typing_extensions import Self
@ -44,9 +45,10 @@ class EnterpriseAgent(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds")
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers")
@ -62,7 +64,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", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
model_config = ConfigDict(
populate_by_name=True,
@ -119,8 +121,8 @@ class EnterpriseAgent(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
"test_ids",
"cluster_members",
"utilization",
@ -139,6 +141,9 @@ class EnterpriseAgent(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
_items = []
if self.tests:
@ -195,9 +200,10 @@ class EnterpriseAgent(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix"),
"testIds": obj.get("testIds"),
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None,

View File

@ -31,6 +31,7 @@ from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules
from thousandeyes_sdk.agents.models.self_links import SelfLinks
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from typing import Optional, Set
from typing_extensions import Self
@ -47,9 +48,10 @@ class EnterpriseAgentClusterDetail(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds")
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers")
@ -70,7 +72,7 @@ class EnterpriseAgentClusterDetail(BaseModel):
tags: Optional[List[AgentTag]] = Field(default=None, description="List of tags. See `/tags` 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", "tags", "agentType", "_links"]
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "tags", "agentType", "_links"]
@field_validator('agent_type')
def agent_type_validate_regular_expression(cls, value):
@ -136,8 +138,8 @@ class EnterpriseAgentClusterDetail(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
"test_ids",
"cluster_members",
"utilization",
@ -158,6 +160,9 @@ class EnterpriseAgentClusterDetail(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
_items = []
if self.tests:
@ -237,9 +242,10 @@ class EnterpriseAgentClusterDetail(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix"),
"testIds": obj.get("testIds"),
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None,

View File

@ -31,6 +31,7 @@ from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules
from thousandeyes_sdk.agents.models.self_links import SelfLinks
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from typing import Optional, Set
from typing_extensions import Self
@ -47,9 +48,10 @@ class EnterpriseAgentDetail(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds")
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers")
@ -70,7 +72,7 @@ class EnterpriseAgentDetail(BaseModel):
tags: Optional[List[AgentTag]] = Field(default=None, description="List of tags. See `/tags` 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", "tags", "agentType", "_links"]
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping", "notificationRules", "labels", "tags", "agentType", "_links"]
@field_validator('agent_type')
def agent_type_validate_regular_expression(cls, value):
@ -136,8 +138,8 @@ class EnterpriseAgentDetail(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
"test_ids",
"cluster_members",
"utilization",
@ -158,6 +160,9 @@ class EnterpriseAgentDetail(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
_items = []
if self.tests:
@ -237,9 +242,10 @@ class EnterpriseAgentDetail(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix"),
"testIds": obj.get("testIds"),
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None,

View File

@ -0,0 +1,96 @@
# 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, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.agents.models.network_provider_type import NetworkProviderType
from typing import Optional, Set
from typing_extensions import Self
class NetworkProviderInfo(BaseModel):
"""
Information about the network provider that owns the agent's public IP prefix.
""" # noqa: E501
asn: Optional[StrictInt] = Field(default=None, description="Autonomous System Number (ASN) announcing the agent's public IP prefix.")
name: Optional[StrictStr] = Field(default=None, description="Name of the network provider organization.")
type: Optional[NetworkProviderType] = None
__properties: ClassVar[List[str]] = ["asn", "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 NetworkProviderInfo 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([
"asn",
"name",
])
_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 NetworkProviderInfo from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"asn": obj.get("asn"),
"name": obj.get("name"),
"type": obj.get("type")
})
return _obj

View File

@ -1,9 +1,9 @@
# coding: utf-8
"""
Dashboards API
Agents API
Manage ThousandEyes Dashboards.
## Overview Manage Cloud and Enterprise Agents available to your account in ThousandEyes.
Generated by OpenAPI Generator (https://openapi-generator.tech)
@ -17,21 +17,24 @@ from enum import Enum
from typing_extensions import Self
class ApiAgentWidgetShow(str, Enum):
class NetworkProviderType(str, Enum):
"""
Ownership of the agent.
Classification of the agent's network provider.
"""
"""
allowed enum values
"""
OWNED = 'owned'
ALL = 'all'
UNKNOWN = 'unknown'
ISP = 'isp'
CDN = 'cdn'
STUB = 'stub'
CLOUD_MINUS_PROVIDER = 'cloud-provider'
CARRIER = 'carrier'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of ApiAgentWidgetShow from a JSON string"""
"""Create an instance of NetworkProviderType from a JSON string"""
return cls(json.loads(json_str))
@classmethod

View File

@ -19,6 +19,7 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.agents.models.coordinates import Coordinates
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from typing import Optional, Set
from typing_extensions import Self
@ -34,10 +35,11 @@ class SimpleAgent(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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"]
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix"]
model_config = ConfigDict(
populate_by_name=True,
@ -86,8 +88,8 @@ class SimpleAgent(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
])
_dict = self.model_dump(
@ -98,6 +100,9 @@ class SimpleAgent(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
return _dict
@classmethod
@ -118,9 +123,10 @@ class SimpleAgent(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates")
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix")
})
return _obj

View File

@ -0,0 +1,96 @@
# 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, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.agents.models.network_provider_type import NetworkProviderType
from typing import Optional, Set
from typing_extensions import Self
class SimpleAgentAllOfNetworkProviderInfo(BaseModel):
"""
SimpleAgentAllOfNetworkProviderInfo
""" # noqa: E501
asn: Optional[StrictInt] = Field(default=None, description="Autonomous System Number (ASN) announcing the agent's public IP prefix.")
name: Optional[StrictStr] = Field(default=None, description="Name of the network provider organization.")
type: Optional[NetworkProviderType] = None
__properties: ClassVar[List[str]] = ["asn", "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 SimpleAgentAllOfNetworkProviderInfo 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([
"asn",
"name",
])
_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 SimpleAgentAllOfNetworkProviderInfo from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"asn": obj.get("asn"),
"name": obj.get("name"),
"type": obj.get("type")
})
return _obj

View File

@ -26,6 +26,7 @@ from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import Enterpri
from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.simple_agent_all_of_network_provider_info import SimpleAgentAllOfNetworkProviderInfo
from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from typing import Optional, Set
from typing_extensions import Self
@ -42,9 +43,10 @@ class SimpleEnterpriseAgent(BaseModel):
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
network_provider_info: Optional[SimpleAgentAllOfNetworkProviderInfo] = Field(default=None, alias="networkProviderInfo")
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")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
test_ids: Optional[List[StrictInt]] = Field(default=None, description="List of test IDs assigned to the agent.", alias="testIds")
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
cluster_members: Optional[List[ClusterMember]] = Field(default=None, description="If an enterprise agent is clustered, detailed information about each cluster member will be shown as array entries in the clusterMembers field. This field is not shown for Enterprise Agents in standalone mode, or for Cloud Agents.", alias="clusterMembers")
@ -60,7 +62,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", "coordinates", "networkProviderInfo", "enabled", "verifySslCertificates", "prefix", "testIds", "tests", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMapping"]
model_config = ConfigDict(
populate_by_name=True,
@ -117,8 +119,8 @@ class SimpleEnterpriseAgent(BaseModel):
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
"prefix",
"test_ids",
"cluster_members",
"utilization",
@ -137,6 +139,9 @@ class SimpleEnterpriseAgent(BaseModel):
# 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 network_provider_info
if self.network_provider_info:
_dict['networkProviderInfo'] = self.network_provider_info.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in tests (list)
_items = []
if self.tests:
@ -192,9 +197,10 @@ class SimpleEnterpriseAgent(BaseModel):
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"coordinates": Coordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None,
"networkProviderInfo": SimpleAgentAllOfNetworkProviderInfo.from_dict(obj["networkProviderInfo"]) if obj.get("networkProviderInfo") is not None else None,
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"prefix": obj.get("prefix"),
"testIds": obj.get("testIds"),
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"clusterMembers": [ClusterMember.from_dict(_item) for _item in obj["clusterMembers"]] if obj.get("clusterMembers") is not None else None,

View File

@ -97,34 +97,44 @@ class TestCloudAndEnterpriseAgentNotificationRulesApi(unittest.TestCase):
"agents" : [ {
"agentId" : "281474976710706",
"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",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
}, {
"agentId" : "281474976710706",
"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",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
} ]
}"""

View File

@ -57,6 +57,11 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
@ -169,34 +174,44 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
"agents" : [ {
"agentId" : "281474976710706",
"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",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
}, {
"agentId" : "281474976710706",
"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",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
} ]
}"""
@ -246,6 +261,11 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",

View File

@ -62,6 +62,11 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase):
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
@ -183,34 +188,44 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase):
"agents" : [ {
"agentId" : "281474976710706",
"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",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
}, {
"agentId" : "281474976710706",
"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",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
} ]
}"""

View File

@ -62,6 +62,11 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase):
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
@ -188,6 +193,11 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase):
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
@ -314,6 +324,11 @@ class TestTestsAssignmentOnAgentsApi(unittest.TestCase):
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",

View File

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

View File

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

View File

@ -5,7 +5,15 @@ docs/Assignments.md
docs/AuthenticationType.md
docs/BasicAuthentication.md
docs/BearerTokenAuthentication.md
docs/ConjurConnector.md
docs/ConjurConnectors.md
docs/ConjurHostAuthentication.md
docs/ConnectorType.md
docs/CredentialVaultOperation.md
docs/CredentialVaultOperations.md
docs/CredentialVaultOperationsApi.md
docs/CredentialVaultSecret.md
docs/CyberArkConjurConnectorsApi.md
docs/Error.md
docs/GenericConnector.md
docs/GenericConnectorAuth.md
@ -31,6 +39,8 @@ pyproject.toml
setup.cfg
src/thousandeyes_sdk/connectors/__init__.py
src/thousandeyes_sdk/connectors/api/__init__.py
src/thousandeyes_sdk/connectors/api/credential_vault_operations_api.py
src/thousandeyes_sdk/connectors/api/cyber_ark_conjur_connectors_api.py
src/thousandeyes_sdk/connectors/api/generic_connectors_api.py
src/thousandeyes_sdk/connectors/api/operation_connectors_api.py
src/thousandeyes_sdk/connectors/api/webhook_operations_api.py
@ -39,7 +49,13 @@ src/thousandeyes_sdk/connectors/models/assignments.py
src/thousandeyes_sdk/connectors/models/authentication_type.py
src/thousandeyes_sdk/connectors/models/basic_authentication.py
src/thousandeyes_sdk/connectors/models/bearer_token_authentication.py
src/thousandeyes_sdk/connectors/models/conjur_connector.py
src/thousandeyes_sdk/connectors/models/conjur_connectors.py
src/thousandeyes_sdk/connectors/models/conjur_host_authentication.py
src/thousandeyes_sdk/connectors/models/connector_type.py
src/thousandeyes_sdk/connectors/models/credential_vault_operation.py
src/thousandeyes_sdk/connectors/models/credential_vault_operations.py
src/thousandeyes_sdk/connectors/models/credential_vault_secret.py
src/thousandeyes_sdk/connectors/models/error.py
src/thousandeyes_sdk/connectors/models/generic_connector.py
src/thousandeyes_sdk/connectors/models/generic_connector_auth.py
@ -60,6 +76,8 @@ src/thousandeyes_sdk/connectors/models/webhook_operation.py
src/thousandeyes_sdk/connectors/models/webhook_operations.py
src/thousandeyes_sdk/connectors/py.typed
test/__init__.py
test/test_credential_vault_operations_api.py
test/test_cyber_ark_conjur_connectors_api.py
test/test_generic_connectors_api.py
test/test_operation_connectors_api.py
test/test_utils.py

View File

@ -6,7 +6,7 @@ Manage connectors and operations.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.84
- API version: 7.0.90
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -78,17 +78,17 @@ configuration = thousandeyes_sdk.core.Configuration(
# 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.connectors.GenericConnectorsApi(api_client)
generic_connector = thousandeyes_sdk.connectors.GenericConnector() # GenericConnector |
api_instance = thousandeyes_sdk.connectors.CredentialVaultOperationsApi(api_client)
credential_vault_operation = thousandeyes_sdk.connectors.CredentialVaultOperation() # CredentialVaultOperation |
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)
try:
# Create connector
api_response = api_instance.create_generic_connector(generic_connector, aid=aid)
print("The response of GenericConnectorsApi->create_generic_connector:\n")
# Create Credential Vault operation
api_response = api_instance.create_credential_vault_operation(credential_vault_operation, aid=aid)
print("The response of CredentialVaultOperationsApi->create_credential_vault_operation:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling GenericConnectorsApi->create_generic_connector: %s\n" % e)
print("Exception when calling CredentialVaultOperationsApi->create_credential_vault_operation: %s\n" % e)
```
@ -98,11 +98,23 @@ All URIs are relative to *https://api.thousandeyes.com/v7*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*CredentialVaultOperationsApi* | [**create_credential_vault_operation**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#create_credential_vault_operation) | **POST** /operations/credential-vault | Create Credential Vault operation
*CredentialVaultOperationsApi* | [**delete_credential_vault_operation**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#delete_credential_vault_operation) | **DELETE** /operations/credential-vault/{id} | Delete Credential Vault operation
*CredentialVaultOperationsApi* | [**get_credential_vault_operation**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#get_credential_vault_operation) | **GET** /operations/credential-vault/{id} | Get Credential Vault operation
*CredentialVaultOperationsApi* | [**get_credential_vault_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#get_credential_vault_operations) | **GET** /operations/credential-vault | List Credential Vault operations
*CredentialVaultOperationsApi* | [**update_credential_vault_operation**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperationsApi.md#update_credential_vault_operation) | **PUT** /operations/credential-vault/{id} | Update Credential Vault operation
*CyberArkConjurConnectorsApi* | [**create_conjur_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#create_conjur_connector) | **POST** /connectors/conjur | Create Conjur connector
*CyberArkConjurConnectorsApi* | [**delete_conjur_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#delete_conjur_connector) | **DELETE** /connectors/conjur/{id} | Delete a Conjur connector
*CyberArkConjurConnectorsApi* | [**get_conjur_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#get_conjur_connector) | **GET** /connectors/conjur/{id} | Retrieve a Conjur connector
*CyberArkConjurConnectorsApi* | [**get_conjur_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#get_conjur_connector_operations) | **GET** /connectors/conjur/{id}/operations | List operation IDs for a Conjur connector
*CyberArkConjurConnectorsApi* | [**get_conjur_connectors**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#get_conjur_connectors) | **GET** /connectors/conjur | List Conjur connectors
*CyberArkConjurConnectorsApi* | [**set_conjur_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#set_conjur_connector_operations) | **PUT** /connectors/conjur/{id}/operations | Assign operations to a Conjur connector
*CyberArkConjurConnectorsApi* | [**update_conjur_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CyberArkConjurConnectorsApi.md#update_conjur_connector) | **PUT** /connectors/conjur/{id} | Update a Conjur connector
*GenericConnectorsApi* | [**create_generic_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#create_generic_connector) | **POST** /connectors/generic | Create connector
*GenericConnectorsApi* | [**delete_generic_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#delete_generic_connector) | **DELETE** /connectors/generic/{id} | Delete connector
*GenericConnectorsApi* | [**get_generic_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#get_generic_connector) | **GET** /connectors/generic/{id} | Retrieve connector
*GenericConnectorsApi* | [**get_generic_connectors**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#get_generic_connectors) | **GET** /connectors/generic | List connectors
*GenericConnectorsApi* | [**list_generic_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#list_generic_connector_operations) | **GET** /connectors/generic/{id}/operations | List operation IDs assigned to a connector
*GenericConnectorsApi* | [**list_generic_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#list_generic_connector_operations) | **GET** /connectors/generic/{id}/operations | List operation IDs for a connector
*GenericConnectorsApi* | [**set_generic_connector_operations**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#set_generic_connector_operations) | **PUT** /connectors/generic/{id}/operations | Assign operations to a connector
*GenericConnectorsApi* | [**update_generic_connector**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorsApi.md#update_generic_connector) | **PUT** /connectors/generic/{id} | Update connector
*OperationConnectorsApi* | [**get_operation_connectors**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/OperationConnectorsApi.md#get_operation_connectors) | **GET** /operations/{type}/{id}/connectors | Retrieve connectors assigned to an operation
@ -120,7 +132,13 @@ Class | Method | HTTP request | Description
- [AuthenticationType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/AuthenticationType.md)
- [BasicAuthentication](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/BasicAuthentication.md)
- [BearerTokenAuthentication](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/BearerTokenAuthentication.md)
- [ConjurConnector](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/ConjurConnector.md)
- [ConjurConnectors](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/ConjurConnectors.md)
- [ConjurHostAuthentication](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/ConjurHostAuthentication.md)
- [ConnectorType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/ConnectorType.md)
- [CredentialVaultOperation](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperation.md)
- [CredentialVaultOperations](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultOperations.md)
- [CredentialVaultSecret](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/CredentialVaultSecret.md)
- [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/Error.md)
- [GenericConnector](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnector.md)
- [GenericConnectorAuth](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-connectors/docs/GenericConnectorAuth.md)

View File

@ -0,0 +1,36 @@
# ConjurConnector
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | | [optional] [readonly]
**type** | [**ConnectorType**](ConnectorType.md) | |
**name** | **str** | |
**target** | **str** | |
**last_modified_date** | **int** | The date when the connector was last modified (Unix timestamp in milliseconds). | [optional] [readonly]
**account** | **str** | |
**authentication** | [**ConjurHostAuthentication**](ConjurHostAuthentication.md) | |
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
## Example
```python
from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector
# TODO update the JSON string below
json = "{}"
# create an instance of ConjurConnector from a JSON string
conjur_connector_instance = ConjurConnector.from_json(json)
# print the JSON string representation of the object
print(ConjurConnector.to_json())
# convert the object into a dict
conjur_connector_dict = conjur_connector_instance.to_dict()
# create an instance of ConjurConnector from a dict
conjur_connector_from_dict = ConjurConnector.from_dict(conjur_connector_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,30 @@
# ConjurConnectors
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**items** | [**List[ConjurConnector]**](ConjurConnector.md) | | [optional]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
## Example
```python
from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors
# TODO update the JSON string below
json = "{}"
# create an instance of ConjurConnectors from a JSON string
conjur_connectors_instance = ConjurConnectors.from_json(json)
# print the JSON string representation of the object
print(ConjurConnectors.to_json())
# convert the object into a dict
conjur_connectors_dict = conjur_connectors_instance.to_dict()
# create an instance of ConjurConnectors from a dict
conjur_connectors_from_dict = ConjurConnectors.from_dict(conjur_connectors_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,31 @@
# ConjurHostAuthentication
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**host_id** | **str** | |
**api_key** | **str** | |
**type** | [**AuthenticationType**](AuthenticationType.md) | |
## Example
```python
from thousandeyes_sdk.connectors.models.conjur_host_authentication import ConjurHostAuthentication
# TODO update the JSON string below
json = "{}"
# create an instance of ConjurHostAuthentication from a JSON string
conjur_host_authentication_instance = ConjurHostAuthentication.from_json(json)
# print the JSON string representation of the object
print(ConjurHostAuthentication.to_json())
# convert the object into a dict
conjur_host_authentication_dict = conjur_host_authentication_instance.to_dict()
# create an instance of ConjurHostAuthentication from a dict
conjur_host_authentication_from_dict = ConjurHostAuthentication.from_dict(conjur_host_authentication_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,34 @@
# CredentialVaultOperation
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | | [optional] [readonly]
**name** | **str** | |
**secrets** | [**List[CredentialVaultSecret]**](CredentialVaultSecret.md) | |
**type** | [**OperationType**](OperationType.md) | | [optional]
**status** | [**OperationStatus**](OperationStatus.md) | | [optional]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
## Example
```python
from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation
# TODO update the JSON string below
json = "{}"
# create an instance of CredentialVaultOperation from a JSON string
credential_vault_operation_instance = CredentialVaultOperation.from_json(json)
# print the JSON string representation of the object
print(CredentialVaultOperation.to_json())
# convert the object into a dict
credential_vault_operation_dict = credential_vault_operation_instance.to_dict()
# create an instance of CredentialVaultOperation from a dict
credential_vault_operation_from_dict = CredentialVaultOperation.from_dict(credential_vault_operation_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,30 @@
# CredentialVaultOperations
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**items** | [**List[CredentialVaultOperation]**](CredentialVaultOperation.md) | | [optional]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
## Example
```python
from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations
# TODO update the JSON string below
json = "{}"
# create an instance of CredentialVaultOperations from a JSON string
credential_vault_operations_instance = CredentialVaultOperations.from_json(json)
# print the JSON string representation of the object
print(CredentialVaultOperations.to_json())
# convert the object into a dict
credential_vault_operations_dict = credential_vault_operations_instance.to_dict()
# create an instance of CredentialVaultOperations from a dict
credential_vault_operations_from_dict = CredentialVaultOperations.from_dict(credential_vault_operations_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,437 @@
# thousandeyes_sdk.connectors.CredentialVaultOperationsApi
All URIs are relative to *https://api.thousandeyes.com/v7*
Method | HTTP request | Description
------------- | ------------- | -------------
[**create_credential_vault_operation**](CredentialVaultOperationsApi.md#create_credential_vault_operation) | **POST** /operations/credential-vault | Create Credential Vault operation
[**delete_credential_vault_operation**](CredentialVaultOperationsApi.md#delete_credential_vault_operation) | **DELETE** /operations/credential-vault/{id} | Delete Credential Vault operation
[**get_credential_vault_operation**](CredentialVaultOperationsApi.md#get_credential_vault_operation) | **GET** /operations/credential-vault/{id} | Get Credential Vault operation
[**get_credential_vault_operations**](CredentialVaultOperationsApi.md#get_credential_vault_operations) | **GET** /operations/credential-vault | List Credential Vault operations
[**update_credential_vault_operation**](CredentialVaultOperationsApi.md#update_credential_vault_operation) | **PUT** /operations/credential-vault/{id} | Update Credential Vault operation
# **create_credential_vault_operation**
> CredentialVaultOperation create_credential_vault_operation(credential_vault_operation, aid=aid)
Create Credential Vault operation
Create a new Credential Vault operation.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation
from thousandeyes_sdk.connectors.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.connectors.CredentialVaultOperationsApi(api_client)
credential_vault_operation = thousandeyes_sdk.connectors.CredentialVaultOperation() # CredentialVaultOperation |
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)
try:
# Create Credential Vault operation
api_response = api_instance.create_credential_vault_operation(credential_vault_operation, aid=aid)
print("The response of CredentialVaultOperationsApi->create_credential_vault_operation:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CredentialVaultOperationsApi->create_credential_vault_operation: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**credential_vault_operation** | [**CredentialVaultOperation**](CredentialVaultOperation.md)| |
**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]
### Return type
[**CredentialVaultOperation**](CredentialVaultOperation.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**201** | The created Credential Vault operation. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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)
# **delete_credential_vault_operation**
> delete_credential_vault_operation(id, confirm_disabled_objects, aid=aid)
Delete Credential Vault operation
Delete a single Credential Vault operation by its ID. Note: This operation may disable affected objects (such as tests).
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.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.connectors.CredentialVaultOperationsApi(api_client)
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The operation ID.
confirm_disabled_objects = False # bool | Confirmation to disable affected objects (for example, tests) for credential-vault operations. (default to False)
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)
try:
# Delete Credential Vault operation
api_instance.delete_credential_vault_operation(id, confirm_disabled_objects, aid=aid)
except Exception as e:
print("Exception when calling CredentialVaultOperationsApi->delete_credential_vault_operation: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **str**| The operation ID. |
**confirm_disabled_objects** | **bool**| Confirmation to disable affected objects (for example, tests) for credential-vault operations. | [default to False]
**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]
### Return type
void (empty response body)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | No Content. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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_credential_vault_operation**
> CredentialVaultOperation get_credential_vault_operation(id, aid=aid)
Get Credential Vault operation
Retrieve a single Credential Vault operation by its ID.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation
from thousandeyes_sdk.connectors.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.connectors.CredentialVaultOperationsApi(api_client)
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The operation ID.
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)
try:
# Get Credential Vault operation
api_response = api_instance.get_credential_vault_operation(id, aid=aid)
print("The response of CredentialVaultOperationsApi->get_credential_vault_operation:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CredentialVaultOperationsApi->get_credential_vault_operation: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **str**| The operation ID. |
**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]
### Return type
[**CredentialVaultOperation**](CredentialVaultOperation.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** | Credential Vault operation details. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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_credential_vault_operations**
> CredentialVaultOperations get_credential_vault_operations(aid=aid)
List Credential Vault operations
Returns a list of Credential Vault operations in the specified account group. If no account group is specified, the user's default account group is used.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations
from thousandeyes_sdk.connectors.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.connectors.CredentialVaultOperationsApi(api_client)
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)
try:
# List Credential Vault operations
api_response = api_instance.get_credential_vault_operations(aid=aid)
print("The response of CredentialVaultOperationsApi->get_credential_vault_operations:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CredentialVaultOperationsApi->get_credential_vault_operations: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**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]
### Return type
[**CredentialVaultOperations**](CredentialVaultOperations.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** | A list of Credential Vault operations. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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_credential_vault_operation**
> CredentialVaultOperation update_credential_vault_operation(id, credential_vault_operation, aid=aid)
Update Credential Vault operation
Update a single existing Credential Vault operation.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation
from thousandeyes_sdk.connectors.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.connectors.CredentialVaultOperationsApi(api_client)
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The operation ID.
credential_vault_operation = thousandeyes_sdk.connectors.CredentialVaultOperation() # CredentialVaultOperation |
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)
try:
# Update Credential Vault operation
api_response = api_instance.update_credential_vault_operation(id, credential_vault_operation, aid=aid)
print("The response of CredentialVaultOperationsApi->update_credential_vault_operation:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CredentialVaultOperationsApi->update_credential_vault_operation: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **str**| The operation ID. |
**credential_vault_operation** | [**CredentialVaultOperation**](CredentialVaultOperation.md)| |
**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]
### Return type
[**CredentialVaultOperation**](CredentialVaultOperation.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | The updated Credential Vault operation. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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)

View File

@ -0,0 +1,31 @@
# CredentialVaultSecret
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **str** | | [optional]
**name** | **str** | |
**secret_key** | **str** | |
## Example
```python
from thousandeyes_sdk.connectors.models.credential_vault_secret import CredentialVaultSecret
# TODO update the JSON string below
json = "{}"
# create an instance of CredentialVaultSecret from a JSON string
credential_vault_secret_instance = CredentialVaultSecret.from_json(json)
# print the JSON string representation of the object
print(CredentialVaultSecret.to_json())
# convert the object into a dict
credential_vault_secret_dict = credential_vault_secret_instance.to_dict()
# create an instance of CredentialVaultSecret from a dict
credential_vault_secret_from_dict = CredentialVaultSecret.from_dict(credential_vault_secret_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,613 @@
# thousandeyes_sdk.connectors.CyberArkConjurConnectorsApi
All URIs are relative to *https://api.thousandeyes.com/v7*
Method | HTTP request | Description
------------- | ------------- | -------------
[**create_conjur_connector**](CyberArkConjurConnectorsApi.md#create_conjur_connector) | **POST** /connectors/conjur | Create Conjur connector
[**delete_conjur_connector**](CyberArkConjurConnectorsApi.md#delete_conjur_connector) | **DELETE** /connectors/conjur/{id} | Delete a Conjur connector
[**get_conjur_connector**](CyberArkConjurConnectorsApi.md#get_conjur_connector) | **GET** /connectors/conjur/{id} | Retrieve a Conjur connector
[**get_conjur_connector_operations**](CyberArkConjurConnectorsApi.md#get_conjur_connector_operations) | **GET** /connectors/conjur/{id}/operations | List operation IDs for a Conjur connector
[**get_conjur_connectors**](CyberArkConjurConnectorsApi.md#get_conjur_connectors) | **GET** /connectors/conjur | List Conjur connectors
[**set_conjur_connector_operations**](CyberArkConjurConnectorsApi.md#set_conjur_connector_operations) | **PUT** /connectors/conjur/{id}/operations | Assign operations to a Conjur connector
[**update_conjur_connector**](CyberArkConjurConnectorsApi.md#update_conjur_connector) | **PUT** /connectors/conjur/{id} | Update a Conjur connector
# **create_conjur_connector**
> ConjurConnector create_conjur_connector(conjur_connector, aid=aid)
Create Conjur connector
Creates a new CyberArk Conjur connector.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector
from thousandeyes_sdk.connectors.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.connectors.CyberArkConjurConnectorsApi(api_client)
conjur_connector = thousandeyes_sdk.connectors.ConjurConnector() # ConjurConnector |
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)
try:
# Create Conjur connector
api_response = api_instance.create_conjur_connector(conjur_connector, aid=aid)
print("The response of CyberArkConjurConnectorsApi->create_conjur_connector:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CyberArkConjurConnectorsApi->create_conjur_connector: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**conjur_connector** | [**ConjurConnector**](ConjurConnector.md)| |
**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]
### Return type
[**ConjurConnector**](ConjurConnector.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**201** | The created Conjur connector. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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)
# **delete_conjur_connector**
> delete_conjur_connector(id, confirm_disabled_objects, aid=aid)
Delete a Conjur connector
Deleted the CyberArk Conjur connector specified by ID. Note: This operation may disable affected objects (such as tests).
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.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.connectors.CyberArkConjurConnectorsApi(api_client)
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID.
confirm_disabled_objects = False # bool | Confirmation to disable affected objects (for example, tests) for Conjur connectors. (default to False)
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)
try:
# Delete a Conjur connector
api_instance.delete_conjur_connector(id, confirm_disabled_objects, aid=aid)
except Exception as e:
print("Exception when calling CyberArkConjurConnectorsApi->delete_conjur_connector: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **str**| The connector ID. |
**confirm_disabled_objects** | **bool**| Confirmation to disable affected objects (for example, tests) for Conjur connectors. | [default to False]
**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]
### Return type
void (empty response body)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | No Content. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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_conjur_connector**
> ConjurConnector get_conjur_connector(id, aid=aid)
Retrieve a Conjur connector
Retrieves details of a CyberArk Conjur connector by its ID.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector
from thousandeyes_sdk.connectors.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.connectors.CyberArkConjurConnectorsApi(api_client)
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID.
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)
try:
# Retrieve a Conjur connector
api_response = api_instance.get_conjur_connector(id, aid=aid)
print("The response of CyberArkConjurConnectorsApi->get_conjur_connector:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CyberArkConjurConnectorsApi->get_conjur_connector: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **str**| The connector ID. |
**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]
### Return type
[**ConjurConnector**](ConjurConnector.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** | CyberArk Conjur Connector details. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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_conjur_connector_operations**
> Assignments get_conjur_connector_operations(id, aid=aid)
List operation IDs for a Conjur connector
Returns a list of operation IDs assigned to a CyberArk Conjur connector.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.assignments import Assignments
from thousandeyes_sdk.connectors.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.connectors.CyberArkConjurConnectorsApi(api_client)
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID.
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)
try:
# List operation IDs for a Conjur connector
api_response = api_instance.get_conjur_connector_operations(id, aid=aid)
print("The response of CyberArkConjurConnectorsApi->get_conjur_connector_operations:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CyberArkConjurConnectorsApi->get_conjur_connector_operations: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **str**| The connector ID. |
**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]
### Return type
[**Assignments**](Assignments.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** | A list of assigned operation IDs. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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_conjur_connectors**
> ConjurConnectors get_conjur_connectors(aid=aid)
List Conjur connectors
Returns a list of CyberArk Conjur connectors in the specified account group. If no account group is specified, the users default account group is used.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors
from thousandeyes_sdk.connectors.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.connectors.CyberArkConjurConnectorsApi(api_client)
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)
try:
# List Conjur connectors
api_response = api_instance.get_conjur_connectors(aid=aid)
print("The response of CyberArkConjurConnectorsApi->get_conjur_connectors:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CyberArkConjurConnectorsApi->get_conjur_connectors: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**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]
### Return type
[**ConjurConnectors**](ConjurConnectors.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** | A list of Conjur connectors. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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)
# **set_conjur_connector_operations**
> Assignments set_conjur_connector_operations(id, confirm_disabled_objects, request_body, aid=aid)
Assign operations to a Conjur connector
Assigns operations to a CyberArk Conjur connector. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if operations are changed.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.assignments import Assignments
from thousandeyes_sdk.connectors.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.connectors.CyberArkConjurConnectorsApi(api_client)
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID.
confirm_disabled_objects = False # bool | Confirmation to disable affected objects (for example, tests) for Conjur connectors. (default to False)
request_body = ["ca39314d-eb4f-496f-9435-b5d20b1bfbff","a32cfbab-32f6-41d8-9027-7127cba965dd"] # List[str] | List of operation IDs to assign to the connector.
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)
try:
# Assign operations to a Conjur connector
api_response = api_instance.set_conjur_connector_operations(id, confirm_disabled_objects, request_body, aid=aid)
print("The response of CyberArkConjurConnectorsApi->set_conjur_connector_operations:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CyberArkConjurConnectorsApi->set_conjur_connector_operations: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **str**| The connector ID. |
**confirm_disabled_objects** | **bool**| Confirmation to disable affected objects (for example, tests) for Conjur connectors. | [default to False]
**request_body** | [**List[str]**](str.md)| List of operation IDs to assign to the connector. |
**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]
### Return type
[**Assignments**](Assignments.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Operations assigned successfully. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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_conjur_connector**
> ConjurConnector update_conjur_connector(id, conjur_connector, aid=aid)
Update a Conjur connector
Updates the CyberArk Conjur connector specified by ID.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.connectors
from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector
from thousandeyes_sdk.connectors.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.connectors.CyberArkConjurConnectorsApi(api_client)
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The connector ID.
conjur_connector = thousandeyes_sdk.connectors.ConjurConnector() # ConjurConnector |
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)
try:
# Update a Conjur connector
api_response = api_instance.update_conjur_connector(id, conjur_connector, aid=aid)
print("The response of CyberArkConjurConnectorsApi->update_conjur_connector:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling CyberArkConjurConnectorsApi->update_conjur_connector: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **str**| The connector ID. |
**conjur_connector** | [**ConjurConnector**](ConjurConnector.md)| |
**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]
### Return type
[**ConjurConnector**](ConjurConnector.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | The updated connector. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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)

View File

@ -9,9 +9,10 @@ Name | Type | Description | Notes
**type** | [**ConnectorType**](ConnectorType.md) | |
**name** | **str** | |
**target** | **str** | |
**authentication** | [**GenericConnectorAuth**](GenericConnectorAuth.md) | | [optional]
**last_modified_date** | **int** | The date when the connector was last modified (Unix timestamp in milliseconds). | [optional] [readonly]
**authentication** | [**GenericConnectorAuth**](GenericConnectorAuth.md) | | [optional]
**headers** | [**List[Header]**](Header.md) | | [optional]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional]
## Example

View File

@ -16,6 +16,7 @@ Name | Type | Description | Notes
**oauth_client_secret** | **str** | |
**code** | **str** | |
**redirect_uri** | **str** | |
**scope** | **str** | | [optional]
## Example

View File

@ -8,7 +8,7 @@ Method | HTTP request | Description
[**delete_generic_connector**](GenericConnectorsApi.md#delete_generic_connector) | **DELETE** /connectors/generic/{id} | Delete connector
[**get_generic_connector**](GenericConnectorsApi.md#get_generic_connector) | **GET** /connectors/generic/{id} | Retrieve connector
[**get_generic_connectors**](GenericConnectorsApi.md#get_generic_connectors) | **GET** /connectors/generic | List connectors
[**list_generic_connector_operations**](GenericConnectorsApi.md#list_generic_connector_operations) | **GET** /connectors/generic/{id}/operations | List operation IDs assigned to a connector
[**list_generic_connector_operations**](GenericConnectorsApi.md#list_generic_connector_operations) | **GET** /connectors/generic/{id}/operations | List operation IDs for a connector
[**set_generic_connector_operations**](GenericConnectorsApi.md#set_generic_connector_operations) | **PUT** /connectors/generic/{id}/operations | Assign operations to a connector
[**update_generic_connector**](GenericConnectorsApi.md#update_generic_connector) | **PUT** /connectors/generic/{id} | Update connector
@ -171,7 +171,7 @@ void (empty response body)
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | No Content | - |
**204** | No Content. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
@ -351,7 +351,7 @@ Name | Type | Description | Notes
# **list_generic_connector_operations**
> Assignments list_generic_connector_operations(id, aid=aid)
List operation IDs assigned to a connector
List operation IDs for a connector
Returns a list of operation IDs assigned to a connector.
@ -389,7 +389,7 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
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)
try:
# List operation IDs assigned to a connector
# List operation IDs for a connector
api_response = api_instance.list_generic_connector_operations(id, aid=aid)
print("The response of GenericConnectorsApi->list_generic_connector_operations:\n")
pprint(api_response)

View File

@ -6,7 +6,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **str** | |
**value** | **str** | The value of the header. Note that this value is obfuscated in the response, even when overwritten. |
**value** | **str** | |
## Example

View File

@ -9,6 +9,7 @@ Name | Type | Description | Notes
**oauth_client_id** | **str** | |
**oauth_token_url** | **str** | |
**oauth_client_secret** | **str** | |
**scope** | **str** | | [optional]
**type** | [**AuthenticationType**](AuthenticationType.md) | |
## Example

View File

@ -80,27 +80,27 @@ Name | Type | Description | Notes
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/problem+json, application/hal+json, application/json
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**404** | Not found | - |
**200** | A list of assigned connectors. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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)
# **set_operation_connectors**
> Assignments set_operation_connectors(type, id, request_body, aid=aid)
> Assignments set_operation_connectors(type, id, request_body, confirm_disabled_objects=confirm_disabled_objects, aid=aid)
Assign connectors to an operation
Assigns one or more connectors to an operation. This replaces any existing assignments.
Assigns one or more connectors to an operation. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if connectors are changed.
### Example
@ -135,11 +135,12 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
type = 'webhooks' # str | The operation type.
id = 'cb1b8033-ea2d-4e9b-a920-fe87850693cf' # str | The operation ID.
request_body = ["ca39314d-eb4f-496f-9435-b5d20b1bfbff"] # List[str] | List of connector IDs to assign to the operation.
confirm_disabled_objects = False # bool | Confirmation to disable affected objects (for example, tests) for credential-vault operations. (optional) (default to False)
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)
try:
# Assign connectors to an operation
api_response = api_instance.set_operation_connectors(type, id, request_body, aid=aid)
api_response = api_instance.set_operation_connectors(type, id, request_body, confirm_disabled_objects=confirm_disabled_objects, aid=aid)
print("The response of OperationConnectorsApi->set_operation_connectors:\n")
pprint(api_response)
except Exception as e:
@ -156,6 +157,7 @@ Name | Type | Description | Notes
**type** | **str**| The operation type. |
**id** | **str**| The operation ID. |
**request_body** | [**List[str]**](str.md)| List of connector IDs to assign to the operation. |
**confirm_disabled_objects** | **bool**| Confirmation to disable affected objects (for example, tests) for credential-vault operations. | [optional] [default to False]
**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]
### Return type
@ -169,17 +171,17 @@ Name | Type | Description | Notes
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: application/problem+json, application/hal+json, application/json
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**404** | Not found | - |
**200** | Operation Connectors updated successfully. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**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)

View File

@ -169,7 +169,7 @@ void (empty response body)
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**204** | No Content | - |
**204** | No Content. | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |

View File

@ -14,6 +14,8 @@
# import apis into sdk package
from thousandeyes_sdk.connectors.api.credential_vault_operations_api import CredentialVaultOperationsApi
from thousandeyes_sdk.connectors.api.cyber_ark_conjur_connectors_api import CyberArkConjurConnectorsApi
from thousandeyes_sdk.connectors.api.generic_connectors_api import GenericConnectorsApi
from thousandeyes_sdk.connectors.api.operation_connectors_api import OperationConnectorsApi
from thousandeyes_sdk.connectors.api.webhook_operations_api import WebhookOperationsApi
@ -24,7 +26,13 @@ from thousandeyes_sdk.connectors.models.assignments import Assignments
from thousandeyes_sdk.connectors.models.authentication_type import AuthenticationType
from thousandeyes_sdk.connectors.models.basic_authentication import BasicAuthentication
from thousandeyes_sdk.connectors.models.bearer_token_authentication import BearerTokenAuthentication
from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector
from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors
from thousandeyes_sdk.connectors.models.conjur_host_authentication import ConjurHostAuthentication
from thousandeyes_sdk.connectors.models.connector_type import ConnectorType
from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation
from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations
from thousandeyes_sdk.connectors.models.credential_vault_secret import CredentialVaultSecret
from thousandeyes_sdk.connectors.models.error import Error
from thousandeyes_sdk.connectors.models.generic_connector import GenericConnector
from thousandeyes_sdk.connectors.models.generic_connector_auth import GenericConnectorAuth

View File

@ -1,6 +1,8 @@
# flake8: noqa
# import apis into api package
from thousandeyes_sdk.connectors.api.credential_vault_operations_api import CredentialVaultOperationsApi
from thousandeyes_sdk.connectors.api.cyber_ark_conjur_connectors_api import CyberArkConjurConnectorsApi
from thousandeyes_sdk.connectors.api.generic_connectors_api import GenericConnectorsApi
from thousandeyes_sdk.connectors.api.operation_connectors_api import OperationConnectorsApi
from thousandeyes_sdk.connectors.api.webhook_operations_api import WebhookOperationsApi

View File

@ -1236,7 +1236,7 @@ class GenericConnectorsApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> Assignments:
"""List operation IDs assigned to a connector
"""List operation IDs for a connector
Returns a list of operation IDs assigned to a connector.
@ -1313,7 +1313,7 @@ class GenericConnectorsApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[Assignments]:
"""List operation IDs assigned to a connector
"""List operation IDs for a connector
Returns a list of operation IDs assigned to a connector.
@ -1390,7 +1390,7 @@ class GenericConnectorsApi:
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""List operation IDs assigned to a connector
"""List operation IDs for a connector
Returns a list of operation IDs assigned to a connector.

View File

@ -18,7 +18,7 @@ from importlib.metadata import version
import thousandeyes_sdk.connectors.models
from pydantic import Field, StrictStr
from pydantic import Field, StrictBool, StrictStr
from typing import List, Optional
from typing_extensions import Annotated
from thousandeyes_sdk.connectors.models.assignments import Assignments
@ -105,11 +105,11 @@ class OperationConnectorsApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'404': "Error",
'200': "Assignments",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
@ -186,11 +186,11 @@ class OperationConnectorsApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'404': "Error",
'200': "Assignments",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
@ -267,11 +267,11 @@ class OperationConnectorsApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'404': "Error",
'200': "Assignments",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
@ -322,9 +322,9 @@ class OperationConnectorsApi:
# set the HTTP header `Accept`
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/problem+json',
'application/hal+json',
'application/json'
'application/json',
'application/problem+json'
]
)
@ -358,6 +358,7 @@ class OperationConnectorsApi:
type: Annotated[StrictStr, Field(description="The operation type.")],
id: Annotated[StrictStr, Field(description="The operation ID.")],
request_body: Annotated[List[StrictStr], Field(min_length=0, max_length=1, description="List of connector IDs to assign to the operation.")],
confirm_disabled_objects: Annotated[Optional[StrictBool], Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")] = None,
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,
_request_timeout: Union[
None,
@ -374,7 +375,7 @@ class OperationConnectorsApi:
) -> Assignments:
"""Assign connectors to an operation
Assigns one or more connectors to an operation. This replaces any existing assignments.
Assigns one or more connectors to an operation. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if connectors are changed.
:param type: The operation type. (required)
:type type: str
@ -382,6 +383,8 @@ class OperationConnectorsApi:
:type id: str
:param request_body: List of connector IDs to assign to the operation. (required)
:type request_body: List[str]
:param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations.
:type confirm_disabled_objects: bool
: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 _request_timeout: timeout setting for this request. If one
@ -410,6 +413,7 @@ class OperationConnectorsApi:
type=type,
id=id,
request_body=request_body,
confirm_disabled_objects=confirm_disabled_objects,
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
@ -418,11 +422,11 @@ class OperationConnectorsApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'404': "Error",
'200': "Assignments",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
@ -443,6 +447,7 @@ class OperationConnectorsApi:
type: Annotated[StrictStr, Field(description="The operation type.")],
id: Annotated[StrictStr, Field(description="The operation ID.")],
request_body: Annotated[List[StrictStr], Field(min_length=0, max_length=1, description="List of connector IDs to assign to the operation.")],
confirm_disabled_objects: Annotated[Optional[StrictBool], Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")] = None,
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,
_request_timeout: Union[
None,
@ -459,7 +464,7 @@ class OperationConnectorsApi:
) -> ApiResponse[Assignments]:
"""Assign connectors to an operation
Assigns one or more connectors to an operation. This replaces any existing assignments.
Assigns one or more connectors to an operation. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if connectors are changed.
:param type: The operation type. (required)
:type type: str
@ -467,6 +472,8 @@ class OperationConnectorsApi:
:type id: str
:param request_body: List of connector IDs to assign to the operation. (required)
:type request_body: List[str]
:param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations.
:type confirm_disabled_objects: bool
: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 _request_timeout: timeout setting for this request. If one
@ -495,6 +502,7 @@ class OperationConnectorsApi:
type=type,
id=id,
request_body=request_body,
confirm_disabled_objects=confirm_disabled_objects,
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
@ -503,11 +511,11 @@ class OperationConnectorsApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'404': "Error",
'200': "Assignments",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
@ -528,6 +536,7 @@ class OperationConnectorsApi:
type: Annotated[StrictStr, Field(description="The operation type.")],
id: Annotated[StrictStr, Field(description="The operation ID.")],
request_body: Annotated[List[StrictStr], Field(min_length=0, max_length=1, description="List of connector IDs to assign to the operation.")],
confirm_disabled_objects: Annotated[Optional[StrictBool], Field(description="Confirmation to disable affected objects (for example, tests) for credential-vault operations.")] = None,
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,
_request_timeout: Union[
None,
@ -544,7 +553,7 @@ class OperationConnectorsApi:
) -> RESTResponseType:
"""Assign connectors to an operation
Assigns one or more connectors to an operation. This replaces any existing assignments.
Assigns one or more connectors to an operation. This replaces any existing assignments. Note: This operation may disable affected objects (such as tests) if connectors are changed.
:param type: The operation type. (required)
:type type: str
@ -552,6 +561,8 @@ class OperationConnectorsApi:
:type id: str
:param request_body: List of connector IDs to assign to the operation. (required)
:type request_body: List[str]
:param confirm_disabled_objects: Confirmation to disable affected objects (for example, tests) for credential-vault operations.
:type confirm_disabled_objects: bool
: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 _request_timeout: timeout setting for this request. If one
@ -580,6 +591,7 @@ class OperationConnectorsApi:
type=type,
id=id,
request_body=request_body,
confirm_disabled_objects=confirm_disabled_objects,
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
@ -588,11 +600,11 @@ class OperationConnectorsApi:
)
_response_types_map: Dict[str, Optional[str]] = {
'404': "Error",
'200': "Assignments",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
@ -607,6 +619,7 @@ class OperationConnectorsApi:
type,
id,
request_body,
confirm_disabled_objects,
aid,
_request_auth,
_content_type,
@ -633,6 +646,10 @@ class OperationConnectorsApi:
if id is not None:
_path_params['id'] = id
# process the query parameters
if confirm_disabled_objects is not None:
_query_params.append(('confirmDisabledObjects', confirm_disabled_objects))
if aid is not None:
_query_params.append(('aid', aid))
@ -647,9 +664,9 @@ class OperationConnectorsApi:
# set the HTTP header `Accept`
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/problem+json',
'application/hal+json',
'application/json'
'application/json',
'application/problem+json'
]
)

View File

@ -17,7 +17,13 @@ from thousandeyes_sdk.connectors.models.assignments import Assignments
from thousandeyes_sdk.connectors.models.authentication_type import AuthenticationType
from thousandeyes_sdk.connectors.models.basic_authentication import BasicAuthentication
from thousandeyes_sdk.connectors.models.bearer_token_authentication import BearerTokenAuthentication
from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector
from thousandeyes_sdk.connectors.models.conjur_connectors import ConjurConnectors
from thousandeyes_sdk.connectors.models.conjur_host_authentication import ConjurHostAuthentication
from thousandeyes_sdk.connectors.models.connector_type import ConnectorType
from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation
from thousandeyes_sdk.connectors.models.credential_vault_operations import CredentialVaultOperations
from thousandeyes_sdk.connectors.models.credential_vault_secret import CredentialVaultSecret
from thousandeyes_sdk.connectors.models.error import Error
from thousandeyes_sdk.connectors.models.generic_connector import GenericConnector
from thousandeyes_sdk.connectors.models.generic_connector_auth import GenericConnectorAuth

View File

@ -0,0 +1,114 @@
# coding: utf-8
"""
Integrations API
**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations.
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, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.connectors.models.conjur_host_authentication import ConjurHostAuthentication
from thousandeyes_sdk.connectors.models.connector_type import ConnectorType
from thousandeyes_sdk.connectors.models.self_links import SelfLinks
from typing import Optional, Set
from typing_extensions import Self
class ConjurConnector(BaseModel):
"""
ConjurConnector
""" # noqa: E501
id: Optional[StrictStr] = None
type: ConnectorType
name: StrictStr
target: StrictStr
last_modified_date: Optional[StrictInt] = Field(default=None, description="The date when the connector was last modified (Unix timestamp in milliseconds).", alias="lastModifiedDate")
account: StrictStr
authentication: ConjurHostAuthentication
links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["id", "type", "name", "target", "lastModifiedDate", "account", "authentication", "_links"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
extra="allow",
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ConjurConnector 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([
"id",
"last_modified_date",
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of authentication
if self.authentication:
_dict['authentication'] = self.authentication.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
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ConjurConnector 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"),
"type": obj.get("type"),
"name": obj.get("name"),
"target": obj.get("target"),
"lastModifiedDate": obj.get("lastModifiedDate"),
"account": obj.get("account"),
"authentication": ConjurHostAuthentication.from_dict(obj["authentication"]) if obj.get("authentication") is not None else None,
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
})
return _obj

View File

@ -0,0 +1,101 @@
# coding: utf-8
"""
Integrations API
**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations.
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.connectors.models.conjur_connector import ConjurConnector
from thousandeyes_sdk.connectors.models.self_links import SelfLinks
from typing import Optional, Set
from typing_extensions import Self
class ConjurConnectors(BaseModel):
"""
ConjurConnectors
""" # noqa: E501
items: Optional[List[ConjurConnector]] = None
links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["items", "_links"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
extra="allow",
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ConjurConnectors 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 each item in items (list)
_items = []
if self.items:
for _item in self.items:
if _item:
_items.append(_item.to_dict())
_dict['items'] = _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
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ConjurConnectors from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"items": [ConjurConnector.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None,
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
})
return _obj

View File

@ -0,0 +1,92 @@
# coding: utf-8
"""
Integrations API
**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations.
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
from thousandeyes_sdk.connectors.models.authentication_type import AuthenticationType
from typing import Optional, Set
from typing_extensions import Self
class ConjurHostAuthentication(BaseModel):
"""
ConjurHostAuthentication
""" # noqa: E501
host_id: StrictStr = Field(alias="hostId")
api_key: StrictStr = Field(alias="apiKey")
type: AuthenticationType
__properties: ClassVar[List[str]] = ["hostId", "apiKey", "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 ConjurHostAuthentication 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 ConjurHostAuthentication from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"hostId": obj.get("hostId"),
"apiKey": obj.get("apiKey"),
"type": obj.get("type")
})
return _obj

View File

@ -0,0 +1,113 @@
# coding: utf-8
"""
Integrations API
**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations.
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 thousandeyes_sdk.connectors.models.credential_vault_secret import CredentialVaultSecret
from thousandeyes_sdk.connectors.models.operation_status import OperationStatus
from thousandeyes_sdk.connectors.models.operation_type import OperationType
from thousandeyes_sdk.connectors.models.self_links import SelfLinks
from typing import Optional, Set
from typing_extensions import Self
class CredentialVaultOperation(BaseModel):
"""
CredentialVaultOperation
""" # noqa: E501
id: Optional[StrictStr] = None
name: StrictStr
secrets: List[CredentialVaultSecret]
type: Optional[OperationType] = None
status: Optional[OperationStatus] = None
links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["id", "name", "secrets", "type", "status", "_links"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
extra="allow",
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of CredentialVaultOperation 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.
"""
excluded_fields: Set[str] = set([
"id",
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in secrets (list)
_items = []
if self.secrets:
for _item in self.secrets:
if _item:
_items.append(_item.to_dict())
_dict['secrets'] = _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
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of CredentialVaultOperation 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"),
"secrets": [CredentialVaultSecret.from_dict(_item) for _item in obj["secrets"]] if obj.get("secrets") is not None else None,
"type": obj.get("type"),
"status": obj.get("status"),
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
})
return _obj

View File

@ -0,0 +1,101 @@
# coding: utf-8
"""
Integrations API
**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations.
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.connectors.models.credential_vault_operation import CredentialVaultOperation
from thousandeyes_sdk.connectors.models.self_links import SelfLinks
from typing import Optional, Set
from typing_extensions import Self
class CredentialVaultOperations(BaseModel):
"""
CredentialVaultOperations
""" # noqa: E501
items: Optional[List[CredentialVaultOperation]] = None
links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["items", "_links"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
extra="allow",
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True)
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of CredentialVaultOperations 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 each item in items (list)
_items = []
if self.items:
for _item in self.items:
if _item:
_items.append(_item.to_dict())
_dict['items'] = _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
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of CredentialVaultOperations from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"items": [CredentialVaultOperation.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None,
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
})
return _obj

View File

@ -0,0 +1,91 @@
# coding: utf-8
"""
Integrations API
**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations.
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 CredentialVaultSecret(BaseModel):
"""
CredentialVaultSecret
""" # noqa: E501
id: Optional[StrictStr] = None
name: StrictStr
secret_key: StrictStr = Field(alias="secretKey")
__properties: ClassVar[List[str]] = ["id", "name", "secretKey"]
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 CredentialVaultSecret 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 CredentialVaultSecret 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"),
"secretKey": obj.get("secretKey")
})
return _obj

View File

@ -21,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.connectors.models.connector_type import ConnectorType
from thousandeyes_sdk.connectors.models.generic_connector_auth import GenericConnectorAuth
from thousandeyes_sdk.connectors.models.header import Header
from thousandeyes_sdk.connectors.models.self_links import SelfLinks
from typing import Optional, Set
from typing_extensions import Self
@ -32,10 +33,11 @@ class GenericConnector(BaseModel):
type: ConnectorType
name: StrictStr
target: StrictStr
authentication: Optional[GenericConnectorAuth] = None
last_modified_date: Optional[StrictInt] = Field(default=None, description="The date when the connector was last modified (Unix timestamp in milliseconds).", alias="lastModifiedDate")
authentication: Optional[GenericConnectorAuth] = None
headers: Optional[List[Header]] = None
__properties: ClassVar[List[str]] = ["id", "type", "name", "target", "authentication", "lastModifiedDate", "headers"]
links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["id", "type", "name", "target", "lastModifiedDate", "authentication", "headers", "_links"]
model_config = ConfigDict(
populate_by_name=True,
@ -91,6 +93,9 @@ class GenericConnector(BaseModel):
if _item:
_items.append(_item.to_dict())
_dict['headers'] = _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
@ -107,9 +112,10 @@ class GenericConnector(BaseModel):
"type": obj.get("type"),
"name": obj.get("name"),
"target": obj.get("target"),
"authentication": GenericConnectorAuth.from_dict(obj["authentication"]) if obj.get("authentication") is not None else None,
"lastModifiedDate": obj.get("lastModifiedDate"),
"headers": [Header.from_dict(_item) for _item in obj["headers"]] if obj.get("headers") is not None else None
"authentication": GenericConnectorAuth.from_dict(obj["authentication"]) if obj.get("authentication") is not None else None,
"headers": [Header.from_dict(_item) for _item in obj["headers"]] if obj.get("headers") is not None else None,
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
})
return _obj

View File

@ -16,7 +16,7 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from pydantic import BaseModel, ConfigDict, StrictStr
from typing import Any, ClassVar, Dict, List
from typing import Optional, Set
from typing_extensions import Self
@ -26,7 +26,7 @@ class Header(BaseModel):
Header
""" # noqa: E501
name: StrictStr
value: StrictStr = Field(description="The value of the header. Note that this value is obfuscated in the response, even when overwritten.")
value: StrictStr
__properties: ClassVar[List[str]] = ["name", "value"]
model_config = ConfigDict(

View File

@ -30,8 +30,9 @@ class OauthClientCredentialsAuthentication(BaseModel):
oauth_client_id: StrictStr = Field(alias="oauthClientId")
oauth_token_url: StrictStr = Field(alias="oauthTokenUrl")
oauth_client_secret: StrictStr = Field(alias="oauthClientSecret")
scope: Optional[StrictStr] = None
type: AuthenticationType
__properties: ClassVar[List[str]] = ["token", "oauthClientId", "oauthTokenUrl", "oauthClientSecret", "type"]
__properties: ClassVar[List[str]] = ["token", "oauthClientId", "oauthTokenUrl", "oauthClientSecret", "scope", "type"]
model_config = ConfigDict(
populate_by_name=True,
@ -89,6 +90,7 @@ class OauthClientCredentialsAuthentication(BaseModel):
"oauthClientId": obj.get("oauthClientId"),
"oauthTokenUrl": obj.get("oauthTokenUrl"),
"oauthClientSecret": obj.get("oauthClientSecret"),
"scope": obj.get("scope"),
"type": obj.get("type")
})
return _obj

View File

@ -0,0 +1,287 @@
# coding: utf-8
"""
Integrations API
**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations.
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import json
import unittest
import thousandeyes_sdk.connectors.models
from .test_utils import assert_constructed_model_matches_example_json
from thousandeyes_sdk.connectors.api.credential_vault_operations_api import CredentialVaultOperationsApi
class TestCredentialVaultOperationsApi(unittest.TestCase):
"""CredentialVaultOperationsApi unit test stubs"""
def setUp(self) -> None:
self.api = CredentialVaultOperationsApi()
def tearDown(self) -> None:
pass
def test_create_credential_vault_operation_models_validation(self) -> None:
"""Test case for create_credential_vault_operation request and response models"""
request_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"
}
},
"name" : "My operation",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "webhook",
"secrets" : [ {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
}, {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
} ],
"status" : "pending"
}
"""
request_loaded_json = json.loads(request_body_json)
request_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(request_body_json)
assert_constructed_model_matches_example_json(request_from_json, request_loaded_json)
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"
}
},
"name" : "My operation",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "webhook",
"secrets" : [ {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
}, {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
} ],
"status" : "pending"
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_delete_credential_vault_operation_models_validation(self) -> None:
"""Test case for delete_credential_vault_operation request and response models"""
def test_get_credential_vault_operation_models_validation(self) -> None:
"""Test case for get_credential_vault_operation 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"
}
},
"name" : "My operation",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "webhook",
"secrets" : [ {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
}, {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
} ],
"status" : "pending"
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_get_credential_vault_operations_models_validation(self) -> None:
"""Test case for get_credential_vault_operations 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"
}
},
"items" : [ {
"_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"
}
},
"name" : "My operation",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "webhook",
"secrets" : [ {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
}, {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
} ],
"status" : "pending"
}, {
"_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"
}
},
"name" : "My operation",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "webhook",
"secrets" : [ {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
}, {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
} ],
"status" : "pending"
} ]
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperations.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_update_credential_vault_operation_models_validation(self) -> None:
"""Test case for update_credential_vault_operation request and response models"""
request_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"
}
},
"name" : "My operation",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "webhook",
"secrets" : [ {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
}, {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
} ],
"status" : "pending"
}
"""
request_loaded_json = json.loads(request_body_json)
request_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(request_body_json)
assert_constructed_model_matches_example_json(request_from_json, request_loaded_json)
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"
}
},
"name" : "My operation",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "webhook",
"secrets" : [ {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
}, {
"secretKey" : "secret/key",
"name" : "secret_name",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf"
} ],
"status" : "pending"
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.CredentialVaultOperation.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,328 @@
# coding: utf-8
"""
Integrations API
**Note:** The Webhook Operations APIs are not available for ThousandEyes for Government instance. Manage connectors and operations.
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import json
import unittest
import thousandeyes_sdk.connectors.models
from .test_utils import assert_constructed_model_matches_example_json
from thousandeyes_sdk.connectors.api.cyber_ark_conjur_connectors_api import CyberArkConjurConnectorsApi
class TestCyberArkConjurConnectorsApi(unittest.TestCase):
"""CyberArkConjurConnectorsApi unit test stubs"""
def setUp(self) -> None:
self.api = CyberArkConjurConnectorsApi()
def tearDown(self) -> None:
pass
def test_create_conjur_connector_models_validation(self) -> None:
"""Test case for create_conjur_connector request and response models"""
request_body_json = """
{
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
"account" : "My CyberArk Account",
"target" : "https://eval.conjur.org/secrets",
"authentication" : {
"apiKey" : "abc123",
"hostId" : "host1",
"type" : "basic"
}
}
"""
request_loaded_json = json.loads(request_body_json)
request_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(request_body_json)
assert_constructed_model_matches_example_json(request_from_json, request_loaded_json)
response_body_json = """
{
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
"account" : "My CyberArk Account",
"target" : "https://eval.conjur.org/secrets",
"authentication" : {
"apiKey" : "abc123",
"hostId" : "host1",
"type" : "basic"
}
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_delete_conjur_connector_models_validation(self) -> None:
"""Test case for delete_conjur_connector request and response models"""
def test_get_conjur_connector_models_validation(self) -> None:
"""Test case for get_conjur_connector request and response models"""
response_body_json = """
{
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
"account" : "My CyberArk Account",
"target" : "https://eval.conjur.org/secrets",
"authentication" : {
"apiKey" : "abc123",
"hostId" : "host1",
"type" : "basic"
}
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_get_conjur_connector_operations_models_validation(self) -> None:
"""Test case for get_conjur_connector_operations 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"
}
},
"items" : [ "ca39314d-eb4f-496f-9435-b5d20b1bfbff", "ca39314d-eb4f-496f-9435-b5d20b1bfbff" ]
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.Assignments.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_get_conjur_connectors_models_validation(self) -> None:
"""Test case for get_conjur_connectors 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"
}
},
"items" : [ {
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
"account" : "My CyberArk Account",
"target" : "https://eval.conjur.org/secrets",
"authentication" : {
"apiKey" : "abc123",
"hostId" : "host1",
"type" : "basic"
}
}, {
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
"account" : "My CyberArk Account",
"target" : "https://eval.conjur.org/secrets",
"authentication" : {
"apiKey" : "abc123",
"hostId" : "host1",
"type" : "basic"
}
} ]
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.ConjurConnectors.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_set_conjur_connector_operations_models_validation(self) -> None:
"""Test case for set_conjur_connector_operations request and response models"""
request_body_json = """
["ca39314d-eb4f-496f-9435-b5d20b1bfbff","a32cfbab-32f6-41d8-9027-7127cba965dd"]
"""
request_loaded_json = json.loads(request_body_json)
request_from_json = json.loads(request_body_json)
self.assertEqual(request_from_json, request_loaded_json)
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"
}
},
"items" : [ "ca39314d-eb4f-496f-9435-b5d20b1bfbff", "ca39314d-eb4f-496f-9435-b5d20b1bfbff" ]
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.Assignments.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_update_conjur_connector_models_validation(self) -> None:
"""Test case for update_conjur_connector request and response models"""
request_body_json = """
{
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
"account" : "My CyberArk Account",
"target" : "https://eval.conjur.org/secrets",
"authentication" : {
"apiKey" : "abc123",
"hostId" : "host1",
"type" : "basic"
}
}
"""
request_loaded_json = json.loads(request_body_json)
request_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(request_body_json)
assert_constructed_model_matches_example_json(request_from_json, request_loaded_json)
response_body_json = """
{
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
"account" : "My CyberArk Account",
"target" : "https://eval.conjur.org/secrets",
"authentication" : {
"apiKey" : "abc123",
"hostId" : "host1",
"type" : "basic"
}
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.connectors.models.ConjurConnector.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
if __name__ == '__main__':
unittest.main()

View File

@ -40,6 +40,18 @@ class TestGenericConnectorsApi(unittest.TestCase):
"value" : "application/json"
} ],
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
@ -66,6 +78,18 @@ class TestGenericConnectorsApi(unittest.TestCase):
"value" : "application/json"
} ],
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
@ -98,6 +122,18 @@ class TestGenericConnectorsApi(unittest.TestCase):
"value" : "application/json"
} ],
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
@ -139,6 +175,18 @@ class TestGenericConnectorsApi(unittest.TestCase):
"value" : "application/json"
} ],
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
@ -157,6 +205,18 @@ class TestGenericConnectorsApi(unittest.TestCase):
"value" : "application/json"
} ],
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
@ -240,6 +300,18 @@ class TestGenericConnectorsApi(unittest.TestCase):
"value" : "application/json"
} ],
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",
@ -266,6 +338,18 @@ class TestGenericConnectorsApi(unittest.TestCase):
"value" : "application/json"
} ],
"lastModifiedDate" : 1770293655756,
"_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"
}
},
"name" : "Cisco Slack",
"id" : "cb1b8033-ea2d-4e9b-a920-fe87850693cf",
"type" : "generic",

View File

@ -36,6 +36,9 @@ class TestWebhookOperationsApi(unittest.TestCase):
"headers" : [ {
"name" : "Content-Type",
"value" : "application/json"
}, {
"name" : "Content-Type",
"value" : "application/json"
} ],
"payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}",
"queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}",
@ -70,6 +73,9 @@ class TestWebhookOperationsApi(unittest.TestCase):
"headers" : [ {
"name" : "Content-Type",
"value" : "application/json"
}, {
"name" : "Content-Type",
"value" : "application/json"
} ],
"payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}",
"queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}",
@ -110,6 +116,9 @@ class TestWebhookOperationsApi(unittest.TestCase):
"headers" : [ {
"name" : "Content-Type",
"value" : "application/json"
}, {
"name" : "Content-Type",
"value" : "application/json"
} ],
"payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}",
"queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}",
@ -159,6 +168,9 @@ class TestWebhookOperationsApi(unittest.TestCase):
"headers" : [ {
"name" : "Content-Type",
"value" : "application/json"
}, {
"name" : "Content-Type",
"value" : "application/json"
} ],
"payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}",
"queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}",
@ -185,6 +197,9 @@ class TestWebhookOperationsApi(unittest.TestCase):
"headers" : [ {
"name" : "Content-Type",
"value" : "application/json"
}, {
"name" : "Content-Type",
"value" : "application/json"
} ],
"payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}",
"queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}",
@ -221,6 +236,9 @@ class TestWebhookOperationsApi(unittest.TestCase):
"headers" : [ {
"name" : "Content-Type",
"value" : "application/json"
}, {
"name" : "Content-Type",
"value" : "application/json"
} ],
"payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}",
"queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}",
@ -255,6 +273,9 @@ class TestWebhookOperationsApi(unittest.TestCase):
"headers" : [ {
"name" : "Content-Type",
"value" : "application/json"
}, {
"name" : "Content-Type",
"value" : "application/json"
} ],
"payload" : "{\\"property1\\": {{numericVar}}, \\"property2\\": \\"{{stringVar}}\\"}",
"queryParams" : "{\\"queryParam1\\":\\"{{stringVar}}\\"}",

View File

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

View File

@ -10,8 +10,6 @@ docs/ApiAgentStatusAgent.md
docs/ApiAgentStatusIpInfo.md
docs/ApiAgentStatusSummary.md
docs/ApiAgentStatusWidget.md
docs/ApiAgentWidgetShow.md
docs/ApiAgentWidgetType.md
docs/ApiAggregateProperty.md
docs/ApiAlertListAlert.md
docs/ApiAlertListWidget.md
@ -59,8 +57,6 @@ docs/ApiWidgetDataSnapshotResponse.md
docs/ApiWidgetFilterApiTestTableFilterKey.md
docs/ApiWidgetFixedYScalePrefix.md
docs/ApiWidgetMeasure.md
docs/ApiWidgetSortDirection.md
docs/ApiWidgetSortProperty.md
docs/ApiWidgetsDataV2.md
docs/AppAndSelfLinks.md
docs/AswRepeat.md
@ -120,7 +116,6 @@ docs/VisualMode.md
docs/Widget.md
docs/WidgetMeasureType.md
docs/WidgetPosition.md
docs/WidgetType.md
pyproject.toml
setup.cfg
src/thousandeyes_sdk/dashboards/__init__.py
@ -138,8 +133,6 @@ src/thousandeyes_sdk/dashboards/models/api_agent_status_agent.py
src/thousandeyes_sdk/dashboards/models/api_agent_status_ip_info.py
src/thousandeyes_sdk/dashboards/models/api_agent_status_summary.py
src/thousandeyes_sdk/dashboards/models/api_agent_status_widget.py
src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py
src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py
src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py
src/thousandeyes_sdk/dashboards/models/api_alert_list_alert.py
src/thousandeyes_sdk/dashboards/models/api_alert_list_widget.py
@ -187,8 +180,6 @@ src/thousandeyes_sdk/dashboards/models/api_widget_data_snapshot_response.py
src/thousandeyes_sdk/dashboards/models/api_widget_filter_api_test_table_filter_key.py
src/thousandeyes_sdk/dashboards/models/api_widget_fixed_y_scale_prefix.py
src/thousandeyes_sdk/dashboards/models/api_widget_measure.py
src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py
src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py
src/thousandeyes_sdk/dashboards/models/api_widgets_data_v2.py
src/thousandeyes_sdk/dashboards/models/app_and_self_links.py
src/thousandeyes_sdk/dashboards/models/asw_repeat.py
@ -245,7 +236,6 @@ src/thousandeyes_sdk/dashboards/models/visual_mode.py
src/thousandeyes_sdk/dashboards/models/widget.py
src/thousandeyes_sdk/dashboards/models/widget_measure_type.py
src/thousandeyes_sdk/dashboards/models/widget_position.py
src/thousandeyes_sdk/dashboards/models/widget_type.py
src/thousandeyes_sdk/dashboards/py.typed
test/__init__.py
test/test_dashboard_snapshots_api.py

View File

@ -3,7 +3,7 @@ Manage ThousandEyes Dashboards.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.84
- API version: 7.0.90
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -127,8 +127,6 @@ Class | Method | HTTP request | Description
- [ApiAgentStatusIpInfo](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentStatusIpInfo.md)
- [ApiAgentStatusSummary](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentStatusSummary.md)
- [ApiAgentStatusWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentStatusWidget.md)
- [ApiAgentWidgetShow](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentWidgetShow.md)
- [ApiAgentWidgetType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAgentWidgetType.md)
- [ApiAggregateProperty](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAggregateProperty.md)
- [ApiAlertListAlert](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAlertListAlert.md)
- [ApiAlertListWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiAlertListWidget.md)
@ -176,8 +174,6 @@ Class | Method | HTTP request | Description
- [ApiWidgetFilterApiTestTableFilterKey](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetFilterApiTestTableFilterKey.md)
- [ApiWidgetFixedYScalePrefix](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetFixedYScalePrefix.md)
- [ApiWidgetMeasure](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetMeasure.md)
- [ApiWidgetSortDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetSortDirection.md)
- [ApiWidgetSortProperty](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetSortProperty.md)
- [ApiWidgetsDataV2](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiWidgetsDataV2.md)
- [AppAndSelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/AppAndSelfLinks.md)
- [AswRepeat](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/AswRepeat.md)
@ -234,7 +230,6 @@ Class | Method | HTTP request | Description
- [Widget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/Widget.md)
- [WidgetMeasureType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/WidgetMeasureType.md)
- [WidgetPosition](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/WidgetPosition.md)
- [WidgetType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/WidgetType.md)
<a id="documentation-for-authorization"></a>

View File

@ -29,8 +29,6 @@ from thousandeyes_sdk.dashboards.models.api_agent_status_agent import ApiAgentSt
from thousandeyes_sdk.dashboards.models.api_agent_status_ip_info import ApiAgentStatusIpInfo
from thousandeyes_sdk.dashboards.models.api_agent_status_summary import ApiAgentStatusSummary
from thousandeyes_sdk.dashboards.models.api_agent_status_widget import ApiAgentStatusWidget
from thousandeyes_sdk.dashboards.models.api_agent_widget_show import ApiAgentWidgetShow
from thousandeyes_sdk.dashboards.models.api_agent_widget_type import ApiAgentWidgetType
from thousandeyes_sdk.dashboards.models.api_aggregate_property import ApiAggregateProperty
from thousandeyes_sdk.dashboards.models.api_alert_list_alert import ApiAlertListAlert
from thousandeyes_sdk.dashboards.models.api_alert_list_widget import ApiAlertListWidget
@ -78,8 +76,6 @@ from thousandeyes_sdk.dashboards.models.api_widget_data_snapshot_response import
from thousandeyes_sdk.dashboards.models.api_widget_filter_api_test_table_filter_key import ApiWidgetFilterApiTestTableFilterKey
from thousandeyes_sdk.dashboards.models.api_widget_fixed_y_scale_prefix import ApiWidgetFixedYScalePrefix
from thousandeyes_sdk.dashboards.models.api_widget_measure import ApiWidgetMeasure
from thousandeyes_sdk.dashboards.models.api_widget_sort_direction import ApiWidgetSortDirection
from thousandeyes_sdk.dashboards.models.api_widget_sort_property import ApiWidgetSortProperty
from thousandeyes_sdk.dashboards.models.api_widgets_data_v2 import ApiWidgetsDataV2
from thousandeyes_sdk.dashboards.models.app_and_self_links import AppAndSelfLinks
from thousandeyes_sdk.dashboards.models.asw_repeat import AswRepeat
@ -136,4 +132,3 @@ from thousandeyes_sdk.dashboards.models.visual_mode import VisualMode
from thousandeyes_sdk.dashboards.models.widget import Widget
from thousandeyes_sdk.dashboards.models.widget_measure_type import WidgetMeasureType
from thousandeyes_sdk.dashboards.models.widget_position import WidgetPosition
from thousandeyes_sdk.dashboards.models.widget_type import WidgetType

View File

@ -22,8 +22,6 @@ from thousandeyes_sdk.dashboards.models.api_agent_status_agent import ApiAgentSt
from thousandeyes_sdk.dashboards.models.api_agent_status_ip_info import ApiAgentStatusIpInfo
from thousandeyes_sdk.dashboards.models.api_agent_status_summary import ApiAgentStatusSummary
from thousandeyes_sdk.dashboards.models.api_agent_status_widget import ApiAgentStatusWidget
from thousandeyes_sdk.dashboards.models.api_agent_widget_show import ApiAgentWidgetShow
from thousandeyes_sdk.dashboards.models.api_agent_widget_type import ApiAgentWidgetType
from thousandeyes_sdk.dashboards.models.api_aggregate_property import ApiAggregateProperty
from thousandeyes_sdk.dashboards.models.api_alert_list_alert import ApiAlertListAlert
from thousandeyes_sdk.dashboards.models.api_alert_list_widget import ApiAlertListWidget
@ -71,8 +69,6 @@ from thousandeyes_sdk.dashboards.models.api_widget_data_snapshot_response import
from thousandeyes_sdk.dashboards.models.api_widget_filter_api_test_table_filter_key import ApiWidgetFilterApiTestTableFilterKey
from thousandeyes_sdk.dashboards.models.api_widget_fixed_y_scale_prefix import ApiWidgetFixedYScalePrefix
from thousandeyes_sdk.dashboards.models.api_widget_measure import ApiWidgetMeasure
from thousandeyes_sdk.dashboards.models.api_widget_sort_direction import ApiWidgetSortDirection
from thousandeyes_sdk.dashboards.models.api_widget_sort_property import ApiWidgetSortProperty
from thousandeyes_sdk.dashboards.models.api_widgets_data_v2 import ApiWidgetsDataV2
from thousandeyes_sdk.dashboards.models.app_and_self_links import AppAndSelfLinks
from thousandeyes_sdk.dashboards.models.asw_repeat import AswRepeat
@ -129,4 +125,3 @@ from thousandeyes_sdk.dashboards.models.visual_mode import VisualMode
from thousandeyes_sdk.dashboards.models.widget import Widget
from thousandeyes_sdk.dashboards.models.widget_measure_type import WidgetMeasureType
from thousandeyes_sdk.dashboards.models.widget_position import WidgetPosition
from thousandeyes_sdk.dashboards.models.widget_type import WidgetType

View File

@ -41,6 +41,7 @@ class ApiAggregateProperty(str, Enum):
TEST_LABEL = 'TEST_LABEL'
TEST_TAG = 'TEST_TAG'
AGENT_LABEL = 'AGENT_LABEL'
AGENT_TAG = 'AGENT_TAG'
TRANSACTION_STEP = 'TRANSACTION_STEP'
TRANSACTION_PAGE = 'TRANSACTION_PAGE'
WEB_TRANSACTION_MARKER = 'WEB_TRANSACTION_MARKER'
@ -101,6 +102,7 @@ class ApiAggregateProperty(str, Enum):
EYEBROW_ORG_NAME = 'EYEBROW_ORG_NAME'
EYEBROW_USER = 'EYEBROW_USER'
EYEBROW_AGENT = 'EYEBROW_AGENT'
EYEBROW_AGENT_TAG = 'EYEBROW_AGENT_TAG'
EYEBROW_COMPUTER_NAME = 'EYEBROW_COMPUTER_NAME'
CLOUD_NATIVE_MONITORING_MINUS_ALL = 'CLOUD_NATIVE_MONITORING-ALL'
CLOUD_NATIVE_MONITORING_MINUS_ACCOUNT = 'CLOUD_NATIVE_MONITORING-ACCOUNT'

View File

@ -1,41 +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 json
from enum import Enum
from typing_extensions import Self
class ApiWidgetSortProperty(str, Enum):
"""
Determines the card sorting criterion.
"""
"""
allowed enum values
"""
ALPHABETICAL = 'alphabetical'
VALUE = 'value'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of ApiWidgetSortProperty from a JSON string"""
return cls(json.loads(json_str))
@classmethod
def _missing_(cls, value):
"""Handle unknown values"""
return cls.UNKNOWN

View File

@ -1,54 +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 json
from enum import Enum
from typing_extensions import Self
class WidgetType(str, Enum):
"""
Type of the Widget
"""
"""
allowed enum values
"""
BAR_CHART_COLON__STACKED = 'Bar Chart: Stacked'
BAR_CHART_COLON__GROUPED = 'Bar Chart: Grouped'
TIME_SERIES_COLON__LINE = 'Time Series: Line'
TIME_SERIES_COLON__STACKED_AREA = 'Time Series: Stacked Area'
PIE_CHART = 'Pie Chart'
TABLE = 'Table'
MULTI_METRIC_TABLE = 'Multi Metric Table'
NUMBER = 'Number'
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'
UNKNOWN = 'unknown'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of WidgetType from a JSON string"""
return cls(json.loads(json_str))
@classmethod
def _missing_(cls, value):
"""Handle unknown values"""
return cls.UNKNOWN

View File

@ -130,7 +130,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -167,7 +167,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -247,7 +247,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -284,7 +284,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -434,8 +434,8 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"startTimes" : [ "2023-05-16T10:14:28Z" ]
} ],
"binSize" : 3600,
"previousValue" : 500.0,
"value" : 100.0,
"previousValue" : 500,
"value" : 100,
"startDate" : "2023-05-16T10:14:28Z",
"timestamp" : 1567620000,
"status" : "No data"
@ -476,8 +476,8 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"startTimes" : [ "2023-05-16T10:14:28Z" ]
} ],
"binSize" : 3600,
"previousValue" : 500.0,
"value" : 100.0,
"previousValue" : 500,
"value" : 100,
"startDate" : "2023-05-16T10:14:28Z",
"timestamp" : 1567620000,
"status" : "No data"
@ -582,7 +582,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
}, {
"numberOfDataPoints" : 23304,
@ -593,7 +593,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
} ],
"status" : "No data"
@ -640,7 +640,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
}, {
"numberOfDataPoints" : 23304,
@ -651,7 +651,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
} ],
"status" : "No data"
@ -686,7 +686,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
}, {
"numberOfDataPoints" : 23304,
@ -697,7 +697,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
} ],
"agents" : [ {
@ -849,7 +849,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -886,7 +886,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -966,7 +966,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1003,7 +1003,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1113,7 +1113,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1150,7 +1150,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1230,7 +1230,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1267,7 +1267,7 @@ class TestDashboardSnapshotsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",

View File

@ -85,7 +85,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -122,7 +122,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -226,7 +226,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -263,7 +263,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -373,7 +373,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -410,7 +410,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -558,8 +558,8 @@ class TestDashboardsApi(unittest.TestCase):
"startTimes" : [ "2023-05-16T10:14:28Z" ]
} ],
"binSize" : 3600,
"previousValue" : 500.0,
"value" : 100.0,
"previousValue" : 500,
"value" : 100,
"startDate" : "2023-05-16T10:14:28Z",
"timestamp" : 1567620000,
"status" : "No data"
@ -600,8 +600,8 @@ class TestDashboardsApi(unittest.TestCase):
"startTimes" : [ "2023-05-16T10:14:28Z" ]
} ],
"binSize" : 3600,
"previousValue" : 500.0,
"value" : 100.0,
"previousValue" : 500,
"value" : 100,
"startDate" : "2023-05-16T10:14:28Z",
"timestamp" : 1567620000,
"status" : "No data"
@ -706,7 +706,7 @@ class TestDashboardsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
}, {
"numberOfDataPoints" : 23304,
@ -717,7 +717,7 @@ class TestDashboardsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
} ],
"status" : "No data"
@ -764,7 +764,7 @@ class TestDashboardsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
}, {
"numberOfDataPoints" : 23304,
@ -775,7 +775,7 @@ class TestDashboardsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
} ],
"status" : "No data"
@ -810,7 +810,7 @@ class TestDashboardsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
}, {
"numberOfDataPoints" : 23304,
@ -821,7 +821,7 @@ class TestDashboardsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
} ],
"agents" : [ {
@ -956,7 +956,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -993,7 +993,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1100,7 +1100,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1137,7 +1137,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1240,8 +1240,8 @@ class TestDashboardsApi(unittest.TestCase):
"startTimes" : [ "2023-05-16T10:14:28Z" ]
} ],
"binSize" : 3600,
"previousValue" : 500.0,
"value" : 100.0,
"previousValue" : 500,
"value" : 100,
"startDate" : "2023-05-16T10:14:28Z",
"timestamp" : 1567620000,
"status" : "No data"
@ -1298,7 +1298,7 @@ class TestDashboardsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
}, {
"numberOfDataPoints" : 23304,
@ -1309,7 +1309,7 @@ class TestDashboardsApi(unittest.TestCase):
"groupProperty" : "COUNTRY",
"groupValue" : "US"
} ],
"value" : 100.0,
"value" : 100,
"timestamp" : 1567620000
} ],
"status" : "No data"
@ -1376,7 +1376,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1413,7 +1413,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1517,7 +1517,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",
@ -1554,7 +1554,7 @@ class TestDashboardsApi(unittest.TestCase):
"type" : "Agent Status",
"metricGroup" : "BGP",
"measure" : {
"percentileValue" : 95.0,
"percentileValue" : 95,
"type" : "MEAN"
},
"apiLink" : "apiLink",

View File

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

View File

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

View File

@ -1,5 +1,4 @@
# thousandeyes-sdk-endpoint-instant-tests
You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data.
The following applies to the Endpoint Instant Scheduled Tests API:
@ -13,7 +12,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.84
- API version: 7.0.90
- Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator

View File

@ -5,7 +5,7 @@
"""
Endpoint Instant Scheduled Tests API
You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created.
You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created.
Generated by OpenAPI Generator (https://openapi-generator.tech)

Some files were not shown because too many files have changed in this diff Show More